GNU bug report logs - #11185
flex %option "never-interactive" breaks few tests on Solaris

Previous Next

Package: automake;

Reported by: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Date: Thu, 5 Apr 2012 13:42:02 UTC

Severity: minor

Tags: patch

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Peter Rosin <peda <at> lysator.liu.se>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: bug-automake <at> gnu.org
Subject: Re: flex %option "never-interactive" breaks few tests on Solaris
Date: Thu, 05 Apr 2012 21:22:50 +0200
On 2012-04-05 15:40, Stefano Lattarini wrote:
> Severity: minor
> thanks
> 
> Hello automakers, Peter.
> 
> The commit v1.11-2058-g6f4b08d of 06-03-2012, "tests: explicitly state
> that our lexers do not require unistd.h", has been causing at least
> the tests 'lex-clean-cxx.test' and 'lex-depend-cxx.test' to break on
> Solaris, where lex is not flex, and does not understand the directive
> "%option never-interactive".
> 
> Any opinion on how to better fix this?  Is defining a dummy 'isatty'
> function in our C++ sources enough to avoid the failures on MSYS?

Yes, the test still passes with MSVC and the below patch.  I have little
time at the moment, so if this works elsewhere and if someone else can
wrap it all up with a decent commit message etc, that would probably be
fastest approach.

It does not work to add the isatty function down by yywrap, it probably
works if you add a forward declaration where I put the function, but
the function is so small that I thought that was pretty pointless.
However, I am *not* fluent in lex, so what do I know?

Cheers,
Peter

diff --git a/tests/lex-clean-cxx.test b/tests/lex-clean-cxx.test
index 9ff2dbc..32ab327 100755
--- a/tests/lex-clean-cxx.test
+++ b/tests/lex-clean-cxx.test
@@ -55,8 +55,11 @@ END
 cat > parsefoo.lxx << 'END'
 %{
 #define YY_NO_UNISTD_H 1
+int isatty (int fd)
+{
+  return 0;
+}
 %}
-%option never-interactive
 %%
 "GOOD"   return EOF;
 .






This bug report was last modified 13 years and 125 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.