GCC specific stuff compile flags.

This commit is contained in:
Dale Weiler 2013-04-15 06:23:13 +00:00
parent ef528d6710
commit c2b5a95961
3 changed files with 9 additions and 8 deletions

View file

@ -10,7 +10,7 @@ CYGWIN = $(findstring CYGWIN, $(UNAME))
MINGW = $(findstring MINGW32, $(UNAME))
CC ?= clang
CFLAGS += -Wall -Wextra -Werror -I. -fno-strict-aliasing -fsigned-char -ffunction-sections -fdata-sections -Wl,-gc-sections $(OPTIONAL)
CFLAGS += -Wall -Wextra -Werror -I. -fno-strict-aliasing -fsigned-char $(OPTIONAL)
ifneq ($(shell git describe --always 2>/dev/null),)
CFLAGS += -DGMQCC_GITINFO="\"$(shell git describe --always)\""
endif
@ -32,7 +32,7 @@ else
#Tiny C Compiler doesn't know what -pedantic-errors is
# and instead of ignoring .. just errors.
ifneq ($(CC), tcc)
CFLAGS +=-pedantic-errors
CFLAGS +=-pedantic-errors -ffunction-sections -fdata-sections -Wl,-gc-sections
else
CFLAGS += -Wno-pointer-sign -fno-common
endif

View file

@ -394,6 +394,7 @@ static bool ftepp_define_params(ftepp_t *ftepp, ppmacro *macro)
return false;
}
} while (ftepp->token == ',');
if (ftepp->token != ')') {
ftepp_error(ftepp, "expected closing paren after macro parameter list");
return false;

12
lexer.c
View file

@ -495,13 +495,13 @@ unroll:
vec_free(command);
lex_ungetch(lex, ' ');
}
if (command) {
vec_pop(command);
while (vec_size(command)) {
lex_ungetch(lex, (unsigned char)vec_last(command));
vec_pop(command);
if (param) {
vec_pop(param);
while (vec_size(param)) {
lex_ungetch(lex, (unsigned char)vec_last(param));
vec_pop(param);
}
vec_free(command);
vec_free(param);
lex_ungetch(lex, ' ');
}
if (pragma) {