Using %code for config.h is wrong, as some headers will already have
been included by Bison.  In some cases, e.g., glibc's string.h, this
results in some declaration not being made for lack of definition of
_GNU_SOURCE, which is performed by config.h.

* src/parse-gram.y: here.
---
 src/parse-gram.y | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/parse-gram.y b/src/parse-gram.y
index 9a26625..d369889 100644
--- a/src/parse-gram.y
+++ b/src/parse-gram.y
@@ -23,9 +23,14 @@
   #include "symtab.h"
 }
 
+%code top
+{
+  /* On column 0 to please syntax-check.  */
+#include <config.h>
+}
+
 %code
 {
-  #include <config.h>
   #include "system.h"
 
   #include "c-ctype.h"
-- 
1.8.2.3


Reply via email to