diff options
author | Nico Weber <nicolasweber@gmx.de> | 2019-06-04 19:10:08 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2019-06-04 19:10:08 +0000 |
commit | 1dce82636c9241b8208abe05ba02e499424338d5 (patch) | |
tree | 93eadc38febf04b3d0f32bf609b6fff79168dcf5 /llvm/lib/Demangle/MicrosoftDemangleNodes.cpp | |
parent | 463854846853c3e4e099d31c51edec18e00730c0 (diff) | |
download | llvm-1dce82636c9241b8208abe05ba02e499424338d5.zip llvm-1dce82636c9241b8208abe05ba02e499424338d5.tar.gz llvm-1dce82636c9241b8208abe05ba02e499424338d5.tar.bz2 |
llvm-undname: Correctly demangle vararg parameters
FunctionSignatureNode already had an IsVariadic field,
but it wasn't used anywhere yet. Set it and use it.
llvm-svn: 362541
Diffstat (limited to 'llvm/lib/Demangle/MicrosoftDemangleNodes.cpp')
-rw-r--r-- | llvm/lib/Demangle/MicrosoftDemangleNodes.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp b/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp index c07fde8..63ca475 100644 --- a/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp +++ b/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp @@ -414,6 +414,12 @@ void FunctionSignatureNode::outputPost(OutputStream &OS, Params->output(OS, Flags); else OS << "void"; + + if (IsVariadic) { + if (OS.back() != '(') + OS << ", "; + OS << "..."; + } OS << ")"; } |