[LLVMdev] Bison Version

Reid Spencer reid at x10sys.com
Sat Jun 12 22:29:01 PDT 2004


I just discovered, by compiling on another machine, that LLVM doesn't
compile correctly with *newer* bison versions. The version that I have
that works is 1.35. The version that I tried that doesn't work is 1.875.
There's a couple bison releases in between those two that may or may not
work, I haven't tried them.

This isn't really an LLVM problem but it affects LLVM.  The problem is
that bison 1.875 inserts an __attribute__((unused)) into the yyparse
function after a label. The #define this is wrapped in thinks its legal
anytime after release 2.0.93. With GCC 3.3.2, it gives a compiler error
that looks like:

> Compiling llvmAsmParser.cpp
> llvmAsmParser.tab.c: In function `int llvmAsmparse()':
> llvmAsmParser.tab.c:4152: error: parse error before `goto'
> gmake: *** [/home/llvm/llvm/lib/AsmParser/Debug/llvmAsmParser.lo] Error 1

Perhaps support for this went away sometime in the 3.x releases of GCC.
In any event, putting a function at on a label is pretty dubious.

If you see this error, you should downgrade your bison version to 1.35
which we know works.

Thought you might like to know.

Reid.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040612/3b28fe15/attachment.sig>


More information about the llvm-dev mailing list