"make SQL grammar Generalised LR" commit breaks build

Petr Mladek pmladek at suse.cz
Wed Jul 10 05:42:44 PDT 2013


Hi,

I get the following error when compiling master on linux:

--- cut ---
/build/libreoffice/core/workdir/unxlngx6.pro/LexTarget/connectivity/source/parse/sqlflex.cxx:4134: error: redefinition of 'rtl::OUString aEmptyString'
/build/libreoffice/core/workdir/unxlngx6.pro/YaccTarget/connectivity/source/parse/sqlbison.hxx:401: error: 'rtl::OUString aEmptyString' previously declared here
/build/libreoffice/core/workdir/unxlngx6.pro/LexTarget/connectivity/source/parse/sqlflex.cxx:4323: error: expected initializer before '->' token
/build/libreoffice/core/workdir/unxlngx6.pro/LexTarget/connectivity/source/parse/sqlflex.cxx:4345: error: expected initializer before '->' token
[...]
ICECC[13597] 14:11:58: Compiled on 10.100.2.60
make[1]: ***
[/build/libreoffice/core/workdir/unxlngx6.pro/GenCxxObject/LexTarget/connectivity/source/parse/sqlflex.o] Error 1
--- cut ---

It is related to the commit
http://cgit.freedesktop.org/libreoffice/core/commit/?id=f220c3913a167b0d9702aca2b623839abe8665f1

I am not that familiar with bison. Well, it seems that the flag "%
glr-parser" in connectivity/source/parse/sqlbison.y changed a lot. Most
code parts of the sqlbison.y are included in the generated sqlbison.hxx.

It might help to remove the aEmptyString definition in
connectivity/source/parse/sqlflex.l but I am not sure.

The whole new code looks strange now. There are many newcompiler
warnings, e.g.

--- cut ---
/build/libreoffice/core/workdir/unxlngx6.pro/YaccTarget/connectivity/source/parse/sqlbison.hxx:405: warning: 'connectivity::OSQLInternalNode* newNode(const sal_Char*, connectivity::SQL
NodeType, sal_uInt32)' defined but not used
/build/libreoffice/core/workdir/unxlngx6.pro/YaccTarget/connectivity/source/parse/sqlbison.hxx:412: warning: 'connectivity::OSQLInternalNode* newNode(const rtl::OString&, connectivity:
:SQLNodeType, sal_uInt32)' defined but not used
/build/libreoffice/core/workdir/unxlngx6.pro/YaccTarget/connectivity/source/parse/sqlbison.hxx:419: warning: 'connectivity::OSQLInternalNode* newNode(const rtl::OUString&, connectivity
::SQLNodeType, sal_uInt32)' defined but not used
--- cut ---

Lionel, do you see this as well, please?
What solution would you suggest, please?

Best Regards,
Petr



More information about the LibreOffice mailing list