Changeset View
Changeset View
Standalone View
Standalone View
cfe/trunk/test/CodeGenCXX/microsoft-abi-structors.cpp
Show First 20 Lines • Show All 170 Lines • ▼ Show 20 Lines | |||||
void foo() { | void foo() { | ||||
C c; | C c; | ||||
} | } | ||||
// DTORS2-LABEL: define linkonce_odr x86_thiscallcc i8* @"\01??_EC@dtor_in_second_nvbase@@W3AEPAXI@Z" | // DTORS2-LABEL: define linkonce_odr x86_thiscallcc i8* @"\01??_EC@dtor_in_second_nvbase@@W3AEPAXI@Z" | ||||
// DTORS2: (%"struct.dtor_in_second_nvbase::C"* %this, i32 %should_call_delete) | // DTORS2: (%"struct.dtor_in_second_nvbase::C"* %this, i32 %should_call_delete) | ||||
// Do an adjustment from B* to C*. | // Do an adjustment from B* to C*. | ||||
// DTORS2: getelementptr i8, i8* %{{.*}}, i32 -4 | // DTORS2: getelementptr i8, i8* %{{.*}}, i32 -4 | ||||
// DTORS2: bitcast i8* %{{.*}} to %"struct.dtor_in_second_nvbase::C"* | // DTORS2: bitcast i8* %{{.*}} to %"struct.dtor_in_second_nvbase::C"* | ||||
// DTORS2: %[[CALL:.*]] = call x86_thiscallcc i8* @"\01??_GC@dtor_in_second_nvbase@@UAEPAXI@Z" | // DTORS2: %[[CALL:.*]] = tail call x86_thiscallcc i8* @"\01??_GC@dtor_in_second_nvbase@@UAEPAXI@Z" | ||||
// DTORS2: ret i8* %[[CALL]] | // DTORS2: ret i8* %[[CALL]] | ||||
} | } | ||||
namespace test2 { | namespace test2 { | ||||
// Just like dtor_in_second_nvbase, except put that in a vbase of a diamond. | // Just like dtor_in_second_nvbase, except put that in a vbase of a diamond. | ||||
// C's dtor is in the non-primary base. | // C's dtor is in the non-primary base. | ||||
▲ Show 20 Lines • Show All 273 Lines • Show Last 20 Lines |