diff options
Diffstat (limited to 'clang/lib/Sema/SemaExprMember.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaExprMember.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExprMember.cpp b/clang/lib/Sema/SemaExprMember.cpp index 17e6e16a888..dfe63a86d28 100644 --- a/clang/lib/Sema/SemaExprMember.cpp +++ b/clang/lib/Sema/SemaExprMember.cpp @@ -1100,6 +1100,8 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType, // declaration corresponding to the supplied template arguments // (while emitting diagnostics as necessary) that will be referenced // by this expression. + assert((!TemplateArgs || isa<VarTemplateDecl>(MemberDecl)) && + "How did we get template arguments here sans a variable template"); if (isa<VarTemplateDecl>(MemberDecl)) { MemberDecl = getVarTemplateSpecialization( *this, cast<VarTemplateDecl>(MemberDecl), TemplateArgs, @@ -1107,7 +1109,8 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType, if (!MemberDecl) return ExprError(); } - return BuildDeclarationNameExpr(SS, R.getLookupNameInfo(), MemberDecl); + return BuildDeclarationNameExpr(SS, R.getLookupNameInfo(), MemberDecl, + FoundDecl, TemplateArgs); } SourceLocation Loc = R.getNameLoc(); if (SS.getRange().isValid()) |

