diff --git a/Makefile b/Makefile index 3eab17e..146da72 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ HAVE_LIBXML=$(shell pkg-config --exists libxml-2.0 && echo 'yes') # # For debugging, uncomment the next one # -CFLAGS += -DDEBUG +#CFLAGS += -DDEBUG DESTDIR= PREFIX=$(HOME) diff --git a/allocate.h b/allocate.h index 9f1dc8c..abde7a0 100644 --- a/allocate.h +++ b/allocate.h @@ -4,7 +4,7 @@ struct allocation_blob { struct allocation_blob *next; unsigned int left, offset; - unsigned char data[]; + unsigned char data[1]; }; struct allocator_struct { diff --git a/compat/strtold.c b/compat/strtold.c index 1b6ad7d..0749e33 100644 --- a/compat/strtold.c +++ b/compat/strtold.c @@ -2,5 +2,6 @@ long double string_to_ld(const char *nptr, char **endptr) { - return strtold(nptr, endptr); + //return strtold(nptr, endptr); + return strtod(nptr, endptr); } diff --git a/evaluate.c b/evaluate.c index 2a126dd..4c09dee 100644 --- a/evaluate.c +++ b/evaluate.c @@ -152,24 +152,24 @@ static struct symbol *bigger_int_type(struct symbol *left, struct symbol *right) right = integer_promotion(right); if (left == right) - goto left; + goto lleft; if (left->bit_size > right->bit_size) - goto left; + goto lleft; if (right->bit_size > left->bit_size) - goto right; + goto lright; lmod = left->ctype.modifiers; rmod = right->ctype.modifiers; if ((lmod ^ rmod) & MOD_UNSIGNED) { if (lmod & MOD_UNSIGNED) - goto left; + goto lleft; } else if ((lmod & ~rmod) & (MOD_LONG | MOD_LONGLONG)) - goto left; -right: + goto lleft; +lright: left = right; -left: +lleft: return left; } diff --git a/lib.c b/lib.c index 75afdb7..973d953 100644 --- a/lib.c +++ b/lib.c @@ -35,6 +35,10 @@ int die_if_error = 0; # define __GNUC__ 2 # define __GNUC_MINOR__ 95 # define __GNUC_PATCHLEVEL__ 0 +#else +# ifndef __GNUC_PATCHLEVEL__ +# define __GNUC_PATCHLEVEL__ 3 +# endif #endif int gcc_major = __GNUC__; diff --git a/token.h b/token.h index ba7866d..6cea61a 100644 --- a/token.h +++ b/token.h @@ -56,7 +56,7 @@ struct ident { unsigned char tainted:1, reserved:1, keyword:1; - char name[]; /* Actual identifier */ + char name[1]; /* Actual identifier */ }; enum token_type { @@ -137,7 +137,7 @@ enum special_token { struct string { unsigned int length; - char data[]; + char data[1]; }; /* will fit into 32 bits */