On Thu, Nov 21, 2013 at 01:53:17PM +0100, Joerg Sonnenberger wrote: > On Fri, Nov 08, 2013 at 11:46:20PM -0000, Rafael Espindola wrote: > > Author: rafael > > Date: Fri Nov 8 17:46:20 2013 > > New Revision: 194296 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=194296&view=rev > > Log: > > Use rauw for all discardable aliases, not just linkonce_odr. > > This breaks boost::locale and possibly other things. Attached is a test > case. Compile with -O2 -std=c++11 before and after and look for > std::__1::moneypunct_byname<char, false>::~moneypunct_byname > in the nm -C output.
So the short version is that ~moneypunct_byname gets emitted as weak-odr hidden in libc++'s locale.c. Whether LLVM uses the (trivial) destructor or not depends on optimisation and I don't see any fundamental change from this revision, even though it breaks the test case. Howard -- should ~moneypunct_byname be part of libc++ or not? It currently isn't and that seems to break when LLVM wants to use it. Joerg _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
