From: Stefano Lattarini Date: Wed, 11 Apr 2012 13:25:37 +0000 (+0200) Subject: tests: avoid spurious failures in tests on C++ and lex X-Git-Tag: v1.11b~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=v1.11-2138-gfeea090;p=thirdparty%2Fautomake.git tests: avoid spurious failures in tests on C++ and lex This is a follow-up to commit v1.11-2128-g7f2bc63 of 09-04-2012, "tests: avoid spurious failures with non-flex 'lex' programs and C++". It is required to avoid a couple of spurious failures on Solaris and NetBSD systems (at least). See also automake bug#11185. * t/lex-clean-cxx.sh (parsefoo.lxx): Do not declared the provided dummy 'isatty' function as 'static', since that might conflict with a declaration of it as 'extern' pulled in through other system * t/lex-depend-cxx.sh (joe.ll): Likewise. * t/README: Update advice, to avoid similar issues in the future. Signed-off-by: Stefano Lattarini --- diff --git a/t/README b/t/README index 06ead7497..75dae9e20 100644 --- a/t/README +++ b/t/README @@ -260,7 +260,7 @@ Do %} to accommodate non-ANSI systems, since GNU flex generates code that includes unistd.h otherwise. Also add: - static int isatty (int fd) { return 0; } + int isatty (int fd) { return 0; } to the definitions section if the generated code is to be compiled by a C++ compiler, for similar reasons (i.e., the isatty(3) function from that same unistd.h header would be required otherwise). diff --git a/t/lex-clean-cxx.sh b/t/lex-clean-cxx.sh index 4089f0e2b..1c5752425 100755 --- a/t/lex-clean-cxx.sh +++ b/t/lex-clean-cxx.sh @@ -55,7 +55,7 @@ END cat > parsefoo.lxx << 'END' %{ #define YY_NO_UNISTD_H 1 -static int isatty (int fd) { return 0; } +int isatty (int fd) { return 0; } %} %% "GOOD" return EOF; diff --git a/t/lex-depend-cxx.sh b/t/lex-depend-cxx.sh index 8e7a2391c..490516f0e 100755 --- a/t/lex-depend-cxx.sh +++ b/t/lex-depend-cxx.sh @@ -48,7 +48,7 @@ END cat > joe.ll << 'END' %{ #define YY_NO_UNISTD_H 1 -static int isatty (int fd) { return 0; } +int isatty (int fd) { return 0; } %} %% "foo" return EOF;