diff options
author | Abramo Bagnara <abramo.bagnara@gmail.com> | 2012-02-06 14:31:00 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@gmail.com> | 2012-02-06 14:31:00 +0000 |
commit | 65f7c3dba22f0a1da715911b5395255528a9fda9 (patch) | |
tree | 8f9462a9443e3370bb4e8503fa792ac54745da27 /clang/lib/Sema/TreeTransform.h | |
parent | c4e342b733296ad135e02d71a981969a83f2ffce (diff) | |
download | bcm5719-llvm-65f7c3dba22f0a1da715911b5395255528a9fda9.tar.gz bcm5719-llvm-65f7c3dba22f0a1da715911b5395255528a9fda9.zip |
Fixed instantiation of DependentScopeDeclRefExpr.
llvm-svn: 149868
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 6bbb8316e59..806b8780aa9 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -2032,12 +2032,11 @@ public: CXXScopeSpec SS; SS.Adopt(QualifierLoc); - if (TemplateArgs) + if (TemplateArgs || TemplateKWLoc.isValid()) return getSema().BuildQualifiedTemplateIdExpr(SS, TemplateKWLoc, - NameInfo, *TemplateArgs); + NameInfo, TemplateArgs); - return getSema().BuildQualifiedDeclarationNameExpr(SS, TemplateKWLoc, - NameInfo); + return getSema().BuildQualifiedDeclarationNameExpr(SS, NameInfo); } /// \brief Build a new template-id expression. @@ -2048,7 +2047,7 @@ public: SourceLocation TemplateKWLoc, LookupResult &R, bool RequiresADL, - const TemplateArgumentListInfo &TemplateArgs) { + const TemplateArgumentListInfo *TemplateArgs) { return getSema().BuildTemplateIdExpr(SS, TemplateKWLoc, R, RequiresADL, TemplateArgs); } @@ -7361,8 +7360,9 @@ TreeTransform<Derived>::TransformUnresolvedLookupExpr( SourceLocation TemplateKWLoc = Old->getTemplateKeywordLoc(); - // If we have no template arguments, it's a normal declaration name. - if (!Old->hasExplicitTemplateArgs()) + // If we have neither explicit template arguments, nor the template keyword, + // it's a normal declaration name. + if (!Old->hasExplicitTemplateArgs() && !TemplateKWLoc.isValid()) return getDerived().RebuildDeclarationNameExpr(SS, R, Old->requiresADL()); // If we have template arguments, rebuild them, then rebuild the @@ -7374,7 +7374,7 @@ TreeTransform<Derived>::TransformUnresolvedLookupExpr( return ExprError(); return getDerived().RebuildTemplateIdExpr(SS, TemplateKWLoc, R, - Old->requiresADL(), TransArgs); + Old->requiresADL(), &TransArgs); } template<typename Derived> |