mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
tests: beware of -pedantic on large #line numbers.
* tests/local.at (AT_TEST_TABLES_AND_PARSE): Don't pass -pedantic
when compiling large canonical-LR parsers.
Reported by Tys Lefering.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00025.html
(cherry picked from commit 8ec3110a9e)
This commit is contained in:
@@ -610,6 +610,17 @@ m4_if(m4_index(m4_quote($3), [last-state]), -1,
|
||||
|
||||
$9
|
||||
|
||||
# Canonical LR generates very large tables, resulting in very long
|
||||
# files with #line directives that may overflow what the standards
|
||||
# (C90 and C++98) guarantee: 32767. In that case, GCC's -pedantic
|
||||
# will issue an error.
|
||||
#
|
||||
# There is no "" around `wc` since some indent the result.
|
||||
m4_bmatch([$4], [%define lr.type canonical-lr],
|
||||
[if test 32767 -lt `wc -l < input.c`; then
|
||||
CFLAGS=`echo " $CFLAGS " | sed -e 's/ -pedantic //'`
|
||||
CXXFLAGS=`echo " $CXXFLAGS " | sed -e 's/ -pedantic //'`
|
||||
fi])
|
||||
AT_COMPILE([[input]])
|
||||
|
||||
AT_PARSER_CHECK([[./input]],
|
||||
|
||||
Reference in New Issue
Block a user