lalr1.cc: fix test suite portability
authorAkim Demaille <akim@lrde.epita.fr>
Thu, 4 Oct 2012 07:07:42 +0000 (09:07 +0200)
committerAkim Demaille <akim@lrde.epita.fr>
Thu, 4 Oct 2012 09:42:26 +0000 (11:42 +0200)
Reported by Rob Vermaas' Hydra build farm on x86_64-darwin 10.2.0 with
G++ 4.6.3.

* tests/headers.at (Several parsers): Include AT_DATA_SOURCE_PROLOGUE
in the files to compile.
* data/location.cc: Do not include twice string and iostream (once
by position.hh, and then by location.hh).
* README-hacking (Typical errors): Some hints for other maintainers.

README-hacking
THANKS
data/location.cc
tests/headers.at

index bb91ac0..5066956 100644 (file)
@@ -168,6 +168,19 @@ decide whether to update.
 ** make check
 Use liberally.
 
+** Typical errors
+If the test suite shows failures such as the following one
+
+  .../bison/lib/getopt.h:196:8: error: redefinition of 'struct option'
+  /usr/include/getopt.h:54:8: error: previous definition of 'struct option'
+
+it probably means that some file was compiled without
+AT_DATA_SOURCE_PROLOGUE.  This error is due to the fact that our -I pick up
+gnulib's replacement headers, such as getopt.h, which will go if config.h
+was not included first.
+
+See tests/local.at for details.
+
 ** make maintainer-check-valgrind
 This target uses valgrind both to check bison, and the generated parsers.
 
diff --git a/THANKS b/THANKS
index 09d6736..f742e8f 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -93,6 +93,7 @@ R Blake                   blakers@mac.com
 Raja R Harinath           harinath@cs.umn.edu
 Ralf Wildenhues           Ralf.Wildenhues@gmx.de
 Richard Stallman          rms@gnu.org
+Rob Vermaas               rob.vermaas@gmail.com
 Robert Anisko             anisko_r@epita.fr
 Satya Kiran Popuri        satyakiran@gmail.com
 Sebastian Setzer          sebastian.setzer.ext@siemens.com
index 0673f4c..92b6d09 100644 (file)
@@ -159,8 +159,6 @@ b4_copyright([Locations for Bison parsers in C++],
 
 ]b4_cpp_guard_open([b4_dir_prefix[]location.hh])[
 
-# include <iostream>
-# include <string>
 # include "position.hh"
 
 ]b4_namespace_open[
index 91fdb95..8e70a7e 100644 (file)
@@ -249,6 +249,7 @@ for h in *.h *.hh
 do
   # No shell expansion with AT_DATA.
   cat >$h.cc <<EOF
+AT_DATA_SOURCE_PROLOGUE
 #include "$h"
 #include "$h"
 EOF