diff options
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 45c7178..6793d6d 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -2903,8 +2903,9 @@ Sema::ActOnIdExpression(Scope *S, CXXScopeSpec &SS, // in BuildTemplateIdExpr(). // The single lookup result must be a variable template declaration. if (Id.getKind() == UnqualifiedIdKind::IK_TemplateId && Id.TemplateId && - Id.TemplateId->Kind == TNK_Var_template) { - assert(R.getAsSingle<VarTemplateDecl>() && + (Id.TemplateId->Kind == TNK_Var_template || + Id.TemplateId->Kind == TNK_Concept_template)) { + assert(R.getAsSingle<TemplateDecl>() && "There should only be one declaration found."); } @@ -6523,8 +6524,7 @@ ExprResult Sema::ActOnCallExpr(Scope *Scope, Expr *Fn, SourceLocation LParenLoc, // Diagnose uses of the C++20 "ADL-only template-id call" feature in earlier // language modes. if (const auto *ULE = dyn_cast<UnresolvedLookupExpr>(Fn); - ULE && ULE->hasExplicitTemplateArgs() && - ULE->decls_begin() == ULE->decls_end()) { + ULE && ULE->hasExplicitTemplateArgs() && ULE->decls().empty()) { DiagCompat(Fn->getExprLoc(), diag_compat::adl_only_template_id) << ULE->getName(); } |