Yet more instantiation-location information. Fixes PR5336.

llvm-svn: 85516
This commit is contained in:
Douglas Gregor 2009-10-29 17:56:10 +00:00
parent 104f57cae8
commit ba91b89711
2 changed files with 16 additions and 0 deletions

View File

@ -4453,6 +4453,8 @@ TreeTransform<Derived>::TransformUnresolvedDeclRefExpr(
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())

View File

@ -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); }