[cfe-commits] r150264 - /cfe/trunk/tools/libclang/CIndexUSRs.cpp

Argyrios Kyrtzidis akyrtzi at gmail.com
Fri Feb 10 12:10:32 PST 2012


Author: akirtzidis
Date: Fri Feb 10 14:10:32 2012
New Revision: 150264

URL: http://llvm.org/viewvc/llvm-project?rev=150264&view=rev
Log:
[libclang] Encode the template specialization parameters of a function
specialization in its USR string.

Modified:
    cfe/trunk/tools/libclang/CIndexUSRs.cpp

Modified: cfe/trunk/tools/libclang/CIndexUSRs.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndexUSRs.cpp?rev=150264&r1=150263&r2=150264&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndexUSRs.cpp (original)
+++ cfe/trunk/tools/libclang/CIndexUSRs.cpp Fri Feb 10 14:10:32 2012
@@ -197,6 +197,16 @@
   if (!Ctx.getLangOptions().CPlusPlus || D->isExternC())
     return;
 
+  if (const TemplateArgumentList *
+        SpecArgs = D->getTemplateSpecializationArgs()) {
+    Out << '<';
+    for (unsigned I = 0, N = SpecArgs->size(); I != N; ++I) {
+      Out << '#';
+      VisitTemplateArgument(SpecArgs->get(I));
+    }
+    Out << '>';
+  }
+
   // Mangle in type information for the arguments.
   for (FunctionDecl::param_iterator I = D->param_begin(), E = D->param_end();
        I != E; ++I) {





More information about the cfe-commits mailing list