[cfe-commits] r85516 - in /cfe/trunk: lib/Sema/TreeTransform.h test/SemaTemplate/template-id-expr.cpp

Douglas Gregor dgregor at apple.com
Thu Oct 29 10:56:11 PDT 2009


Author: dgregor
Date: Thu Oct 29 12:56:10 2009
New Revision: 85516

URL: http://llvm.org/viewvc/llvm-project?rev=85516&view=rev
Log:
Yet more instantiation-location information. Fixes PR5336.

Added:
    cfe/trunk/test/SemaTemplate/template-id-expr.cpp   (with props)
Modified:
    cfe/trunk/lib/Sema/TreeTransform.h

Modified: cfe/trunk/lib/Sema/TreeTransform.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/TreeTransform.h?rev=85516&r1=85515&r2=85516&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/TreeTransform.h (original)
+++ cfe/trunk/lib/Sema/TreeTransform.h Thu Oct 29 12:56:10 2009
@@ -4453,6 +4453,8 @@
 template<typename Derived>
 Sema::OwningExprResult
 TreeTransform<Derived>::TransformTemplateIdRefExpr(TemplateIdRefExpr *E) {
+  TemporaryBase Rebase(*this, E->getTemplateNameLoc(), DeclarationName());
+  
   TemplateName Template
     = getDerived().TransformTemplateName(E->getTemplateName());
   if (Template.isNull())

Added: cfe/trunk/test/SemaTemplate/template-id-expr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/template-id-expr.cpp?rev=85516&view=auto

==============================================================================
--- cfe/trunk/test/SemaTemplate/template-id-expr.cpp (added)
+++ cfe/trunk/test/SemaTemplate/template-id-expr.cpp Thu Oct 29 12:56:10 2009
@@ -0,0 +1,14 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+
+// PR5336
+template<typename FromCl>
+struct isa_impl_cl {
+ template<class ToCl>
+ static void isa(const FromCl &Val) { }
+};
+
+template<class X, class Y>
+void isa(const Y &Val) {   return isa_impl_cl<Y>::template isa<X>(Val); }
+
+class Value;
+void f0(const Value &Val) { isa<Value>(Val); }

Propchange: cfe/trunk/test/SemaTemplate/template-id-expr.cpp

------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cfe/trunk/test/SemaTemplate/template-id-expr.cpp

------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cfe/trunk/test/SemaTemplate/template-id-expr.cpp

------------------------------------------------------------------------------
    svn:mime-type = text/plain





More information about the cfe-commits mailing list