Lines Matching refs:Sema

136 static Sema::TemplateDeductionResult DeduceTemplateArgumentsByTypeMatch(
137 Sema &S, TemplateParameterList *TemplateParams, QualType Param,
142 static Sema::TemplateDeductionResult
143 DeduceTemplateArguments(Sema &S, TemplateParameterList *TemplateParams,
396 static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( in DeduceNonTypeTemplateArgument()
397 Sema &S, TemplateParameterList *TemplateParams, in DeduceNonTypeTemplateArgument()
410 return Sema::TDK_Inconsistent; in DeduceNonTypeTemplateArgument()
415 return Sema::TDK_Success; in DeduceNonTypeTemplateArgument()
422 return Sema::TDK_Success; in DeduceNonTypeTemplateArgument()
449 static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( in DeduceNonTypeTemplateArgument()
450 Sema &S, TemplateParameterList *TemplateParams, in DeduceNonTypeTemplateArgument()
463 static Sema::TemplateDeductionResult DeduceNullPtrTemplateArgument( in DeduceNullPtrTemplateArgument()
464 Sema &S, TemplateParameterList *TemplateParams, in DeduceNullPtrTemplateArgument()
484 static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( in DeduceNonTypeTemplateArgument()
485 Sema &S, TemplateParameterList *TemplateParams, in DeduceNonTypeTemplateArgument()
497 static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( in DeduceNonTypeTemplateArgument()
498 Sema &S, TemplateParameterList *TemplateParams, in DeduceNonTypeTemplateArgument()
508 static Sema::TemplateDeductionResult
509 DeduceTemplateArguments(Sema &S, in DeduceTemplateArguments()
519 return Sema::TDK_Success; in DeduceTemplateArguments()
526 return Sema::TDK_Success; in DeduceTemplateArguments()
536 return Sema::TDK_Inconsistent; in DeduceTemplateArguments()
540 return Sema::TDK_Success; in DeduceTemplateArguments()
545 return Sema::TDK_Success; in DeduceTemplateArguments()
550 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
571 static Sema::TemplateDeductionResult
572 DeduceTemplateSpecArguments(Sema &S, TemplateParameterList *TemplateParams, in DeduceTemplateSpecArguments()
586 return Sema::TDK_Success; in DeduceTemplateSpecArguments()
603 return Sema::TDK_Success; in DeduceTemplateSpecArguments()
626 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateSpecArguments()
710 PackDeductionScope(Sema &S, TemplateParameterList *TemplateParams, in PackDeductionScope()
721 PackDeductionScope(Sema &S, TemplateParameterList *TemplateParams, in PackDeductionScope()
902 Sema::TemplateDeductionResult finish() { in finish()
979 return Sema::TDK_Inconsistent; in finish()
988 return Sema::TDK_IncompletePack; in finish()
995 return Sema::TDK_Success; in finish()
999 Sema &S;
1044 static Sema::TemplateDeductionResult
1045 DeduceTemplateArguments(Sema &S, in DeduceTemplateArguments()
1068 return Sema::TDK_MiscellaneousDeductionFailure; in DeduceTemplateArguments()
1075 return Sema::TDK_MiscellaneousDeductionFailure; in DeduceTemplateArguments()
1078 if (Sema::TemplateDeductionResult Result = in DeduceTemplateArguments()
1105 if (Sema::TemplateDeductionResult Result = in DeduceTemplateArguments()
1154 return Sema::TDK_Success; in DeduceTemplateArguments()
1158 return Sema::TDK_MiscellaneousDeductionFailure; in DeduceTemplateArguments()
1160 return Sema::TDK_Success; in DeduceTemplateArguments()
1201 bool Sema::isSameOrCompatibleFunctionType(QualType P, QualType A) { in isSameOrCompatibleFunctionType()
1268 static Sema::TemplateDeductionResult
1269 DeduceTemplateBases(Sema &S, const CXXRecordDecl *RD, in DeduceTemplateBases()
1320 Sema::TemplateDeductionResult BaseResult = DeduceTemplateSpecArguments( in DeduceTemplateBases()
1326 if (BaseResult == Sema::TDK_Success) in DeduceTemplateBases()
1356 return Sema::TDK_Invalid; in DeduceTemplateBases()
1358 return Sema::TDK_MiscellaneousDeductionFailure; in DeduceTemplateBases()
1361 return Sema::TDK_Success; in DeduceTemplateBases()
1388 static Sema::TemplateDeductionResult DeduceTemplateArgumentsByTypeMatch( in DeduceTemplateArgumentsByTypeMatch()
1389 Sema &S, TemplateParameterList *TemplateParams, QualType P, QualType A, in DeduceTemplateArgumentsByTypeMatch()
1442 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1496 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1516 return Sema::TDK_Underqualified; in DeduceTemplateArgumentsByTypeMatch()
1522 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1550 return Sema::TDK_Underqualified; in DeduceTemplateArgumentsByTypeMatch()
1570 return Sema::TDK_Inconsistent; in DeduceTemplateArgumentsByTypeMatch()
1574 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1586 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1592 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1598 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1607 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1614 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1617 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1620 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1622 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1646 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1662 ? Sema::TDK_Success in DeduceTemplateArgumentsByTypeMatch()
1663 : Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1669 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1679 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1693 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1706 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1718 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1729 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1745 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1756 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1770 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1788 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1798 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1803 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1821 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1859 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
1883 if (Result == Sema::TDK_Success) in DeduceTemplateArgumentsByTypeMatch()
1898 return BaseResult != Sema::TDK_Invalid ? BaseResult : Result; in DeduceTemplateArgumentsByTypeMatch()
1914 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1943 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1958 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1966 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
1988 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2011 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2017 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2037 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2060 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2066 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2077 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2082 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2094 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2114 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2118 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2119 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2126 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2127 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2133 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2176 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2197 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2204 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2211 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2216 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2228 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2229 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2232 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArgumentsByTypeMatch()
2246 return Sema::TDK_Success; in DeduceTemplateArgumentsByTypeMatch()
2252 static Sema::TemplateDeductionResult
2253 DeduceTemplateArguments(Sema &S, TemplateParameterList *TemplateParams, in DeduceTemplateArguments()
2273 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
2281 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
2289 return Sema::TDK_Success; in DeduceTemplateArguments()
2293 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
2298 return Sema::TDK_Success; in DeduceTemplateArguments()
2302 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
2307 return Sema::TDK_Success; in DeduceTemplateArguments()
2311 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
2316 return Sema::TDK_Success; in DeduceTemplateArguments()
2320 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
2349 return Sema::TDK_NonDeducedMismatch; in DeduceTemplateArguments()
2355 return Sema::TDK_Success; in DeduceTemplateArguments()
2406 static Sema::TemplateDeductionResult
2407 DeduceTemplateArguments(Sema &S, TemplateParameterList *TemplateParams, in DeduceTemplateArguments()
2418 return Sema::TDK_Success; in DeduceTemplateArguments()
2433 ? Sema::TDK_MiscellaneousDeductionFailure in DeduceTemplateArguments()
2434 : Sema::TDK_Success; in DeduceTemplateArguments()
2440 return Sema::TDK_MiscellaneousDeductionFailure; in DeduceTemplateArguments()
2484 return Sema::TDK_Success; in DeduceTemplateArguments()
2487 static Sema::TemplateDeductionResult
2488 DeduceTemplateArguments(Sema &S, TemplateParameterList *TemplateParams, in DeduceTemplateArguments()
2592 Sema::getTrivialTemplateArgumentLoc(const TemplateArgument &Arg, in getTrivialTemplateArgumentLoc()
2654 Sema::getIdentityTemplateArgumentLoc(NamedDecl *TemplateParm, in getIdentityTemplateArgumentLoc()
2663 Sema &S, NamedDecl *Param, DeducedTemplateArgument Arg, NamedDecl *Template, in ConvertDeducedTemplateArgument()
2681 ? (Arg.wasDeducedFromArrayBound() ? Sema::CTAK_DeducedFromArrayBound in ConvertDeducedTemplateArgument()
2682 : Sema::CTAK_Deduced) in ConvertDeducedTemplateArgument()
2683 : Sema::CTAK_Specified); in ConvertDeducedTemplateArgument()
2725 Sema::InstantiatingTemplate Inst(S, Template->getLocation(), Template, in ConvertDeducedTemplateArgument()
2733 Sema::InstantiatingTemplate Inst(S, Template->getLocation(), Template, in ConvertDeducedTemplateArgument()
2757 static Sema::TemplateDeductionResult ConvertDeducedTemplateArguments( in ConvertDeducedTemplateArguments()
2758 Sema &S, TemplateDeclT *Template, bool IsDeduced, in ConvertDeducedTemplateArguments()
2813 return Sema::TDK_SubstitutionFailure; in ConvertDeducedTemplateArguments()
2825 return Sema::TDK_Incomplete; in ConvertDeducedTemplateArguments()
2839 Sema::CXXThisScopeRAII ThisScope(S, ThisContext, ThisTypeQuals, in ConvertDeducedTemplateArguments()
2855 return HasDefaultArg ? Sema::TDK_SubstitutionFailure in ConvertDeducedTemplateArguments()
2856 : Sema::TDK_Incomplete; in ConvertDeducedTemplateArguments()
2862 0, SugaredBuilder, CanonicalBuilder, Sema::CTAK_Specified)) { in ConvertDeducedTemplateArguments()
2868 return Sema::TDK_SubstitutionFailure; in ConvertDeducedTemplateArguments()
2874 return Sema::TDK_Success; in ConvertDeducedTemplateArguments()
2910 static Sema::TemplateDeductionResult
2911 CheckDeducedArgumentConstraints(Sema &S, TemplateDeclT *Template, in CheckDeducedArgumentConstraints()
2942 return Sema::TDK_ConstraintsNotSatisfied; in CheckDeducedArgumentConstraints()
2944 return Sema::TDK_Success; in CheckDeducedArgumentConstraints()
2950 Sema::TemplateDeductionResult>
2952 Sema &S, T *Partial, bool IsPartialOrdering, in FinishTemplateArgumentDeduction()
2958 S, Sema::ExpressionEvaluationContext::Unevaluated); in FinishTemplateArgumentDeduction()
2959 Sema::SFINAETrap Trap(S); in FinishTemplateArgumentDeduction()
2961 Sema::ContextRAII SavedContext(S, getAsDeclContextOrEnclosing(Partial)); in FinishTemplateArgumentDeduction()
3006 return Sema::TDK_SubstitutionFailure; in FinishTemplateArgumentDeduction()
3016 return ConstraintsNotSatisfied ? Sema::TDK_ConstraintsNotSatisfied in FinishTemplateArgumentDeduction()
3017 : Sema::TDK_SubstitutionFailure; in FinishTemplateArgumentDeduction()
3027 return Sema::TDK_NonDeducedMismatch; in FinishTemplateArgumentDeduction()
3032 return Sema::TDK_SubstitutionFailure; in FinishTemplateArgumentDeduction()
3038 return Sema::TDK_Success; in FinishTemplateArgumentDeduction()
3044 static Sema::TemplateDeductionResult FinishTemplateArgumentDeduction( in FinishTemplateArgumentDeduction()
3045 Sema &S, TemplateDecl *Template, bool PartialOrdering, in FinishTemplateArgumentDeduction()
3051 S, Sema::ExpressionEvaluationContext::Unevaluated); in FinishTemplateArgumentDeduction()
3052 Sema::SFINAETrap Trap(S); in FinishTemplateArgumentDeduction()
3054 Sema::ContextRAII SavedContext(S, getAsDeclContextOrEnclosing(Template)); in FinishTemplateArgumentDeduction()
3076 return Sema::TDK_NonDeducedMismatch; in FinishTemplateArgumentDeduction()
3081 return Sema::TDK_SubstitutionFailure; in FinishTemplateArgumentDeduction()
3087 return Sema::TDK_Success; in FinishTemplateArgumentDeduction()
3093 Sema::TemplateDeductionResult
3094 Sema::DeduceTemplateArguments(ClassTemplatePartialSpecializationDecl *Partial, in DeduceTemplateArguments()
3108 *this, Sema::ExpressionEvaluationContext::Unevaluated); in DeduceTemplateArguments()
3131 return Sema::TDK_SubstitutionFailure; in DeduceTemplateArguments()
3145 Sema::TemplateDeductionResult
3146 Sema::DeduceTemplateArguments(VarTemplatePartialSpecializationDecl *Partial, in DeduceTemplateArguments()
3160 *this, Sema::ExpressionEvaluationContext::Unevaluated); in DeduceTemplateArguments()
3181 return Sema::TDK_SubstitutionFailure; in DeduceTemplateArguments()
3236 Sema::TemplateDeductionResult Sema::SubstituteExplicitTemplateArguments( in SubstituteExplicitTemplateArguments()
3259 *this, Sema::ExpressionEvaluationContext::Unevaluated); in SubstituteExplicitTemplateArguments()
3443 static Sema::TemplateDeductionResult
3444 CheckOriginalCallArgDeduction(Sema &S, TemplateDeductionInfo &Info, in CheckOriginalCallArgDeduction()
3445 Sema::OriginalCallArg OriginalArg, in CheckOriginalCallArgDeduction()
3449 auto Failed = [&]() -> Sema::TemplateDeductionResult { in CheckOriginalCallArgDeduction()
3453 return OriginalArg.DecomposedParam ? Sema::TDK_DeducedMismatchNested in CheckOriginalCallArgDeduction()
3454 : Sema::TDK_DeducedMismatch; in CheckOriginalCallArgDeduction()
3462 return Sema::TDK_Success; in CheckOriginalCallArgDeduction()
3486 return Sema::TDK_Success; in CheckOriginalCallArgDeduction()
3527 return Sema::TDK_Success; in CheckOriginalCallArgDeduction()
3548 return Sema::TDK_Success; in CheckOriginalCallArgDeduction()
3552 return Sema::TDK_Success; in CheckOriginalCallArgDeduction()
3565 static unsigned getPackIndexForParam(Sema &S, in getPackIndexForParam()
3590 static Sema::TemplateDeductionResult instantiateExplicitSpecifierDeferred( in instantiateExplicitSpecifierDeferred()
3591 Sema &S, FunctionDecl *Specialization, in instantiateExplicitSpecifierDeferred()
3609 return Sema::TDK_Success; in instantiateExplicitSpecifierDeferred()
3611 return Sema::TDK_Success; in instantiateExplicitSpecifierDeferred()
3613 Sema::InstantiatingTemplate Inst( in instantiateExplicitSpecifierDeferred()
3615 Sema::CodeSynthesisContext::DeducedTemplateArgumentSubstitution, Info); in instantiateExplicitSpecifierDeferred()
3617 return Sema::TDK_InstantiationDepth; in instantiateExplicitSpecifierDeferred()
3618 Sema::SFINAETrap Trap(S); in instantiateExplicitSpecifierDeferred()
3623 return Sema::TDK_SubstitutionFailure; in instantiateExplicitSpecifierDeferred()
3626 return Sema::TDK_Success; in instantiateExplicitSpecifierDeferred()
3635 Sema::TemplateDeductionResult Sema::FinishTemplateArgumentDeduction( in FinishTemplateArgumentDeduction()
3644 *this, Sema::ExpressionEvaluationContext::Unevaluated); in FinishTemplateArgumentDeduction()
3834 static QualType GetTypeOfFunction(Sema &S, const OverloadExpr::FindResult &R, in GetTypeOfFunction()
3861 ResolveOverloadForDeduction(Sema &S, TemplateParameterList *TemplateParams, in ResolveOverloadForDeduction()
3951 Sema::TemplateDeductionResult Result in ResolveOverloadForDeduction()
3970 Sema &S, TemplateParameterList *TemplateParams, unsigned FirstInnerIndex, in AdjustFunctionParmAndArgTypesForDeduction()
4064 hasDeducibleTemplateParameters(Sema &S, FunctionTemplateDecl *FunctionTemplate,
4067 static Sema::TemplateDeductionResult DeduceTemplateArgumentsFromCallArgument(
4068 Sema &S, TemplateParameterList *TemplateParams, unsigned FirstInnerIndex,
4073 SmallVectorImpl<Sema::OriginalCallArg> &OriginalCallArgs,
4079 static Sema::TemplateDeductionResult DeduceFromInitializerList( in DeduceFromInitializerList()
4080 Sema &S, TemplateParameterList *TemplateParams, QualType AdjustedParamType, in DeduceFromInitializerList()
4083 SmallVectorImpl<Sema::OriginalCallArg> &OriginalCallArgs, unsigned ArgIdx, in DeduceFromInitializerList()
4094 return Sema::TDK_Success; in DeduceFromInitializerList()
4103 return Sema::TDK_Success; in DeduceFromInitializerList()
4110 return Sema::TDK_Success; in DeduceFromInitializerList()
4142 return Sema::TDK_Success; in DeduceFromInitializerList()
4147 static Sema::TemplateDeductionResult DeduceTemplateArgumentsFromCallArgument( in DeduceTemplateArgumentsFromCallArgument()
4148 Sema &S, TemplateParameterList *TemplateParams, unsigned FirstInnerIndex, in DeduceTemplateArgumentsFromCallArgument()
4153 SmallVectorImpl<Sema::OriginalCallArg> &OriginalCallArgs, in DeduceTemplateArgumentsFromCallArgument()
4164 return Sema::TDK_Success; in DeduceTemplateArgumentsFromCallArgument()
4178 Sema::OriginalCallArg(OrigParamType, DecomposedParam, ArgIdx, ArgType)); in DeduceTemplateArgumentsFromCallArgument()
4208 Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( in DeduceTemplateArguments()
4280 return Sema::TDK_Success; in DeduceTemplateArguments()
4399 QualType Sema::adjustCCAndNoReturn(QualType ArgFunctionType, in adjustCCAndNoReturn()
4463 Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( in DeduceTemplateArguments()
4503 *this, Sema::ExpressionEvaluationContext::Unevaluated); in DeduceTemplateArguments()
4597 Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( in DeduceTemplateArguments()
4662 *this, Sema::ExpressionEvaluationContext::Unevaluated); in DeduceTemplateArguments()
4696 SmallVector<Sema::OriginalCallArg, 1> OriginalCallArgs; in DeduceTemplateArguments()
4751 Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( in DeduceTemplateArguments()
4774 SubstituteDeducedTypeTransform(Sema &SemaRef, DependentAuto DA) in SubstituteDeducedTypeTransform()
4778 SubstituteDeducedTypeTransform(Sema &SemaRef, QualType Replacement, in SubstituteDeducedTypeTransform()
4854 static bool CheckDeducedPlaceholderConstraints(Sema &S, const AutoType &Type, in CheckDeducedPlaceholderConstraints()
4917 Sema::TemplateDeductionResult
4918 Sema::DeduceAutoType(TypeLoc Type, Expr *Init, QualType &Result, in DeduceAutoType()
5104 QualType Sema::SubstAutoType(QualType TypeWithAuto, in SubstAutoType()
5111 TypeSourceInfo *Sema::SubstAutoTypeSourceInfo(TypeSourceInfo *TypeWithAuto, in SubstAutoTypeSourceInfo()
5118 QualType Sema::SubstAutoTypeDependent(QualType TypeWithAuto) { in SubstAutoTypeDependent()
5124 Sema::SubstAutoTypeSourceInfoDependent(TypeSourceInfo *TypeWithAuto) { in SubstAutoTypeSourceInfoDependent()
5129 QualType Sema::ReplaceAutoType(QualType TypeWithAuto, in ReplaceAutoType()
5136 TypeSourceInfo *Sema::ReplaceAutoTypeSourceInfo(TypeSourceInfo *TypeWithAuto, in ReplaceAutoTypeSourceInfo()
5143 void Sema::DiagnoseAutoDeductionFailure(VarDecl *VDecl, Expr *Init) { in DiagnoseAutoDeductionFailure()
5158 bool Sema::DeduceReturnType(FunctionDecl *FD, SourceLocation Loc, in DeduceReturnType()
5221 bool Sema::CheckIfFunctionSpecializationIsImmediate(FunctionDecl *FD, in CheckIfFunctionSpecializationIsImmediate()
5273 static bool isAtLeastAsSpecializedAs(Sema &S, in isAtLeastAsSpecializedAs()
5459 FunctionTemplateDecl *Sema::getMoreSpecializedTemplate( in getMoreSpecializedTemplate()
5551 Sema::TPL_TemplateParamsEquivalent)) in getMoreSpecializedTemplate()
5617 UnresolvedSetIterator Sema::getMostSpecialized( in getMostSpecialized()
5700 static bool isAtLeastAsSpecializedAs(Sema &S, QualType T1, QualType T2, in isAtLeastAsSpecializedAs()
5738 Sema::InstantiatingTemplate Inst(S, Info.getLocation(), P2, DeducedArgs, in isAtLeastAsSpecializedAs()
5842 getMoreSpecialized(Sema &S, QualType T1, QualType T2, TemplateLikeDecl *P1, in getMoreSpecialized()
5909 Sema::TPL_TemplateParamsEquivalent)) in getMoreSpecialized()
5940 Sema::getMoreSpecializedPartialSpecialization( in getMoreSpecializedPartialSpecialization()
5951 bool Sema::isMoreSpecializedThanPrimary( in isMoreSpecializedThanPrimary()
5965 Sema::getMoreSpecializedPartialSpecialization( in getMoreSpecializedPartialSpecialization()
5984 bool Sema::isMoreSpecializedThanPrimary( in isMoreSpecializedThanPrimary()
6001 bool Sema::isTemplateTemplateParameterAtLeastAsSpecializedAs( in isTemplateTemplateParameterAtLeastAsSpecializedAs()
6519 Sema::MarkUsedTemplateParameters(const Expr *E, bool OnlyDeduced, in MarkUsedTemplateParameters()
6535 Sema::MarkUsedTemplateParameters(const TemplateArgumentList &TemplateArgs, in MarkUsedTemplateParameters()
6553 void Sema::MarkDeducedTemplateParameters( in MarkDeducedTemplateParameters()
6567 bool hasDeducibleTemplateParameters(Sema &S, in hasDeducibleTemplateParameters()