Package: flex
Version: 2.5.31-34
Tags: patch upstream

flex 2.5.31-34 generates a C file that does not conform to the C
standard, because the code invokes gram_wrap() even though the
gram_wrap macro expects an argument.

This bug is also present in Debian stable, and its presence broke
Bison 2.1 because I used Debian stable flex to build Bison.  The bug's
effect is described in
<http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00026.html>;
that message is for Bison 1.875 but the same problem occurs in the
Bison 2.1 distribution because of the bug in flex 2.5.31-31.
(I used flex 2.5.31-31 to generate both Bison 1.875 and Bison 2.1.)

I see from
<http://ftp.debian.org/debian/pool/main/f/flex/flex_2.5.31-34.diff.gz>
that the file
flex-2.5.31/{arch}/flex/flex--debian/flex--debian--2.5/[EMAIL 
PROTECTED]/patch-log/patch-2
logs the presence of the bug, but there isn't any patch installed.  I
suspect the patch got lost somehow so I'm filing this bug report.
Here is a patch.

2005-10-10  Paul Eggert  <[EMAIL PROTECTED]>

        * main.c (readin): Don't output an invalid macro definition for
        yywrap; some C compilers complain about this.

--- flex-2.5.31-34/main.c       2005-10-10 16:43:31.000000000 -0700
+++ flex-2.5.31-34-yywrap/main.c        2005-10-10 16:49:11.000000000 -0700
@@ -1560,7 +1560,7 @@ void readin ()
     }
 
        if (!do_yywrap) {
-               outn ("\n#define yywrap(n) 1");
+               outn ("\n#define yywrap() 1");
                outn ("#define YY_SKIP_YYWRAP");
        }
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to