diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-02-15 21:30:01 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-02-15 21:30:01 +0000 |
commit | c0dcc2d7beaeb6a80c0c7d69086b4c8894b662a0 (patch) | |
tree | 5feb63f7a11515c8018e07aad64e49314aefaef5 /test/CodeGenCXX/cxx11-exception-spec.cpp | |
parent | ae03d8e52d81adbb98b31dd5c179abe45c91fc25 (diff) | |
download | clang-c0dcc2d7beaeb6a80c0c7d69086b4c8894b662a0.tar.gz |
Add the 'target-cpu' and 'target-features' attributes to functions.
The back-end will use these values to reconfigure code generation for different
features.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175308 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/cxx11-exception-spec.cpp')
-rw-r--r-- | test/CodeGenCXX/cxx11-exception-spec.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/test/CodeGenCXX/cxx11-exception-spec.cpp b/test/CodeGenCXX/cxx11-exception-spec.cpp index 194b80cdd4..03b17d1b2b 100644 --- a/test/CodeGenCXX/cxx11-exception-spec.cpp +++ b/test/CodeGenCXX/cxx11-exception-spec.cpp @@ -10,9 +10,9 @@ template<typename T> struct S { static void g() noexcept(sizeof(T) == 4); }; -// CHECK: define {{.*}} @_Z1fIsEvv() { +// CHECK: define {{.*}} @_Z1fIsEvv() "target-features"={{.*}} { template<> void f<short>() { h(); } -// CHECK: define {{.*}} @_Z1fIA2_sEvv() nounwind { +// CHECK: define {{.*}} @_Z1fIA2_sEvv() nounwind "target-features"={{.*}} { template<> void f<short[2]>() noexcept { h(); } // CHECK: define {{.*}} @_ZN1SIsE1fEv() @@ -21,9 +21,9 @@ template<> void S<short>::f() { h(); } // CHECK: define {{.*}} @_ZN1SIA2_sE1fEv() nounwind template<> void S<short[2]>::f() noexcept { h(); } -// CHECK: define {{.*}} @_Z1fIDsEvv() { +// CHECK: define {{.*}} @_Z1fIDsEvv() "target-features"={{.*}} { template void f<char16_t>(); -// CHECK: define {{.*}} @_Z1fIA2_DsEvv() nounwind { +// CHECK: define {{.*}} @_Z1fIA2_DsEvv() nounwind "target-features"={{.*}} { template void f<char16_t[2]>(); // CHECK: define {{.*}} @_ZN1SIDsE1fEv() @@ -33,9 +33,9 @@ template void S<char16_t>::f(); template void S<char16_t[2]>::f(); void h() { - // CHECK: define {{.*}} @_Z1fIiEvv() nounwind { + // CHECK: define {{.*}} @_Z1fIiEvv() nounwind "target-features"={{.*}} { f<int>(); - // CHECK: define {{.*}} @_Z1fIA2_iEvv() { + // CHECK: define {{.*}} @_Z1fIA2_iEvv() "target-features"={{.*}} { f<int[2]>(); // CHECK: define {{.*}} @_ZN1SIiE1fEv() nounwind @@ -44,9 +44,9 @@ void h() { // CHECK-NOT: nounwind S<int[2]>::f(); - // CHECK: define {{.*}} @_Z1fIfEvv() nounwind { + // CHECK: define {{.*}} @_Z1fIfEvv() nounwind "target-features"={{.*}} { void (*f1)() = &f<float>; - // CHECK: define {{.*}} @_Z1fIdEvv() { + // CHECK: define {{.*}} @_Z1fIdEvv() "target-features"={{.*}} { void (*f2)() = &f<double>; // CHECK: define {{.*}} @_ZN1SIfE1fEv() nounwind @@ -55,9 +55,9 @@ void h() { // CHECK-NOT: nounwind void (*f4)() = &S<double>::f; - // CHECK: define {{.*}} @_Z1fIA4_cEvv() nounwind { + // CHECK: define {{.*}} @_Z1fIA4_cEvv() nounwind "target-features"={{.*}} { (void)&f<char[4]>; - // CHECK: define {{.*}} @_Z1fIcEvv() { + // CHECK: define {{.*}} @_Z1fIcEvv() "target-features"={{.*}} { (void)&f<char>; // CHECK: define {{.*}} @_ZN1SIA4_cE1fEv() nounwind |