[llvm] r329600 - [demangler] Support for <data-member-prefix>.

Erik Pilkington via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 9 11:32:26 PDT 2018


Author: epilk
Date: Mon Apr  9 11:32:25 2018
New Revision: 329600

URL: http://llvm.org/viewvc/llvm-project?rev=329600&view=rev
Log:
[demangler] Support for <data-member-prefix>.

Modified:
    llvm/trunk/lib/Demangle/ItaniumDemangle.cpp

Modified: llvm/trunk/lib/Demangle/ItaniumDemangle.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Demangle/ItaniumDemangle.cpp?rev=329600&r1=329599&r2=329600&view=diff
==============================================================================
--- llvm/trunk/lib/Demangle/ItaniumDemangle.cpp (original)
+++ llvm/trunk/lib/Demangle/ItaniumDemangle.cpp Mon Apr  9 11:32:25 2018
@@ -2631,6 +2631,8 @@ Node *Db::parseCtorDtorName(Node *&SoFar
 //          ::= <prefix> <data-member-prefix>
 //  extension ::= L
 //
+// <data-member-prefix> := <member source-name> [<template-args>] M
+//
 // <template-prefix> ::= <prefix> <template unqualified-name>
 //                   ::= <template-param>
 //                   ::= <substitution>
@@ -2661,6 +2663,13 @@ Node *Db::parseNestedName(NameState *Sta
   while (!consumeIf('E')) {
     consumeIf('L'); // extension
 
+    // <data-member-prefix> := <member source-name> [<template-args>] M
+    if (consumeIf('M')) {
+      if (SoFar == nullptr)
+        return nullptr;
+      continue;
+    }
+
     //          ::= <template-param>
     if (look() == 'T') {
       Node *TP = parseTemplateParam();




More information about the llvm-commits mailing list