diff options
Diffstat (limited to 'test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp')
-rw-r--r-- | test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp b/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp index feba91c505..38e6ed5684 100644 --- a/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp +++ b/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp @@ -26,10 +26,10 @@ J::J() {} // VFTABLES-NEXT: [return adjustment (to type 'struct test1::C *'): 0 non-virtual] // VFTABLES-NEXT: 2 | test1::D *test1::J::foo() -// GLOBALS-LABEL: @"\01??_7J@test1@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] } -// GLOBALS: @"\01?foo@J@test1@@QAEPAUB@2@XZ" -// GLOBALS: @"\01?foo@J@test1@@QAEPAUC@2@XZ" -// GLOBALS: @"\01?foo@J@test1@@UAEPAUD@2@XZ" +// GLOBALS-LABEL: @"??_7J@test1@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] } +// GLOBALS: @"?foo@J@test1@@QAEPAUB@2@XZ" +// GLOBALS: @"?foo@J@test1@@QAEPAUC@2@XZ" +// GLOBALS: @"?foo@J@test1@@UAEPAUD@2@XZ" K::K() {} @@ -44,26 +44,26 @@ K::K() {} // Only B to C requires adjustment, but we get 3 thunks in K's vftable, two of // which are trivial. -// GLOBALS-LABEL: @"\01??_7K@test1@@6B@" = linkonce_odr unnamed_addr constant { [4 x i8*] } -// GLOBALS: @"\01?foo@K@test1@@QAEPAUB@2@XZ" -// GLOBALS: @"\01?foo@K@test1@@QAEPAUC@2@XZ" -// GLOBALS: @"\01?foo@K@test1@@QAEPAUD@2@XZ" -// GLOBALS: @"\01?foo@K@test1@@UAEPAUE@2@XZ" +// GLOBALS-LABEL: @"??_7K@test1@@6B@" = linkonce_odr unnamed_addr constant { [4 x i8*] } +// GLOBALS: @"?foo@K@test1@@QAEPAUB@2@XZ" +// GLOBALS: @"?foo@K@test1@@QAEPAUC@2@XZ" +// GLOBALS: @"?foo@K@test1@@QAEPAUD@2@XZ" +// GLOBALS: @"?foo@K@test1@@UAEPAUE@2@XZ" // This thunk has a return adjustment. -// CODEGEN-LABEL: define {{.*}} @"\01?foo@K@test1@@QAEPAUB@2@XZ" -// CODEGEN: call {{.*}} @"\01?foo@K@test1@@UAEPAUE@2@XZ" +// CODEGEN-LABEL: define {{.*}} @"?foo@K@test1@@QAEPAUB@2@XZ" +// CODEGEN: call {{.*}} @"?foo@K@test1@@UAEPAUE@2@XZ" // CODEGEN: icmp {{.*}}, null // CODEGEN: getelementptr // CODEGEN: ret // These two don't. -// CODEGEN-LABEL: define {{.*}} @"\01?foo@K@test1@@QAEPAUC@2@XZ" -// CODEGEN: call {{.*}} @"\01?foo@K@test1@@UAEPAUE@2@XZ" +// CODEGEN-LABEL: define {{.*}} @"?foo@K@test1@@QAEPAUC@2@XZ" +// CODEGEN: call {{.*}} @"?foo@K@test1@@UAEPAUE@2@XZ" // CODEGEN-NEXT: ret -// CODEGEN-LABEL: define {{.*}} @"\01?foo@K@test1@@QAEPAUD@2@XZ" -// CODEGEN: call {{.*}} @"\01?foo@K@test1@@UAEPAUE@2@XZ" +// CODEGEN-LABEL: define {{.*}} @"?foo@K@test1@@QAEPAUD@2@XZ" +// CODEGEN: call {{.*}} @"?foo@K@test1@@UAEPAUE@2@XZ" // CODEGEN-NEXT: ret } @@ -90,7 +90,7 @@ J::J() {} // VFTABLES-NEXT: [return adjustment (to type 'struct test2::B *'): 4 non-virtual] // VFTABLES-NEXT: 1 | test2::D *test2::J::foo() -// GLOBALS-LABEL: @"\01??_7J@test2@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] } +// GLOBALS-LABEL: @"??_7J@test2@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] } K::K() {} @@ -101,7 +101,7 @@ K::K() {} // VFTABLES-NEXT: [return adjustment (to type 'struct test2::D *'): 0 non-virtual] // VFTABLES-NEXT: 2 | test2::E *test2::K::foo() -// GLOBALS-LABEL: @"\01??_7K@test2@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] } +// GLOBALS-LABEL: @"??_7K@test2@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] } } @@ -124,9 +124,9 @@ struct C : virtual A, B { C::C() {} -// GLOBALS-LABEL: @"\01??_7C@pr20479@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] } -// GLOBALS: @"\01?f@B@pr20479@@QAEPAUA@2@XZ" -// GLOBALS: @"\01?f@B@pr20479@@UAEPAU12@XZ" +// GLOBALS-LABEL: @"??_7C@pr20479@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] } +// GLOBALS: @"?f@B@pr20479@@QAEPAUA@2@XZ" +// GLOBALS: @"?f@B@pr20479@@UAEPAU12@XZ" } namespace pr21073 { @@ -151,9 +151,9 @@ struct C : virtual A, virtual B { C::C() {} -// GLOBALS-LABEL: @"\01??_7C@pr21073@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] } -// GLOBALS: @"\01?f@B@pr21073@@WPPPPPPPI@AEPAUA@2@XZ" -// GLOBALS: @"\01?f@B@pr21073@@WPPPPPPPI@AEPAU12@XZ" +// GLOBALS-LABEL: @"??_7C@pr21073@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] } +// GLOBALS: @"?f@B@pr21073@@WPPPPPPPI@AEPAUA@2@XZ" +// GLOBALS: @"?f@B@pr21073@@WPPPPPPPI@AEPAU12@XZ" } namespace pr21073_2 { @@ -168,9 +168,9 @@ D::D() {} // VFTABLES-NEXT: [return adjustment (to type 'struct pr21073_2::A *'): vbase #1, 0 non-virtual] // VFTABLES-NEXT: 1 | pr21073_2::C *pr21073_2::C::foo() -// GLOBALS-LABEL: @"\01??_7D@pr21073_2@@6B@" = {{.*}} constant { [2 x i8*] } -// GLOBALS: @"\01?foo@C@pr21073_2@@QAEPAUA@2@XZ" -// GLOBALS: @"\01?foo@C@pr21073_2@@UAEPAU12@XZ" +// GLOBALS-LABEL: @"??_7D@pr21073_2@@6B@" = {{.*}} constant { [2 x i8*] } +// GLOBALS: @"?foo@C@pr21073_2@@QAEPAUA@2@XZ" +// GLOBALS: @"?foo@C@pr21073_2@@UAEPAU12@XZ" } namespace test3 { @@ -196,10 +196,10 @@ D::D() {} // VFTABLES-NEXT: [return adjustment (to type 'struct test3::D *'): 0 non-virtual] // VFTABLES-NEXT: [this adjustment: vtordisp at -4, 0 non-virtual] -// GLOBALS-LABEL: @"\01??_7D@test3@@6B@" = {{.*}} constant { [3 x i8*] } -// GLOBALS: @"\01?fn@D@test3@@$4PPPPPPPM@A@AEPAUA@2@XZ" -// GLOBALS: @"\01?fn@D@test3@@$4PPPPPPPM@A@AEPAUB@2@XZ" -// GLOBALS: @"\01?fn@D@test3@@$4PPPPPPPM@A@AEPAU12@XZ" +// GLOBALS-LABEL: @"??_7D@test3@@6B@" = {{.*}} constant { [3 x i8*] } +// GLOBALS: @"?fn@D@test3@@$4PPPPPPPM@A@AEPAUA@2@XZ" +// GLOBALS: @"?fn@D@test3@@$4PPPPPPPM@A@AEPAUB@2@XZ" +// GLOBALS: @"?fn@D@test3@@$4PPPPPPPM@A@AEPAU12@XZ" } namespace pr34302 { |