Home | History | Annotate | Download | only in Sema

Lines Matching refs:Sema

13 #include "clang/Sema/TemplateDeduction.h"
21 #include "clang/Sema/DeclSpec.h"
22 #include "clang/Sema/Sema.h"
23 #include "clang/Sema/Template.h"
28 using namespace sema;
86 static Sema::TemplateDeductionResult
87 DeduceTemplateArguments(Sema &S,
118 static Sema::TemplateDeductionResult
119 DeduceTemplateArgumentsByTypeMatch(Sema &S,
131 static Sema::TemplateDeductionResult
132 DeduceTemplateArguments(Sema &S,
315 static Sema::TemplateDeductionResult
316 DeduceNonTypeTemplateArgument(Sema &S,
334 return Sema::TDK_Inconsistent;
338 return Sema::TDK_Success;
345 static Sema::TemplateDeductionResult
346 DeduceNonTypeTemplateArgument(Sema &S,
365 return Sema::TDK_Inconsistent;
369 return Sema::TDK_Success;
376 static Sema::TemplateDeductionResult
377 DeduceNonTypeTemplateArgument(Sema &S,
395 return Sema::TDK_Inconsistent;
399 return Sema::TDK_Success;
402 static Sema::TemplateDeductionResult
403 DeduceTemplateArguments(Sema &S,
413 return Sema
426 return Sema::TDK_Inconsistent;
430 return Sema::TDK_Success;
435 return Sema::TDK_Success;
440 return Sema::TDK_NonDeducedMismatch;
446 /// \param S the Sema
461 static Sema::TemplateDeductionResult
462 DeduceTemplateArguments(Sema &S,
474 if (Sema::TemplateDeductionResult Result
498 return Sema::TDK_NonDeducedMismatch;
506 return Sema::TDK_NonDeducedMismatch;
510 if (Sema::TemplateDeductionResult Result
590 PrepareArgumentPackDeduction(Sema &S,
624 static Sema::TemplateDeductionResult
625 FinishArgumentPackDeduction(Sema &S,
666 return Sema::TDK_Inconsistent;
672 return Sema::TDK_Success;
708 static Sema::TemplateDeductionResult
709 DeduceTemplateArguments(Sema &S,
723 return Sema::TDK_MiscellaneousDeductionFailure;
740 return Sema::TDK_MiscellaneousDeductionFailure;
747 return Sema::TDK_MiscellaneousDeductionFailure;
750 if (Sema::TemplateDeductionResult Result
767 return Sema::TDK_Success;
809 if (Sema::TemplateDeductionResult Result
830 if (Sema::TemplateDeductionResult Result
839 return Sema::TDK_MiscellaneousDeductionFailure;
841 return Sema::TDK_Success;
882 bool Sema::isSameOrCompatibleFunctionType(CanQualType Param,
928 static Sema::TemplateDeductionResult
929 DeduceTemplateArgumentsByTypeMatch(Sema &S,
1043 return Sema::TDK_Success;
1066 return Sema::TDK_Underqualified;
1093 return Sema::TDK_Underqualified;
1118 return Sema::TDK_Inconsistent;
1122 return Sema::TDK_Success;
1134 return Sema::TDK_Success;
1142 return Sema::TDK_NonDeducedMismatch;
1145 return Sema::TDK_NonDeducedMismatch;
1155 return Sema::TDK_NonDeducedMismatch;
1158 return Sema::TDK_Success;
1168 return Sema::TDK_Success;
1194 Sema::TDK_Success;
1201 return Param == Arg? Sema::TDK_Success : Sema::TDK_NonDeducedMismatch;
1212 return Sema::TDK_NonDeducedMismatch;
1222 return Sema::TDK_NonDeducedMismatch;
1233 return Sema::TDK_NonDeducedMismatch;
1247 return Sema::TDK_NonDeducedMismatch;
1258 return Sema::TDK_NonDeducedMismatch;
1271 return Sema::TDK_NonDeducedMismatch;
1285 return Sema::TDK_NonDeducedMismatch;
1290 return Sema::TDK_NonDeducedMismatch;
1303 return Sema::TDK_NonDeducedMismatch;
1310 if (Sema::TemplateDeductionResult Result
1321 return Sema::TDK_Success;
1343 return Sema::TDK_NonDeducedMismatch;
1354 return Sema::TDK_NonDeducedMismatch;
1364 return Sema::TDK_NonDeducedMismatch;
1367 if (Sema::TemplateDeductionResult Result
1402 Sema::TemplateDeductionResult Result
1445 Sema::TemplateDeductionResult BaseResult
1453 if (BaseResult == Sema::TDK_Success) {
1477 return Sema::TDK_Success;
1498 return Sema::TDK_NonDeducedMismatch;
1500 if (Sema::TemplateDeductionResult Result
1525 return Sema::TDK_NonDeducedMismatch;
1541 return Sema::TDK_NonDeducedMismatch;
1563 return Sema::TDK_NonDeducedMismatch;
1575 if (Sema::TemplateDeductionResult Result
1586 return Sema::TDK_Success;
1597 if (Sema::TemplateDeductionResult Result
1608 return Sema::TDK_Success;
1614 return Sema::TDK_NonDeducedMismatch;
1627 return Sema::TDK_Success;
1633 static Sema::TemplateDeductionResult
1634 DeduceTemplateArguments(Sema &S,
1658 return Sema::TDK_NonDeducedMismatch;
1667 return Sema::TDK_NonDeducedMismatch;
1676 return Sema::TDK_Success;
1680 return Sema::TDK_NonDeducedMismatch;
1685 return Sema::TDK_Success;
1689 return Sema::TDK_NonDeducedMismatch;
1694 return Sema::TDK_Success;
1698 return Sema::TDK_NonDeducedMismatch;
1704 return Sema::TDK_NonDeducedMismatch;
1709 return Sema::TDK_NonDeducedMismatch;
1729 return Sema::TDK_NonDeducedMismatch;
1733 return Sema::TDK_Success;
1794 static Sema::TemplateDeductionResult
1795 DeduceTemplateArguments(Sema &S,
1806 return Sema::TDK_Success;
1820 return Sema::TDK_Success;
1825 return Sema::TDK_MiscellaneousDeductionFailure;
1829 if (Sema::TemplateDeductionResult Result
1887 if (Sema::TemplateDeductionResult Result
1908 if (Sema::TemplateDeductionResult Result
1915 return Sema::TDK_Success;
1918 static Sema::TemplateDeductionResult
1919 DeduceTemplateArguments(Sema &S,
2002 getTrivialTemplateArgumentLoc(Sema &S,
2068 ConvertDeducedTemplateArgument(Sema &S, NamedDecl *Param,
2120 ? Sema::CTAK_DeducedFromArrayBound
2121 : Sema::CTAK_Deduced)
2122 : Sema::CTAK_Specified);
2127 static Sema::TemplateDeductionResult
2128 FinishTemplateArgumentDeduction(Sema &S,
2134 EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
2135 Sema::SFINAETrap Trap(S);
2137 Sema::ContextRAII SavedContext(S, Partial);
2148 return Sema::TDK_Incomplete;
2174 return Sema::TDK_SubstitutionFailure;
2186 return Sema::TDK_SubstitutionFailure;
2222 return Sema::TDK_SubstitutionFailure;
2228 return Sema::TDK_SubstitutionFailure;
2238 return Sema::TDK_NonDeducedMismatch;
2243 return Sema::TDK_SubstitutionFailure;
2245 return Sema::TDK_Success;
2251 Sema::TemplateDeductionResult
2252 Sema::DeduceTemplateArguments(ClassTemplatePartialSpecializationDecl *Partial,
2265 EnterExpressionEvaluationContext Unevaluated(*this, Sema::Unevaluated);
2284 return Sema::TDK_SubstitutionFailure;
2293 static Sema::TemplateDeductionResult FinishTemplateArgumentDeduction(
2294 Sema &S, VarTemplatePartialSpecializationDecl *Partial,
2299 EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
2300 Sema::SFINAETrap Trap(S);
2311 return Sema::TDK_Incomplete;
2335 return Sema::TDK_SubstitutionFailure;
2346 return Sema::TDK_SubstitutionFailure;
2379 return Sema::TDK_SubstitutionFailure;
2384 return Sema::TDK_SubstitutionFailure;
2393 return Sema::TDK_NonDeducedMismatch;
2398 return Sema::TDK_SubstitutionFailure;
2400 return Sema::TDK_Success;
2407 Sema::TemplateDeductionResult
2408 Sema::DeduceTemplateArguments(VarTemplatePartialSpecializationDecl *Partial,
2421 EnterExpressionEvaluationContext Unevaluated(*this, Sema::Unevaluated);
2438 return Sema::TDK_SubstitutionFailure;
2477 Sema::TemplateDeductionResult
2478 Sema::SubstituteExplicitTemplateArguments(
2504 EnterExpressionEvaluationContext Unevaluated(*this, Sema::Unevaluated);
2651 CheckOriginalCallArgDeduction(Sema &S, Sema::OriginalCallArg OriginalArg,
2753 Sema::TemplateDeductionResult
2754 Sema::FinishTemplateArgumentDeduction(FunctionTemplateDecl *FunctionTemplate,
2764 EnterExpressionEvaluationContext Unevaluated(*this, Sema::Unevaluated);
2944 return Sema::TDK_SubstitutionFailure;
2965 static QualType GetTypeOfFunction(Sema &S, const OverloadExpr::FindResult &R,
2991 ResolveOverloadForDeduction(Sema &S, TemplateParameterList *TemplateParams,
3073 Sema::TemplateDeductionResult Result
3090 static bool AdjustFunctionParmAndArgTypesForDeduction(Sema &S,
3197 static bool hasDeducibleTemplateParameters(Sema &S,
3205 static Sema::TemplateDeductionResult
3206 DeduceTemplateArgumentByListElement(Sema &S,
3217 return Sema::TDK_Success; // Just ignore this expression.
3221 if (Sema::TemplateDeductionResult Result =
3227 return Sema::TDK_Success;
3235 return Sema::TDK_FailedOverloadResolution;
3260 Sema::TemplateDeductionResult
3261 Sema::DeduceTemplateArguments(FunctionTemplateDecl *FunctionTemplate,
3480 if (Sema::TemplateDeductionResult Result
3518 Sema::TemplateDeductionResult
3519 Sema::DeduceTemplateArguments(FunctionTemplateDecl *FunctionTemplate,
3550 EnterExpressionEvaluationContext Unevaluated(*this, Sema::Unevaluated);
3607 Sema::TemplateDeductionResult
3608 Sema::DeduceTemplateArguments(FunctionTemplateDecl *FunctionTemplate,
3663 EnterExpressionEvaluationContext Unevaluated(*this, Sema::Unevaluated);
3728 Sema::TemplateDeductionResult
3729 Sema::DeduceTemplateArguments(FunctionTemplateDecl *FunctionTemplate,
3746 SubstituteAutoTransform(Sema &SemaRef, QualType Replacement) :
3791 Sema::DeduceAutoResult
3792 Sema::DeduceAutoType(TypeSourceInfo *Type, Expr *&Init, QualType &Result) {
3802 Sema::DeduceAutoResult
3803 Sema::DeduceAutoType(TypeLoc Type, Expr *&Init, QualType &Result) {
3901 Sema::OriginalCallArg(FuncParam,0,InitType),
3910 QualType Sema::SubstAutoType(QualType Type, QualType Deduced) {
3914 void Sema::DiagnoseAutoDeductionFailure(VarDecl *VDecl, Expr *Init) {
3925 bool Sema::DeduceReturnType(FunctionDecl *FD, SourceLocation Loc,
3971 static bool isAtLeastAsSpecializedAs(Sema &S,
4170 Sema::getMoreSpecializedTemplate(FunctionTemplateDecl *FT1,
4305 UnresolvedSetIterator Sema::getMostSpecialized(
4392 Sema::getMoreSpecializedPartialSpecialization(
4465 Sema::getMoreSpecializedPartialSpecialization(
4897 Sema::MarkUsedTemplateParameters(const TemplateArgumentList &TemplateArgs,
4916 Sema::MarkDeducedTemplateParameters(ASTContext &Ctx,
4930 bool hasDeducibleTemplateParameters(Sema &S,