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 */
