help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bison and g++: It's been broken for more than a year!


From: Jim Babcock
Subject: Bison and g++: It's been broken for more than a year!
Date: Fri, 09 Jul 2004 18:37:28 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113

The most recent official version of bison is 1.875. That is the version
bundled with every distro I have around to try. It has been that way for
more than a year. Given that, you would expect it to be free of major
bugs. But 1.875 is completely unusable with C++, because its output
includes the following:
  yyerrlab1:
  #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
    __attribute__ ((__unused__))
  #endif
After running into this with my own project, and finding a really
disgusting workaround ("#undef __GNUC__" in the header section), I
ran into the problem *again* with the ctree source package. I traced
the problem through gcc's bugzilla where I found that the g++ devs
explicitly reject this construct, and that g++ never supported it in
the first place. So I proceed to here, where searching the list
archives, I discover that the issue has been fixed in an alpha version
since Jan 2003.

  WHY is there still no Bison 1.876?

When a release-critical bug is found, the fix should be backported
and a new version released as soon as possible. Instead, the bug has
sat there for more than a year. Who, exactly, is in charge of release
management?

There's simply no way I can give my program a dependency on an
unofficial version of bison. So I'm either going to find another
parser generator, or just use C.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]