diff options
author | Zachary Turner <zturner@google.com> | 2018-08-29 04:12:44 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2018-08-29 04:12:44 +0000 |
commit | b2fef1a0b0c2193bd9aba957b8050098728c5405 (patch) | |
tree | 62ed87d5b438a6399586fdeb2af2a665c9e06b6f /llvm/lib/Demangle/MicrosoftDemangleNodes.cpp | |
parent | 38d2edd60dc694abf5dbf7feaaa65f7142e973f5 (diff) | |
download | llvm-b2fef1a0b0c2193bd9aba957b8050098728c5405.zip llvm-b2fef1a0b0c2193bd9aba957b8050098728c5405.tar.gz llvm-b2fef1a0b0c2193bd9aba957b8050098728c5405.tar.bz2 |
Add support for various C++14 demanglings.
Mostly this includes <auto> and <decltype-auto> return values.
Additionally, this fixes a fairly obscure back-referencing bug
that was encountered in one of the C++14 tests, which is that
if you have something like Foo<&bar, &bar> then the `bar`
forms a backreference.
llvm-svn: 340896
Diffstat (limited to 'llvm/lib/Demangle/MicrosoftDemangleNodes.cpp')
-rw-r--r-- | llvm/lib/Demangle/MicrosoftDemangleNodes.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp b/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp index 9610981..9d1aa1a 100644 --- a/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp +++ b/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp @@ -565,9 +565,10 @@ void VariableSymbolNode::output(OutputStream &OS, OutputFlags Flags) const { Type->outputPost(OS, Flags); } -void CustomNode::output(OutputStream &OS, OutputFlags Flags) const { - OS << Name; +void CustomTypeNode::outputPre(OutputStream &OS, OutputFlags Flags) const { + Identifier->output(OS, Flags); } +void CustomTypeNode::outputPost(OutputStream &OS, OutputFlags Flags) const {} void QualifiedNameNode::output(OutputStream &OS, OutputFlags Flags) const { Components->output(OS, Flags, "::"); |