[LLVMdev] r72619

Duncan Sands baldrick at free.fr
Fri Dec 4 00:52:34 PST 2009


Hi Bill,

> 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 can't reproduce this on x86-64 linux (but maybe I misunderstood what the
problem is?).  I've attached the bitcode I get at -O4.

> 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?

Can you please send me the bitcode you get on darwin.

Ciao,

Duncan.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bill.ll
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091204/3912c1be/attachment.ksh>


More information about the llvm-dev mailing list