Bison Version

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 In function `int llvmAsmparse()': 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.