This looks like an ODR violation? Sent from phone On Aug 5, 2014 1:49 AM, <[email protected]> wrote:
> > Comment #6 on issue 327 by [email protected]: CHECK failed error in > pdfium_test binary > http://code.google.com/p/address-sanitizer/issues/detail?id=327 > > Reduced test case: > > % cat a1.cc > struct AAA { > public: > #if DTOR > virtual ~ AAA (); > #endif > }; > #if DTOR > AAA::~AAA() { } > #endif > void foo () { throw AAA (); } > > % clang++ a1.cc -std=c++11 -S -o - -emit-llvm -DDTOR=0 | grep _ZTI3AAA.= > @_ZTI3AAA = linkonce_odr constant { i8*, i8* } { i8* bitcast (i8** > getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 > 2) to i8*), i8* getelementptr inbounds ([5 x i8]* @_ZTS3AAA, i32 0, i32 0) } > > % clang++ a1.cc -std=c++11 -S -o - -emit-llvm -DDTOR=1 | grep _ZTI3AAA.= > @_ZTI3AAA = constant { i8*, i8* } { i8* bitcast (i8** getelementptr > inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), > i8* getelementptr inbounds ([5 x i8]* @_ZTS3AAA, i32 0, i32 0) } > % > > > So, depending on whether the DTOR is inlined or not, the symbol is either > ODR or nor, which makes asan behave differently. > Time to ask clang folks for help. > > -- > You received this message because this project is configured to send all > issue notifications to this address. > You may adjust your notification preferences at: > https://code.google.com/hosting/settings > > -- > You received this message because you are subscribed to the Google Groups > "address-sanitizer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
