[llvm] r362983 - [demangle] Vendor extended types shouldn't be considered substitution candidates

Erik Pilkington via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 10 14:02:40 PDT 2019


Author: epilk
Date: Mon Jun 10 14:02:39 2019
New Revision: 362983

URL: http://llvm.org/viewvc/llvm-project?rev=362983&view=rev
Log:
[demangle] Vendor extended types shouldn't be considered substitution candidates

Modified:
    llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h

Modified: llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h?rev=362983&r1=362982&r2=362983&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h (original)
+++ llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h Mon Jun 10 14:02:39 2019
@@ -3576,7 +3576,11 @@ Node *AbstractManglingParser<Derived, Al
     StringView Res = parseBareSourceName();
     if (Res.empty())
       return nullptr;
-    return make<NameType>(Res);
+    // Typically, <builtin-type>s are not considered substitution candidates,
+    // but the exception to that exception is vendor extended types (Itanium C++
+    // ABI 5.9.1).
+    Result = make<NameType>(Res);
+    break;
   }
   case 'D':
     switch (look(1)) {




More information about the llvm-commits mailing list