diff --git a/Makefile b/Makefile index 05bf5079..6c80d105 100644 --- a/Makefile +++ b/Makefile @@ -20,12 +20,12 @@ REPL_ISSUE_TESTS = $(wildcard t/issue/*.sh) TEST_RUNNER = bin/picrin -CFLAGS += -I./extlib/benz/include -Wall -Wextra $(CONTRIB_DEFS) +CFLAGS += -I./extlib/benz/include -Wall -Wextra LDFLAGS += -lm prefix ?= /usr/local -all: CFLAGS += -O2 -DNDEBUG=1 +all: CFLAGS += -O2 -flto -DNDEBUG=1 all: bin/picrin debug: CFLAGS += -O0 -g @@ -33,8 +33,9 @@ debug: bin/picrin include $(sort $(wildcard contrib/*/nitro.mk)) -bin/picrin: $(PICRIN_OBJS) $(CONTRIB_OBJS) lib/libbenz.so - $(CC) $(CFLAGS) -o $@ $(PICRIN_OBJS) $(CONTRIB_OBJS) lib/libbenz.so $(LDFLAGS) +bin/picrin: CFLAGS += $(CONTRIB_DEFS) +bin/picrin: $(PICRIN_OBJS) $(CONTRIB_OBJS) $(BENZ_OBJS) + $(CC) $(CFLAGS) -o $@ $(PICRIN_OBJS) $(CONTRIB_OBJS) $(BENZ_OBJS) $(LDFLAGS) src/load_piclib.c: $(CONTRIB_LIBS) perl etc/mkloader.pl $(CONTRIB_LIBS) > $@ diff --git a/extlib/benz/file.c b/extlib/benz/file.c index d828845d..9a844acd 100644 --- a/extlib/benz/file.c +++ b/extlib/benz/file.c @@ -186,7 +186,7 @@ int xfputs(pic_state *pic, const char *s, xFILE *stream) { } char *xfgets(pic_state *pic, char *s, int size, xFILE *stream) { - int c; + int c = 0; char *buf; xfflush(pic, NULL); diff --git a/extlib/benz/include/picrin/setup.h b/extlib/benz/include/picrin/setup.h index 49706ba7..34e36a49 100644 --- a/extlib/benz/include/picrin/setup.h +++ b/extlib/benz/include/picrin/setup.h @@ -131,10 +131,10 @@ typedef unsigned long uint32_t; #define PIC_FALLTHROUGH ((void)0) -#if __cplusplus +#if defined(__cplusplus) # define PIC_UNUSED(v) #elif __GNUC__ || __clang__ -# define PIC_UNUSED(v) __attribute__((unused)) v +# define PIC_UNUSED(v) v __attribute__((unused)) #else # define PIC_UNUSED(v) v #endif diff --git a/extlib/benz/lib.c b/extlib/benz/lib.c index e5bca1ad..c5bb5cad 100644 --- a/extlib/benz/lib.c +++ b/extlib/benz/lib.c @@ -61,7 +61,7 @@ void pic_make_library(pic_state *pic, const char *lib) { khash_t(ltable) *h = &pic->ltable; - const char *old_lib; + const char *old_lib = NULL; pic_value name, env, exports; int it; int ret;