mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 02:03:03 +00:00
tests: don't expect $EGREP to support -w
Does not work on Solaris 10. Reported by Dennis Clarke. http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00009.html * tests/headers.at (Several parsers): Use Perl instead. While at it, run it only once, on all the generated headers. Adjust to YY_NULL be defined in position.hh.
This commit is contained in:
1
THANKS
1
THANKS
@@ -31,6 +31,7 @@ Dagobert Michelsen dam@baltic-online.de
|
|||||||
Daniel Hagerty hag@gnu.org
|
Daniel Hagerty hag@gnu.org
|
||||||
David J. MacKenzie djm@gnu.org
|
David J. MacKenzie djm@gnu.org
|
||||||
David Kastrup dak@gnu.org
|
David Kastrup dak@gnu.org
|
||||||
|
Dennis Clarke dclarke@blastwave.org
|
||||||
Derek M. Jones derek@knosof.co.uk
|
Derek M. Jones derek@knosof.co.uk
|
||||||
Di-an Jan dianj@freeshell.org
|
Di-an Jan dianj@freeshell.org
|
||||||
Dick Streefland dick.streefland@altium.nl
|
Dick Streefland dick.streefland@altium.nl
|
||||||
|
|||||||
@@ -163,21 +163,6 @@ exp:
|
|||||||
|
|
||||||
AT_BISON_CHECK([-d -o AT_SKEL_CC_IF([$1.cc $1.yy], [$1.c $1.y])])
|
AT_BISON_CHECK([-d -o AT_SKEL_CC_IF([$1.cc $1.yy], [$1.c $1.y])])
|
||||||
|
|
||||||
# Check there is no 'yy' left.
|
|
||||||
# C++ output relies on namespaces and still uses yy a lot.
|
|
||||||
AT_SKEL_CC_IF([],
|
|
||||||
[AT_CHECK([$EGREP yy $1.h], [1])])
|
|
||||||
|
|
||||||
# Check there is not 'YY' left.
|
|
||||||
# Ignore comments, YYPARSE_PARAM (obsolete), YYPUSH_MORE(_DEFINED)?
|
|
||||||
# (constant definition), YY_\w+_INCLUDED (header guards).
|
|
||||||
#
|
|
||||||
# YYDEBUG (not renamed) can be read, but not changed.
|
|
||||||
AT_CHECK([[sed -ne 's,/\*[^*]*\*/,,g;s,//.*,,' \
|
|
||||||
-e '/YY/p' ]$1.AT_SKEL_CC_IF([hh], [h])[ |
|
|
||||||
$EGREP -wv 'YY(PARSE_PARAM|PUSH_MORE(_DEFINED)?|_[0-9A-Z_]+_INCLUDED)|(defined|if) YYDEBUG']],
|
|
||||||
[1])
|
|
||||||
|
|
||||||
AT_LANG_COMPILE([$1.o])
|
AT_LANG_COMPILE([$1.o])
|
||||||
AT_CHECK([[echo "$1" >>expout]])
|
AT_CHECK([[echo "$1" >>expout]])
|
||||||
|
|
||||||
@@ -240,6 +225,36 @@ AT_TEST([x7], [%define api.push-pull both])
|
|||||||
AT_TEST([x8], [%define api.pure %define api.push-pull both])
|
AT_TEST([x8], [%define api.pure %define api.push-pull both])
|
||||||
#AT_TEST([x5], [%locations %language "c++" %glr-parser])
|
#AT_TEST([x5], [%locations %language "c++" %glr-parser])
|
||||||
|
|
||||||
|
# Check there is no 'yy' left.
|
||||||
|
# C++ output relies on namespaces and still uses yy a lot.
|
||||||
|
#
|
||||||
|
# Check there is no 'YY' left.
|
||||||
|
# Ignore comments, YYPARSE_PARAM (obsolete), YYPUSH_MORE(_DEFINED)?
|
||||||
|
# (constant definition), YY_\w+_INCLUDED (header guards).
|
||||||
|
#
|
||||||
|
# YYDEBUG (not renamed) can be read, but not changed.
|
||||||
|
AT_CHECK([[$PERL -n -0777 -e '
|
||||||
|
s{/\*.*?\*/}{}gs;
|
||||||
|
s{//.*}{}g;
|
||||||
|
s{\b(YYPARSE_PARAM
|
||||||
|
|YYPUSH_MORE(_DEFINED)?
|
||||||
|
|YY_\w+_INCLUDED
|
||||||
|
|YY_NULL
|
||||||
|
|(defined|if)\ YYDEBUG
|
||||||
|
)\b}{}gx;
|
||||||
|
while (/^(.*YY.*)$/gm)
|
||||||
|
{
|
||||||
|
print "$ARGV: $1\n";
|
||||||
|
}
|
||||||
|
if ($ARGV =~ /\.h$/)
|
||||||
|
{
|
||||||
|
while (/^(.*yy.*)$/gm)
|
||||||
|
{
|
||||||
|
print "$ARGV: $1\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
' -- *.hh *.h]])
|
||||||
|
|
||||||
# Check that the headers are self-contained, and protected against
|
# Check that the headers are self-contained, and protected against
|
||||||
# multiple inclusions. While at it, check they are sane for C++.
|
# multiple inclusions. While at it, check they are sane for C++.
|
||||||
for h in *.h *.hh
|
for h in *.h *.hh
|
||||||
|
|||||||
Reference in New Issue
Block a user