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.