[llvm-commits] [llvm] r159136 - in /llvm/trunk: include/llvm/GlobalValue.h lib/Transforms/IPO/GlobalOpt.cpp test/Transforms/GlobalOpt/hidden.ll

Rafael EspĂ­ndola rafael.espindola at gmail.com
Tue Jun 26 05:36:32 PDT 2012


On 25 June 2012 21:34, Chandler Carruth <chandlerc at google.com> wrote:
> My spidey senses tell me the following may have happened.
>
> 1) We have a class with a key function
> 2) This class also has an implicit virtual destructor by virtue of a base
> class with a virtual destructor.
> 3) We emit this destructor (likely due to being special cased an implicit)
> as a linkonce_odr function, but only into the TU with the key function
> definition (or only in *some* TUs, not in all TUs)
>
> The fix might be to emit the destructor as a normal function when we see the
> key function definition, and available externally in other TUs.
>
> Richard and others are looking at confirming...


Sounds a lot like pr13124. I don't think it causes real problem as the
destructor is output on any file that does use it, but it would it
would be cleaner if we could output it as a strong symbol in only one
file.

Cheers,
Rafael



More information about the llvm-commits mailing list