diff options
author | Arthur Eubanks <aeubanks@google.com> | 2024-01-02 20:27:01 +0000 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2024-01-02 20:27:01 +0000 |
commit | c91fab50410eb740ad1318164c820f9750f9a1bf (patch) | |
tree | bc96782c18a0b6e7639f0355711c8fd8b205cf74 /libcxxabi | |
parent | 1fa18fee72639944291b1300a6995abde9b9f51a (diff) | |
download | llvm-c91fab50410eb740ad1318164c820f9750f9a1bf.zip llvm-c91fab50410eb740ad1318164c820f9750f9a1bf.tar.gz llvm-c91fab50410eb740ad1318164c820f9750f9a1bf.tar.bz2 |
Revert "[llvm-cxxfilt] Added the option --no-params (#75348)"
This reverts commit 71f8ea3062a6b0a190835853ee77e58469763b9e.
Test doesn't pass on mac. See comments on
https://github.com/llvm/llvm-project/pull/75348.
Diffstat (limited to 'libcxxabi')
-rw-r--r-- | libcxxabi/src/demangle/ItaniumDemangle.h | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/libcxxabi/src/demangle/ItaniumDemangle.h b/libcxxabi/src/demangle/ItaniumDemangle.h index 5a53a18..90f2551 100644 --- a/libcxxabi/src/demangle/ItaniumDemangle.h +++ b/libcxxabi/src/demangle/ItaniumDemangle.h @@ -2794,7 +2794,7 @@ template <typename Derived, typename Alloc> struct AbstractManglingParser { Node *parseClassEnumType(); Node *parseQualifiedType(); - Node *parseEncoding(bool ParseParams = true); + Node *parseEncoding(); bool parseCallOffset(); Node *parseSpecialName(); @@ -2911,7 +2911,7 @@ template <typename Derived, typename Alloc> struct AbstractManglingParser { Node *parseDestructorName(); /// Top-level entry point into the parser. - Node *parse(bool ParseParams = true); + Node *parse(); }; const char* parse_discriminator(const char* first, const char* last); @@ -5405,7 +5405,7 @@ Node *AbstractManglingParser<Derived, Alloc>::parseSpecialName() { // ::= <data name> // ::= <special-name> template <typename Derived, typename Alloc> -Node *AbstractManglingParser<Derived, Alloc>::parseEncoding(bool ParseParams) { +Node *AbstractManglingParser<Derived, Alloc>::parseEncoding() { // The template parameters of an encoding are unrelated to those of the // enclosing context. SaveTemplateParams SaveTemplateParamsScope(this); @@ -5431,16 +5431,6 @@ Node *AbstractManglingParser<Derived, Alloc>::parseEncoding(bool ParseParams) { if (IsEndOfEncoding()) return Name; - // ParseParams may be false at the top level only, when called from parse(). - // For example in the mangled name _Z3fooILZ3BarEET_f, ParseParams may be - // false when demangling 3fooILZ3BarEET_f but is always true when demangling - // 3Bar. - if (!ParseParams) { - while (consume()) - ; - return Name; - } - Node *Attrs = nullptr; if (consumeIf("Ua9enable_ifI")) { size_t BeforeArgs = Names.size(); @@ -5905,9 +5895,9 @@ AbstractManglingParser<Derived, Alloc>::parseTemplateArgs(bool TagTemplates) { // extension ::= ___Z <encoding> _block_invoke<decimal-digit>+ // extension ::= ___Z <encoding> _block_invoke_<decimal-digit>+ template <typename Derived, typename Alloc> -Node *AbstractManglingParser<Derived, Alloc>::parse(bool ParseParams) { +Node *AbstractManglingParser<Derived, Alloc>::parse() { if (consumeIf("_Z") || consumeIf("__Z")) { - Node *Encoding = getDerived().parseEncoding(ParseParams); + Node *Encoding = getDerived().parseEncoding(); if (Encoding == nullptr) return nullptr; if (look() == '.') { @@ -5921,7 +5911,7 @@ Node *AbstractManglingParser<Derived, Alloc>::parse(bool ParseParams) { } if (consumeIf("___Z") || consumeIf("____Z")) { - Node *Encoding = getDerived().parseEncoding(ParseParams); + Node *Encoding = getDerived().parseEncoding(); if (Encoding == nullptr || !consumeIf("_block_invoke")) return nullptr; bool RequireNumber = consumeIf('_'); |