diff options
author | Zachary Turner <zturner@google.com> | 2019-01-08 21:05:51 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2019-01-08 21:05:51 +0000 |
commit | 2fe490052524a6902e267fc72fce3ddcd5060df0 (patch) | |
tree | b5ff22a48838b9ed9fdc131fea262fe7bd61a802 /llvm/test/Demangle/ms-cxx17-noexcept.test | |
parent | 4e83923d832485ddcbf08cc12b2c59f48fcb7671 (diff) | |
download | bcm5719-llvm-2fe490052524a6902e267fc72fce3ddcd5060df0.tar.gz bcm5719-llvm-2fe490052524a6902e267fc72fce3ddcd5060df0.zip |
[llvm-undname] Add support for demangling msvc's noexcept types.
Starting in C++17, MSVC introduced a new mangling for function
parameters that are themselves noexcept functions. This patch
makes llvm-undname properly demangle them.
Patch by Zachary Henkel
Differential Revision: https://reviews.llvm.org/D55769
llvm-svn: 350656
Diffstat (limited to 'llvm/test/Demangle/ms-cxx17-noexcept.test')
-rw-r--r-- | llvm/test/Demangle/ms-cxx17-noexcept.test | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/Demangle/ms-cxx17-noexcept.test b/llvm/test/Demangle/ms-cxx17-noexcept.test new file mode 100644 index 00000000000..fc60d666d52 --- /dev/null +++ b/llvm/test/Demangle/ms-cxx17-noexcept.test @@ -0,0 +1,25 @@ +; RUN: llvm-undname < %s | FileCheck %s + +; CHECK-NOT: Invalid mangled name + +?nochange@@YAXXZ +; CHECK: void __cdecl nochange(void) + +?a@@YAXP6AHXZ@Z +; CHECK: void __cdecl a(int (__cdecl *)(void)) +?a@@YAXP6AHX_E@Z +; CHECK: void __cdecl a(int (__cdecl *)(void) noexcept) + +?b@@YAXP6AHXZ@Z +; CHECK: void __cdecl b(int (__cdecl *)(void)) + +?c@@YAXP6AHXZ@Z +; CHECK: void __cdecl c(int (__cdecl *)(void)) +?c@@YAXP6AHX_E@Z +; CHECK: void __cdecl c(int (__cdecl *)(void) noexcept) + +?ee@?$e@$$A6AXXZ@@EEAAXXZ +; CHECK: private: virtual void __cdecl e<void __cdecl(void)>::ee(void) + +?ee@?$e@$$A6AXX_E@@EEAAXXZ +; CHECK: private: virtual void __cdecl e<void __cdecl(void) noexcept>::ee(void) |