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.

Reply via email to