Home | History | Annotate | Download | only in Sema

Lines Matching refs:SemaRef

205     Sema &SemaRef, ActiveTemplateInstantiation::InstantiationKind Kind,
209 : SemaRef(SemaRef), SavedInNonInstantiationSFINAEContext(
210 SemaRef.InNonInstantiationSFINAEContext) {
213 if (SemaRef.Diags.hasFatalErrorOccurred()) {
228 SemaRef.InNonInstantiationSFINAEContext = false;
229 SemaRef.ActiveTemplateInstantiations.push_back(Inst);
231 ++SemaRef.NonInstantiationEntries;
236 Sema &SemaRef, SourceLocation PointOfInstantiation, Decl *Entity,
238 : InstantiatingTemplate(SemaRef,
243 Sema &SemaRef, SourceLocation PointOfInstantiation, FunctionDecl *Entity,
246 SemaRef, ActiveTemplateInstantiation::ExceptionSpecInstantiation,
250 Sema &SemaRef, SourceLocation PointOfInstantiation, TemplateDecl *Template,
253 SemaRef,
259 Sema &SemaRef, SourceLocation PointOfInstantiation,
264 : InstantiatingTemplate(SemaRef, Kind, PointOfInstantiation,
269 Sema &SemaRef, SourceLocation PointOfInstantiation,
274 SemaRef,
280 Sema &SemaRef, SourceLocation PointOfInstantiation,
285 SemaRef,
291 Sema &SemaRef, SourceLocation PointOfInstantiation, ParmVarDecl *Param,
294 SemaRef,
300 Sema &SemaRef, SourceLocation PointOfInstantiation, NamedDecl *Template,
304 SemaRef,
310 Sema &SemaRef, SourceLocation PointOfInstantiation, NamedDecl *Template,
314 SemaRef,
320 Sema &SemaRef, SourceLocation PointOfInstantiation, TemplateDecl *Template,
324 SemaRef, ActiveTemplateInstantiation::DefaultTemplateArgumentChecking,
330 if (!SemaRef.ActiveTemplateInstantiations.back().isInstantiationRecord()) {
331 assert(SemaRef.NonInstantiationEntries > 0);
332 --SemaRef.NonInstantiationEntries;
334 SemaRef.InNonInstantiationSFINAEContext
338 assert(SemaRef.ActiveTemplateInstantiations.size() >=
339 SemaRef.ActiveTemplateInstantiationLookupModules.size() &&
341 if (SemaRef.ActiveTemplateInstantiations.size() ==
342 SemaRef.ActiveTemplateInstantiationLookupModules.size()) {
343 if (Module *M = SemaRef.ActiveTemplateInstantiationLookupModules.back())
344 SemaRef.LookupModulesCache.erase(M);
345 SemaRef.ActiveTemplateInstantiationLookupModules.pop_back();
348 SemaRef.ActiveTemplateInstantiations.pop_back();
356 assert(SemaRef.NonInstantiationEntries <=
357 SemaRef.ActiveTemplateInstantiations.size());
358 if ((SemaRef.ActiveTemplateInstantiations.size() -
359 SemaRef.NonInstantiationEntries)
360 <= SemaRef.getLangOpts().InstantiationDepth)
363 SemaRef.Diag(PointOfInstantiation,
365 << SemaRef.getLangOpts().InstantiationDepth
367 SemaRef.Diag(PointOfInstantiation, diag::note_template_recursion_depth)
368 << SemaRef.getLangOpts().InstantiationDepth;
630 TemplateInstantiator(Sema &SemaRef,
634 : inherited(SemaRef), TemplateArgs(TemplateArgs), Loc(Loc),
671 SemaRef.CurrentInstantiationScope->MakeInstantiatedLocalArgPack(Pack);
677 = SemaRef.CurrentInstantiationScope->getPartiallySubstitutedPack()){
696 = SemaRef.CurrentInstantiationScope->getPartiallySubstitutedPack()){
710 SemaRef.InstantiateAttrs(TemplateArgs, Old, New);
728 SemaRef.CurrentInstantiationScope->InstantiatedLocal(Old, New);
733 SemaRef.PerformDependentDiagnostics(DC, TemplateArgs);
823 LocalInstantiationScope Scope(SemaRef, /*CombineWithOuterScope=*/true);
896 return SemaRef.FindInstantiatedDecl(Loc, cast<NamedDecl>(D), TemplateArgs);
985 if (!SemaRef.isAcceptableTagRedeclaration(TD, Kind, /*isDefinition*/false,
987 SemaRef.Diag(TagLocation, diag::err_use_with_wrong_tag)
991 SemaRef.Diag(TD->getLocation(), diag::note_previous_use);
1090 QualType TargetType = SemaRef.SubstType(NTTP->getType(), TemplateArgs,
1096 return new (SemaRef.Context) SubstNonTypeTemplateParmPackExpr(TargetType,
1160 type = parm->getExpansionType(SemaRef.ArgumentPackSubstitutionIndex);
1163 type = SemaRef.SubstType(
1167 type = SemaRef.SubstType(parm->getType(), TemplateArgs,
1172 result = SemaRef.BuildExpressionFromDeclTemplateArgument(arg, type, loc);
1176 result = SemaRef.BuildExpressionFromIntegralTemplateArgument(arg, loc);
1185 return new (SemaRef.Context) SubstNonTypeTemplateParmExpr(
1301 return SemaRef.BuildCXXDefaultArgExpr(E->getUsedLocation(),
1313 LocalInstantiationScope Scope(SemaRef, /*CombineWithOuterScope=*/true);
1323 return SemaRef.SubstParmVarDecl(OldParm, TemplateArgs, indexAdjustment,