Skip to content

Commit

Permalink
lalr1.cc: fix test suite portability
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
akimd committed Oct 4, 2012
1 parent a2b3f10 commit ec78bda
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 2 deletions.
13 changes: 13 additions & 0 deletions README-hacking
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
1 change: 1 addition & 0 deletions THANKS
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions data/location.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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[
Expand Down
1 change: 1 addition & 0 deletions tests/headers.at
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit ec78bda

Please sign in to comment.