summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2019-01-08 21:05:51 +0000
committerZachary Turner <zturner@google.com>2019-01-08 21:05:51 +0000
commit2fe490052524a6902e267fc72fce3ddcd5060df0 (patch)
treeb5ff22a48838b9ed9fdc131fea262fe7bd61a802 /llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
parent4e83923d832485ddcbf08cc12b2c59f48fcb7671 (diff)
downloadbcm5719-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/lib/Demangle/MicrosoftDemangleNodes.cpp')
-rw-r--r--llvm/lib/Demangle/MicrosoftDemangleNodes.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp b/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
index 49518ef57d6..622f8e75e35 100644
--- a/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
+++ b/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
@@ -423,6 +423,9 @@ void FunctionSignatureNode::outputPost(OutputStream &OS,
if (Quals & Q_Unaligned)
OS << " __unaligned";
+ if (IsNoexcept)
+ OS << " noexcept";
+
if (RefQualifier == FunctionRefQualifier::Reference)
OS << " &";
else if (RefQualifier == FunctionRefQualifier::RValueReference)
OpenPOWER on IntegriCloud