From: Erik Pilkington Date: Mon, 10 Jun 2019 21:02:39 +0000 (+0000) Subject: [demangle] Vendor extended types shouldn't be considered substitution candidates X-Git-Tag: android-x86-9.0-r1~2159 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=569feb3a52a8c689a399364d582109c37ce56946;p=android-x86%2Fexternal-llvm.git [demangle] Vendor extended types shouldn't be considered substitution candidates git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362983 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Demangle/ItaniumDemangle.h b/include/llvm/Demangle/ItaniumDemangle.h index 4dca309e3cb..a237cf724df 100644 --- a/include/llvm/Demangle/ItaniumDemangle.h +++ b/include/llvm/Demangle/ItaniumDemangle.h @@ -3576,7 +3576,11 @@ Node *AbstractManglingParser::parseType() { StringView Res = parseBareSourceName(); if (Res.empty()) return nullptr; - return make(Res); + // Typically, s are not considered substitution candidates, + // but the exception to that exception is vendor extended types (Itanium C++ + // ABI 5.9.1). + Result = make(Res); + break; } case 'D': switch (look(1)) {