From: Erik Pilkington Date: Thu, 17 Jan 2019 21:37:36 +0000 (+0000) Subject: [demangler] Ignore leading underscores if present X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3c32f301480a23c0ea54c2b3f2ef4ecf26507c6d;p=llvm [demangler] Ignore leading underscores if present On MacOS, symbols start with a leading underscore, so just parse and ignore it if present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351481 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Demangle/ItaniumDemangle.h b/include/llvm/Demangle/ItaniumDemangle.h index 53107c9c8d9..9a54ff5d80d 100644 --- a/include/llvm/Demangle/ItaniumDemangle.h +++ b/include/llvm/Demangle/ItaniumDemangle.h @@ -5143,7 +5143,7 @@ AbstractManglingParser::parseTemplateArgs(bool TagTemplates) { // extension ::= ___Z _block_invoke_+ template Node *AbstractManglingParser::parse() { - if (consumeIf("_Z")) { + if (consumeIf("_Z") || consumeIf("__Z")) { Node *Encoding = getDerived().parseEncoding(); if (Encoding == nullptr) return nullptr; @@ -5156,7 +5156,7 @@ Node *AbstractManglingParser::parse() { return Encoding; } - if (consumeIf("___Z")) { + if (consumeIf("___Z") || consumeIf("____Z")) { Node *Encoding = getDerived().parseEncoding(); if (Encoding == nullptr || !consumeIf("_block_invoke")) return nullptr;