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
errors:
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).
--
Lionel
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.