Porting pass from llvm 3.1 to 3.4

Dear llvmers

I'm trying to port some code that was written for llvm 3.1 to 3.4.2.
I'm having two linking problems and I couldn't find the source of the
problem. Usually it is an error for a virtual method not declared. The
error starts even when changing llvm version from 3.1 to 3.2.

The current line declaring an command line option:

Most likely LLVM is built with RTTI disabled, which LLVM does by the default, and your code is built with RTTI enabled. Make sure the RTTI settings match. The easiest fix for you is probably to add -fno-rtti to CFLAGS.

BTW on Linux "llvm-config --cxxflags" doesn't contain -fno-rtti, even if
LLVM is build with RTTI disabled.

Here's a patch I've found that fixes the issue:


the rtti information helped, I was compiling the code without
-fno-rtti. As the code being ported uses boost library, that uses
typeid at some point, it was required to compile llvm without using
this flag. I don't know if it is a bug, but Cmake ignored the
REQUIRES_RTTI=1 flag, so I had to manually remove it from all
compiling configuration files it generated.

Thanks for the help.