Index: test/CodeGen/cfi-check-fail.c =================================================================== --- test/CodeGen/cfi-check-fail.c +++ test/CodeGen/cfi-check-fail.c @@ -7,7 +7,7 @@ f(); } -// CHECK: define weak_odr hidden void @__cfi_check_fail(i8*, i8*) { +// CHECK: define weak_odr hidden void @__cfi_check_fail(i8*, i8*) // CHECK: store i8* %0, i8** %[[ALLOCA0:.*]], align 8 // CHECK: store i8* %1, i8** %[[ALLOCA1:.*]], align 8 // CHECK: %[[DATA:.*]] = load i8*, i8** %[[ALLOCA0]], align 8 Index: test/CodeGen/cfi-check-fail2.c =================================================================== --- test/CodeGen/cfi-check-fail2.c +++ test/CodeGen/cfi-check-fail2.c @@ -7,7 +7,7 @@ f(); } -// CHECK: define weak_odr hidden void @__cfi_check_fail(i8*, i8*) { +// CHECK: define weak_odr hidden void @__cfi_check_fail(i8*, i8*) // CHECK: store i8* %0, i8** %[[ALLOCA0:.*]], align 8 // CHECK: store i8* %1, i8** %[[ALLOCA1:.*]], align 8 // CHECK: %[[DATA:.*]] = load i8*, i8** %[[ALLOCA0]], align 8 Index: test/CodeGenCXX/2009-05-04-PureConstNounwind.cpp =================================================================== --- test/CodeGenCXX/2009-05-04-PureConstNounwind.cpp +++ test/CodeGenCXX/2009-05-04-PureConstNounwind.cpp @@ -12,10 +12,11 @@ // CHECK: declare i32 @_Z1cv() [[NUW_RN:#[0-9]+]] // CHECK: declare i32 @_Z1pv() [[NUW_RO:#[0-9]+]] -// CHECK: declare i32 @_Z1tv() [[TF]] +// CHECK: declare i32 @_Z1tv() [[TF2:#[0-9]+]] // CHECK: attributes [[TF]] = { {{.*}} } // CHECK: attributes [[NUW_RN]] = { nounwind readnone{{.*}} } // CHECK: attributes [[NUW_RO]] = { nounwind readonly{{.*}} } +// CHECK: attributes [[TF2]] = { {{.*}} } // CHECK: attributes [[NUW_RN_CALL]] = { nounwind readnone } // CHECK: attributes [[NUW_RO_CALL]] = { nounwind readonly } Index: test/CodeGenCXX/cxx11-exception-spec.cpp =================================================================== --- test/CodeGenCXX/cxx11-exception-spec.cpp +++ test/CodeGenCXX/cxx11-exception-spec.cpp @@ -70,37 +70,37 @@ // CHECK: define {{.*}} @_Z1iv void i() { - // CHECK: declare {{.*}} @_Z1gIiEvv() [[NUW]] + // CHECK: declare {{.*}} @_Z1gIiEvv() [[NUW2:#[0-9]+]] g(); // CHECK: declare {{.*}} @_Z1gIA2_iEvv() // CHECK-NOT: [[NUW]] g(); - // CHECK: declare {{.*}} @_ZN1SIiE1gEv() [[NUW]] + // CHECK: declare {{.*}} @_ZN1SIiE1gEv() [[NUW2]] S::g(); // CHECK: declare {{.*}} @_ZN1SIA2_iE1gEv() // CHECK-NOT: [[NUW]] S::g(); - // CHECK: declare {{.*}} @_Z1gIfEvv() [[NUW]] + // CHECK: declare {{.*}} @_Z1gIfEvv() [[NUW2]] void (*g1)() = &g; // CHECK: declare {{.*}} @_Z1gIdEvv() // CHECK-NOT: [[NUW]] void (*g2)() = &g; - // CHECK: declare {{.*}} @_ZN1SIfE1gEv() [[NUW]] + // CHECK: declare {{.*}} @_ZN1SIfE1gEv() [[NUW2]] void (*g3)() = &S::g; // CHECK: declare {{.*}} @_ZN1SIdE1gEv() // CHECK-NOT: [[NUW]] void (*g4)() = &S::g; - // CHECK: declare {{.*}} @_Z1gIA4_cEvv() [[NUW]] + // CHECK: declare {{.*}} @_Z1gIA4_cEvv() [[NUW2]] (void)&g; // CHECK: declare {{.*}} @_Z1gIcEvv() // CHECK-NOT: [[NUW]] (void)&g; - // CHECK: declare {{.*}} @_ZN1SIA4_cE1gEv() [[NUW]] + // CHECK: declare {{.*}} @_ZN1SIA4_cE1gEv() [[NUW2]] (void)&S::g; // CHECK: declare {{.*}} @_ZN1SIcE1gEv() // CHECK-NOT: [[NUW]] @@ -116,12 +116,15 @@ // CHECK: declare {{.*}} @_ZN6NestedIiE1fILb1EcEEvv( // CHECK-NOT: [[NUW]] Nested().f(); - // CHECK: declare {{.*}} @_ZN6NestedIlE1fILb0ElEEvv({{.*}}) [[NUW]] + // CHECK: declare {{.*}} @_ZN6NestedIlE1fILb0ElEEvv({{.*}}) [[NUW2]] Nested().f(); } // CHECK: attributes [[NONE]] = { {{.*}} } // CHECK: attributes [[NUW]] = { nounwind{{.*}} } +// CHECK: attributes [[NUW2]] = { nounwind{{.*}} } + + namespace PR19190 { template struct DWFIterator { virtual void get() throw(int) = 0; }; Index: test/CodeGenCXX/dllexport.cpp =================================================================== --- test/CodeGenCXX/dllexport.cpp +++ test/CodeGenCXX/dllexport.cpp @@ -486,7 +486,7 @@ struct CtorWithClosure { __declspec(dllexport) CtorWithClosure(...) {} -// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FCtorWithClosure@@QAEXXZ"({{.*}}) comdat +// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FCtorWithClosure@@QAEXXZ"({{.*}}) {{#[0-9]+}} comdat // M32-DAG: %[[this_addr:.*]] = alloca %struct.CtorWithClosure*, align 4 // M32-DAG: store %struct.CtorWithClosure* %this, %struct.CtorWithClosure** %[[this_addr]], align 4 // M32-DAG: %[[this:.*]] = load %struct.CtorWithClosure*, %struct.CtorWithClosure** %[[this_addr]] @@ -503,7 +503,7 @@ struct __declspec(dllexport) ClassWithClosure { DELETE_IMPLICIT_MEMBERS(ClassWithClosure); ClassWithClosure(...) {} -// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FClassWithClosure@@QAEXXZ"({{.*}}) comdat +// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FClassWithClosure@@QAEXXZ"({{.*}}) {{#[0-9]+}} comdat // M32-DAG: %[[this_addr:.*]] = alloca %struct.ClassWithClosure*, align 4 // M32-DAG: store %struct.ClassWithClosure* %this, %struct.ClassWithClosure** %[[this_addr]], align 4 // M32-DAG: %[[this:.*]] = load %struct.ClassWithClosure*, %struct.ClassWithClosure** %[[this_addr]] @@ -520,8 +520,8 @@ }; }; -// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FNestedOuter@@QAEXXZ"({{.*}}) comdat -// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FNestedInner@NestedOuter@@QAEXXZ"({{.*}}) comdat +// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FNestedOuter@@QAEXXZ"({{.*}}) {{#[0-9]+}} comdat +// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FNestedInner@NestedOuter@@QAEXXZ"({{.*}}) {{#[0-9]+}} comdat template struct SomeTemplate { @@ -530,7 +530,7 @@ }; struct __declspec(dllexport) InheritFromTemplate : SomeTemplate {}; -// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_F?$SomeTemplate@H@@QAEXXZ"({{.*}}) comdat +// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_F?$SomeTemplate@H@@QAEXXZ"({{.*}}) {{#[0-9]+}} comdat namespace PR23801 { template @@ -547,7 +547,7 @@ } // -// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FB@PR23801@@QAEXXZ"({{.*}}) comdat +// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01??_FB@PR23801@@QAEXXZ"({{.*}}) {{#[0-9]+}} comdat struct __declspec(dllexport) T { // Copy assignment operator: Index: test/CodeGenObjCXX/personality-abuse.mm =================================================================== --- test/CodeGenObjCXX/personality-abuse.mm +++ test/CodeGenObjCXX/personality-abuse.mm @@ -16,4 +16,4 @@ } } -// CHECK: define void @_Z3foov() #1 personality i8* bitcast (i32 ()* @__objc_personality_v0 to i8*) +// CHECK: define void @_Z3foov() {{#[0-9]+}} personality i8* bitcast (i32 ()* @__objc_personality_v0 to i8*)