<div dir="auto">Was this discussed or reviewed somewhere? (It looks like a good change to me, I'm just wondering if there was something that triggered this and would like to read about the background if there's anything to read.)</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Mar 16, 2018, 9:39 PM Reid Kleckner via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp Fri Mar 16 13:36:49 2018<br>
@@ -19,11 +19,11 @@ void f(C *c) {<br>
}<br>
}<br>
<br>
-// CHECK-LABEL: define dso_local void @"\01?f@num_params@@YAXPAUC@1@@Z"(%"struct.num_params::C"* %c)<br>
-// CHECK: call x86_thiscallcc void bitcast (void (%"struct.num_params::C"*, ...)* @"\01??_9C@num_params@@$BA@AE" to void (%"struct.num_params::C"*, i32)*)(%"struct.num_params::C"* %{{.*}}, i32 0)<br>
-// CHECK: call x86_thiscallcc void bitcast (void (%"struct.num_params::C"*, ...)* @"\01??_9C@num_params@@$BA@AE" to void (%"struct.num_params::C"*, i32, i32)*)(%"struct.num_params::C"* %{{.*}}, i32 0, i32 0)<br>
+// CHECK-LABEL: define dso_local void @"?f@num_params@@YAXPAUC@1@@Z"(%"struct.num_params::C"* %c)<br>
+// CHECK: call x86_thiscallcc void bitcast (void (%"struct.num_params::C"*, ...)* @"??_9C@num_params@@$BA@AE" to void (%"struct.num_params::C"*, i32)*)(%"struct.num_params::C"* %{{.*}}, i32 0)<br>
+// CHECK: call x86_thiscallcc void bitcast (void (%"struct.num_params::C"*, ...)* @"??_9C@num_params@@$BA@AE" to void (%"struct.num_params::C"*, i32, i32)*)(%"struct.num_params::C"* %{{.*}}, i32 0, i32 0)<br>
<br>
-// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @"\01??_9C@num_params@@$BA@AE"(%"struct.num_params::C"* %this, ...) {{.*}} comdat<br>
+// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @"??_9C@num_params@@$BA@AE"(%"struct.num_params::C"* %this, ...) {{.*}} comdat<br>
// CHECK: musttail call x86_thiscallcc void (%"struct.num_params::C"*, ...) %{{.*}}(%"struct.num_params::C"* %{{.*}}, ...)<br>
// CHECK-NEXT: ret void<br>
<br>
@@ -41,11 +41,11 @@ long long f(C *c) {<br>
}<br>
}<br>
<br>
-// CHECK-LABEL: define dso_local i64 @"\01?f@i64_return@@YA_JPAUC@1@@Z"(%"struct.i64_return::C"* %c)<br>
-// CHECK: call x86_thiscallcc i32 bitcast (void (%"struct.i64_return::C"*, ...)* @"\01??_9C@i64_return@@$BA@AE" to i32 (%"struct.i64_return::C"*)*)(%"struct.i64_return::C"* %{{.*}})<br>
-// CHECK: call x86_thiscallcc i64 bitcast (void (%"struct.i64_return::C"*, ...)* @"\01??_9C@i64_return@@$BA@AE" to i64 (%"struct.i64_return::C"*)*)(%"struct.i64_return::C"* %{{.*}})<br>
+// CHECK-LABEL: define dso_local i64 @"?f@i64_return@@YA_JPAUC@1@@Z"(%"struct.i64_return::C"* %c)<br>
+// CHECK: call x86_thiscallcc i32 bitcast (void (%"struct.i64_return::C"*, ...)* @"??_9C@i64_return@@$BA@AE" to i32 (%"struct.i64_return::C"*)*)(%"struct.i64_return::C"* %{{.*}})<br>
+// CHECK: call x86_thiscallcc i64 bitcast (void (%"struct.i64_return::C"*, ...)* @"??_9C@i64_return@@$BA@AE" to i64 (%"struct.i64_return::C"*)*)(%"struct.i64_return::C"* %{{.*}})<br>
<br>
-// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @"\01??_9C@i64_return@@$BA@AE"(%"struct.i64_return::C"* %this, ...) {{.*}} comdat<br>
+// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @"??_9C@i64_return@@$BA@AE"(%"struct.i64_return::C"* %this, ...) {{.*}} comdat<br>
// CHECK: musttail call x86_thiscallcc void (%"struct.i64_return::C"*, ...) %{{.*}}(%"struct.i64_return::C"* %{{.*}}, ...)<br>
// CHECK-NEXT: ret void<br>
<br>
@@ -63,11 +63,11 @@ void f(C *c) {<br>
}<br>
}<br>
<br>
-// CHECK-LABEL: define dso_local void @"\01?f@sret@@YAXPAUC@1@@Z"(%"struct.sret::C"* %c)<br>
-// CHECK: call x86_thiscallcc i32 bitcast (void (%"struct.sret::C"*, ...)* @"\01??_9C@sret@@$BA@AE" to i32 (%"struct.sret::C"*)*)(%"struct.sret::C"* %{{.*}})<br>
-// CHECK: call x86_thiscallcc void bitcast (void (%"struct.sret::C"*, ...)* @"\01??_9C@sret@@$BA@AE" to void (%"struct.sret::C"*, %"struct.sret::Big"*)*)(%"struct.sret::C"* %{{.*}}, %"struct.sret::Big"* sret %{{.*}})<br>
+// CHECK-LABEL: define dso_local void @"?f@sret@@YAXPAUC@1@@Z"(%"struct.sret::C"* %c)<br>
+// CHECK: call x86_thiscallcc i32 bitcast (void (%"struct.sret::C"*, ...)* @"??_9C@sret@@$BA@AE" to i32 (%"struct.sret::C"*)*)(%"struct.sret::C"* %{{.*}})<br>
+// CHECK: call x86_thiscallcc void bitcast (void (%"struct.sret::C"*, ...)* @"??_9C@sret@@$BA@AE" to void (%"struct.sret::C"*, %"struct.sret::Big"*)*)(%"struct.sret::C"* %{{.*}}, %"struct.sret::Big"* sret %{{.*}})<br>
<br>
-// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @"\01??_9C@sret@@$BA@AE"(%"struct.sret::C"* %this, ...) {{.*}} comdat<br>
+// CHECK-LABEL: define linkonce_odr x86_thiscallcc void @"??_9C@sret@@$BA@AE"(%"struct.sret::C"* %this, ...) {{.*}} comdat<br>
// CHECK: musttail call x86_thiscallcc void (%"struct.sret::C"*, ...) %{{.*}}(%"struct.sret::C"* %{{.*}}, ...)<br>
// CHECK-NEXT: ret void<br>
<br>
@@ -92,10 +92,10 @@ void f(C *c) {<br>
}<br>
}<br>
<br>
-// CHECK-LABEL: define dso_local void @"\01?f@cdecl_inalloca@@YAXPAUC@1@@Z"(%"struct.cdecl_inalloca::C"* %c)<br>
-// CHECK: call void bitcast (void (%"struct.cdecl_inalloca::C"*, ...)* @"\01??_9C@cdecl_inalloca@@$BA@AA" to void (%"struct.cdecl_inalloca::C"*)*)(%"struct.cdecl_inalloca::C"* %{{.*}})<br>
-// CHECK: call void bitcast (void (%"struct.cdecl_inalloca::C"*, ...)* @"\01??_9C@cdecl_inalloca@@$BA@AA" to void (<{ %"struct.cdecl_inalloca::C"*, %"struct.cdecl_inalloca::Big" }>*)*)(<{ %"struct.cdecl_inalloca::C"*, %"struct.cdecl_inalloca::Big" }>* inalloca %{{.*}})<br>
+// CHECK-LABEL: define dso_local void @"?f@cdecl_inalloca@@YAXPAUC@1@@Z"(%"struct.cdecl_inalloca::C"* %c)<br>
+// CHECK: call void bitcast (void (%"struct.cdecl_inalloca::C"*, ...)* @"??_9C@cdecl_inalloca@@$BA@AA" to void (%"struct.cdecl_inalloca::C"*)*)(%"struct.cdecl_inalloca::C"* %{{.*}})<br>
+// CHECK: call void bitcast (void (%"struct.cdecl_inalloca::C"*, ...)* @"??_9C@cdecl_inalloca@@$BA@AA" to void (<{ %"struct.cdecl_inalloca::C"*, %"struct.cdecl_inalloca::Big" }>*)*)(<{ %"struct.cdecl_inalloca::C"*, %"struct.cdecl_inalloca::Big" }>* inalloca %{{.*}})<br>
<br>
-// CHECK-LABEL: define linkonce_odr void @"\01??_9C@cdecl_inalloca@@$BA@AA"(%"struct.cdecl_inalloca::C"* %this, ...) {{.*}} comdat<br>
+// CHECK-LABEL: define linkonce_odr void @"??_9C@cdecl_inalloca@@$BA@AA"(%"struct.cdecl_inalloca::C"* %this, ...) {{.*}} comdat<br>
// CHECK: musttail call void (%"struct.cdecl_inalloca::C"*, ...) %{{.*}}(%"struct.cdecl_inalloca::C"* %{{.*}}, ...)<br>
// CHECK-NEXT: ret void<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp Fri Mar 16 13:36:49 2018<br>
@@ -7,7 +7,7 @@ void (__fastcall A::*doit())(int, int) {<br>
return &A::f;<br>
}<br>
<br>
-// CHECK: define linkonce_odr x86_fastcallcc void @"\01??_9A@@$BA@AI"(%struct.A* inreg %this, ...) {{.*}} comdat align 2 {<br>
+// CHECK: define linkonce_odr x86_fastcallcc void @"??_9A@@$BA@AI"(%struct.A* inreg %this, ...) {{.*}} comdat align 2 {<br>
// CHECK: [[VPTR:%.*]] = getelementptr inbounds void (%struct.A*, ...)*, void (%struct.A*, ...)** %{{.*}}, i64 0<br>
// CHECK: [[CALLEE:%.*]] = load void (%struct.A*, ...)*, void (%struct.A*, ...)** [[VPTR]]<br>
// CHECK: musttail call x86_fastcallcc void (%struct.A*, ...) [[CALLEE]](%struct.A* inreg %{{.*}}, ...)<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-vbase.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-vbase.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-vbase.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-vbase.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vmemptr-vbase.cpp Fri Mar 16 13:36:49 2018<br>
@@ -8,5 +8,5 @@ struct B : virtual A {<br>
virtual void f();<br>
};<br>
void (B::*MemPtr)(void) = &B::f;<br>
-// CHECK-DAG: @"\01?MemPtr@PR23452@@3P8B@1@AEXXZQ21@" = dso_local global { i8*, i32, i32 } { i8* bitcast ({{.*}} @"\01??_9B@PR23452@@$BA@AE" to i8*), i32 0, i32 4 }<br>
+// CHECK-DAG: @"?MemPtr@PR23452@@3P8B@1@AEXXZQ21@" = dso_local global { i8*, i32, i32 } { i8* bitcast ({{.*}} @"??_9B@PR23452@@$BA@AE" to i8*), i32 0, i32 4 }<br>
}<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-no-thunks.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-no-thunks.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-no-thunks.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-no-thunks.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-no-thunks.cpp Fri Mar 16 13:36:49 2018<br>
@@ -24,8 +24,8 @@ struct X : A, B {<br>
// CHECK-LABEL: VFTable indices for 'test1::X' (1 entry)<br>
// CHECK-NEXT: 0 | void test1::X::f()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@test1@@6BA@1@@"<br>
- // MANGLING-DAG: @"\01??_7X@test1@@6BB@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test1@@6BA@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test1@@6BB@1@@"<br>
<br>
// Overrides only the left child's method (A::f), needs no thunks.<br>
virtual void f();<br>
@@ -108,7 +108,7 @@ struct X : Empty, A {<br>
// CHECK-LABEL: VFTable indices for 'test4::X' (1 entry).<br>
// CHECK-NEXT: 0 | void test4::X::f()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@test4@@6B@"<br>
+ // MANGLING-DAG: @"??_7X@test4@@6B@"<br>
<br>
virtual void f();<br>
} x;<br>
@@ -141,8 +141,8 @@ struct X : C {<br>
// CHECK-LABEL: VFTable indices for 'test5::X' (1 entry).<br>
// CHECK-NEXT: 0 | void test5::X::f()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@test5@@6BA@1@@"<br>
- // MANGLING-DAG: @"\01??_7X@test5@@6BB@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test5@@6BA@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test5@@6BB@1@@"<br>
<br>
// Overrides both C::f and A::f.<br>
virtual void f();<br>
@@ -241,8 +241,8 @@ struct X : A, B {<br>
// CHECK-LABEL: VFTable indices for 'test8::X' (1 entry).<br>
// CHECK-NEXT: 1 | void test8::X::h()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@test8@@6BA@1@@"<br>
- // MANGLING-DAG: @"\01??_7X@test8@@6BB@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test8@@6BA@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test8@@6BB@1@@"<br>
<br>
virtual void h();<br>
} x;<br>
@@ -290,10 +290,10 @@ struct X : C, D {<br>
// CHECK-LABEL: VFTable indices for 'test9::X' (1 entry).<br>
// CHECK-NEXT: 1 | void test9::X::z()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@test9@@6BA@1@C@1@@"<br>
- // MANGLING-DAG: @"\01??_7X@test9@@6BA@1@D@1@@"<br>
- // MANGLING-DAG: @"\01??_7X@test9@@6BB@1@C@1@@"<br>
- // MANGLING-DAG: @"\01??_7X@test9@@6BB@1@D@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test9@@6BA@1@C@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test9@@6BA@1@D@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test9@@6BB@1@C@1@@"<br>
+ // MANGLING-DAG: @"??_7X@test9@@6BB@1@D@1@@"<br>
<br>
virtual void z();<br>
} x;<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-pure-virtual.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-pure-virtual.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-pure-virtual.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-pure-virtual.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-pure-virtual.cpp Fri Mar 16 13:36:49 2018<br>
@@ -23,8 +23,8 @@ struct C : A, B {<br>
// CHECK-NEXT: via vfptr at offset 4<br>
// CHECK-NEXT: 0 | void C::g()<br>
<br>
- // MANGLING-DAG: @"\01??_7C@@6BA@@@"<br>
- // MANGLING-DAG: @"\01??_7C@@6BB@@@"<br>
+ // MANGLING-DAG: @"??_7C@@6BA@@@"<br>
+ // MANGLING-DAG: @"??_7C@@6BB@@@"<br>
<br>
// Overrides only the right child's method (B::g),<br>
// needs this adjustment but not thunks.<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-return-adjustment.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-return-adjustment.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-return-adjustment.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-return-adjustment.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-return-adjustment.cpp Fri Mar 16 13:36:49 2018<br>
@@ -36,7 +36,7 @@ struct X : D {<br>
// CHECK-LABEL: VFTable indices for 'test1::X' (1 entry).<br>
// CHECK-NEXT: 2 | test1::C *test1::X::foo()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@test1@@6B@"<br>
+ // MANGLING-DAG: @"??_7X@test1@@6B@"<br>
<br>
virtual C* foo();<br>
} x;<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp Fri Mar 16 13:36:49 2018<br>
@@ -29,8 +29,8 @@ struct X : A, B {<br>
// CHECK-LABEL: VFTable indices for 'test1::X' (1 entry).<br>
// CHECK-NEXT: 0 | void test1::X::g()<br>
<br>
- // BITCODE-DAG: @"\01??_7X@test1@@6BA@1@@"<br>
- // BITCODE-DAG: @"\01??_7X@test1@@6BB@1@@"<br>
+ // BITCODE-DAG: @"??_7X@test1@@6BA@1@@"<br>
+ // BITCODE-DAG: @"??_7X@test1@@6BB@1@@"<br>
<br>
virtual void g();<br>
} x;<br>
@@ -71,9 +71,9 @@ struct X : A, B, C {<br>
// CHECK-NEXT: via vfptr at offset 4<br>
// CHECK-NEXT: 0 | void test2::X::g()<br>
<br>
- // BITCODE-DAG: @"\01??_7X@test2@@6BA@1@@"<br>
- // BITCODE-DAG: @"\01??_7X@test2@@6BB@1@@"<br>
- // BITCODE-DAG: @"\01??_7X@test2@@6BC@1@@"<br>
+ // BITCODE-DAG: @"??_7X@test2@@6BA@1@@"<br>
+ // BITCODE-DAG: @"??_7X@test2@@6BB@1@@"<br>
+ // BITCODE-DAG: @"??_7X@test2@@6BC@1@@"<br>
<br>
virtual void g();<br>
} x;<br>
@@ -154,7 +154,7 @@ struct C : public A, public B {<br>
virtual int bar();<br>
};<br>
<br>
-// BITCODE-LABEL: define {{.*}}\01?ffun@test4@@YAXAAUC@1@@Z<br>
+// BITCODE-LABEL: define {{.*}}"?ffun@test4@@YAXAAUC@1@@Z<br>
void ffun(C &c) {<br>
// BITCODE: [[THIS1:%.+]] = bitcast %"struct.test4::C"* {{.*}} to i8*<br>
// BITCODE: [[THIS2:%.+]] = getelementptr inbounds i8, i8* [[THIS1]], i32 4<br>
@@ -162,7 +162,7 @@ void ffun(C &c) {<br>
c.bar();<br>
}<br>
<br>
-// BITCODE-LABEL: define {{.*}}\01?fop@test4@@YAXAAUC@1@@Z<br>
+// BITCODE-LABEL: define {{.*}}"?fop@test4@@YAXAAUC@1@@Z<br>
void fop(C &c) {<br>
// BITCODE: [[THIS1:%.+]] = bitcast %"struct.test4::C"* {{.*}} to i8*<br>
// BITCODE: [[THIS2:%.+]] = getelementptr inbounds i8, i8* [[THIS1]], i32 4<br>
@@ -189,12 +189,12 @@ void C::g(NonTrivial o) {<br>
whatsthis = this;<br>
}<br>
<br>
-// BITCODE-LABEL: define dso_local void @"\01?g@C@pr30293@@UAAXUNonTrivial@2@@Z"(<{ i8*, %"struct.pr30293::NonTrivial" }>* inalloca)<br>
+// BITCODE-LABEL: define dso_local void @"?g@C@pr30293@@UAAXUNonTrivial@2@@Z"(<{ i8*, %"struct.pr30293::NonTrivial" }>* inalloca)<br>
// BITCODE: %[[thisaddr:[^ ]*]] = getelementptr inbounds <{ i8*, %"struct.pr30293::NonTrivial" }>, <{ i8*, %"struct.pr30293::NonTrivial" }>* {{.*}}, i32 0, i32 0<br>
// BITCODE: %[[thisaddr1:[^ ]*]] = bitcast i8** %[[thisaddr]] to %"struct.pr30293::C"**<br>
// BITCODE: %[[this1:[^ ]*]] = load %"struct.pr30293::C"*, %"struct.pr30293::C"** %[[thisaddr1]], align 4<br>
// BITCODE: %[[this2:[^ ]*]] = bitcast %"struct.pr30293::C"* %[[this1]] to i8*<br>
// BITCODE: %[[this3:[^ ]*]] = getelementptr inbounds i8, i8* %[[this2]], i32 -4<br>
// BITCODE: %[[this4:[^ ]*]] = bitcast i8* %[[this3]] to %"struct.pr30293::C"*<br>
-// BITCODE: store %"struct.pr30293::C"* %[[this4]], %"struct.pr30293::C"** @"\01?whatsthis@pr30293@@3PAUC@1@A", align 4<br>
+// BITCODE: store %"struct.pr30293::C"* %[[this4]], %"struct.pr30293::C"** @"?whatsthis@pr30293@@3PAUC@1@A", align 4<br>
}<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp Fri Mar 16 13:36:49 2018<br>
@@ -26,10 +26,10 @@ J::J() {}<br>
// VFTABLES-NEXT: [return adjustment (to type 'struct test1::C *'): 0 non-virtual]<br>
// VFTABLES-NEXT: 2 | test1::D *test1::J::foo()<br>
<br>
-// GLOBALS-LABEL: @"\01??_7J@test1@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] }<br>
-// GLOBALS: @"\01?foo@J@test1@@QAEPAUB@2@XZ"<br>
-// GLOBALS: @"\01?foo@J@test1@@QAEPAUC@2@XZ"<br>
-// GLOBALS: @"\01?foo@J@test1@@UAEPAUD@2@XZ"<br>
+// GLOBALS-LABEL: @"??_7J@test1@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] }<br>
+// GLOBALS: @"?foo@J@test1@@QAEPAUB@2@XZ"<br>
+// GLOBALS: @"?foo@J@test1@@QAEPAUC@2@XZ"<br>
+// GLOBALS: @"?foo@J@test1@@UAEPAUD@2@XZ"<br>
<br>
K::K() {}<br>
<br>
@@ -44,26 +44,26 @@ K::K() {}<br>
<br>
// Only B to C requires adjustment, but we get 3 thunks in K's vftable, two of<br>
// which are trivial.<br>
-// GLOBALS-LABEL: @"\01??_7K@test1@@6B@" = linkonce_odr unnamed_addr constant { [4 x i8*] }<br>
-// GLOBALS: @"\01?foo@K@test1@@QAEPAUB@2@XZ"<br>
-// GLOBALS: @"\01?foo@K@test1@@QAEPAUC@2@XZ"<br>
-// GLOBALS: @"\01?foo@K@test1@@QAEPAUD@2@XZ"<br>
-// GLOBALS: @"\01?foo@K@test1@@UAEPAUE@2@XZ"<br>
+// GLOBALS-LABEL: @"??_7K@test1@@6B@" = linkonce_odr unnamed_addr constant { [4 x i8*] }<br>
+// GLOBALS: @"?foo@K@test1@@QAEPAUB@2@XZ"<br>
+// GLOBALS: @"?foo@K@test1@@QAEPAUC@2@XZ"<br>
+// GLOBALS: @"?foo@K@test1@@QAEPAUD@2@XZ"<br>
+// GLOBALS: @"?foo@K@test1@@UAEPAUE@2@XZ"<br>
<br>
// This thunk has a return adjustment.<br>
-// CODEGEN-LABEL: define {{.*}} @"\01?foo@K@test1@@QAEPAUB@2@XZ"<br>
-// CODEGEN: call {{.*}} @"\01?foo@K@test1@@UAEPAUE@2@XZ"<br>
+// CODEGEN-LABEL: define {{.*}} @"?foo@K@test1@@QAEPAUB@2@XZ"<br>
+// CODEGEN: call {{.*}} @"?foo@K@test1@@UAEPAUE@2@XZ"<br>
// CODEGEN: icmp {{.*}}, null<br>
// CODEGEN: getelementptr<br>
// CODEGEN: ret<br>
<br>
// These two don't.<br>
-// CODEGEN-LABEL: define {{.*}} @"\01?foo@K@test1@@QAEPAUC@2@XZ"<br>
-// CODEGEN: call {{.*}} @"\01?foo@K@test1@@UAEPAUE@2@XZ"<br>
+// CODEGEN-LABEL: define {{.*}} @"?foo@K@test1@@QAEPAUC@2@XZ"<br>
+// CODEGEN: call {{.*}} @"?foo@K@test1@@UAEPAUE@2@XZ"<br>
// CODEGEN-NEXT: ret<br>
<br>
-// CODEGEN-LABEL: define {{.*}} @"\01?foo@K@test1@@QAEPAUD@2@XZ"<br>
-// CODEGEN: call {{.*}} @"\01?foo@K@test1@@UAEPAUE@2@XZ"<br>
+// CODEGEN-LABEL: define {{.*}} @"?foo@K@test1@@QAEPAUD@2@XZ"<br>
+// CODEGEN: call {{.*}} @"?foo@K@test1@@UAEPAUE@2@XZ"<br>
// CODEGEN-NEXT: ret<br>
<br>
}<br>
@@ -90,7 +90,7 @@ J::J() {}<br>
// VFTABLES-NEXT: [return adjustment (to type 'struct test2::B *'): 4 non-virtual]<br>
// VFTABLES-NEXT: 1 | test2::D *test2::J::foo()<br>
<br>
-// GLOBALS-LABEL: @"\01??_7J@test2@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
+// GLOBALS-LABEL: @"??_7J@test2@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
<br>
K::K() {}<br>
<br>
@@ -101,7 +101,7 @@ K::K() {}<br>
// VFTABLES-NEXT: [return adjustment (to type 'struct test2::D *'): 0 non-virtual]<br>
// VFTABLES-NEXT: 2 | test2::E *test2::K::foo()<br>
<br>
-// GLOBALS-LABEL: @"\01??_7K@test2@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] }<br>
+// GLOBALS-LABEL: @"??_7K@test2@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] }<br>
<br>
}<br>
<br>
@@ -124,9 +124,9 @@ struct C : virtual A, B {<br>
<br>
C::C() {}<br>
<br>
-// GLOBALS-LABEL: @"\01??_7C@pr20479@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
-// GLOBALS: @"\01?f@B@pr20479@@QAEPAUA@2@XZ"<br>
-// GLOBALS: @"\01?f@B@pr20479@@UAEPAU12@XZ"<br>
+// GLOBALS-LABEL: @"??_7C@pr20479@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
+// GLOBALS: @"?f@B@pr20479@@QAEPAUA@2@XZ"<br>
+// GLOBALS: @"?f@B@pr20479@@UAEPAU12@XZ"<br>
}<br>
<br>
namespace pr21073 {<br>
@@ -151,9 +151,9 @@ struct C : virtual A, virtual B {<br>
<br>
C::C() {}<br>
<br>
-// GLOBALS-LABEL: @"\01??_7C@pr21073@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
-// GLOBALS: @"\01?f@B@pr21073@@WPPPPPPPI@AEPAUA@2@XZ"<br>
-// GLOBALS: @"\01?f@B@pr21073@@WPPPPPPPI@AEPAU12@XZ"<br>
+// GLOBALS-LABEL: @"??_7C@pr21073@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
+// GLOBALS: @"?f@B@pr21073@@WPPPPPPPI@AEPAUA@2@XZ"<br>
+// GLOBALS: @"?f@B@pr21073@@WPPPPPPPI@AEPAU12@XZ"<br>
}<br>
<br>
namespace pr21073_2 {<br>
@@ -168,9 +168,9 @@ D::D() {}<br>
// VFTABLES-NEXT: [return adjustment (to type 'struct pr21073_2::A *'): vbase #1, 0 non-virtual]<br>
// VFTABLES-NEXT: 1 | pr21073_2::C *pr21073_2::C::foo()<br>
<br>
-// GLOBALS-LABEL: @"\01??_7D@pr21073_2@@6B@" = {{.*}} constant { [2 x i8*] }<br>
-// GLOBALS: @"\01?foo@C@pr21073_2@@QAEPAUA@2@XZ"<br>
-// GLOBALS: @"\01?foo@C@pr21073_2@@UAEPAU12@XZ"<br>
+// GLOBALS-LABEL: @"??_7D@pr21073_2@@6B@" = {{.*}} constant { [2 x i8*] }<br>
+// GLOBALS: @"?foo@C@pr21073_2@@QAEPAUA@2@XZ"<br>
+// GLOBALS: @"?foo@C@pr21073_2@@UAEPAU12@XZ"<br>
}<br>
<br>
namespace test3 {<br>
@@ -196,10 +196,10 @@ D::D() {}<br>
// VFTABLES-NEXT: [return adjustment (to type 'struct test3::D *'): 0 non-virtual]<br>
// VFTABLES-NEXT: [this adjustment: vtordisp at -4, 0 non-virtual]<br>
<br>
-// GLOBALS-LABEL: @"\01??_7D@test3@@6B@" = {{.*}} constant { [3 x i8*] }<br>
-// GLOBALS: @"\01?fn@D@test3@@$4PPPPPPPM@A@AEPAUA@2@XZ"<br>
-// GLOBALS: @"\01?fn@D@test3@@$4PPPPPPPM@A@AEPAUB@2@XZ"<br>
-// GLOBALS: @"\01?fn@D@test3@@$4PPPPPPPM@A@AEPAU12@XZ"<br>
+// GLOBALS-LABEL: @"??_7D@test3@@6B@" = {{.*}} constant { [3 x i8*] }<br>
+// GLOBALS: @"?fn@D@test3@@$4PPPPPPPM@A@AEPAUA@2@XZ"<br>
+// GLOBALS: @"?fn@D@test3@@$4PPPPPPPM@A@AEPAUB@2@XZ"<br>
+// GLOBALS: @"?fn@D@test3@@$4PPPPPPPM@A@AEPAU12@XZ"<br>
}<br>
<br>
namespace pr34302 {<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp Fri Mar 16 13:36:49 2018<br>
@@ -19,7 +19,7 @@ struct A {<br>
int ia;<br>
};<br>
A a;<br>
-// EMITS-VFTABLE-DAG: @"\01??_7A@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] }<br>
+// EMITS-VFTABLE-DAG: @"??_7A@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] }<br>
void use(A *obj) { obj->f(); }<br>
<br>
struct B : A {<br>
@@ -39,7 +39,7 @@ struct B : A {<br>
virtual void j();<br>
};<br>
B b;<br>
-// EMITS-VFTABLE-DAG: @"\01??_7B@@6B@" = linkonce_odr unnamed_addr constant { [5 x i8*] }<br>
+// EMITS-VFTABLE-DAG: @"??_7B@@6B@" = linkonce_odr unnamed_addr constant { [5 x i8*] }<br>
void use(B *obj) { obj->f(); }<br>
<br>
struct C {<br>
@@ -54,7 +54,7 @@ struct C {<br>
virtual void f();<br>
};<br>
void C::f() {}<br>
-// NO-VFTABLE-NOT: @"\01??_7C@@6B@"<br>
+// NO-VFTABLE-NOT: @"??_7C@@6B@"<br>
void use(C *obj) { obj->f(); }<br>
<br>
struct D {<br>
@@ -69,7 +69,7 @@ struct D {<br>
virtual ~D();<br>
};<br>
D d;<br>
-// EMITS-VFTABLE-DAG: @"\01??_7D@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
+// EMITS-VFTABLE-DAG: @"??_7D@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] }<br>
void use(D *obj) { obj->f(); }<br>
<br>
struct E : A {<br>
@@ -89,7 +89,7 @@ struct E : A {<br>
virtual void i();<br>
};<br>
void E::i() {}<br>
-// NO-VFTABLE-NOT: @"\01??_7E@@6B@"<br>
+// NO-VFTABLE-NOT: @"??_7E@@6B@"<br>
void use(E *obj) { obj->i(); }<br>
<br>
struct F : A {<br>
@@ -107,7 +107,7 @@ struct F : A {<br>
virtual ~F();<br>
};<br>
F f;<br>
-// EMITS-VFTABLE-DAG: @"\01??_7F@@6B@" = linkonce_odr unnamed_addr constant { [5 x i8*] }<br>
+// EMITS-VFTABLE-DAG: @"??_7F@@6B@" = linkonce_odr unnamed_addr constant { [5 x i8*] }<br>
void use(F *obj) { obj->i(); }<br>
<br>
struct G : E {<br>
@@ -128,7 +128,7 @@ struct G : E {<br>
virtual void j();<br>
};<br>
void G::j() {}<br>
-// NO-VFTABLE-NOT: @"\01??_7G@@6B@"<br>
+// NO-VFTABLE-NOT: @"??_7G@@6B@"<br>
void use(G *obj) { obj->j(); }<br>
<br>
// Test that the usual Itanium-style key method does not emit a vtable.<br>
@@ -136,7 +136,7 @@ struct H {<br>
virtual void f();<br>
};<br>
void H::f() {}<br>
-// NO-VFTABLE-NOT: @"\01??_7H@@6B@"<br>
+// NO-VFTABLE-NOT: @"??_7H@@6B@"<br>
<br>
struct Empty { };<br>
<br>
@@ -295,7 +295,7 @@ struct S {<br>
// CHECK-NEXT: 0 | void S::f() [deleted]<br>
virtual void f() = delete;<br>
S();<br>
- // EMITS-VFTABLE-DAG: @"\01??_7S@@6B@" = linkonce_odr unnamed_addr constant { [1 x i8*] } { [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)] }<br>
+ // EMITS-VFTABLE-DAG: @"??_7S@@6B@" = linkonce_odr unnamed_addr constant { [1 x i8*] } { [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)] }<br>
};<br>
<br>
S::S() {}<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp Fri Mar 16 13:36:49 2018<br>
@@ -67,10 +67,10 @@ struct A : virtual V1 {<br>
// CHECK-NEXT: 0 | [this adjustment: vtordisp at -4, 0 non-virtual]<br>
<br>
virtual void f();<br>
- // MANGLING-DAG: @"\01?f@A@simple@@$4PPPPPPPM@A@AEXXZ"<br>
+ // MANGLING-DAG: @"?f@A@simple@@$4PPPPPPPM@A@AEXXZ"<br>
<br>
virtual ~A();<br>
- // MANGLING-DAG: @"\01??_EA@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EA@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
A a;<br>
@@ -102,11 +102,11 @@ struct B : virtual V3 {<br>
B() { use_somewhere_else(this); }<br>
<br>
virtual void f();<br>
- // MANGLING-DAG: @"\01?f@B@simple@@$4PPPPPPPE@A@AEXXZ"<br>
+ // MANGLING-DAG: @"?f@B@simple@@$4PPPPPPPE@A@AEXXZ"<br>
<br>
// Has an implicit destructor.<br>
- // MANGLING-DAG: @"\01??_EB@simple@@$4PPPPPPPE@7AEPAXI@Z"<br>
- // MANGLING-DAG: @"\01??_EB@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EB@simple@@$4PPPPPPPE@7AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EB@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
B b;<br>
@@ -147,12 +147,12 @@ struct C : virtual V4 {<br>
<br>
int x;<br>
virtual void f();<br>
- // MANGLING-DAG: @"\01?f@C@simple@@$4PPPPPPPA@3AEXXZ"<br>
- // MANGLING-DAG: @"\01?f@C@simple@@$4PPPPPPPE@A@AEXXZ"<br>
+ // MANGLING-DAG: @"?f@C@simple@@$4PPPPPPPA@3AEXXZ"<br>
+ // MANGLING-DAG: @"?f@C@simple@@$4PPPPPPPE@A@AEXXZ"<br>
virtual ~C();<br>
- // MANGLING-DAG: @"\01??_EC@simple@@$4PPPPPPPA@M@AEPAXI@Z"<br>
- // MANGLING-DAG: @"\01??_EC@simple@@$4PPPPPPPE@7AEPAXI@Z"<br>
- // MANGLING-DAG: @"\01??_EC@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EC@simple@@$4PPPPPPPA@M@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EC@simple@@$4PPPPPPPE@7AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EC@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
C c;<br>
@@ -167,7 +167,7 @@ class D : B {<br>
D();<br>
int z;<br>
<br>
- // MANGLING-DAG: @"\01?f@B@simple@@$4PPPPPPPE@3AEXXZ"<br>
+ // MANGLING-DAG: @"?f@B@simple@@$4PPPPPPPE@3AEXXZ"<br>
};<br>
<br>
D::D() {}<br>
@@ -192,7 +192,7 @@ struct F : virtual E {<br>
virtual void g(); // Force a vtordisp.<br>
int f;<br>
<br>
- // MANGLING-DAG: @"\01?g@F@simple@@$4PPPPPPPM@A@AEXXZ"{{.*}}??_EF@simple@@$4PPPPPPPM@A@AEPAXI@Z<br>
+ // MANGLING-DAG: @"?g@F@simple@@$4PPPPPPPM@A@AEXXZ"{{.*}}??_EF@simple@@$4PPPPPPPM@A@AEPAXI@Z<br>
// MANGLING-DAG: ?f@E@simple@@UAEXXZ{{.*}}??_EF@simple@@$4PPPPPPPE@7AEPAXI@Z<br>
};<br>
<br>
@@ -213,8 +213,8 @@ struct G : F {<br>
G();<br>
int g;<br>
<br>
- // MANGLING-DAG: @"\01?g@F@simple@@$4PPPPPPPM@3AEXXZ"{{.*}}@"\01??_EG@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
- // MANGLING-DAG: @"\01?f@E@simple@@UAEXXZ"{{.*}}@"\01??_EG@simple@@$4PPPPPPPE@7AEPAXI@Z"<br>
+ // MANGLING-DAG: @"?g@F@simple@@$4PPPPPPPM@3AEXXZ"{{.*}}@"??_EG@simple@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"?f@E@simple@@UAEXXZ"{{.*}}@"??_EG@simple@@$4PPPPPPPE@7AEPAXI@Z"<br>
};<br>
<br>
G::G() {}<br>
@@ -248,11 +248,11 @@ struct A : virtual simple::A {<br>
// CHECK-NEXT: vboffset at 8 in the vbtable, 8 non-virtual]<br>
<br>
// `vtordispex{8,8,4294967292,8}'<br>
- // MANGLING-DAG: @"\01?f@A@simple@@$R477PPPPPPPM@7AEXXZ"<br>
+ // MANGLING-DAG: @"?f@A@simple@@$R477PPPPPPPM@7AEXXZ"<br>
<br>
virtual ~A();<br>
// vtordisp{4294967292,0}<br>
- // MANGLING-DAG: @"\01??_EA@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EA@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
A a;<br>
@@ -273,7 +273,7 @@ struct B : virtual simple::A {<br>
// CHECK-NEXT: vboffset at 8 in the vbtable, 8 non-virtual]<br>
<br>
// vtordisp{4294967292,0}<br>
- // MANGLING-DAG: @"\01??_EB@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EB@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
B b;<br>
@@ -290,10 +290,10 @@ struct C : virtual simple::A {<br>
// CHECK-NEXT: vboffset at 8 in the vbtable, 8 non-virtual]<br>
<br>
// `vtordispex{12,8,4294967292,8}'<br>
- // MANGLING-DAG: @"\01?f@A@simple@@$R4M@7PPPPPPPM@7AEXXZ"<br>
+ // MANGLING-DAG: @"?f@A@simple@@$R4M@7PPPPPPPM@7AEXXZ"<br>
int x;<br>
virtual ~C();<br>
- // MANGLING-DAG: @"\01??_EC@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EC@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
C c;<br>
@@ -316,10 +316,10 @@ struct E : virtual D {<br>
// CHECK-NEXT: vboffset at 8 in the vbtable, 12 non-virtual]<br>
<br>
// `vtordispex{8,8,4294967292,12}'<br>
- // MANGLING-DAG: @"\01?f@D@extended@@$R477PPPPPPPM@M@AEXXZ"<br>
+ // MANGLING-DAG: @"?f@D@extended@@$R477PPPPPPPM@M@AEXXZ"<br>
<br>
virtual ~E();<br>
- // MANGLING-DAG: @"\01??_EE@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EE@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
E e;<br>
@@ -336,10 +336,10 @@ struct F : virtual Z, virtual D {<br>
// CHECK-NEXT: vboffset at 12 in the vbtable, 12 non-virtual]<br>
<br>
// `vtordispex{20,12,4294967292,12}'<br>
- // MANGLING-DAG: @"\01?f@D@extended@@$R4BE@M@PPPPPPPM@M@AEXXZ"<br>
+ // MANGLING-DAG: @"?f@D@extended@@$R4BE@M@PPPPPPPM@M@AEXXZ"<br>
int x;<br>
virtual ~F();<br>
- // MANGLING-DAG: @"\01??_EF@extended@@$4PPPPPPPM@M@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EF@extended@@$4PPPPPPPM@M@AEPAXI@Z"<br>
};<br>
<br>
F f;<br>
@@ -365,7 +365,7 @@ struct G : virtual simple::A {<br>
<br>
virtual ~G();<br>
// vtordisp{4294967292,0}<br>
- // MANGLING-DAG: @"\01??_EG@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"??_EG@extended@@$4PPPPPPPM@A@AEPAXI@Z"<br>
};<br>
<br>
G g;<br>
@@ -385,8 +385,8 @@ struct H : Z, A {<br>
// CHECK-NEXT: 0 | [this adjustment: vtordisp at -4, vbptr at 8 to the left,<br>
// CHECK-NEXT: vboffset at 8 in the vbtable, 8 non-virtual]<br>
<br>
- // MANGLING-DAG: @"\01?f@A@simple@@$R477PPPPPPPM@7AEXXZ"<br>
- // MANGLING-DAG: @"\01??_EH@extended@@$4PPPPPPPM@BA@AEPAXI@Z"<br>
+ // MANGLING-DAG: @"?f@A@simple@@$R477PPPPPPPM@7AEXXZ"<br>
+ // MANGLING-DAG: @"??_EH@extended@@$4PPPPPPPM@BA@AEPAXI@Z"<br>
};<br>
<br>
H h;<br>
@@ -407,7 +407,7 @@ struct A : virtual simple::B {<br>
// CHECK-NEXT: 0 | [this adjustment: vtordisp at -12, vbptr at 20 to the left,<br>
// CHECK-NEXT: vboffset at 8 in the vbtable, 16 non-virtual]<br>
<br>
- // MANGLING-DAG: @"\01?f@B@simple@@$R4BE@7PPPPPPPE@BA@AEXXZ"<br>
+ // MANGLING-DAG: @"?f@B@simple@@$R4BE@7PPPPPPPE@BA@AEXXZ"<br>
int a;<br>
virtual ~A();<br>
};<br>
@@ -442,7 +442,7 @@ struct D : C {<br>
// CHECK-NEXT: 0 | void pr19408::C::f()<br>
// CHECK-NEXT: [this adjustment: vtordisp at -4, -4 non-virtual]<br>
<br>
- // MANGLING-DAG: @"\01?f@C@pr19408@@$4PPPPPPPM@3AEXXZ"<br>
+ // MANGLING-DAG: @"?f@C@pr19408@@$4PPPPPPPM@3AEXXZ"<br>
D();<br>
int d;<br>
};<br>
@@ -463,10 +463,10 @@ struct B : virtual A {<br>
virtual ~B();<br>
protected:<br>
virtual void prot();<br>
- // MANGLING-DAG: @"\01?prot@B@access@@$2PPPPPPPM@A@AEXXZ"<br>
+ // MANGLING-DAG: @"?prot@B@access@@$2PPPPPPPM@A@AEXXZ"<br>
private:<br>
virtual void priv();<br>
- // MANGLING-DAG: @"\01?priv@B@access@@$0PPPPPPPM@A@AEXXZ"<br>
+ // MANGLING-DAG: @"?priv@B@access@@$0PPPPPPPM@A@AEXXZ"<br>
};<br>
<br>
B b;<br>
@@ -474,8 +474,8 @@ B b;<br>
struct C : virtual B {<br>
virtual ~C();<br>
<br>
- // MANGLING-DAG: @"\01?prot@B@access@@$R277PPPPPPPM@7AEXXZ"<br>
- // MANGLING-DAG: @"\01?priv@B@access@@$R077PPPPPPPM@7AEXXZ"<br>
+ // MANGLING-DAG: @"?prot@B@access@@$R277PPPPPPPM@7AEXXZ"<br>
+ // MANGLING-DAG: @"?priv@B@access@@$R077PPPPPPPM@7AEXXZ"<br>
};<br>
<br>
C c;<br>
@@ -503,7 +503,7 @@ struct X : B, virtual C {<br>
// CHECK-NEXT: 0 | void pr19505::B::f()<br>
// CHECK-NEXT: 1 | void pr19505::A::z()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@pr19505@@6BB@1@@" = {{.*}}@"\01?f@B@pr19505@@UAEXXZ"<br>
+ // MANGLING-DAG: @"??_7X@pr19505@@6BB@1@@" = {{.*}}@"?f@B@pr19505@@UAEXXZ"<br>
} x;<br>
<br>
void build_vftable(X *obj) { obj->g(); }<br>
@@ -530,7 +530,7 @@ struct X : C, virtual B {<br>
// CHECK-NEXT: 1 | void pr19506::X::g()<br>
// CHECK-NEXT: [this adjustment: vtordisp at -4, -12 non-virtual]<br>
<br>
- // MANGLING-DAG: @"\01??_7X@pr19506@@6BB@1@@" = {{.*}}@"\01?f@B@pr19506@@UAEXXZ"<br>
+ // MANGLING-DAG: @"??_7X@pr19506@@6BB@1@@" = {{.*}}@"?f@B@pr19506@@UAEXXZ"<br>
} x;<br>
<br>
void build_vftable(X *obj) { obj->g(); }<br>
@@ -562,7 +562,7 @@ struct X : B, C {<br>
// CHECK-NEXT: 1 | void pr19519::C::g()<br>
// CHECK-NEXT: [this adjustment: vtordisp at -4, -4 non-virtual]<br>
<br>
- // MANGLING-DAG: @"\01??_7X@pr19519@@6B@" = {{.*}}@"\01?g@C@pr19519@@$4PPPPPPPM@3AEXXZ"<br>
+ // MANGLING-DAG: @"??_7X@pr19519@@6B@" = {{.*}}@"?g@C@pr19519@@$4PPPPPPPM@3AEXXZ"<br>
};<br>
<br>
X::X() {}<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp Fri Mar 16 13:36:49 2018<br>
@@ -22,7 +22,7 @@ struct C: virtual A {<br>
// CHECK-NEXT: vbtable index 1, vfptr at offset 0<br>
// CHECK-NEXT: 0 | void C::f()<br>
<br>
- // MANGLING-DAG: @"\01??_7C@@6B@"<br>
+ // MANGLING-DAG: @"??_7C@@6B@"<br>
<br>
virtual void f() {}<br>
};<br>
@@ -44,8 +44,8 @@ struct D: virtual A {<br>
// CHECK-NEXT: via vbtable index 1, vfptr at offset 0<br>
// CHECK-NEXT: 0 | void D::f()<br>
<br>
- // MANGLING-DAG: @"\01??_7D@@6B0@@"<br>
- // MANGLING-DAG: @"\01??_7D@@6BA@@@"<br>
+ // MANGLING-DAG: @"??_7D@@6B0@@"<br>
+ // MANGLING-DAG: @"??_7D@@6BA@@@"<br>
<br>
virtual void f();<br>
virtual void h();<br>
@@ -60,7 +60,7 @@ struct X { int x; };<br>
<br>
// X and A get reordered in the layout since X doesn't have a vfptr while A has.<br>
struct Y : X, A { };<br>
-// MANGLING-DAG: @"\01??_7Y@Test1@@6B@"<br>
+// MANGLING-DAG: @"??_7Y@Test1@@6B@"<br>
<br>
struct Z : virtual Y {<br>
Z();<br>
@@ -70,7 +70,7 @@ struct Z : virtual Y {<br>
<br>
// CHECK-NOT: VFTable indices for 'Test1::Z'<br>
<br>
- // MANGLING-DAG: @"\01??_7Z@Test1@@6B@"<br>
+ // MANGLING-DAG: @"??_7Z@Test1@@6B@"<br>
};<br>
<br>
Z::Z() {}<br>
@@ -92,9 +92,9 @@ struct X: virtual A, virtual B {<br>
// CHECK-LABEL: VFTable indices for 'Test2::X' (1 entry).<br>
// CHECK-NEXT: 0 | void Test2::X::h()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@Test2@@6B01@@"<br>
- // MANGLING-DAG: @"\01??_7X@Test2@@6BA@@@"<br>
- // MANGLING-DAG: @"\01??_7X@Test2@@6BB@@@"<br>
+ // MANGLING-DAG: @"??_7X@Test2@@6B01@@"<br>
+ // MANGLING-DAG: @"??_7X@Test2@@6BA@@@"<br>
+ // MANGLING-DAG: @"??_7X@Test2@@6BB@@@"<br>
<br>
virtual void h();<br>
};<br>
@@ -106,7 +106,7 @@ void use(X *obj) { obj->h(); }<br>
namespace Test3 {<br>
<br>
struct X : virtual A {<br>
- // MANGLING-DAG: @"\01??_7X@Test3@@6B@"<br>
+ // MANGLING-DAG: @"??_7X@Test3@@6B@"<br>
};<br>
<br>
struct Y: virtual X {<br>
@@ -117,7 +117,7 @@ struct Y: virtual X {<br>
<br>
// CHECK-NOT: VFTable indices for 'Test3::Y'<br>
<br>
- // MANGLING-DAG: @"\01??_7Y@Test3@@6B@"<br>
+ // MANGLING-DAG: @"??_7Y@Test3@@6B@"<br>
};<br>
<br>
Y::Y() {}<br>
@@ -142,10 +142,10 @@ struct X: virtual C {<br>
<br>
// CHECK-NOT: VFTable indices for 'Test4::X'<br>
<br>
- // MANGLING-DAG: @"\01??_7X@Test4@@6B@"<br>
+ // MANGLING-DAG: @"??_7X@Test4@@6B@"<br>
<br>
// Also check the mangling of the thunk.<br>
- // MANGLING-DAG: define linkonce_odr dso_local x86_thiscallcc void @"\01?f@C@@WPPPPPPPI@AEXXZ"<br>
+ // MANGLING-DAG: define linkonce_odr dso_local x86_thiscallcc void @"?f@C@@WPPPPPPPI@AEXXZ"<br>
};<br>
<br>
X::X() {}<br>
@@ -155,7 +155,7 @@ namespace Test5 {<br>
<br>
// New methods are added to the base's vftable.<br>
struct X : A {<br>
- // MANGLING-DAG: @"\01??_7X@Test5@@6B@"<br>
+ // MANGLING-DAG: @"??_7X@Test5@@6B@"<br>
virtual void g();<br>
};<br>
<br>
@@ -171,8 +171,8 @@ struct Y : virtual X {<br>
// CHECK-LABEL: VFTable indices for 'Test5::Y' (1 entry).<br>
// CHECK-NEXT: 0 | void Test5::Y::h()<br>
<br>
- // MANGLING-DAG: @"\01??_7Y@Test5@@6B01@@"<br>
- // MANGLING-DAG: @"\01??_7Y@Test5@@6BX@1@@"<br>
+ // MANGLING-DAG: @"??_7Y@Test5@@6B01@@"<br>
+ // MANGLING-DAG: @"??_7Y@Test5@@6BX@1@@"<br>
<br>
virtual void h();<br>
};<br>
@@ -191,7 +191,7 @@ struct X : A, virtual Empty {<br>
<br>
// CHECK-NOT: VFTable indices for 'Test6::X'<br>
<br>
- // MANGLING-DAG: @"\01??_7X@Test6@@6B@"<br>
+ // MANGLING-DAG: @"??_7X@Test6@@6B@"<br>
};<br>
<br>
X::X() {}<br>
@@ -200,7 +200,7 @@ X::X() {}<br>
namespace Test7 {<br>
<br>
struct X : C {<br>
- // MANGLING-DAG: @"\01??_7X@Test7@@6B@"<br>
+ // MANGLING-DAG: @"??_7X@Test7@@6B@"<br>
};<br>
<br>
struct Y : virtual X {<br>
@@ -215,7 +215,7 @@ struct Y : virtual X {<br>
<br>
// CHECK-NOT: VFTable indices for 'Test7::Y'<br>
<br>
- // MANGLING-DAG: @"\01??_7Y@Test7@@6B@"<br>
+ // MANGLING-DAG: @"??_7Y@Test7@@6B@"<br>
};<br>
<br>
Y::Y() {}<br>
@@ -236,8 +236,8 @@ struct X : D, C {<br>
// CHECK-NEXT: via vbtable index 1, vfptr at offset 0<br>
// CHECK-NEXT: 0 | void Test8::X::f()<br>
<br>
- // MANGLING-DAG: @"\01??_7X@Test8@@6BA@@@"<br>
- // MANGLING-DAG: @"\01??_7X@Test8@@6BD@@@"<br>
+ // MANGLING-DAG: @"??_7X@Test8@@6BA@@@"<br>
+ // MANGLING-DAG: @"??_7X@Test8@@6BD@@@"<br>
<br>
virtual void f();<br>
};<br>
@@ -299,8 +299,8 @@ struct Y : virtual X {<br>
// CHECK-LABEL: VFTable indices for 'Test9::Y' (1 entry).<br>
// CHECK-NEXT: 0 | void Test9::Y::h()<br>
<br>
- // MANGLING-DAG: @"\01??_7Y@Test9@@6B01@@"<br>
- // MANGLING-DAG: @"\01??_7Y@Test9@@6BX@1@@"<br>
+ // MANGLING-DAG: @"??_7Y@Test9@@6B01@@"<br>
+ // MANGLING-DAG: @"??_7Y@Test9@@6BX@1@@"<br>
<br>
virtual void h();<br>
};<br>
@@ -322,10 +322,10 @@ struct Z : Y, virtual B {<br>
<br>
// CHECK-NOT: VFTable indices for 'Test9::Z'<br>
<br>
- // MANGLING-DAG: @"\01??_7Z@Test9@@6BX@1@@"<br>
- // MANGLING-DAG: @"\01??_7Z@Test9@@6BY@1@@"<br>
+ // MANGLING-DAG: @"??_7Z@Test9@@6BX@1@@"<br>
+ // MANGLING-DAG: @"??_7Z@Test9@@6BY@1@@"<br>
<br>
- // MANGLING-DAG: @"\01??_7Z@Test9@@6B@"<br>
+ // MANGLING-DAG: @"??_7Z@Test9@@6B@"<br>
};<br>
<br>
Z::Z() {}<br>
@@ -355,12 +355,12 @@ struct W : Z, D, virtual A, virtual B {<br>
<br>
// CHECK-NOT: VFTable indices for 'Test9::W'<br>
<br>
- // MANGLING-DAG: @"\01??_7W@Test9@@6BA@@@"<br>
- // MANGLING-DAG: @"\01??_7W@Test9@@6BD@@@"<br>
- // MANGLING-DAG: @"\01??_7W@Test9@@6BX@1@@"<br>
+ // MANGLING-DAG: @"??_7W@Test9@@6BA@@@"<br>
+ // MANGLING-DAG: @"??_7W@Test9@@6BD@@@"<br>
+ // MANGLING-DAG: @"??_7W@Test9@@6BX@1@@"<br>
<br>
- // MANGLING-DAG: @"\01??_7W@Test9@@6B@"<br>
- // MANGLING-DAG: @"\01??_7W@Test9@@6BY@1@@"<br>
+ // MANGLING-DAG: @"??_7W@Test9@@6B@"<br>
+ // MANGLING-DAG: @"??_7W@Test9@@6BY@1@@"<br>
};<br>
<br>
W::W() {}<br>
@@ -404,12 +404,12 @@ struct T : Z, D, virtual A, virtual B {<br>
// CHECK-NEXT: via vbtable index 2, vfptr at offset 0<br>
// CHECK-NEXT: 0 | void Test9::T::g()<br>
<br>
- // MANGLING-DAG: @"\01??_7T@Test9@@6BA@@@"<br>
- // MANGLING-DAG: @"\01??_7T@Test9@@6BD@@@"<br>
- // MANGLING-DAG: @"\01??_7T@Test9@@6BX@1@@"<br>
+ // MANGLING-DAG: @"??_7T@Test9@@6BA@@@"<br>
+ // MANGLING-DAG: @"??_7T@Test9@@6BD@@@"<br>
+ // MANGLING-DAG: @"??_7T@Test9@@6BX@1@@"<br>
<br>
- // MANGLING-DAG: @"\01??_7T@Test9@@6B@"<br>
- // MANGLING-DAG: @"\01??_7T@Test9@@6BY@1@@"<br>
+ // MANGLING-DAG: @"??_7T@Test9@@6B@"<br>
+ // MANGLING-DAG: @"??_7T@Test9@@6BY@1@@"<br>
<br>
virtual void f();<br>
virtual void g();<br>
@@ -443,8 +443,8 @@ struct X : virtual A {};<br>
struct Y { virtual void g(); };<br>
<br>
struct Z : virtual X, Y {<br>
- // MANGLING-DAG: @"\01??_7Z@Test11@@6BY@1@@"<br>
- // MANGLING-DAG: @"\01??_7Z@Test11@@6BX@1@@"<br>
+ // MANGLING-DAG: @"??_7Z@Test11@@6BY@1@@"<br>
+ // MANGLING-DAG: @"??_7Z@Test11@@6BX@1@@"<br>
};<br>
<br>
Z z;<br>
@@ -468,7 +468,7 @@ struct Z : virtual Y {<br>
// CHECK-NEXT: 1 | void A::z()<br>
<br>
int z;<br>
- // MANGLING-DAG: @"\01??_7Z@Test12@@6BA@@@" = {{.*}}@"\01?f@Y@Test12@@UAEXXZ"<br>
+ // MANGLING-DAG: @"??_7Z@Test12@@6BA@@@" = {{.*}}@"?f@Y@Test12@@UAEXXZ"<br>
};<br>
<br>
struct W : Z {<br>
@@ -478,7 +478,7 @@ struct W : Z {<br>
W();<br>
<br>
int w;<br>
- // MANGLING-DAG: @"\01??_7W@Test12@@6BA@@@" = {{.*}}@"\01?f@Y@Test12@@UAEXXZ"<br>
+ // MANGLING-DAG: @"??_7W@Test12@@6BA@@@" = {{.*}}@"?f@Y@Test12@@UAEXXZ"<br>
};<br>
<br>
W::W() {}<br>
@@ -683,10 +683,10 @@ struct C : virtual B, A {<br>
};<br>
C c;<br>
<br>
-// MANGLING-DAG: @"\01??_7A@pr17748@@6B@"<br>
-// MANGLING-DAG: @"\01??_7B@pr17748@@6B@"<br>
-// MANGLING-DAG: @"\01??_7C@pr17748@@6BA@1@@"<br>
-// MANGLING-DAG: @"\01??_7C@pr17748@@6BB@1@@"<br>
+// MANGLING-DAG: @"??_7A@pr17748@@6B@"<br>
+// MANGLING-DAG: @"??_7B@pr17748@@6B@"<br>
+// MANGLING-DAG: @"??_7C@pr17748@@6BA@1@@"<br>
+// MANGLING-DAG: @"??_7C@pr17748@@6BB@1@@"<br>
}<br>
<br>
namespace pr19066 {<br>
@@ -721,9 +721,9 @@ D obj;<br>
<br>
// Each MDC only has one vftable.<br>
<br>
-// MANGLING-DAG: @"\01??_7D@pr19240@@6B@"<br>
-// MANGLING-DAG: @"\01??_7A@pr19240@@6B@"<br>
-// MANGLING-DAG: @"\01??_7B@pr19240@@6B@"<br>
+// MANGLING-DAG: @"??_7D@pr19240@@6B@"<br>
+// MANGLING-DAG: @"??_7A@pr19240@@6B@"<br>
+// MANGLING-DAG: @"??_7B@pr19240@@6B@"<br>
<br>
}<br>
<br>
@@ -746,7 +746,7 @@ struct Z : Y {<br>
<br>
Z();<br>
int z;<br>
- // MANGLING-DAG: @"\01??_7Z@pr19408@@6B@" = {{.*}}@"\01?f@Y@pr19408@@W3AEXXZ"<br>
+ // MANGLING-DAG: @"??_7Z@pr19408@@6B@" = {{.*}}@"?f@Y@pr19408@@W3AEXXZ"<br>
};<br>
<br>
Z::Z() {}<br>
@@ -759,7 +759,7 @@ struct W : B, Y {<br>
<br>
W();<br>
int w;<br>
- // MANGLING-DAG: @"\01??_7W@pr19408@@6BY@1@@" = {{.*}}@"\01?f@Y@pr19408@@W3AEXXZ"<br>
+ // MANGLING-DAG: @"??_7W@pr19408@@6BY@1@@" = {{.*}}@"?f@Y@pr19408@@W3AEXXZ"<br>
};<br>
<br>
W::W() {}<br>
@@ -771,7 +771,7 @@ struct A {<br>
};<br>
struct __declspec(dllexport) B : virtual A {<br>
virtual void f() = 0;<br>
- // MANGLING-DAG: @"\01??_7B@Test13@@6B@" = weak_odr dllexport unnamed_addr constant { [1 x i8*] } { [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)] }<br>
+ // MANGLING-DAG: @"??_7B@Test13@@6B@" = weak_odr dllexport unnamed_addr constant { [1 x i8*] } { [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)] }<br>
};<br>
}<br>
<br>
@@ -788,8 +788,8 @@ C::C() {}<br>
// CHECK-LABEL: VFTable for 'pr21031_1::B' in 'pr21031_1::C' (1 entry)<br>
// CHECK-NEXT: 0 | void pr21031_1::B::g()<br>
<br>
-// MANGLING-DAG: @"\01??_7C@pr21031_1@@6BB@1@@" = {{.*}} constant { [1 x i8*] }<br>
-// MANGLING-DAG: @"\01??_7C@pr21031_1@@6B@" = {{.*}} constant { [1 x i8*] }<br>
+// MANGLING-DAG: @"??_7C@pr21031_1@@6BB@1@@" = {{.*}} constant { [1 x i8*] }<br>
+// MANGLING-DAG: @"??_7C@pr21031_1@@6B@" = {{.*}} constant { [1 x i8*] }<br>
}<br>
<br>
namespace pr21031_2 {<br>
@@ -804,8 +804,8 @@ C::C() {}<br>
// CHECK-LABEL: VFTable for 'pr21031_2::A' in 'pr21031_2::B' in 'pr21031_2::C' (1 entry)<br>
// CHECK-NEXT: 0 | void pr21031_2::A::f()<br>
<br>
-// MANGLING-DAG: @"\01??_7C@pr21031_2@@6BA@1@@" = {{.*}} constant { [1 x i8*] }<br>
-// MANGLING-DAG: @"\01??_7C@pr21031_2@@6BB@1@@" = {{.*}} constant { [1 x i8*] }<br>
+// MANGLING-DAG: @"??_7C@pr21031_2@@6BA@1@@" = {{.*}} constant { [1 x i8*] }<br>
+// MANGLING-DAG: @"??_7C@pr21031_2@@6BB@1@@" = {{.*}} constant { [1 x i8*] }<br>
}<br>
<br>
namespace pr21062_1 {<br>
@@ -818,7 +818,7 @@ D::D() {}<br>
// CHECK-LABEL: VFTable for 'pr21062_1::A' in 'pr21062_1::D' (1 entry)<br>
// CHECK-NEXT: 0 | void pr21062_1::A::f()<br>
<br>
-// MANGLING-DAG: @"\01??_7D@pr21062_1@@6B@" = {{.*}} constant { [1 x i8*] }<br>
+// MANGLING-DAG: @"??_7D@pr21062_1@@6B@" = {{.*}} constant { [1 x i8*] }<br>
}<br>
<br>
namespace pr21062_2 {<br>
@@ -831,7 +831,7 @@ D::D() {}<br>
// CHECK-LABEL: VFTable for 'pr21062_2::A' in 'pr21062_2::D' (1 entry)<br>
// CHECK-NEXT: 0 | void pr21062_2::A::f()<br>
<br>
-// MANGLING-DAG: @"\01??_7D@pr21062_2@@6B@" = {{.*}} constant { [1 x i8*] }<br>
+// MANGLING-DAG: @"??_7D@pr21062_2@@6B@" = {{.*}} constant { [1 x i8*] }<br>
}<br>
<br>
namespace pr21064 {<br>
@@ -843,5 +843,5 @@ D::D() {}<br>
// CHECK-LABEL: VFTable for 'pr21064::B' in 'pr21064::C' in 'pr21064::D' (1 entry)<br>
// CHECK-NEXT: 0 | void pr21064::B::f()<br>
<br>
-// MANGLING-DAG: @"\01??_7D@pr21064@@6B@" = {{.*}} constant { [1 x i8*] }<br>
+// MANGLING-DAG: @"??_7D@pr21064@@6B@" = {{.*}} constant { [1 x i8*] }<br>
}<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-compatibility.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-compatibility.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-compatibility.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-compatibility.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-compatibility.cpp Fri Mar 16 13:36:49 2018<br>
@@ -8,7 +8,7 @@ struct S {<br>
template <><br>
const int S<char>::x[] = {1};<br>
<br>
-// CHECK-LABEL: @"\01?x@?$S@D@@2QBHB" = weak_odr dso_local constant [1 x i32] [i32 1], comdat<br>
+// CHECK-LABEL: @"?x@?$S@D@@2QBHB" = weak_odr dso_local constant [1 x i32] [i32 1], comdat<br>
<br>
template<class T><br>
void destroy(T *p) {<br>
@@ -21,10 +21,10 @@ extern "C" void f() {<br>
}<br>
<br>
// CHECK-LABEL: define dso_local void @f()<br>
-// CHECK: call void @"\01??$destroy@X@@YAXPAX@Z"<br>
+// CHECK: call void @"??$destroy@X@@YAXPAX@Z"<br>
// CHECK: ret void<br>
<br>
-// CHECK-LABEL: define linkonce_odr dso_local void @"\01??$destroy@X@@YAXPAX@Z"(i8* %p)<br>
+// CHECK-LABEL: define linkonce_odr dso_local void @"??$destroy@X@@YAXPAX@Z"(i8* %p)<br>
// The pseudo-dtor expr should not generate calls to anything.<br>
// CHECK-NOT: call<br>
// CHECK-NOT: invoke<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-new.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-new.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-new.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-new.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-new.cpp Fri Mar 16 13:36:49 2018<br>
@@ -13,7 +13,7 @@ namespace PR13164 {<br>
// MSVC will fall back on the non-array operator new.<br>
void *a;<br>
int *p = new(arbitrary) int[4];<br>
- // CHECK: call i8* @"\01??2@YAPAXIUarbitrary_t@@@Z"(i32 16, %struct.arbitrary_t*<br>
+ // CHECK: call i8* @"??2@YAPAXIUarbitrary_t@@@Z"(i32 16, %struct.arbitrary_t*<br>
}<br>
<br>
struct S {<br>
@@ -22,9 +22,9 @@ namespace PR13164 {<br>
<br>
void g() {<br>
S *s = new(arbitrary) S[2];<br>
- // CHECK: call i8* @"\01??_US@PR13164@@SAPAXIUarbitrary_t@@@Z"(i32 2, %struct.arbitrary_t*<br>
+ // CHECK: call i8* @"??_US@PR13164@@SAPAXIUarbitrary_t@@@Z"(i32 2, %struct.arbitrary_t*<br>
S *s1 = new(arbitrary) S;<br>
- // CHECK: call i8* @"\01??2@YAPAXIUarbitrary_t@@@Z"(i32 1, %struct.arbitrary_t*<br>
+ // CHECK: call i8* @"??2@YAPAXIUarbitrary_t@@@Z"(i32 1, %struct.arbitrary_t*<br>
}<br>
<br>
struct T {<br>
@@ -34,6 +34,6 @@ namespace PR13164 {<br>
void h() {<br>
// This should still call the global operator new[].<br>
T *t = new(arbitrary2) T[2];<br>
- // CHECK: call i8* @"\01??_U@YAPAXIUarbitrary2_t@@@Z"(i32 2, %struct.arbitrary2_t*<br>
+ // CHECK: call i8* @"??_U@YAPAXIUarbitrary2_t@@@Z"(i32 2, %struct.arbitrary2_t*<br>
}<br>
}<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-no-rtti-data.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-no-rtti-data.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-no-rtti-data.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-no-rtti-data.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-no-rtti-data.cpp Fri Mar 16 13:36:49 2018<br>
@@ -1,8 +1,8 @@<br>
// RUN: %clang_cc1 %s -fno-rtti-data -triple=i386-pc-win32 -o - -emit-llvm | FileCheck %s<br>
<br>
// vftable shouldn't have RTTI data in it.<br>
-// CHECK-NOT: @"\01??_R4S@@6B@"<br>
-// CHECK: @"\01??_7S@@6B@" = linkonce_odr unnamed_addr constant { [1 x i8*] } { [1 x i8*] [i8* bitcast ({{.*}} @"\01??_GS@@UAEPAXI@Z" to i8*)] }, comdat<br>
+// CHECK-NOT: @"??_R4S@@6B@"<br>
+// CHECK: @"??_7S@@6B@" = linkonce_odr unnamed_addr constant { [1 x i8*] } { [1 x i8*] [i8* bitcast ({{.*}} @"??_GS@@UAEPAXI@Z" to i8*)] }, comdat<br>
<br>
struct type_info;<br>
namespace std { using ::type_info; }<br>
@@ -19,4 +19,4 @@ extern S *getS();<br>
<br>
const std::type_info &ti = typeid(*getS());<br>
const U &u = dynamic_cast<U &>(*getS());<br>
-// CHECK: call i8* @__RTDynamicCast(i8* %{{.+}}, i32 0, i8* bitcast ({{.*}} @"\01??_R0?AUS@@@8" to i8*), i8* bitcast ({{.*}} @"\01??_R0?AUU@@@8" to i8*), i32 1)<br>
+// CHECK: call i8* @__RTDynamicCast(i8* %{{.+}}, i32 0, i8* bitcast ({{.*}} @"??_R0?AUS@@@8" to i8*), i8* bitcast ({{.*}} @"??_R0?AUU@@@8" to i8*), i32 1)<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/microsoft-templ-uuidof.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-templ-uuidof.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-templ-uuidof.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/microsoft-templ-uuidof.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/microsoft-templ-uuidof.cpp Fri Mar 16 13:36:49 2018<br>
@@ -16,12 +16,12 @@ struct __declspec(uuid("{BBBBBBBB-BBBB-B<br>
struct __declspec(uuid("{CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC}")) C {};<br>
<br>
const _GUID &xa = __uuidof(X<A>);<br>
-// CHECK-DAG: @"\01?xa@@3ABU_GUID@@B" = {{.*}} @_GUID_aaaaaaaa_aaaa_aaaa_aaaa_aaaaaaaaaaaa<br>
+// CHECK-DAG: @"?xa@@3ABU_GUID@@B" = {{.*}} @_GUID_aaaaaaaa_aaaa_aaaa_aaaa_aaaaaaaaaaaa<br>
<br>
const _GUID &xb = __uuidof(X<B>);<br>
-// CHECK-DAG: @"\01?xb@@3ABU_GUID@@B" = {{.*}} @_GUID_bbbbbbbb_bbbb_bbbb_bbbb_bbbbbbbbbbbb<br>
+// CHECK-DAG: @"?xb@@3ABU_GUID@@B" = {{.*}} @_GUID_bbbbbbbb_bbbb_bbbb_bbbb_bbbbbbbbbbbb<br>
const _GUID &xc = __uuidof(X<C>);<br>
-// CHECK-DAG: @"\01?xc@@3ABU_GUID@@B" = {{.*}} @_GUID_cccccccc_cccc_cccc_cccc_cccccccccccc<br>
+// CHECK-DAG: @"?xc@@3ABU_GUID@@B" = {{.*}} @_GUID_cccccccc_cccc_cccc_cccc_cccccccccccc<br>
<br>
template <><br>
struct __declspec(uuid("{DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD}")) X<C> {};<br>
@@ -31,7 +31,7 @@ struct __declspec(uuid("{EEEEEEEE-EEEE-E<br>
};<br>
<br>
const _GUID &xd = __uuidof(X<C>);<br>
-// CHECK-DAG: @"\01?xd@@3ABU_GUID@@B" = {{.*}} @_GUID_dddddddd_dddd_dddd_dddd_dddddddddddd<br>
+// CHECK-DAG: @"?xd@@3ABU_GUID@@B" = {{.*}} @_GUID_dddddddd_dddd_dddd_dddd_dddddddddddd<br>
<br>
const _GUID &yd = __uuidof(Y<X<C> >);<br>
-// CHECK-DAG: @"\01?yd@@3ABU_GUID@@B" = {{.*}} @_GUID_dddddddd_dddd_dddd_dddd_dddddddddddd<br>
+// CHECK-DAG: @"?yd@@3ABU_GUID@@B" = {{.*}} @_GUID_dddddddd_dddd_dddd_dddd_dddddddddddd<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members-exported.cpp Fri Mar 16 13:36:49 2018<br>
@@ -17,6 +17,6 @@ struct __declspec(dllexport) S {<br>
};<br>
};<br>
<br>
-// CHECK: @"\01?x@S@@2FB" = weak_odr dso_local dllexport constant i16 42, comdat, align 2<br>
-// CHECK: @"\01?y@S@@2W4Enum@@B" = weak_odr dso_local dllexport constant i32 2, comdat, align 4<br>
+// CHECK: @"?x@S@@2FB" = weak_odr dso_local dllexport constant i16 42, comdat, align 2<br>
+// CHECK: @"?y@S@@2W4Enum@@B" = weak_odr dso_local dllexport constant i32 2, comdat, align 4<br>
// CHECK-NOT: NonExported<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/ms-integer-static-data-members.cpp Fri Mar 16 13:36:49 2018<br>
@@ -33,20 +33,20 @@ const int S::OutOfLine_Def_Ref = 5;<br>
<br>
<br>
// No initialization.<br>
-// CHECK-DAG: @"\01?NoInit_Ref@S@@2HB" = external dso_local constant i32<br>
+// CHECK-DAG: @"?NoInit_Ref@S@@2HB" = external dso_local constant i32<br>
<br>
// Inline initialization, no real definiton, not referenced.<br>
-// CHECK-NOT: @"\01?Inline_NotDef_NotRef@S@@2HB" = {{.*}} constant i32 5<br>
+// CHECK-NOT: @"?Inline_NotDef_NotRef@S@@2HB" = {{.*}} constant i32 5<br>
<br>
// Inline initialization, no real definiton, referenced.<br>
-// CHECK-DAG: @"\01?Inline_NotDef_Ref@S@@2HB" = linkonce_odr dso_local constant i32 5, comdat, align 4<br>
+// CHECK-DAG: @"?Inline_NotDef_Ref@S@@2HB" = linkonce_odr dso_local constant i32 5, comdat, align 4<br>
<br>
// Inline initialization, real definiton, not referenced.<br>
-// CHECK-NOT: @"\01?Inline_Def_NotRef@S@@2HB" = dso_local constant i32 5, align 4<br>
+// CHECK-NOT: @"?Inline_Def_NotRef@S@@2HB" = dso_local constant i32 5, align 4<br>
<br>
// Inline initialization, real definiton, referenced.<br>
-// CHECK-DAG: @"\01?Inline_Def_Ref@S@@2HB" = linkonce_odr dso_local constant i32 5, comdat, align 4<br>
+// CHECK-DAG: @"?Inline_Def_Ref@S@@2HB" = linkonce_odr dso_local constant i32 5, comdat, align 4<br>
<br>
// Out-of-line initialization.<br>
-// CHECK-DAG: @"\01?OutOfLine_Def_NotRef@S@@2HB" = dso_local constant i32 5, align 4<br>
-// CHECK-DAG: @"\01?OutOfLine_Def_Ref@S@@2HB" = dso_local constant i32 5, align 4<br>
+// CHECK-DAG: @"?OutOfLine_Def_NotRef@S@@2HB" = dso_local constant i32 5, align 4<br>
+// CHECK-DAG: @"?OutOfLine_Def_Ref@S@@2HB" = dso_local constant i32 5, align 4<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/ms-novtable.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-novtable.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-novtable.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/ms-novtable.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/ms-novtable.cpp Fri Mar 16 13:36:49 2018<br>
@@ -1,14 +1,14 @@<br>
// RUN: %clang_cc1 -triple i386-pc-win32 %s -emit-llvm -fms-extensions -fms-compatibility -fno-rtti -o - | FileCheck %s<br>
<br>
-// CHECK-NOT: @"\01??_7C@@6B@"<br>
+// CHECK-NOT: @"??_7C@@6B@"<br>
<br>
-// CHECK-DAG: @"\01??_7A2@@6B@"<br>
+// CHECK-DAG: @"??_7A2@@6B@"<br>
<br>
-// CHECK-DAG: @"\01??_7B2@@6B@"<br>
+// CHECK-DAG: @"??_7B2@@6B@"<br>
<br>
-// CHECK-NOT: @"\01??_7B1@@6B@"<br>
+// CHECK-NOT: @"??_7B1@@6B@"<br>
<br>
-// CHECK-NOT: @"\01??_7A1@@6B@"<br>
+// CHECK-NOT: @"??_7A1@@6B@"<br>
<br>
struct __declspec(novtable) A1 {<br>
virtual void a();<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/ms-property.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-property.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-property.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/ms-property.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/ms-property.cpp Fri Mar 16 13:36:49 2018<br>
@@ -53,61 +53,61 @@ int main(int argc, char **argv) {<br>
Test1 t(argc);<br>
S *p1 = 0;<br>
St<float> *p2 = 0;<br>
- // CHECK: call i32 @"\01?GetX@S@@QEAAHHH@Z"(%class.S* %{{.+}}, i32 223, i32 11)<br>
+ // CHECK: call i32 @"?GetX@S@@QEAAHHH@Z"(%class.S* %{{.+}}, i32 223, i32 11)<br>
int j = p1->x[223][11];<br>
// CHECK: [[J:%.+]] = load i32, i32* %<br>
- // CHECK-NEXT: call void @"\01?PutX@S@@QEAAXHHH@Z"(%class.S* %{{.+}}, i32 23, i32 1, i32 [[J]])<br>
+ // CHECK-NEXT: call void @"?PutX@S@@QEAAXHHH@Z"(%class.S* %{{.+}}, i32 23, i32 1, i32 [[J]])<br>
p1->x[23][1] = j;<br>
- // CHECK: call float @"\01?GetX@?$St@M@@QEAAMMM@Z"(%class.St* %{{.+}}, float 2.230000e+02, float 1.100000e+01)<br>
+ // CHECK: call float @"?GetX@?$St@M@@QEAAMMM@Z"(%class.St* %{{.+}}, float 2.230000e+02, float 1.100000e+01)<br>
float j1 = p2->x[223][11];<br>
// CHECK: [[J1:%.+]] = load float, float* %<br>
- // CHECK-NEXT: [[CALL:%.+]] = call float @"\01?PutX@?$St@M@@QEAAMMMM@Z"(%class.St* %{{.+}}, float 2.300000e+01, float 1.000000e+00, float [[J1]])<br>
+ // CHECK-NEXT: [[CALL:%.+]] = call float @"?PutX@?$St@M@@QEAAMMMM@Z"(%class.St* %{{.+}}, float 2.300000e+01, float 1.000000e+00, float [[J1]])<br>
// CHECK-NEXT: [[CONV:%.+]] = fptosi float [[CALL]] to i32<br>
// CHECK-NEXT: store i32 [[CONV]], i32*<br>
argc = p2->x[23][1] = j1;<br>
- // CHECK: [[IDX:%.+]] = call i32 @"\01?idx@@YAHXZ"()<br>
+ // CHECK: [[IDX:%.+]] = call i32 @"?idx@@YAHXZ"()<br>
// CHECK-NEXT: [[CONV:%.+]] = sitofp i32 [[IDX]] to float<br>
- // CHECK-NEXT: [[GET:%.+]] = call float @"\01?GetX@?$St@M@@QEAAMMM@Z"(%class.St* %{{.+}}, float [[CONV]], float 1.000000e+00)<br>
+ // CHECK-NEXT: [[GET:%.+]] = call float @"?GetX@?$St@M@@QEAAMMM@Z"(%class.St* %{{.+}}, float [[CONV]], float 1.000000e+00)<br>
// CHECK-NEXT: [[INC:%.+]] = fadd float [[GET]], 1.000000e+00<br>
// CHECK-NEXT: [[CONV:%.+]] = sitofp i32 [[IDX]] to float<br>
- // CHECK-NEXT: call float @"\01?PutX@?$St@M@@QEAAMMMM@Z"(%class.St* %{{.+}}, float [[CONV]], float 1.000000e+00, float [[INC]])<br>
+ // CHECK-NEXT: call float @"?PutX@?$St@M@@QEAAMMMM@Z"(%class.St* %{{.+}}, float [[CONV]], float 1.000000e+00, float [[INC]])<br>
++p2->x[idx()][1];<br>
- // CHECK: call void @"\01??$foo@H@@YAXHH@Z"(i32 %{{.+}}, i32 %{{.+}})<br>
+ // CHECK: call void @"??$foo@H@@YAXHH@Z"(i32 %{{.+}}, i32 %{{.+}})<br>
foo(argc, (int)argv[0][0]);<br>
// CHECK: [[P2:%.+]] = load %class.St*, %class.St** %<br>
- // CHECK: [[T_X:%.+]] = call i32 @"\01?get_x@Test1@@QEBAHXZ"(%class.Test1* %{{.+}})<br>
+ // CHECK: [[T_X:%.+]] = call i32 @"?get_x@Test1@@QEBAHXZ"(%class.Test1* %{{.+}})<br>
// CHECK: [[P1:%.+]] = load %class.S*, %class.S** %<br>
- // CHECK: [[P1_X_22_33:%.+]] = call i32 @"\01?GetX@S@@QEAAHHH@Z"(%class.S* [[P1]], i32 22, i32 33)<br>
+ // CHECK: [[P1_X_22_33:%.+]] = call i32 @"?GetX@S@@QEAAHHH@Z"(%class.S* [[P1]], i32 22, i32 33)<br>
// CHECK: [[CAST:%.+]] = sitofp i32 [[P1_X_22_33]] to double<br>
// CHECK: [[ARGC:%.+]] = load i32, i32* %<br>
// CHECK: [[CAST2:%.+]] = trunc i32 [[T_X]] to i8<br>
- // CHECK: call void @"\01?PutY@?$St@M@@QEAAXDHN@Z"(%class.St* [[P2]], i8 [[CAST2]], i32 [[ARGC]], double [[CAST]])<br>
+ // CHECK: call void @"?PutY@?$St@M@@QEAAXDHN@Z"(%class.St* [[P2]], i8 [[CAST2]], i32 [[ARGC]], double [[CAST]])<br>
p2->y[t.X][argc] = p1->x[22][33];<br>
// CHECK: [[P2_1:%.+]] = load %class.St*, %class.St**<br>
// CHECK: [[P2_2:%.+]] = load %class.St*, %class.St**<br>
// CHECK: [[P1:%.+]] = load %class.S*, %class.S**<br>
// CHECK: [[ARGC:%.+]] = load i32, i32* %<br>
- // CHECK: [[P1_X_ARGC_0:%.+]] = call i32 @"\01?GetX@S@@QEAAHHH@Z"(%class.S* [[P1]], i32 [[ARGC]], i32 0)<br>
+ // CHECK: [[P1_X_ARGC_0:%.+]] = call i32 @"?GetX@S@@QEAAHHH@Z"(%class.S* [[P1]], i32 [[ARGC]], i32 0)<br>
// CHECK: [[CAST:%.+]] = trunc i32 [[P1_X_ARGC_0]] to i8<br>
- // CHECK: [[P2_Y_p1_X_ARGC_0_T:%.+]] = call i8 @"\01?GetY@?$St@M@@QEAADDVTest1@@@Z"(%class.St* [[P2_2]], i8 [[CAST]], %class.Test1* %{{.+}})<br>
+ // CHECK: [[P2_Y_p1_X_ARGC_0_T:%.+]] = call i8 @"?GetY@?$St@M@@QEAADDVTest1@@@Z"(%class.St* [[P2_2]], i8 [[CAST]], %class.Test1* %{{.+}})<br>
// CHECK: [[CAST:%.+]] = sitofp i8 [[P2_Y_p1_X_ARGC_0_T]] to float<br>
// CHECK: [[J:%.+]] = load i32, i32* %<br>
// CHECK: [[CAST1:%.+]] = sitofp i32 [[J]] to float<br>
// CHECK: [[J:%.+]] = load i32, i32* %<br>
// CHECK: [[CAST2:%.+]] = sitofp i32 [[J]] to float<br>
- // CHECK: call float @"\01?PutX@?$St@M@@QEAAMMMM@Z"(%class.St* [[P2_1]], float [[CAST2]], float [[CAST1]], float [[CAST]])<br>
+ // CHECK: call float @"?PutX@?$St@M@@QEAAMMMM@Z"(%class.St* [[P2_1]], float [[CAST2]], float [[CAST1]], float [[CAST]])<br>
p2->x[j][j] = p2->y[p1->x[argc][0]][t];<br>
- // CHECK: [[CALL:%.+]] = call %class.Test1* @"\01?GetTest1@Test1@@SAPEAV1@XZ"()<br>
- // CHECK-NEXT: call i32 @"\01?get_x@Test1@@QEBAHXZ"(%class.Test1* [[CALL]])<br>
+ // CHECK: [[CALL:%.+]] = call %class.Test1* @"?GetTest1@Test1@@SAPEAV1@XZ"()<br>
+ // CHECK-NEXT: call i32 @"?get_x@Test1@@QEBAHXZ"(%class.Test1* [[CALL]])<br>
return Test1::GetTest1()->X;<br>
}<br>
<br>
-// CHECK: define linkonce_odr dso_local void @"\01??$foo@H@@YAXHH@Z"(i32 %{{.+}}, i32 %{{.+}})<br>
-// CHECK: call i32 @"\01?GetX@?$St@H@@QEAAHHH@Z"(%class.St{{.+}}* [[BAR:%.+]], i32 %{{.+}} i32 %{{.+}})<br>
-// CHECK: call i32 @"\01?PutX@?$St@H@@QEAAHHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}}, i32 %{{.+}}, i32 %{{.+}})<br>
-// CHECK: call i32 @"\01?GetX@?$St@H@@QEAAHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}} i32 %{{.+}})<br>
-// CHECK: call void @"\01?PutY@?$St@H@@QEAAXDHN@Z"(%class.St{{.+}}* [[BAR]], i8 %{{.+}}, i32 %{{.+}}, double %{{.+}}<br>
-// CHECK: call i32 @"\01?GetX@?$St@H@@QEAAHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}} i32 %{{.+}})<br>
-// CHECK: call i8 @"\01?GetY@?$St@H@@QEAADDVTest1@@@Z"(%class.St{{.+}}* [[BAR]], i8 %{{.+}}, %class.Test1* %{{.+}})<br>
-// CHECK: call i32 @"\01?PutX@?$St@H@@QEAAHHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}}, i32 %{{.+}}, i32 %{{.+}})<br>
+// CHECK: define linkonce_odr dso_local void @"??$foo@H@@YAXHH@Z"(i32 %{{.+}}, i32 %{{.+}})<br>
+// CHECK: call i32 @"?GetX@?$St@H@@QEAAHHH@Z"(%class.St{{.+}}* [[BAR:%.+]], i32 %{{.+}} i32 %{{.+}})<br>
+// CHECK: call i32 @"?PutX@?$St@H@@QEAAHHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}}, i32 %{{.+}}, i32 %{{.+}})<br>
+// CHECK: call i32 @"?GetX@?$St@H@@QEAAHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}} i32 %{{.+}})<br>
+// CHECK: call void @"?PutY@?$St@H@@QEAAXDHN@Z"(%class.St{{.+}}* [[BAR]], i8 %{{.+}}, i32 %{{.+}}, double %{{.+}}<br>
+// CHECK: call i32 @"?GetX@?$St@H@@QEAAHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}} i32 %{{.+}})<br>
+// CHECK: call i8 @"?GetY@?$St@H@@QEAADDVTest1@@@Z"(%class.St{{.+}}* [[BAR]], i8 %{{.+}}, %class.Test1* %{{.+}})<br>
+// CHECK: call i32 @"?PutX@?$St@H@@QEAAHHHH@Z"(%class.St{{.+}}* [[BAR]], i32 %{{.+}}, i32 %{{.+}}, i32 %{{.+}})<br>
#endif //HEADER<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/ms-thread_local.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-thread_local.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms-thread_local.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/ms-thread_local.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/ms-thread_local.cpp Fri Mar 16 13:36:49 2018<br>
@@ -5,18 +5,18 @@ struct A {<br>
~A();<br>
};<br>
<br>
-// CHECK-DAG: $"\01??$a@X@@3UA@@A" = comdat any<br>
-// CHECK-DAG: @"\01??$a@X@@3UA@@A" = linkonce_odr dso_local thread_local global %struct.A zeroinitializer, comdat, align 1<br>
-// CHECK-DAG: @"\01??__E?$a@X@@YAXXZ$initializer$" = internal constant void ()* @"\01??__E?$a@X@@YAXXZ", section ".CRT$XDU", comdat($"\01??$a@X@@3UA@@A")<br>
+// CHECK-DAG: $"??$a@X@@3UA@@A" = comdat any<br>
+// CHECK-DAG: @"??$a@X@@3UA@@A" = linkonce_odr dso_local thread_local global %struct.A zeroinitializer, comdat, align 1<br>
+// CHECK-DAG: @"??__E?$a@X@@YAXXZ$initializer$" = internal constant void ()* @"??__E?$a@X@@YAXXZ", section ".CRT$XDU", comdat($"??$a@X@@3UA@@A")<br>
template <typename T><br>
thread_local A a = A();<br>
<br>
-// CHECK-DAG: @"\01?b@@3UA@@A" = dso_local thread_local global %struct.A zeroinitializer, align 1<br>
+// CHECK-DAG: @"?b@@3UA@@A" = dso_local thread_local global %struct.A zeroinitializer, align 1<br>
// CHECK-DAG: @"__tls_init$initializer$" = internal constant void ()* @__tls_init, section ".CRT$XDU"<br>
thread_local A b;<br>
<br>
// CHECK-LABEL: define internal void @__tls_init()<br>
-// CHECK: call void @"\01??__Eb@@YAXXZ"<br>
+// CHECK: call void @"??__Eb@@YAXXZ"<br>
<br>
thread_local A &c = b;<br>
thread_local A &d = c;<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/ms_wide_predefined_expr.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms_wide_predefined_expr.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/ms_wide_predefined_expr.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/ms_wide_predefined_expr.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/ms_wide_predefined_expr.cpp Fri Mar 16 13:36:49 2018<br>
@@ -1,6 +1,6 @@<br>
// RUN: %clang_cc1 %s -fms-extensions -triple i686-pc-win32 -emit-llvm -o - | FileCheck %s<br>
<br>
-// CHECK: @"\01??_C@_19DPFBEKIN@?$AAf?$AAu?$AAn?$AAc?$AA?$AA@" = linkonce_odr unnamed_addr constant [5 x i16] [i16 102, i16 117, i16 110, i16 99, i16 0], comdat, align 2<br>
+// CHECK: @"??_C@_19DPFBEKIN@?$AAf?$AAu?$AAn?$AAc?$AA?$AA@" = linkonce_odr unnamed_addr constant [5 x i16] [i16 102, i16 117, i16 110, i16 99, i16 0], comdat, align 2<br>
<br>
void wprint(const wchar_t*);<br>
<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/msabi-blocks.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/msabi-blocks.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/msabi-blocks.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/msabi-blocks.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/msabi-blocks.cpp Fri Mar 16 13:36:49 2018<br>
@@ -7,25 +7,25 @@ void (^b)() = ^{<br>
static int i = 0;<br>
};<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?1??_block_invoke@@YAXPAU__block_literal@@@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?1??_block_invoke@@YAXPEAU__block_literal@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?1??_block_invoke@@YAXPAU__block_literal@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?1??_block_invoke@@YAXPEAU__block_literal@@@Z@4HA" ={{.*}} global i32 0<br>
<br>
void f(void) {<br>
static int i = 0;<br>
^{ static int i = e(); }();<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?1??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?1??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?1??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?1??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
<br>
^{ static int i = e(); }();<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?1??_block_invoke_2@@YAXPAU__block_literal_2@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?1??_block_invoke_2@@YAXPEAU__block_literal_2@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?1??_block_invoke_2@@YAXPAU__block_literal_2@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?1??_block_invoke_2@@YAXPEAU__block_literal_2@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
<br>
^{ ^{ static int i = e(); }(); }();<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?1??_block_invoke_3@@YAXPAU__block_literal_3@@@Z?1??_block_invoke_4@@YAXPAU__block_literal_4@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?1??_block_invoke_3@@YAXPEAU__block_literal_3@@@Z?1??_block_invoke_4@@YAXPEAU__block_literal_4@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?1??_block_invoke_3@@YAXPAU__block_literal_3@@@Z?1??_block_invoke_4@@YAXPAU__block_literal_4@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?1??_block_invoke_3@@YAXPEAU__block_literal_3@@@Z?1??_block_invoke_4@@YAXPEAU__block_literal_4@@@Z?1??f@@YAXXZ@4HA" ={{.*}} global i32 0<br>
}<br>
<br>
<br>
@@ -36,47 +36,47 @@ void g(void) {<br>
<br>
template void g<char>(void);<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?2??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?2???$g@D@@YAXXZ@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?2??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?2???$g@D@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?2??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?2???$g@D@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?2??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?2???$g@D@@YAXXZ@4HA" ={{.*}} global i32 0<br>
<br>
template void g<int>(void);<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?2??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?2???$g@H@@YAXXZ@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?2??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?2???$g@H@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?2??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?2???$g@H@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?2??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?2???$g@H@@YAXXZ@4HA" ={{.*}} global i32 0<br>
<br>
inline void h(void) {<br>
^{ static int i = e(); }();<br>
}<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?2??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?2??h@@YAXXZ@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?2??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?2??h@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?2??_block_invoke_1@@YAXPAU__block_literal_1@@@Z?2??h@@YAXXZ@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?2??_block_invoke_1@@YAXPEAU__block_literal_1@@@Z?2??h@@YAXXZ@4HA" ={{.*}} global i32 0<br>
<br>
struct s {<br>
int i = ^{ static int i = e(); return ++i; }();<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?0??_block_invoke_1@0s@@YAXPAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?0??_block_invoke_1@0s@@YAXPEAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?0??_block_invoke_1@0s@@YAXPAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?0??_block_invoke_1@0s@@YAXPEAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
<br>
int j = ^{ static int i = e(); return ++i; }();<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?0??_block_invoke_1@j@s@@YAXPAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?0??_block_invoke_1@j@s@@YAXPEAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?0??_block_invoke_1@j@s@@YAXPAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?0??_block_invoke_1@j@s@@YAXPEAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
<br>
void m(int i = ^{ static int i = e(); return ++i; }(),<br>
int j = ^{ static int i = e(); return ++i; }()) {}<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?0??_block_invoke_1_1@@YAXPAU__block_literal_1_1@@@Z?0??m@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X86-DAG: @"\01?i@?0??_block_invoke_1_2@@YAXPAU__block_literal_1_2@@@Z?0??m@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?0??_block_invoke_1_1@@YAXPEAU__block_literal_1_1@@@Z?0??m@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?0??_block_invoke_1_2@@YAXPEAU__block_literal_1_2@@@Z?0??m@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?0??_block_invoke_1_1@@YAXPAU__block_literal_1_1@@@Z?0??m@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?0??_block_invoke_1_2@@YAXPAU__block_literal_1_2@@@Z?0??m@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?0??_block_invoke_1_1@@YAXPEAU__block_literal_1_1@@@Z?0??m@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?0??_block_invoke_1_2@@YAXPEAU__block_literal_1_2@@@Z?0??m@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
<br>
void n(int = ^{ static int i = e(); return ++i; }(),<br>
int = ^{ static int i = e(); return ++i; }()) {}<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?0??_block_invoke_1_1@@YAXPAU__block_literal_1_1@@@Z?0??n@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X86-DAG: @"\01?i@?0??_block_invoke_1_2@@YAXPAU__block_literal_1_2@@@Z?0??n@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?0??_block_invoke_1_1@@YAXPEAU__block_literal_1_1@@@Z?0??n@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?0??_block_invoke_1_2@@YAXPEAU__block_literal_1_2@@@Z?0??n@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?0??_block_invoke_1_1@@YAXPAU__block_literal_1_1@@@Z?0??n@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?0??_block_invoke_1_2@@YAXPAU__block_literal_1_2@@@Z?0??n@s@@QAEXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?0??_block_invoke_1_1@@YAXPEAU__block_literal_1_1@@@Z?0??n@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?0??_block_invoke_1_2@@YAXPEAU__block_literal_1_2@@@Z?0??n@s@@QEAAXHH@Z@4HA" ={{.*}} global i32 0<br>
<br>
};<br>
<br>
@@ -84,8 +84,8 @@ struct t {<br>
struct u {<br>
int i = ^{ static int i = e(); return ++i; }();<br>
<br>
-// CHECK-X86-DAG: @"\01?i@?0??_block_invoke_1@0u@t@@YAXPAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
-// CHECK-X64-DAG: @"\01?i@?0??_block_invoke_1@0u@t@@YAXPEAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X86-DAG: @"?i@?0??_block_invoke_1@0u@t@@YAXPAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
+// CHECK-X64-DAG: @"?i@?0??_block_invoke_1@0u@t@@YAXPEAU__block_literal_1@@@Z@4HA" ={{.*}} global i32 0<br>
<br>
};<br>
};<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/msabi-swiftcall-cc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/msabi-swiftcall-cc.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/msabi-swiftcall-cc.cpp?rev=327738&r1=327737&r2=327738&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/msabi-swiftcall-cc.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/msabi-swiftcall-cc.cpp Fri Mar 16 13:36:49 2018<br>
@@ -1,28 +1,28 @@<br>
// RUN: %clang_cc1 -triple i686-unknown-windows-msvc -fdeclspec -emit-llvm %s -o - | FileCheck %s<br>
<br>
void __attribute__((__swiftcall__)) f() {}<br>
-// CHECK-DAG: @"\01?f@@YSXXZ"<br>
+// CHECK-DAG: @"?f@@YSXXZ"<br>
<br>
void (__attribute__((__swiftcall__)) *p)();<br>
-// CHECK-DAG: @"\01?p@@3P6SXXZA"<br>
+// CHECK-DAG: @"?p@@3P6SXXZA"<br>
<br>
namespace {<br>
void __attribute__((__swiftcall__)) __attribute__((__used__)) f() { }<br>
-// CHECK-DAG: "\01?f@?A@@YSXXZ"<br>
+// CHECK-DAG: "?f@?A@@YSXXZ"<br>
}<br>
<br>
namespace n {<br>
void __attribute__((__swiftcall__)) f() {}<br>
-// CHECK-DAG: "\01?f@n@@YSXXZ"<br>
+// CHECK-DAG: "?f@n@@YSXXZ"<br>
}<br>
<br>
struct __declspec(dllexport) S {<br>
S(const S &) = delete;<br>
S & operator=(const S &) = delete;<br>
void __attribute__((__swiftcall__)) m() { }<br>
- // CHECK-DAG: "\01?m@S@@QASXXZ"<br>
+ // CHECK-DAG: "?m@S@@QASXXZ"<br>
};<br>
<br>
void f(void (__attribute__((__swiftcall__))())) {}<br>
-// CHECK-DAG: "\01?f@@YAXP6SXXZ@Z"<br>
+// CHECK-DAG: "?f@@YAXP6SXXZ@Z"<br>
<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/pr20719.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/pr20719.cpp?rev=327738&r1=327737&r2=327738&view=diff" rel="noreferrer noreferrer" target="_blank">http://l</a></blockquote></div>