[clang-cl] cannot mangle RTTI descriptors error despite RTTI disabled with /GR-

Hey guys,

Despite disabling RTTI using the /GR- argument I still get the following errors while trying to compile code that uses the STL vector with clang-cl:

F:\LLVM-fresh\vs11\bin\Debug>clang-cl /c /GR- testdll.cpp
error: cannot mangle RTTI descriptors for type ‘bad_alloc’ yet
error: cannot mangle the name of type ‘bad_alloc’ into RTTI descriptors yet
error: cannot mangle RTTI descriptors for type ‘exception’ yet
error: cannot mangle the name of type ‘exception’ into RTTI descriptors yet
4 errors generated.

Thanks for any assistance!

Hey guys,

Despite disabling RTTI using the /GR- argument I still get the following errors while trying to compile code that uses the STL vector with clang-cl:

F:\LLVM-fresh\vs11\bin\Debug>clang-cl /c /GR- testdll.cpp
error: cannot mangle RTTI descriptors for type 'bad_alloc' yet
error: cannot mangle the name of type 'bad_alloc' into RTTI descriptors yet
error: cannot mangle RTTI descriptors for type 'exception' yet
error: cannot mangle the name of type 'exception' into RTTI descriptors yet
4 errors generated.

Thanks for any assistance!

Just a sanity check, something like this was fixed mid-November in r195168:

   http://llvm.org/bugs/show_bug.cgi?id=17403

Are you using a recent clang SVN revision?

There's an additional bug report describing the full set of flags you may need to use (/GR- /D_HAS_EXCEPTIONS=0 /MTd) with current SVN head:

   http://llvm.org/bugs/show_bug.cgi?id=18332

Let us know if this works for you.

Alp.

It’s trying to use RTTI for exceptions. You can attempt to disable the exception handling code by passing -D_HAS_EXCEPTIONS=0, but Microsoft doesn’t fully support this. For now, I use it while self-hosting clang with clang-cl.