diff options
author | gbreynoo <Owen.Reynolds@sony.com> | 2022-04-28 15:55:26 +0100 |
---|---|---|
committer | gbreynoo <Owen.Reynolds@sony.com> | 2022-04-28 15:55:26 +0100 |
commit | 5420834aadbd271b3773f53fbbd58e9437952616 (patch) | |
tree | c431f5502fd4f444713fc31c335541f4bcdf342a /libcxxabi/src | |
parent | 451c5578b834fe3aca4e495aaf6a2f32639e86a6 (diff) | |
download | llvm-5420834aadbd271b3773f53fbbd58e9437952616.tar.gz |
[demangler] Fix demangling a template argument which happens to be a null pointer
As seen in https://github.com/llvm/llvm-project/issues/51854
llvm-cxxfilt was having trouble demangling the case "_Z1fIDnLDn0EEvv".
We handled the "LDNE" case and "LPi0E" but not "LDn0E". This change adds
that handling.
Differential Revision: https://reviews.llvm.org/D124010
Diffstat (limited to 'libcxxabi/src')
-rw-r--r-- | libcxxabi/src/demangle/ItaniumDemangle.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxxabi/src/demangle/ItaniumDemangle.h b/libcxxabi/src/demangle/ItaniumDemangle.h index 4f72bdd4cf0c..a504b06fc7e0 100644 --- a/libcxxabi/src/demangle/ItaniumDemangle.h +++ b/libcxxabi/src/demangle/ItaniumDemangle.h @@ -4340,7 +4340,7 @@ Node *AbstractManglingParser<Derived, Alloc>::parseExprPrimary() { return nullptr; } case 'D': - if (consumeIf("DnE")) + if (consumeIf("Dn") && (consumeIf('0'), consumeIf('E'))) return make<NameType>("nullptr"); return nullptr; case 'T': |