Lines Matching refs:Sema
66 Sema &S;
70 CheckDefaultArgumentVisitor(Sema &S, const Expr *DefaultArg) in CheckDefaultArgumentVisitor()
175 Sema::ImplicitExceptionSpecification::CalledDecl(SourceLocation CallLoc, in CalledDecl()
243 void Sema::ImplicitExceptionSpecification::CalledStmt(Stmt *S) { in CalledStmt()
272 ExprResult Sema::ConvertParamDefaultArgument(ParmVarDecl *Param, Expr *Arg, in ConvertParamDefaultArgument()
300 void Sema::SetParamDefaultArgument(ParmVarDecl *Param, Expr *Arg, in SetParamDefaultArgument()
322 Sema::ActOnParamDefaultArgument(Decl *param, SourceLocation EqualLoc, in ActOnParamDefaultArgument()
377 void Sema::ActOnParamUnparsedDefaultArgument(Decl *param, in ActOnParamUnparsedDefaultArgument()
390 void Sema::ActOnParamDefaultArgumentError(Decl *param, in ActOnParamDefaultArgumentError()
407 void Sema::CheckExtraCXXDefaultArguments(Declarator &D) { in CheckExtraCXXDefaultArguments()
462 bool Sema::MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old, in MergeCXXFunctionDecl()
725 Sema::ActOnDecompositionDeclarator(Scope *S, Declarator &D, in ActOnDecompositionDeclarator()
940 Sema &S, ArrayRef<BindingDecl *> Bindings, ValueDecl *Src, in checkSimpleDecomposition()
966 static bool checkArrayLikeDecomposition(Sema &S, in checkArrayLikeDecomposition()
981 static bool checkArrayDecomposition(Sema &S, ArrayRef<BindingDecl*> Bindings, in checkArrayDecomposition()
989 static bool checkVectorDecomposition(Sema &S, ArrayRef<BindingDecl*> Bindings, in checkVectorDecomposition()
998 static bool checkComplexDecomposition(Sema &S, in checkComplexDecomposition()
1030 static bool lookupStdTypeTraitMember(Sema &S, LookupResult &TraitMemberLookup, in lookupStdTypeTraitMember()
1052 Loc, Sema::LookupOrdinaryName); in lookupStdTypeTraitMember()
1089 getTrivialIntegralTemplateArgument(Sema &S, SourceLocation Loc, QualType T, in getTrivialIntegralTemplateArgument()
1096 getTrivialTypeTemplateArgument(Sema &S, SourceLocation Loc, QualType T) { in getTrivialTypeTemplateArgument()
1102 static IsTupleLike isTupleLike(Sema &S, SourceLocation Loc, QualType T, in isTupleLike()
1105 S, Sema::ExpressionEvaluationContext::ConstantEvaluated); in isTupleLike()
1108 LookupResult R(S, Value, Loc, Sema::LookupOrdinaryName); in isTupleLike()
1123 struct ICEDiagnoser : Sema::VerifyICEDiagnoser { in isTupleLike()
1128 Sema::SemaDiagnosticBuilder diagnoseNotICE(Sema &S, in isTupleLike()
1149 static QualType getTupleLikeElementType(Sema &S, SourceLocation Loc, in getTupleLikeElementType()
1158 LookupResult R(S, TypeDN, Loc, Sema::LookupOrdinaryName); in getTupleLikeElementType()
1180 Sema &S;
1181 InitializingBinding(Sema &S, BindingDecl *BD) : S(S) { in InitializingBinding()
1182 Sema::CodeSynthesisContext Ctx; in InitializingBinding()
1183 Ctx.Kind = Sema::CodeSynthesisContext::InitializingStructuredBinding; in InitializingBinding()
1194 static bool checkTupleLikeDecomposition(Sema &S, in checkTupleLikeDecomposition()
1214 LookupResult MemberGet(S, GetDN, Src->getLocation(), Sema::LookupMemberName); in checkTupleLikeDecomposition()
1333 static DeclAccessPair findDecomposableBaseClass(Sema &S, SourceLocation Loc, in findDecomposableBaseClass()
1404 static bool checkMemberDecomposition(Sema &S, ArrayRef<BindingDecl*> Bindings, in checkMemberDecomposition()
1504 void Sema::CheckCompleteDecompositionDeclaration(DecompositionDecl *DD) { in CheckCompleteDecompositionDeclaration()
1578 void Sema::MergeVarDeclExceptionSpecs(VarDecl *New, VarDecl *Old) { in MergeVarDeclExceptionSpecs()
1618 void Sema::CheckCXXDefaultArguments(FunctionDecl *FD) { in CheckCXXDefaultArguments()
1665 static bool CheckLiteralType(Sema &SemaRef, Sema::CheckConstexprKind Kind, in CheckLiteralType()
1672 case Sema::CheckConstexprKind::Diagnose: in CheckLiteralType()
1676 case Sema::CheckConstexprKind::CheckValid: in CheckLiteralType()
1684 static bool CheckConstexprDestructorSubobjects(Sema &SemaRef, in CheckConstexprDestructorSubobjects()
1686 Sema::CheckConstexprKind Kind) { in CheckConstexprDestructorSubobjects()
1693 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprDestructorSubobjects()
1715 static bool CheckConstexprParameterTypes(Sema &SemaRef, in CheckConstexprParameterTypes()
1717 Sema::CheckConstexprKind Kind) { in CheckConstexprParameterTypes()
1736 static bool CheckConstexprReturnType(Sema &SemaRef, const FunctionDecl *FD, in CheckConstexprReturnType()
1737 Sema::CheckConstexprKind Kind) { in CheckConstexprReturnType()
1759 static bool CheckConstexprFunctionBody(Sema &SemaRef, const FunctionDecl *Dcl,
1761 Sema::CheckConstexprKind Kind);
1769 bool Sema::CheckConstexprFunctionDefinition(const FunctionDecl *NewFD, in CheckConstexprFunctionDefinition()
1856 static bool CheckConstexprDeclStmt(Sema &SemaRef, const FunctionDecl *Dcl, in CheckConstexprDeclStmt()
1858 Sema::CheckConstexprKind Kind) { in CheckConstexprDeclStmt()
1884 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprDeclStmt()
1899 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprDeclStmt()
1927 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprDeclStmt()
1951 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprDeclStmt()
1964 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprDeclStmt()
1985 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprDeclStmt()
2009 static bool CheckConstexprCtorInitializer(Sema &SemaRef, in CheckConstexprCtorInitializer()
2014 Sema::CheckConstexprKind Kind) { in CheckConstexprCtorInitializer()
2016 if (Kind == Sema::CheckConstexprKind::CheckValid && in CheckConstexprCtorInitializer()
2036 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprCtorInitializer()
2065 CheckConstexprFunctionStmt(Sema &SemaRef, const FunctionDecl *Dcl, Stmt *S, in CheckConstexprFunctionStmt()
2069 Sema::CheckConstexprKind Kind) { in CheckConstexprFunctionStmt()
2215 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprFunctionStmt()
2227 static bool CheckConstexprFunctionBody(Sema &SemaRef, const FunctionDecl *Dcl, in CheckConstexprFunctionBody()
2229 Sema::CheckConstexprKind Kind) { in CheckConstexprFunctionBody()
2246 case Sema::CheckConstexprKind::CheckValid: in CheckConstexprFunctionBody()
2251 case Sema::CheckConstexprKind::Diagnose: in CheckConstexprFunctionBody()
2274 if (Kind == Sema::CheckConstexprKind::CheckValid) { in CheckConstexprFunctionBody()
2313 if (Kind == Sema::CheckConstexprKind::Diagnose) { in CheckConstexprFunctionBody()
2372 case Sema::CheckConstexprKind::Diagnose: in CheckConstexprFunctionBody()
2381 case Sema::CheckConstexprKind::CheckValid: in CheckConstexprFunctionBody()
2391 case Sema::CheckConstexprKind::Diagnose: in CheckConstexprFunctionBody()
2402 case Sema::CheckConstexprKind::CheckValid: in CheckConstexprFunctionBody()
2424 if (Kind == Sema::CheckConstexprKind::Diagnose && in CheckConstexprFunctionBody()
2446 CXXRecordDecl *Sema::getCurrentClass(Scope *, const CXXScopeSpec *SS) { in getCurrentClass()
2464 bool Sema::isCurrentClassName(const IdentifierInfo &II, Scope *S, in isCurrentClassName()
2473 bool Sema::isCurrentClassNameTypo(IdentifierInfo *&II, const CXXScopeSpec *SS) { in isCurrentClassNameTypo()
2533 Sema::CheckBaseSpecifier(CXXRecordDecl *Class, in CheckBaseSpecifier()
2689 BaseResult Sema::ActOnBaseSpecifier(Decl *classdecl, SourceRange SpecifierRange, in ActOnBaseSpecifier()
2761 bool Sema::AttachBaseSpecifiers(CXXRecordDecl *Class, in AttachBaseSpecifiers()
2869 void Sema::ActOnBaseSpecifiers(Decl *ClassDecl, in ActOnBaseSpecifiers()
2880 bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base) { in IsDerivedFrom()
2907 bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base, in IsDerivedFrom()
2945 void Sema::BuildBasePathArray(const CXXBasePaths &Paths, in BuildBasePathArray()
2964 Sema::CheckDerivedToBaseConversion(QualType Derived, QualType Base, in CheckDerivedToBaseConversion()
3046 Sema::CheckDerivedToBaseConversion(QualType Derived, QualType Base, in CheckDerivedToBaseConversion()
3069 std::string Sema::getAmbiguousPathsDisplayString(CXXBasePaths &Paths) { in getAmbiguousPathsDisplayString()
3093 bool Sema::ActOnAccessSpecifier(AccessSpecifier Access, SourceLocation ASLoc, in ActOnAccessSpecifier()
3104 void Sema::CheckOverrideControl(NamedDecl *D) { in CheckOverrideControl()
3172 void Sema::DiagnoseAbsenceOfOverrideControl(NamedDecl *D, bool Inconsistent) { in DiagnoseAbsenceOfOverrideControl()
3210 bool Sema::CheckIfOverriddenFunctionIsMarkedFinal(const CXXMethodDecl *New, in CheckIfOverriddenFunctionIsMarkedFinal()
3244 void Sema::CheckShadowInheritedFields(const SourceLocation &Loc, in CheckShadowInheritedFields()
3300 Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier AS, Declarator &D, in ActOnCXXMemberDeclarator()
3617 Sema &S;
3638 UninitializedFieldVisitor(Sema &S, in UninitializedFieldVisitor()
3954 Sema &SemaRef, const CXXConstructorDecl *Constructor) { in DiagnoseUninitializedFields()
4021 void Sema::ActOnStartCXXInClassMemberInitializer() { in ActOnStartCXXInClassMemberInitializer()
4027 void Sema::ActOnStartTrailingRequiresClause(Scope *S, Declarator &D) { in ActOnStartTrailingRequiresClause()
4041 ExprResult Sema::ActOnFinishTrailingRequiresClause(ExprResult ConstraintExpr) { in ActOnFinishTrailingRequiresClause()
4045 ExprResult Sema::ActOnRequiresClause(ExprResult ConstraintExpr) { in ActOnRequiresClause()
4060 ExprResult Sema::ConvertMemberDefaultInitExpression(FieldDecl *FD, in ConvertMemberDefaultInitExpression()
4078 void Sema::ActOnFinishCXXInClassMemberInitializer(Decl *D, in ActOnFinishCXXInClassMemberInitializer()
4123 static bool FindBaseInitializer(Sema &SemaRef, in FindBaseInitializer()
4166 Sema::ActOnMemInitializer(Decl *ConstructorD, in ActOnMemInitializer()
4182 Sema::ActOnMemInitializer(Decl *ConstructorD, in ActOnMemInitializer()
4226 ValueDecl *Sema::tryLookupCtorInitMemberDecl(CXXRecordDecl *ClassDecl, in tryLookupCtorInitMemberDecl()
4240 Sema::BuildMemInitializer(Decl *ConstructorD, in BuildMemInitializer()
4428 Sema::BuildMemberInitializer(ValueDecl *Member, Expr *Init, in BuildMemberInitializer()
4511 Sema::BuildDelegatingInitializer(TypeSourceInfo *TInfo, Expr *Init, in BuildDelegatingInitializer()
4574 Sema::BuildBaseInitializer(QualType BaseType, TypeSourceInfo *BaseTInfo, in BuildBaseInitializer()
4714 static Expr *CastForMoving(Sema &SemaRef, Expr *E) { in CastForMoving()
4737 BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitBaseInitializer()
4820 BuildImplicitMemberInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, in BuildImplicitMemberInitializer()
4852 Sema::LookupMemberName); in BuildImplicitMemberInitializer()
4980 Sema &S;
4988 BaseAndFieldInfo(Sema &S, CXXConstructorDecl *Ctor, bool ErrorsInInits) in BaseAndFieldInfo()
5084 static bool CollectFieldInitializer(Sema &SemaRef, BaseAndFieldInfo &Info, in CollectFieldInitializer()
5153 Sema::SetDelegatingInitializer(CXXConstructorDecl *Constructor, in SetDelegatingInitializer()
5174 bool Sema::SetCtorInitializers(CXXConstructorDecl *Constructor, bool AnyErrors, in SetCtorInitializers()
5374 static void AddInitializerToDiag(const Sema::SemaDiagnosticBuilder &Diag, in AddInitializerToDiag()
5389 Sema &SemaRef, const CXXConstructorDecl *Constructor, in DiagnoseBaseOrMemInitializerOrder()
5479 Sema::SemaDiagnosticBuilder D = SemaRef.Diag( in DiagnoseBaseOrMemInitializerOrder()
5518 bool CheckRedundantInit(Sema &S, in CheckRedundantInit()
5548 bool CheckRedundantUnionInit(Sema &S, in CheckRedundantUnionInit()
5584 void Sema::ActOnMemInitializers(Decl *ConstructorDecl, in ActOnMemInitializers()
5651 Sema::MarkBaseAndMemberDestructorsReferenced(SourceLocation Location, in MarkBaseAndMemberDestructorsReferenced()
5755 void Sema::MarkVirtualBaseDestructorsReferenced( in MarkVirtualBaseDestructorsReferenced()
5795 void Sema::ActOnDefaultCtorInitializers(Decl *CDtorDecl) { in ActOnDefaultCtorInitializers()
5806 bool Sema::isAbstractType(SourceLocation Loc, QualType T) { in isAbstractType()
5827 bool Sema::RequireNonAbstractType(SourceLocation Loc, QualType T, in RequireNonAbstractType()
5838 void Sema::DiagnoseAbstractType(const CXXRecordDecl *RD) { in DiagnoseAbstractType()
5892 Sema &S;
5897 AbstractUsageInfo(Sema &S, CXXRecordDecl *Record) in AbstractUsageInfo()
5909 void CheckType(const NamedDecl *D, TypeLoc TL, Sema::AbstractDiagSelID Sel);
5919 void Visit(TypeLoc TL, Sema::AbstractDiagSelID Sel) { in Visit()
5928 void Check(FunctionProtoTypeLoc TL, Sema::AbstractDiagSelID Sel) { in Check()
5929 Visit(TL.getReturnLoc(), Sema::AbstractReturnType); in Check()
5935 if (TSI) Visit(TSI->getTypeLoc(), Sema::AbstractParamType); in Check()
5939 void Check(ArrayTypeLoc TL, Sema::AbstractDiagSelID Sel) { in Check()
5940 Visit(TL.getElementLoc(), Sema::AbstractArrayType); in Check()
5943 void Check(TemplateSpecializationTypeLoc TL, Sema::AbstractDiagSelID Sel) { in Check()
5949 Visit(TSI->getTypeLoc(), Sema::AbstractNone); in Check()
5956 void Check(Type TL, Sema::AbstractDiagSelID Sel) { \
5957 Visit(TL.getNextTypeLoc(), Sema::AbstractNone); \
5967 void Check(TypeLoc TL, Sema::AbstractDiagSelID Sel) { in CheckPolymorphic()
5976 if (Sel == Sema::AbstractNone) return; in CheckPolymorphic()
5981 Sel = Sema::AbstractArrayType; in CheckPolymorphic()
5989 if (Sel == Sema::AbstractArrayType) { in CheckPolymorphic()
6001 Sema::AbstractDiagSelID Sel) { in CheckType()
6019 Info.CheckType(FD, TSI->getTypeLoc(), Sema::AbstractNone); in CheckAbstractClassUsage()
6031 Sema::AbstractVariableType); in CheckAbstractClassUsage()
6055 Info.CheckType(FD, TSI->getTypeLoc(), Sema::AbstractFieldType); in CheckAbstractClassUsage()
6070 static void ReferenceDllExportedMembers(Sema &S, CXXRecordDecl *Class) { in ReferenceDllExportedMembers()
6086 Sema &S; in ReferenceDllExportedMembers()
6087 MarkingClassDllexported(Sema &S, CXXRecordDecl *Class, in ReferenceDllExportedMembers()
6090 Sema::CodeSynthesisContext Ctx; in ReferenceDllExportedMembers()
6091 Ctx.Kind = Sema::CodeSynthesisContext::MarkingClassDllexported; in ReferenceDllExportedMembers()
6165 static void checkForMultipleExportedDefaultConstructors(Sema &S, in checkForMultipleExportedDefaultConstructors()
6203 static void checkCUDADeviceBuiltinSurfaceClassTemplate(Sema &S, in checkCUDADeviceBuiltinSurfaceClassTemplate()
6206 auto reportIllegalClassTemplate = [&ErrorReported](Sema &S, in checkCUDADeviceBuiltinSurfaceClassTemplate()
6257 static void checkCUDADeviceBuiltinTextureClassTemplate(Sema &S, in checkCUDADeviceBuiltinTextureClassTemplate()
6260 auto reportIllegalClassTemplate = [&ErrorReported](Sema &S, in checkCUDADeviceBuiltinTextureClassTemplate()
6320 void Sema::checkClassLevelCodeSegAttribute(CXXRecordDecl *Class) { in checkClassLevelCodeSegAttribute()
6331 void Sema::checkClassLevelDLLAttribute(CXXRecordDecl *Class) { in checkClassLevelDLLAttribute()
6495 void Sema::propagateDLLAttrToBaseClassTemplate( in propagateDLLAttrToBaseClassTemplate()
6560 Sema::DefaultedFunctionKind
6561 Sema::getDefaultedFunctionKind(const FunctionDecl *FD) { in getDefaultedFunctionKind()
6565 return Sema::CXXDefaultConstructor; in getDefaultedFunctionKind()
6568 return Sema::CXXCopyConstructor; in getDefaultedFunctionKind()
6571 return Sema::CXXMoveConstructor; in getDefaultedFunctionKind()
6575 return Sema::CXXCopyAssignment; in getDefaultedFunctionKind()
6578 return Sema::CXXMoveAssignment; in getDefaultedFunctionKind()
6581 return Sema::CXXDestructor; in getDefaultedFunctionKind()
6614 static void DefineDefaultedFunction(Sema &S, FunctionDecl *FD, in DefineDefaultedFunction()
6616 Sema::DefaultedFunctionKind DFK = S.getDefaultedFunctionKind(FD); in DefineDefaultedFunction()
6621 case Sema::CXXDefaultConstructor: in DefineDefaultedFunction()
6625 case Sema::CXXCopyConstructor: in DefineDefaultedFunction()
6628 case Sema::CXXCopyAssignment: in DefineDefaultedFunction()
6631 case Sema::CXXDestructor: in DefineDefaultedFunction()
6634 case Sema::CXXMoveConstructor: in DefineDefaultedFunction()
6637 case Sema::CXXMoveAssignment: in DefineDefaultedFunction()
6640 case Sema::CXXInvalid: in DefineDefaultedFunction()
6647 static bool canPassInRegisters(Sema &S, CXXRecordDecl *D, in canPassInRegisters()
6766 ReportOverrides(Sema &S, unsigned DiagID, const CXXMethodDecl *MD, in ReportOverrides()
6788 void Sema::CheckCompletedCXXClass(Scope *S, CXXRecordDecl *Record) { in CheckCompletedCXXClass()
7120 static Sema::SpecialMemberOverloadResult lookupCallFromSpecialMember( in lookupCallFromSpecialMember()
7121 Sema &S, CXXRecordDecl *Class, Sema::CXXSpecialMember CSM, in lookupCallFromSpecialMember()
7124 if (CSM == Sema::CXXCopyAssignment || CSM == Sema::CXXMoveAssignment) in lookupCallFromSpecialMember()
7128 if (CSM == Sema::CXXDefaultConstructor || CSM == Sema::CXXDestructor) in lookupCallFromSpecialMember()
7141 class Sema::InheritedConstructorInfo {
7142 Sema &S;
7152 InheritedConstructorInfo(Sema &S, SourceLocation UseLoc, in InheritedConstructorInfo()
7225 specialMemberIsConstexpr(Sema &S, CXXRecordDecl *ClassDecl, in specialMemberIsConstexpr()
7226 Sema::CXXSpecialMember CSM, unsigned Quals, in specialMemberIsConstexpr()
7229 Sema::InheritedConstructorInfo *Inherited = nullptr) { in specialMemberIsConstexpr()
7233 Sema::SatisfactionStackResetRAII SSRAII{S}; in specialMemberIsConstexpr()
7238 assert(CSM == Sema::CXXDefaultConstructor); in specialMemberIsConstexpr()
7245 if (CSM == Sema::CXXDefaultConstructor) in specialMemberIsConstexpr()
7247 if (CSM == Sema::CXXDestructor) in specialMemberIsConstexpr()
7250 Sema::SpecialMemberOverloadResult SMOR = in specialMemberIsConstexpr()
7262 Sema &S, CXXRecordDecl *ClassDecl, Sema::CXXSpecialMember CSM, in defaultedSpecialMemberIsConstexpr()
7264 Sema::InheritedConstructorInfo *Inherited = nullptr) { in defaultedSpecialMemberIsConstexpr()
7272 case Sema::CXXDefaultConstructor: in defaultedSpecialMemberIsConstexpr()
7283 case Sema::CXXCopyConstructor: in defaultedSpecialMemberIsConstexpr()
7284 case Sema::CXXMoveConstructor: in defaultedSpecialMemberIsConstexpr()
7288 case Sema::CXXCopyAssignment: in defaultedSpecialMemberIsConstexpr()
7289 case Sema::CXXMoveAssignment: in defaultedSpecialMemberIsConstexpr()
7296 case Sema::CXXDestructor: in defaultedSpecialMemberIsConstexpr()
7299 case Sema::CXXInvalid: in defaultedSpecialMemberIsConstexpr()
7311 return CSM == Sema::CXXDefaultConstructor in defaultedSpecialMemberIsConstexpr()
7349 if (CSM == Sema::CXXDefaultConstructor && F->hasInClassInitializer()) in defaultedSpecialMemberIsConstexpr()
7358 } else if (CSM == Sema::CXXDefaultConstructor) { in defaultedSpecialMemberIsConstexpr()
7371 Sema &S;
7373 ComputingExceptionSpec(Sema &S, FunctionDecl *FD, SourceLocation Loc) in ComputingExceptionSpec()
7375 Sema::CodeSynthesisContext Ctx; in ComputingExceptionSpec()
7376 Ctx.Kind = Sema::CodeSynthesisContext::ExceptionSpecEvaluation; in ComputingExceptionSpec()
7387 static Sema::ImplicitExceptionSpecification
7389 Sema &S, SourceLocation Loc, CXXMethodDecl *MD, Sema::CXXSpecialMember CSM,
7390 Sema::InheritedConstructorInfo *ICI);
7392 static Sema::ImplicitExceptionSpecification
7393 ComputeDefaultedComparisonExceptionSpec(Sema &S, SourceLocation Loc,
7395 Sema::DefaultedComparisonKind DCK);
7397 static Sema::ImplicitExceptionSpecification
7398 computeImplicitExceptionSpec(Sema &S, SourceLocation Loc, FunctionDecl *FD) { in computeImplicitExceptionSpec()
7411 Sema::InheritedConstructorInfo ICI( in computeImplicitExceptionSpec()
7414 S, Loc, CD, Sema::CXXDefaultConstructor, &ICI); in computeImplicitExceptionSpec()
7417 static FunctionProtoType::ExtProtoInfo getImplicitMethodEPI(Sema &S, in getImplicitMethodEPI()
7432 void Sema::EvaluateImplicitExceptionSpec(SourceLocation Loc, FunctionDecl *FD) { in EvaluateImplicitExceptionSpec()
7445 void Sema::CheckExplicitlyDefaultedFunction(Scope *S, FunctionDecl *FD) { in CheckExplicitlyDefaultedFunction()
7465 bool Sema::CheckExplicitlyDefaultedSpecialMember(CXXMethodDecl *MD, in CheckExplicitlyDefaultedSpecialMember()
7700 using DefaultedComparisonKind = Sema::DefaultedComparisonKind;
7702 DefaultedComparisonVisitor(Sema &S, CXXRecordDecl *RD, FunctionDecl *FD, in DefaultedComparisonVisitor()
7796 Sema &S;
7852 DefaultedComparisonAnalyzer(Sema &S, CXXRecordDecl *RD, FunctionDecl *FD, in DefaultedComparisonAnalyzer()
8175 DefaultedComparisonSynthesizer(Sema &S, CXXRecordDecl *RD, FunctionDecl *FD, in DefaultedComparisonSynthesizer()
8182 Sema::CompoundScopeRAII CompoundScope(S); in build()
8249 Sema::ComparisonCategoryUsage::DefaultedOperator); in build()
8349 Sema::ConditionKind::Boolean), in buildIfNotCondReturnFalse()
8423 Sema::ConditionKind::Boolean), in visitSubobjectArray()
8488 Sema::ConditionResult Cond = S.ActOnCondition( in visitExpandedSubobject()
8489 nullptr, Loc, Comp.get(), Sema::ConditionKind::Boolean); in visitExpandedSubobject()
8533 static void lookupOperatorsForDefaultedComparison(Sema &Self, Scope *S, in lookupOperatorsForDefaultedComparison()
8557 bool Sema::CheckExplicitlyDefaultedComparison(Scope *S, FunctionDecl *FD, in CheckExplicitlyDefaultedComparison()
8844 void Sema::DeclareImplicitEqualityComparison(CXXRecordDecl *RD, in DeclareImplicitEqualityComparison()
8846 Sema::CodeSynthesisContext Ctx; in DeclareImplicitEqualityComparison()
8847 Ctx.Kind = Sema::CodeSynthesisContext::DeclaringImplicitEqualityComparison; in DeclareImplicitEqualityComparison()
8858 void Sema::DefineDefaultedComparison(SourceLocation UseLoc, FunctionDecl *FD, in DefineDefaultedComparison()
8896 static Sema::ImplicitExceptionSpecification
8897 ComputeDefaultedComparisonExceptionSpec(Sema &S, SourceLocation Loc, in ComputeDefaultedComparisonExceptionSpec()
8899 Sema::DefaultedComparisonKind DCK) { in ComputeDefaultedComparisonExceptionSpec()
8901 Sema::ImplicitExceptionSpecification ExceptSpec(S); in ComputeDefaultedComparisonExceptionSpec()
8919 Sema::SynthesizedFunctionScope Scope(S, FD); in ComputeDefaultedComparisonExceptionSpec()
8921 S, Sema::ExpressionEvaluationContext::Unevaluated); in ComputeDefaultedComparisonExceptionSpec()
8940 void Sema::CheckDelayedMemberExceptionSpecs() { in CheckDelayedMemberExceptionSpecs()
8963 Sema &S;
8965 Sema::CXXSpecialMember CSM;
8966 Sema::InheritedConstructorInfo *ICI;
8971 SpecialMemberVisitor(Sema &S, CXXMethodDecl *MD, Sema::CXXSpecialMember CSM, in SpecialMemberVisitor()
8972 Sema::InheritedConstructorInfo *ICI) in SpecialMemberVisitor()
8975 case Sema::CXXDefaultConstructor: in SpecialMemberVisitor()
8976 case Sema::CXXCopyConstructor: in SpecialMemberVisitor()
8977 case Sema::CXXMoveConstructor: in SpecialMemberVisitor()
8980 case Sema::CXXCopyAssignment: in SpecialMemberVisitor()
8981 case Sema::CXXMoveAssignment: in SpecialMemberVisitor()
8984 case Sema::CXXDestructor: in SpecialMemberVisitor()
8986 case Sema::CXXInvalid: in SpecialMemberVisitor()
9001 return CSM == Sema::CXXMoveConstructor || CSM == Sema::CXXMoveAssignment; in isMove()
9005 Sema::SpecialMemberOverloadResult lookupIn(CXXRecordDecl *Class, in lookupIn()
9013 Sema::SpecialMemberOverloadResult lookupInheritedCtor(CXXRecordDecl *Class) { in lookupInheritedCtor()
9016 assert(CSM == Sema::CXXDefaultConstructor); in lookupInheritedCtor()
9085 SpecialMemberDeletionInfo(Sema &S, CXXMethodDecl *MD, in SpecialMemberDeletionInfo()
9086 Sema::CXXSpecialMember CSM, in SpecialMemberDeletionInfo()
9087 Sema::InheritedConstructorInfo *ICI, bool Diagnose) in SpecialMemberDeletionInfo()
9093 Sema::CXXSpecialMember getEffectiveCSM() { in getEffectiveCSM()
9094 return ICI ? Sema::CXXInvalid : CSM; in getEffectiveCSM()
9109 Sema::SpecialMemberOverloadResult SMOR,
9140 Subobject Subobj, Sema::SpecialMemberOverloadResult SMOR, in shouldDeleteForSubobjectCall()
9147 if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::NoMemberOrDeleted) in shouldDeleteForSubobjectCall()
9149 else if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::Ambiguous) in shouldDeleteForSubobjectCall()
9210 if (!(CSM == Sema::CXXDefaultConstructor && in shouldDeleteForClassSubobject()
9220 Sema::SpecialMemberOverloadResult SMOR = in shouldDeleteForClassSubobject()
9221 S.LookupSpecialMember(Class, Sema::CXXDestructor, in shouldDeleteForClassSubobject()
9240 if (CSM == Sema::CXXDefaultConstructor && FD->hasInClassInitializer()) in shouldDeleteForVariantObjCPtrMember()
9264 Sema::SpecialMemberOverloadResult SMOR = lookupInheritedCtor(BaseClass); in shouldDeleteForBase()
9292 if (CSM == Sema::CXXDefaultConstructor) { in shouldDeleteForField()
9315 } else if (CSM == Sema::CXXCopyConstructor) { in shouldDeleteForField()
9366 if (CSM == Sema::CXXDefaultConstructor && AllVariantFieldsAreConst && in shouldDeleteForField()
9395 if (CSM == Sema::CXXDefaultConstructor && inUnion() && AllFieldsAreConst) { in shouldDeleteForAllConstMembers()
9414 bool Sema::ShouldDeleteSpecialMember(CXXMethodDecl *MD, CXXSpecialMember CSM, in ShouldDeleteSpecialMember()
9545 void Sema::DiagnoseDeletedDefaultedFunction(FunctionDecl *FD) { in DiagnoseDeletedDefaultedFunction()
9572 static bool findTrivialSpecialMember(Sema &S, CXXRecordDecl *RD, in findTrivialSpecialMember()
9573 Sema::CXXSpecialMember CSM, unsigned Quals, in findTrivialSpecialMember()
9575 Sema::TrivialABIHandling TAH, in findTrivialSpecialMember()
9581 case Sema::CXXInvalid: in findTrivialSpecialMember()
9584 case Sema::CXXDefaultConstructor: in findTrivialSpecialMember()
9613 case Sema::CXXDestructor: in findTrivialSpecialMember()
9618 (TAH == Sema::TAH_ConsiderTrivialABI && in findTrivialSpecialMember()
9630 case Sema::CXXCopyConstructor: in findTrivialSpecialMember()
9635 (TAH == Sema::TAH_ConsiderTrivialABI && in findTrivialSpecialMember()
9651 case Sema::CXXCopyAssignment: in findTrivialSpecialMember()
9666 case Sema::CXXMoveConstructor: in findTrivialSpecialMember()
9667 case Sema::CXXMoveAssignment: in findTrivialSpecialMember()
9669 Sema::SpecialMemberOverloadResult SMOR = in findTrivialSpecialMember()
9676 if (SMOR.getKind() == Sema::SpecialMemberOverloadResult::Ambiguous) in findTrivialSpecialMember()
9681 Sema::SpecialMemberOverloadResult::NoMemberOrDeleted); in findTrivialSpecialMember()
9690 if (TAH == Sema::TAH_ConsiderTrivialABI && in findTrivialSpecialMember()
9691 (CSM == Sema::CXXCopyConstructor || CSM == Sema::CXXMoveConstructor)) in findTrivialSpecialMember()
9727 static bool checkTrivialSubobjectCall(Sema &S, SourceLocation SubobjLoc, in checkTrivialSubobjectCall()
9729 Sema::CXXSpecialMember CSM, in checkTrivialSubobjectCall()
9731 Sema::TrivialABIHandling TAH, bool Diagnose) { in checkTrivialSubobjectCall()
9745 if (!Selected && CSM == Sema::CXXDefaultConstructor) { in checkTrivialSubobjectCall()
9768 S.SpecialMemberIsTrivial(Selected, CSM, Sema::TAH_IgnoreTrivialABI, in checkTrivialSubobjectCall()
9778 static bool checkTrivialClassMembers(Sema &S, CXXRecordDecl *RD, in checkTrivialClassMembers()
9779 Sema::CXXSpecialMember CSM, in checkTrivialClassMembers()
9781 Sema::TrivialABIHandling TAH, in checkTrivialClassMembers()
9801 if (CSM == Sema::CXXDefaultConstructor && FI->hasInClassInitializer()) { in checkTrivialClassMembers()
9830 void Sema::DiagnoseNontrivial(const CXXRecordDecl *RD, CXXSpecialMember CSM) { in DiagnoseNontrivial()
9842 bool Sema::SpecialMemberIsTrivial(CXXMethodDecl *MD, CXXSpecialMember CSM, in SpecialMemberIsTrivial()
9994 Sema *S;
10072 void Sema::FindHiddenVirtualMethods(CXXMethodDecl *MD, in FindHiddenVirtualMethods()
10100 void Sema::NoteHiddenVirtualMethods(CXXMethodDecl *MD, in NoteHiddenVirtualMethods()
10113 void Sema::DiagnoseHiddenVirtualMethods(CXXMethodDecl *MD) { in DiagnoseHiddenVirtualMethods()
10130 void Sema::checkIllFormedTrivialABIStruct(CXXRecordDecl &RD) { in checkIllFormedTrivialABIStruct()
10204 void Sema::ActOnFinishCXXMemberSpecification( in ActOnFinishCXXMemberSpecification()
10272 void Sema::AddImplicitlyDeclaredMembersToClass(CXXRecordDecl *ClassDecl) { in AddImplicitlyDeclaredMembersToClass()
10370 Sema::ActOnReenterTemplateScope(Decl *D, in ActOnReenterTemplateScope()
10436 void Sema::ActOnStartDelayedMemberDeclarations(Scope *S, Decl *RecordD) { in ActOnStartDelayedMemberDeclarations()
10443 void Sema::ActOnFinishDelayedMemberDeclarations(Scope *S, Decl *RecordD) { in ActOnFinishDelayedMemberDeclarations()
10451 void Sema::ActOnReenterCXXMethodParameter(Scope *S, ParmVarDecl *Param) { in ActOnReenterCXXMethodParameter()
10468 void Sema::ActOnStartDelayedCXXMethodDeclaration(Scope *S, Decl *MethodD) { in ActOnStartDelayedCXXMethodDeclaration()
10476 void Sema::ActOnDelayedCXXMethodParameter(Scope *S, Decl *ParamD) { in ActOnDelayedCXXMethodParameter()
10493 void Sema::ActOnFinishDelayedCXXMethodDeclaration(Scope *S, Decl *MethodD) { in ActOnFinishDelayedCXXMethodDeclaration()
10515 static void checkMethodTypeQualifiers(Sema &S, Declarator &D, unsigned DiagID) { in checkMethodTypeQualifiers()
10540 QualType Sema::CheckConstructorDeclarator(Declarator &D, QualType R, in CheckConstructorDeclarator()
10603 void Sema::CheckConstructor(CXXConstructorDecl *Constructor) { in CheckConstructor()
10638 bool Sema::CheckDestructor(CXXDestructorDecl *Destructor) { in CheckDestructor()
10693 QualType Sema::CheckDestructorDeclarator(Declarator &D, QualType R, in CheckDestructorDeclarator()
10815 void Sema::CheckConversionDeclarator(Declarator &D, QualType &R, in CheckConversionDeclarator()
10982 Decl *Sema::ActOnConversionDeclarator(CXXConversionDecl *Conversion) { in ActOnConversionDeclarator()
11028 BadSpecifierDiagnoser(Sema &S, SourceLocation Loc, unsigned DiagID) in BadSpecifierDiagnoser()
11048 Sema &S;
11049 Sema::SemaDiagnosticBuilder Diagnostic;
11058 void Sema::CheckDeductionGuideDeclarator(Declarator &D, QualType &R, in CheckDeductionGuideDeclarator()
11183 static void DiagnoseNamespaceInlineMismatch(Sema &S, SourceLocation KeywordLoc, in DiagnoseNamespaceInlineMismatch()
11208 Decl *Sema::ActOnStartNamespaceDef(Scope *NamespcScope, in ActOnStartNamespaceDef()
11364 void Sema::ActOnFinishNamespaceDef(Decl *Dcl, SourceLocation RBrace) { in ActOnFinishNamespaceDef()
11376 CXXRecordDecl *Sema::getStdBadAlloc() const { in getStdBadAlloc()
11381 EnumDecl *Sema::getStdAlignValT() const { in getStdAlignValT()
11385 NamespaceDecl *Sema::getStdNamespace() const { in getStdNamespace()
11390 NamespaceDecl *Sema::lookupStdExperimentalNamespace() { in lookupStdExperimentalNamespace()
11414 Sema &S;
11437 QualType Sema::CheckComparisonCategoryType(ComparisonCategoryType Kind, in CheckComparisonCategoryType()
11543 NamespaceDecl *Sema::getOrCreateStdNamespace() { in getOrCreateStdNamespace()
11557 bool Sema::isStdInitializerList(QualType Ty, QualType *Element) { in isStdInitializerList()
11617 static ClassTemplateDecl *LookupStdInitializerList(Sema &S, SourceLocation Loc){ in LookupStdInitializerList()
11625 Loc, Sema::LookupOrdinaryName); in LookupStdInitializerList()
11651 QualType Sema::BuildStdInitializerList(QualType Element, SourceLocation Loc) { in BuildStdInitializerList()
11668 bool Sema::isInitListConstructor(const FunctionDecl *Ctor) { in isInitListConstructor()
11715 static bool TryNamespaceTypoCorrection(Sema &S, LookupResult &R, Scope *Sc, in TryNamespaceTypoCorrection()
11723 Sema::CTK_ErrorRecovery)) { in TryNamespaceTypoCorrection()
11743 Decl *Sema::ActOnUsingDirective(Scope *S, SourceLocation UsingLoc, in ActOnUsingDirective()
11826 void Sema::PushUsingDirective(Scope *S, UsingDirectiveDecl *UDir) { in PushUsingDirective()
11839 Decl *Sema::ActOnUsingDeclaration(Scope *S, AccessSpecifier AS, in ActOnUsingDeclaration()
11923 Decl *Sema::ActOnUsingEnumDeclaration(Scope *S, AccessSpecifier AS, in ActOnUsingEnumDeclaration()
11991 bool Sema::CheckUsingShadowDecl(BaseUsingDecl *BUD, NamedDecl *Orig, in CheckUsingShadowDecl()
12174 UsingShadowDecl *Sema::BuildUsingShadowDecl(Scope *S, BaseUsingDecl *BUD, in BuildUsingShadowDecl()
12244 void Sema::HideUsingShadowDecl(Scope *S, UsingShadowDecl *Shadow) { in HideUsingShadowDecl()
12370 void Sema::FilterUsingLookup(Scope *S, LookupResult &Previous) { in FilterUsingLookup()
12393 NamedDecl *Sema::BuildUsingDeclaration( in BuildUsingDeclaration()
12647 NamedDecl *Sema::BuildUsingEnumDeclaration(Scope *S, AccessSpecifier AS, in BuildUsingEnumDeclaration()
12703 NamedDecl *Sema::BuildUsingPackDecl(NamedDecl *InstantiatedFrom, in BuildUsingPackDecl()
12717 bool Sema::CheckInheritingConstructorUsingDecl(UsingDecl *UD) { in CheckInheritingConstructorUsingDecl()
12747 bool Sema::CheckUsingDeclRedeclaration(SourceLocation UsingLoc, in CheckUsingDeclRedeclaration()
12829 bool Sema::CheckUsingDeclQualifier(SourceLocation UsingLoc, bool HasTypename, in CheckUsingDeclQualifier()
13058 Decl *Sema::ActOnAliasDeclaration(Scope *S, AccessSpecifier AS, in ActOnAliasDeclaration()
13214 Decl *Sema::ActOnNamespaceAliasDef(Scope *S, SourceLocation NamespaceLoc, in ActOnNamespaceAliasDef()
13295 Sema::ImplicitExceptionSpecification ExceptSpec;
13297 SpecialMemberExceptionSpecInfo(Sema &S, CXXMethodDecl *MD, in SpecialMemberExceptionSpecInfo()
13298 Sema::CXXSpecialMember CSM, in SpecialMemberExceptionSpecInfo()
13299 Sema::InheritedConstructorInfo *ICI, in SpecialMemberExceptionSpecInfo()
13310 Sema::SpecialMemberOverloadResult SMOR);
13320 Sema::SpecialMemberOverloadResult SMOR = lookupInheritedCtor(BaseClass); in visitBase()
13331 if (CSM == Sema::CXXDefaultConstructor && FD->hasInClassInitializer()) { in visitField()
13359 Subobject Subobj, Sema::SpecialMemberOverloadResult SMOR) { in visitSubobjectCall()
13366 bool Sema::tryResolveExplicitSpecifier(ExplicitSpecifier &ExplicitSpec) { in tryResolveExplicitSpecifier()
13381 ExplicitSpecifier Sema::ActOnExplicitBoolSpecifier(Expr *ExplicitExpr) { in ActOnExplicitBoolSpecifier()
13388 static Sema::ImplicitExceptionSpecification
13390 Sema &S, SourceLocation Loc, CXXMethodDecl *MD, Sema::CXXSpecialMember CSM, in ComputeDefaultedSpecialMemberExceptionSpec()
13391 Sema::InheritedConstructorInfo *ICI) { in ComputeDefaultedSpecialMemberExceptionSpec()
13435 Sema &S;
13436 Sema::SpecialMemberDecl D;
13437 Sema::ContextRAII SavedContext;
13440 DeclaringSpecialMember(Sema &S, CXXRecordDecl *RD, Sema::CXXSpecialMember CSM) in DeclaringSpecialMember()
13450 Sema::CodeSynthesisContext Ctx; in DeclaringSpecialMember()
13451 Ctx.Kind = Sema::CodeSynthesisContext::DeclaringSpecialMember; in DeclaringSpecialMember()
13478 void Sema::CheckImplicitSpecialMemberDeclaration(Scope *S, FunctionDecl *FD) { in CheckImplicitSpecialMemberDeclaration()
13494 void Sema::setupImplicitSpecialMemberType(CXXMethodDecl *SpecialMem, in setupImplicitSpecialMemberType()
13519 CXXConstructorDecl *Sema::DeclareImplicitDefaultConstructor( in DeclareImplicitDefaultConstructor()
13583 void Sema::DefineImplicitDefaultConstructor(SourceLocation CurrentLocation, in DefineImplicitDefaultConstructor()
13624 void Sema::ActOnFinishDelayedMemberInitializers(Decl *D) { in ActOnFinishDelayedMemberInitializers()
13632 Sema::findInheritingConstructor(SourceLocation Loc, in findInheritingConstructor()
13715 void Sema::NoteDeletedInheritingConstructor(CXXConstructorDecl *Ctor) { in NoteDeletedInheritingConstructor()
13722 void Sema::DefineInheritingConstructor(SourceLocation CurrentLocation, in DefineInheritingConstructor()
13803 CXXDestructorDecl *Sema::DeclareImplicitDestructor(CXXRecordDecl *ClassDecl) { in DeclareImplicitDestructor()
13870 void Sema::DefineImplicitDestructor(SourceLocation CurrentLocation, in DefineImplicitDestructor()
13912 void Sema::CheckCompleteDestructorVariant(SourceLocation CurrentLocation, in CheckCompleteDestructorVariant()
13933 void Sema::ActOnFinishCXXMemberDecls() { in ActOnFinishCXXMemberDecls()
13945 void Sema::ActOnFinishCXXNonNestedClass() { in ActOnFinishCXXNonNestedClass()
13964 void Sema::referenceDLLExportedClassMethods() { in referenceDLLExportedClassMethods()
13975 void Sema::AdjustDestructorExceptionSpec(CXXDestructorDecl *Destructor) { in AdjustDestructorExceptionSpec()
14024 virtual Expr *build(Sema &S, SourceLocation Loc) const = 0;
14032 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14042 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14054 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14069 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14085 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14101 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14112 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14125 Expr *build(Sema &S, SourceLocation Loc) const override { in build()
14141 buildMemcpyForAssignmentOp(Sema &S, SourceLocation Loc, QualType T, in buildMemcpyForAssignmentOp()
14170 Sema::LookupOrdinaryName); in buildMemcpyForAssignmentOp()
14221 buildSingleCopyAssignRecursively(Sema &S, SourceLocation Loc, QualType T, in buildSingleCopyAssignRecursively()
14245 LookupResult OpLookup(S, Name, Loc, Sema::LookupOrdinaryName); in buildSingleCopyAssignRecursively()
14408 S.ActOnCondition(nullptr, Loc, Comparison, Sema::ConditionKind::Boolean), in buildSingleCopyAssignRecursively()
14413 buildSingleCopyAssign(Sema &S, SourceLocation Loc, QualType T, in buildSingleCopyAssign()
14433 CXXMethodDecl *Sema::DeclareImplicitCopyAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitCopyAssignment()
14518 static void diagnoseDeprecatedCopyOperation(Sema &S, CXXMethodDecl *CopyOp) { in diagnoseDeprecatedCopyOperation()
14565 void Sema::DefineImplicitCopyAssignment(SourceLocation CurrentLocation, in DefineImplicitCopyAssignment()
14777 CXXMethodDecl *Sema::DeclareImplicitMoveAssignment(CXXRecordDecl *ClassDecl) { in DeclareImplicitMoveAssignment()
14857 static void checkMoveAssignmentForRepeatedMove(Sema &S, CXXRecordDecl *Class, in checkMoveAssignmentForRepeatedMove()
14890 Sema::SpecialMemberOverloadResult SMOR = in checkMoveAssignmentForRepeatedMove()
14891 S.LookupSpecialMember(Base, Sema::CXXMoveAssignment, in checkMoveAssignmentForRepeatedMove()
14937 void Sema::DefineImplicitMoveAssignment(SourceLocation CurrentLocation, in DefineImplicitMoveAssignment()
15148 CXXConstructorDecl *Sema::DeclareImplicitCopyConstructor( in DeclareImplicitCopyConstructor()
15246 void Sema::DefineImplicitCopyConstructor(SourceLocation CurrentLocation, in DefineImplicitCopyConstructor()
15283 Sema::CompoundScopeRAII CompoundScope(*this); in DefineImplicitCopyConstructor()
15295 CXXConstructorDecl *Sema::DeclareImplicitMoveConstructor( in DeclareImplicitMoveConstructor()
15381 void Sema::DefineImplicitMoveConstructor(SourceLocation CurrentLocation, in DefineImplicitMoveConstructor()
15411 Sema::CompoundScopeRAII CompoundScope(*this); in DefineImplicitMoveConstructor()
15423 bool Sema::isImplicitlyDeleted(FunctionDecl *FD) { in isImplicitlyDeleted()
15427 void Sema::DefineImplicitLambdaToFunctionPointerConversion( in DefineImplicitLambdaToFunctionPointerConversion()
15494 void Sema::DefineImplicitLambdaToBlockPointerConversion( in DefineImplicitLambdaToBlockPointerConversion()
15564 Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType, in BuildCXXConstructExpr()
15611 Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType, in BuildCXXConstructExpr()
15640 Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType, in BuildCXXConstructExpr()
15671 void Sema::FinalizeVarWithDestructor(VarDecl *VD, const RecordType *Record) { in FinalizeVarWithDestructor()
15733 bool Sema::CompleteConstructorCall(CXXConstructorDecl *Constructor, in CompleteConstructorCall()
15770 CheckOperatorNewDeleteDeclarationScope(Sema &SemaRef, in CheckOperatorNewDeleteDeclarationScope()
15789 static CanQualType RemoveAddressSpaceFromPtr(Sema &SemaRef, in RemoveAddressSpaceFromPtr()
15799 CheckOperatorNewDeleteTypes(Sema &SemaRef, const FunctionDecl *FnDecl, in CheckOperatorNewDeleteTypes()
15870 CheckOperatorNewDeclaration(Sema &SemaRef, const FunctionDecl *FnDecl) { in CheckOperatorNewDeclaration()
15901 CheckOperatorDeleteDeclaration(Sema &SemaRef, FunctionDecl *FnDecl) { in CheckOperatorDeleteDeclaration()
15945 bool Sema::CheckOverloadedOperatorDeclaration(FunctionDecl *FnDecl) { in CheckOverloadedOperatorDeclaration()
16112 checkLiteralOperatorTemplateParameterList(Sema &SemaRef, in checkLiteralOperatorTemplateParameterList()
16169 bool Sema::CheckLiteralOperatorDeclaration(FunctionDecl *FnDecl) { in CheckLiteralOperatorDeclaration()
16342 Decl *Sema::ActOnStartLinkageSpecification(Scope *S, SourceLocation ExternLoc, in ActOnStartLinkageSpecification()
16400 Decl *Sema::ActOnFinishLinkageSpecification(Scope *S, in ActOnFinishLinkageSpecification()
16419 Decl *Sema::ActOnEmptyDeclaration(Scope *S, in ActOnEmptyDeclaration()
16434 VarDecl *Sema::BuildExceptionDeclaration(Scope *S, in BuildExceptionDeclaration()
16566 Decl *Sema::ActOnExceptionDeclarator(Scope *S, Declarator &D) { in ActOnExceptionDeclarator()
16617 Decl *Sema::ActOnStaticAssertDeclaration(SourceLocation StaticAssertLoc, in ActOnStaticAssertDeclaration()
16725 void Sema::DiagnoseStaticAssertDetails(const Expr *E) { in DiagnoseStaticAssertDetails()
16762 Decl *Sema::BuildStaticAssertDeclaration(SourceLocation StaticAssertLoc, in BuildStaticAssertDeclaration()
16858 FriendDecl *Sema::CheckFriendTypeDecl(SourceLocation LocStart, in CheckFriendTypeDecl()
16930 DeclResult Sema::ActOnTemplatedFriendTag( in ActOnTemplatedFriendTag()
17062 Decl *Sema::ActOnFriendTypeDecl(Scope *S, const DeclSpec &DS, in ActOnFriendTypeDecl()
17154 NamedDecl *Sema::ActOnFriendFunctionDecl(Scope *S, Declarator &D, in ActOnFriendFunctionDecl()
17470 void Sema::SetDeclDeleted(Decl *Dcl, SourceLocation DelLoc) { in SetDeclDeleted()
17522 void Sema::SetDeclDefaulted(Decl *Dcl, SourceLocation DefaultLoc) { in SetDeclDefaulted()
17613 static void SearchForReturnInStmt(Sema &Self, Stmt *S) { in SearchForReturnInStmt()
17625 void Sema::DiagnoseReturnInConstructorExceptionHandler(CXXTryStmt *TryBlock) { in DiagnoseReturnInConstructorExceptionHandler()
17632 void Sema::SetFunctionBodyKind(Decl *D, SourceLocation Loc, in SetFunctionBodyKind()
17647 bool Sema::CheckOverridingFunctionAttributes(const CXXMethodDecl *New, in CheckOverridingFunctionAttributes()
17695 bool Sema::CheckOverridingFunctionReturnType(const CXXMethodDecl *New, in CheckOverridingFunctionReturnType()
17806 bool Sema::CheckPureMethod(CXXMethodDecl *Method, SourceRange InitRange) { in CheckPureMethod()
17822 void Sema::ActOnPureSpecifier(Decl *D, SourceLocation ZeroLoc) { in ActOnPureSpecifier()
17847 void Sema::ActOnCXXEnterDeclInitializer(Scope *S, Decl *D) { in ActOnCXXEnterDeclInitializer()
17868 void Sema::ActOnCXXExitDeclInitializer(Scope *S, Decl *D) { in ActOnCXXExitDeclInitializer()
17883 DeclResult Sema::ActOnCXXConditionDeclaration(Scope *S, Declarator &D) { in ActOnCXXConditionDeclaration()
17904 void Sema::LoadExternalVTableUses() { in LoadExternalVTableUses()
17928 void Sema::MarkVTableUsed(SourceLocation Loc, CXXRecordDecl *Class, in MarkVTableUsed()
17990 bool Sema::DefineUsedVTables() { in DefineUsedVTables()
18080 void Sema::MarkVirtualMemberExceptionSpecsNeeded(SourceLocation Loc, in MarkVirtualMemberExceptionSpecsNeeded()
18087 void Sema::MarkVirtualMembersReferenced(SourceLocation Loc, in MarkVirtualMembersReferenced()
18124 void Sema::SetIvarInitializers(ObjCImplementationDecl *ObjCImplementation) { in SetIvarInitializers()
18182 Sema &S) { in DelegatingCycleHelper()
18242 void Sema::CheckDelegatingCtorCycles() { in CheckDelegatingCtorCycles()
18258 Sema &S;
18261 explicit FindCXXThisExpr(Sema &S) : S(S) { } in FindCXXThisExpr()
18271 bool Sema::checkThisInStaticMemberFunctionType(CXXMethodDecl *Method) { in checkThisInStaticMemberFunctionType()
18308 bool Sema::checkThisInStaticMemberFunctionExceptionSpec(CXXMethodDecl *Method) { in checkThisInStaticMemberFunctionExceptionSpec()
18350 bool Sema::checkThisInStaticMemberFunctionAttributes(CXXMethodDecl *Method) { in checkThisInStaticMemberFunctionAttributes()
18397 void Sema::checkExceptionSpecification( in checkExceptionSpecification()
18446 void Sema::actOnDelayedExceptionSpecification(Decl *MethodD, in actOnDelayedExceptionSpecification()
18485 MSPropertyDecl *Sema::HandleMSProperty(Scope *S, RecordDecl *Record, in HandleMSProperty()
18577 void Sema::ActOnStartFunctionDeclarationDeclarator( in ActOnStartFunctionDeclarationDeclarator()
18601 void Sema::ActOnFinishFunctionDeclarationDeclarator(Declarator &Declarator) { in ActOnFinishFunctionDeclarationDeclarator()