Index: clang/lib/Sema/SemaTemplate.cpp =================================================================== --- clang/lib/Sema/SemaTemplate.cpp +++ clang/lib/Sema/SemaTemplate.cpp @@ -718,9 +718,15 @@ SourceLocation TemplateKWLoc, const DeclarationNameInfo &NameInfo, const TemplateArgumentListInfo *TemplateArgs) { - return DependentScopeDeclRefExpr::Create( - Context, SS.getWithLocInContext(Context), TemplateKWLoc, NameInfo, - TemplateArgs); + // DependentScopeDeclRefExpr::Create requires a valid QualifierLoc + // See https://bugs.llvm.org/show_bug.cgi?id=35682 + NestedNameSpecifierLoc QualifierLoc = SS.getWithLocInContext(Context); + if (!QualifierLoc) + return ExprError(); + else + return DependentScopeDeclRefExpr::Create(Context, std::move(QualifierLoc), + TemplateKWLoc, NameInfo, + TemplateArgs); }