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>