diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-11-03 00:27:54 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-11-03 00:27:54 +0000 |
commit | ef09aa9023ff2b469eac95eeb6e650ebc1fd4a97 (patch) | |
tree | c7c7d2eb8f748fc3805b2cb12ca3507155f938f9 /clang/test/CodeGenCXX/mangle-exception-spec.cpp | |
parent | 14d0484a1602199a68eda40f7831e87394a185b4 (diff) | |
download | bcm5719-llvm-ef09aa9023ff2b469eac95eeb6e650ebc1fd4a97.tar.gz bcm5719-llvm-ef09aa9023ff2b469eac95eeb6e650ebc1fd4a97.zip |
Update manglings for C++17 noexcept function types to match Jason Merrill's
proposal on cxx-abi-dev earlier today.
llvm-svn: 285870
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-exception-spec.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/mangle-exception-spec.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/clang/test/CodeGenCXX/mangle-exception-spec.cpp b/clang/test/CodeGenCXX/mangle-exception-spec.cpp index 1b4d8135bb4..7991f003514 100644 --- a/clang/test/CodeGenCXX/mangle-exception-spec.cpp +++ b/clang/test/CodeGenCXX/mangle-exception-spec.cpp @@ -4,35 +4,35 @@ // CHECK: define {{.*}} @_Z1aPFivE( void a(int() throw(int, float)) {} // CHECK-CXX11: define {{.*}} @_Z1bPFivE( -// CHECK-CXX17: define {{.*}} @_Z1bPnxFivE( +// CHECK-CXX17: define {{.*}} @_Z1bPDoFivE( void b(int() noexcept) {} // CHECK-CXX11: define {{.*}} @_Z1cPFivE( -// CHECK-CXX17: define {{.*}} @_Z1cPnxFivE( +// CHECK-CXX17: define {{.*}} @_Z1cPDoFivE( void c(int() throw()) {} // CHECK: define {{.*}} @_Z1dPFivE( void d(int() noexcept(false)) {} // CHECK-CXX11: define {{.*}} @_Z1ePFivE( -// CHECK-CXX17: define {{.*}} @_Z1ePnxFivE( +// CHECK-CXX17: define {{.*}} @_Z1ePDoFivE( void e(int() noexcept(true)) {} template<bool B> void f(int() noexcept(B)) {} -// CHECK: define {{.*}} @_Z1fILb0EEvPnXT_EFivE( +// CHECK: define {{.*}} @_Z1fILb0EEvPDOT_EFivE( template void f<false>(int()); -// CHECK: define {{.*}} @_Z1fILb1EEvPnXT_EFivE( +// CHECK: define {{.*}} @_Z1fILb1EEvPDOT_EFivE( template void f<true>(int() noexcept); template<typename...T> void g(int() throw(T...)) {} -// CHECK: define {{.*}} @_Z1gIJEEvPtwDpT_EFivE( +// CHECK: define {{.*}} @_Z1gIJEEvPDwDpT_EFivE( template void g<>(int() noexcept); -// CHECK: define {{.*}} @_Z1gIJfEEvPtwDpT_EFivE( +// CHECK: define {{.*}} @_Z1gIJfEEvPDwDpT_EFivE( template void g<float>(int()); // We consider the exception specifications in parameter and return type here // to be different. template<typename...T> auto h(int() throw(int, T...)) -> int (*)() throw(T..., int) { return nullptr; } -// CHECK: define {{.*}} @_Z1hIJEEPtwDpT_iEFivEPtwiS1_EFivE( +// CHECK: define {{.*}} @_Z1hIJEEPDwDpT_iEFivEPDwiS1_EFivE( template auto h<>(int()) -> int (*)(); -// CHECK: define {{.*}} @_Z1hIJfEEPtwDpT_iEFivEPtwiS1_EFivE( +// CHECK: define {{.*}} @_Z1hIJfEEPDwDpT_iEFivEPDwiS1_EFivE( template auto h<float>(int()) -> int (*)(); // FIXME: The C++11 manglings here are wrong; they should be the same as the @@ -41,9 +41,9 @@ template auto h<float>(int()) -> int (*)(); // differ only in type sugar that is not relevant for mangling. (In this case, // the types differ in presence/absence of ParenType nodes under the pointer.) template<typename...T> auto i(int() throw(int, T...)) -> int (*)() throw(int, T...) { return nullptr; } -// CHECK-CXX11: define {{.*}} @_Z1iIJEEPtwiDpT_EFivEPS2_( -// CHECK-CXX17: define {{.*}} @_Z1iIJEEPtwiDpT_EFivES3_( +// CHECK-CXX11: define {{.*}} @_Z1iIJEEPDwiDpT_EFivEPS2_( +// CHECK-CXX17: define {{.*}} @_Z1iIJEEPDwiDpT_EFivES3_( template auto i<>(int()) -> int (*)(); -// CHECK-CXX11: define {{.*}} @_Z1iIJfEEPtwiDpT_EFivEPS2_( -// CHECK-CXX17: define {{.*}} @_Z1iIJfEEPtwiDpT_EFivES3_( +// CHECK-CXX11: define {{.*}} @_Z1iIJfEEPDwiDpT_EFivEPS2_( +// CHECK-CXX17: define {{.*}} @_Z1iIJfEEPDwiDpT_EFivES3_( template auto i<float>(int()) -> int (*)(); |