Please read this if you're working out of LLVM CVS:
I just checked in a change to the makefiles to stop using -fshort-enum
when building LLVM. This flag enables a trivial optimization, but causes
the code generated by the G++ compiler to not match the standard C++ ABI.
Because of this, the presence of the flag makes it more difficult to link
LLVM libraries to external source bases, and it also made the makefiles
less portable.
For this reason, I took the -fshort-enum flag out of the top-level
makefile.
*** NOTE that you must 'make clean' then do a full build, or you will
have
all sorts of wierd problems. Also, if you have an external source tree
you are linking with LLVM, you will have to remove any -fshort-enum flags
from your external source tree, or add it back manually to the LLVM tree.
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/