[LLVMdev] r72619

Bill Wendling wendling at apple.com
Thu Dec 3 18:40:15 PST 2009


Hi Duncan,

There's a problem with your check-in for r72619 is causing "weak  
external" symbols to appear in C++ code when it shouldn't. Take this  
code for example,

#include <stdexcept>

void dummysymbol() {
   throw(std::runtime_error("string"));
}

The c'tor for std::string is emitted as code from llvm-gcc. It is then  
inlined. And a weak external for the `_S_construct' variable is  
created. However, C++ rules stipulate that it shouldn't be, because of  
explicit & implicit template instantiation rules that Doug knows about  
but which makes my head spin.

I'm going to need to revert at least some of these changes. Could you  
take a look at this and let me know your thoughts on it?

-bw




More information about the llvm-dev mailing list