tinderboxes don't need to upgrade bison anymore
Lionel Elie Mamane
lionel at mamane.lu
Wed Jul 10 09:24:41 PDT 2013
On Wed, Jul 10, 2013 at 04:32:33PM +0200, Lionel Elie Mamane wrote:
> On Wed, Jul 10, 2013 at 02:27:51PM +0300, Tor Lillqvist wrote:
>> OS X 10.8 has Bison 2.3 (...) We shouldn't be requiring anything
>> newer, (...) (Sure, we already have broken that promise a bit as we
>> require automake and autoconf, but do we *really* need any newer
>> features of Bison?)
> Apparently, the way it is implemented in Bison 2.3 interacts badly
> with preprocessor tricks done in sqlbison.y, while it works well for
> the implementation in Bison 2.4 and 2.5.
Concretely, the overall problem is that Bison 2.3 puts much (more) of
sqlbison.y in sqlbison.hxx, which is #included in sqlflex.l. This
makes conflicts / pollutes the namespace. There were two compile-time
1) aEmptyString defined twice. I renamed the one of sqlflex.l
2) the #define SQLyylex from sqlbison.y leaked into sqlflex.lu; I
"just" #undef it in sqlflex.l; dirty, but should work.
Let's see what our MacOS X tinderbox thinks of this now.
As to the warnings like "defined, but not used", well warnings in
automatically generated code are not something we can/should tackle
"locally" / not worth forcing non-Apple provided bison on our MacOS X
build. I'd suggest forcing -Wno-error on this file; possibly
conditional on the known-problematic bison version(s).
More information about the LibreOffice