Lines Matching refs:Sema
65 bool Sema::CanUseDecl(NamedDecl *D, bool TreatUnavailableAsInvalid) { in CanUseDecl()
99 static void DiagnoseUnusedOfDecl(Sema &S, NamedDecl *D, SourceLocation Loc) { in DiagnoseUnusedOfDecl()
114 void Sema::NoteDeletedFunction(FunctionDecl *Decl) { in NoteDeletedFunction()
154 static void diagnoseUseOfInternalDeclInInlineFunction(Sema &S, in diagnoseUseOfInternalDeclInInlineFunction()
198 void Sema::MaybeSuggestAddingStaticToDecl(const FunctionDecl *Cur) { in MaybeSuggestAddingStaticToDecl()
221 bool Sema::DiagnoseUseOfDecl(NamedDecl *D, ArrayRef<SourceLocation> Locs, in DiagnoseUseOfDecl()
402 void Sema::DiagnoseSentinelCalls(NamedDecl *D, SourceLocation Loc, in DiagnoseSentinelCalls()
493 SourceRange Sema::getExprRange(Expr *E) const { in getExprRange()
502 ExprResult Sema::DefaultFunctionArrayConversion(Expr *E, bool Diagnose) { in DefaultFunctionArrayConversion()
544 static void CheckForNullPointerDereference(Sema &S, Expr *E) { in CheckForNullPointerDereference()
569 static void DiagnoseDirectIsaAccess(Sema &S, const ObjCIvarRefExpr *OIRE, in DiagnoseDirectIsaAccess()
626 ExprResult Sema::DefaultLvalueConversion(Expr *E) { in DefaultLvalueConversion()
736 ExprResult Sema::DefaultFunctionArrayLvalueConversion(Expr *E, bool Diagnose) { in DefaultFunctionArrayLvalueConversion()
748 ExprResult Sema::CallExprUnaryConversions(Expr *E) { in CallExprUnaryConversions()
770 ExprResult Sema::UsualUnaryConversions(Expr *E) { in UsualUnaryConversions()
853 ExprResult Sema::DefaultArgumentPromotion(Expr *E) { in DefaultArgumentPromotion()
918 Sema::VarArgKind Sema::isValidVarArgType(const QualType &Ty) { in isValidVarArgType()
968 void Sema::checkVariadicArgument(const Expr *E, VariadicCallType CT) { in checkVariadicArgument()
1015 ExprResult Sema::DefaultVariadicArgumentPromotion(Expr *E, VariadicCallType CT, in DefaultVariadicArgumentPromotion()
1083 static bool handleIntegerToComplexFloatConversion(Sema &S, ExprResult &IntExpr, in handleIntegerToComplexFloatConversion()
1105 static QualType handleComplexFloatConversion(Sema &S, ExprResult &LHS, in handleComplexFloatConversion()
1161 static QualType handleIntToFloatConversion(Sema &S, ExprResult &FloatExpr, in handleIntToFloatConversion()
1192 static QualType handleFloatConversion(Sema &S, ExprResult &LHS, in handleFloatConversion()
1242 static bool unsupportedTypeConversion(const Sema &S, QualType LHSType, in unsupportedTypeConversion()
1267 typedef ExprResult PerformCastFn(Sema &S, Expr *operand, QualType toType);
1272 ExprResult doIntegralCast(Sema &S, Expr *op, QualType toType) { in doIntegralCast()
1276 ExprResult doComplexIntegralCast(Sema &S, Expr *op, QualType toType) { in doComplexIntegralCast()
1285 static QualType handleIntegerConversion(Sema &S, ExprResult &LHS, in handleIntegerConversion()
1335 static QualType handleComplexIntConversion(Sema &S, ExprResult &LHS, in handleComplexIntConversion()
1428 static QualType handleFixedPointConversion(Sema &S, QualType LHSTy, in handleFixedPointConversion()
1467 static void checkEnumArithmeticConversions(Sema &S, Expr *LHS, Expr *RHS, in checkEnumArithmeticConversions()
1469 Sema::ArithConvKind ACK) { in checkEnumArithmeticConversions()
1480 bool IsCompAssign = ACK == Sema::ACK_CompAssign; in checkEnumArithmeticConversions()
1499 } else if (ACK == Sema::ACK_Conditional) { in checkEnumArithmeticConversions()
1505 } else if (ACK == Sema::ACK_Comparison) { in checkEnumArithmeticConversions()
1525 QualType Sema::UsualArithmeticConversions(ExprResult &LHS, ExprResult &RHS, in UsualArithmeticConversions()
1610 Sema::ActOnGenericSelectionExpr(SourceLocation KeyLoc, in ActOnGenericSelectionExpr()
1636 Sema::CreateGenericSelectionExpr(SourceLocation KeyLoc, in CreateGenericSelectionExpr()
1649 *this, Sema::ExpressionEvaluationContext::Unevaluated); in CreateGenericSelectionExpr()
1814 static SourceLocation getUDSuffixLoc(Sema &S, SourceLocation TokLoc, in getUDSuffixLoc()
1822 static ExprResult BuildCookedLiteralOperatorCall(Sema &S, Scope *Scope, in BuildCookedLiteralOperatorCall()
1841 LookupResult R(S, OpName, UDSuffixLoc, Sema::LookupOrdinaryName); in BuildCookedLiteralOperatorCall()
1845 /*DiagnoseMissing*/ true) == Sema::LOLR_Error) in BuildCookedLiteralOperatorCall()
1858 Sema::ActOnStringLiteral(ArrayRef<Token> StringToks, Scope *UDLScope) { in ActOnStringLiteral()
2001 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK, in BuildDeclRefExpr()
2009 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK, in BuildDeclRefExpr()
2022 static bool isCapturingReferenceToHostVarInCUDADeviceLambda(const Sema &S, in isCapturingReferenceToHostVarInCUDADeviceLambda()
2049 NonOdrUseReason Sema::getNonOdrUseReasonInCurrentContext(ValueDecl *D) { in getNonOdrUseReasonInCurrentContext()
2080 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK, in BuildDeclRefExpr()
2147 Sema::DecomposeUnqualifiedId(const UnqualifiedId &Id, in DecomposeUnqualifiedId()
2170 const TypoCorrection &TC, Sema &SemaRef, const CXXScopeSpec &SS, in emitEmptyLookupTypoDiagnostic()
2210 bool Sema::DiagnoseDependentMemberLookup(LookupResult &R) { in DiagnoseDependentMemberLookup()
2272 bool Sema::DiagnoseEmptyLookup(Scope *S, CXXScopeSpec &SS, LookupResult &R, in DiagnoseEmptyLookup()
2445 recoverFromMSUnqualifiedLookup(Sema &S, ASTContext &Context, in recoverFromMSUnqualifiedLookup()
2486 Sema::ActOnIdExpression(Scope *S, CXXScopeSpec &SS, in ActOnIdExpression()
2738 ExprResult Sema::BuildQualifiedDeclarationNameExpr( in BuildQualifiedDeclarationNameExpr()
2825 DeclResult Sema::LookupIvarInObjCMethod(LookupResult &Lookup, Scope *S, in LookupIvarInObjCMethod()
2898 ExprResult Sema::BuildIvarRefExpr(Scope *S, SourceLocation Loc, in BuildIvarRefExpr()
2962 Sema::LookupInObjCMethod(LookupResult &Lookup, Scope *S, in LookupInObjCMethod()
3000 Sema::PerformObjectMemberConversion(Expr *From, in PerformObjectMemberConversion()
3132 bool Sema::UseArgumentDependentLookup(const CXXScopeSpec &SS, in UseArgumentDependentLookup()
3190 static bool CheckDeclInExpr(Sema &S, SourceLocation Loc, NamedDecl *D) { in CheckDeclInExpr()
3221 ExprResult Sema::BuildDeclarationNameExpr(const CXXScopeSpec &SS, in BuildDeclarationNameExpr()
3255 static void diagnoseUncapturableValueReference(Sema &S, SourceLocation loc,
3259 ExprResult Sema::BuildDeclarationNameExpr( in BuildDeclarationNameExpr()
3526 ExprResult Sema::BuildPredefinedExpr(SourceLocation Loc, in BuildPredefinedExpr()
3579 ExprResult Sema::BuildSYCLUniqueStableNameExpr(SourceLocation OpLoc, in BuildSYCLUniqueStableNameExpr()
3586 ExprResult Sema::ActOnSYCLUniqueStableNameExpr(SourceLocation OpLoc, in ActOnSYCLUniqueStableNameExpr()
3601 ExprResult Sema::ActOnPredefinedExpr(SourceLocation Loc, tok::TokenKind Kind) { in ActOnPredefinedExpr()
3618 ExprResult Sema::ActOnCharacterConstant(const Token &Tok, Scope *UDLScope) { in ActOnCharacterConstant()
3678 ExprResult Sema::ActOnIntegerConstant(SourceLocation Loc, uint64_t Val) { in ActOnIntegerConstant()
3684 static Expr *BuildFloatingLiteral(Sema &S, NumericLiteralParser &Literal, in BuildFloatingLiteral()
3716 bool Sema::CheckLoopHintExpr(Expr *E, SourceLocation Loc) { in CheckLoopHintExpr()
3744 ExprResult Sema::ActOnNumericConstant(const Token &Tok, Scope *UDLScope) { in ActOnNumericConstant()
4161 ExprResult Sema::ActOnParenExpr(SourceLocation L, SourceLocation R, Expr *E) { in ActOnParenExpr()
4170 static bool CheckVecStepTraitOperandType(Sema &S, QualType T, in CheckVecStepTraitOperandType()
4188 static bool CheckExtensionTraitOperandType(Sema &S, QualType T, in CheckExtensionTraitOperandType()
4218 static bool CheckObjCTraitOperandConstraints(Sema &S, QualType T, in CheckObjCTraitOperandConstraints()
4236 static void warnOnSizeofOnArrayDecay(Sema &S, SourceLocation Loc, QualType T, in warnOnSizeofOnArrayDecay()
4259 bool Sema::CheckUnaryExprOrTypeTraitOperand(Expr *E, in CheckUnaryExprOrTypeTraitOperand()
4367 bool Sema::CheckUnaryExprOrTypeTraitOperand(QualType ExprType, in CheckUnaryExprOrTypeTraitOperand()
4416 static bool CheckAlignOfExpr(Sema &S, Expr *E, UnaryExprOrTypeTrait ExprKind) { in CheckAlignOfExpr()
4472 bool Sema::CheckVecStepExpr(Expr *E) { in CheckVecStepExpr()
4593 Sema::CreateUnaryExprOrTypeTraitExpr(TypeSourceInfo *TInfo, in CreateUnaryExprOrTypeTraitExpr()
4642 Sema::CreateUnaryExprOrTypeTraitExpr(Expr *E, SourceLocation OpLoc, in CreateUnaryExprOrTypeTraitExpr()
4686 Sema::ActOnUnaryExprOrTypeTraitExpr(SourceLocation OpLoc, in ActOnUnaryExprOrTypeTraitExpr()
4703 static QualType CheckRealImagOperand(Sema &S, ExprResult &V, SourceLocation Loc, in CheckRealImagOperand()
4740 Sema::ActOnPostfixUnaryOp(Scope *S, SourceLocation OpLoc, in ActOnPostfixUnaryOp()
4760 static bool checkArithmeticOnObjCPointer(Sema &S, in checkArithmeticOnObjCPointer()
4774 static bool isMSPropertySubscriptExpr(Sema &S, Expr *Base) { in isMSPropertySubscriptExpr()
4813 static bool checkArgsForPlaceholders(Sema &S, MultiExprArg args);
4815 ExprResult Sema::ActOnArraySubscriptExpr(Scope *S, Expr *base, in ActOnArraySubscriptExpr()
4966 ExprResult Sema::tryConvertExprToType(Expr *E, QualType Ty) { in tryConvertExprToType()
4974 ExprResult Sema::CreateBuiltinMatrixSubscriptExpr(Expr *Base, Expr *RowIdx, in CreateBuiltinMatrixSubscriptExpr()
5040 void Sema::CheckAddressOfNoDeref(const Expr *E) { in CheckAddressOfNoDeref()
5053 void Sema::CheckSubscriptAccessOfNoDeref(const ArraySubscriptExpr *E) { in CheckSubscriptAccessOfNoDeref()
5088 ExprResult Sema::ActOnOMPArraySectionExpr(Expr *Base, SourceLocation LBLoc, in ActOnOMPArraySectionExpr()
5274 ExprResult Sema::ActOnOMPArrayShapingExpr(Expr *Base, SourceLocation LParenLoc, in ActOnOMPArrayShapingExpr()
5349 ExprResult Sema::ActOnOMPIteratorExpr(Scope *S, SourceLocation IteratorKwLoc, in ActOnOMPIteratorExpr()
5636 Sema::CreateBuiltinArraySubscriptExpr(Expr *Base, SourceLocation LLoc, in CreateBuiltinArraySubscriptExpr()
5858 bool Sema::CheckCXXDefaultArgExpr(SourceLocation CallLoc, FunctionDecl *FD, in CheckCXXDefaultArgExpr()
5912 ExprResult Sema::BuildCXXDefaultArgExpr(SourceLocation CallLoc, in BuildCXXDefaultArgExpr()
5920 Sema::VariadicCallType
5921 Sema::getVariadicCallType(FunctionDecl *FDecl, const FunctionProtoType *Proto, in getVariadicCallType()
5942 FunctionCallCCC(Sema &SemaRef, const IdentifierInfo *FuncName, in FunctionCallCCC()
5965 static TypoCorrection TryTypoCorrectionForCall(Sema &S, Expr *Fn, in TryTypoCorrectionForCall()
5974 DeclarationNameInfo(FuncName, NameLoc), Sema::LookupOrdinaryName, in TryTypoCorrectionForCall()
5976 Sema::CTK_ErrorRecovery)) { in TryTypoCorrectionForCall()
6010 Sema::ConvertArgumentsForCall(CallExpr *Call, Expr *Fn, in ConvertArgumentsForCall()
6127 bool Sema::GatherArgumentsForCall(SourceLocation CallLoc, FunctionDecl *FDecl, in GatherArgumentsForCall()
6231 static void DiagnoseCalleeStaticArrayParam(Sema &S, ParmVarDecl *PVD) { in DiagnoseCalleeStaticArrayParam()
6249 Sema::CheckStaticArrayArgument(SourceLocation CallLoc, in CheckStaticArrayArgument()
6303 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *fn);
6369 static bool checkArgsForPlaceholders(Sema &S, MultiExprArg args) { in checkArgsForPlaceholders()
6394 static FunctionDecl *rewriteBuiltinFunctionDecl(Sema *Sema, ASTContext &Context, in rewriteBuiltinFunctionDecl() argument
6413 Sema->DefaultFunctionArrayLvalueConversion(ArgExprs[i++]); in rewriteBuiltinFunctionDecl()
6448 /*TInfo=*/nullptr, SC_Extern, Sema->getCurFPFeatures().isFPConstrained(), in rewriteBuiltinFunctionDecl()
6463 Sema->mergeDeclAttributes(OverloadDecl, FDecl); in rewriteBuiltinFunctionDecl()
6467 static void checkDirectCallValidity(Sema &S, const Expr *Fn, in checkDirectCallValidity()
6495 const UnresolvedMemberExpr *const UME, Sema &S) { in enclosingClassIsRelatedToClassInWhichMembersWereFound()
6498 [](Sema &S) -> const CXXRecordDecl * { in enclosingClassIsRelatedToClassInWhichMembersWereFound()
6537 Sema &S, const UnresolvedMemberExpr *const UME, SourceLocation CallLoc) { in tryImplicitlyCaptureThisIfImplicitMemberFunctionAccessWithDependentArgs()
6577 static void DiagnosedUnqualifiedCallsToStdFunctions(Sema &S, CallExpr *Call) { in DiagnosedUnqualifiedCallsToStdFunctions()
6606 ExprResult Sema::ActOnCallExpr(Scope *Scope, Expr *Fn, SourceLocation LParenLoc, in ActOnCallExpr()
6641 ExprResult Sema::BuildCallExpr(Scope *Scope, Expr *Fn, SourceLocation LParenLoc, in BuildCallExpr()
6848 Expr *Sema::BuildBuiltinCallExpr(SourceLocation Loc, Builtin::ID Id, in BuildBuiltinCallExpr()
6852 Sema::LookupOrdinaryName); in BuildBuiltinCallExpr()
6873 ExprResult Sema::ActOnAsTypeExpr(Expr *E, ParsedType ParsedDestTy, in ActOnAsTypeExpr()
6881 ExprResult Sema::BuildAsTypeExpr(Expr *E, QualType DestTy, in BuildAsTypeExpr()
6900 ExprResult Sema::ActOnConvertVectorExpr(Expr *E, ParsedType ParsedDestTy, in ActOnConvertVectorExpr()
6914 ExprResult Sema::BuildResolvedCallExpr(Expr *Fn, NamedDecl *NDecl, in BuildResolvedCallExpr()
7207 Sema::ActOnCompoundLiteral(SourceLocation LParenLoc, ParsedType Ty, in ActOnCompoundLiteral()
7221 Sema::BuildCompoundLiteralExpr(SourceLocation LParenLoc, TypeSourceInfo *TInfo, in BuildCompoundLiteralExpr()
7333 Sema::ActOnInitList(SourceLocation LBraceLoc, MultiExprArg InitArgList, in ActOnInitList()
7401 Sema::BuildInitList(SourceLocation LBraceLoc, MultiExprArg InitArgList, in BuildInitList()
7427 void Sema::maybeExtendBlockObject(ExprResult &E) { in maybeExtendBlockObject()
7442 CastKind Sema::PrepareCastToObjCObjectPointer(ExprResult &E) { in PrepareCastToObjCObjectPointer()
7457 CastKind Sema::PrepareScalarCast(ExprResult &Src, QualType DestTy) { in PrepareScalarCast()
7689 bool Sema::isValidSveBitcast(QualType srcTy, QualType destTy) { in isValidSveBitcast()
7707 bool Sema::areMatrixTypesOfTheSameDimension(QualType srcTy, QualType destTy) { in areMatrixTypesOfTheSameDimension()
7718 bool Sema::areVectorTypesSameSize(QualType SrcTy, QualType DestTy) { in areVectorTypesSameSize()
7738 bool Sema::anyAltivecTypes(QualType SrcTy, QualType DestTy) { in anyAltivecTypes()
7753 bool Sema::areSameVectorElemTypes(QualType SrcTy, QualType DestTy) { in areSameVectorElemTypes()
7774 bool Sema::areLaxCompatibleVectorTypes(QualType srcTy, QualType destTy) { in areLaxCompatibleVectorTypes()
7790 bool Sema::isLaxVectorConversion(QualType srcTy, QualType destTy) { in isLaxVectorConversion()
7818 bool Sema::CheckMatrixCast(SourceRange R, QualType DestTy, QualType SrcTy, in CheckMatrixCast()
7839 bool Sema::CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty, in CheckVectorCast()
7859 ExprResult Sema::prepareVectorSplat(QualType VectorTy, Expr *SplattedExpr) { in prepareVectorSplat()
7892 ExprResult Sema::CheckExtVectorCast(SourceRange R, QualType DestTy, in CheckExtVectorCast()
7927 Sema::ActOnCastExpr(Scope *S, SourceLocation LParenLoc, in ActOnCastExpr()
8000 ExprResult Sema::BuildVectorLiteral(SourceLocation LParenLoc, in BuildVectorLiteral()
8086 Sema::MaybeConvertParenListExprToParenExpr(Scope *S, Expr *OrigExpr) { in MaybeConvertParenListExprToParenExpr()
8102 ExprResult Sema::ActOnParenListExpr(SourceLocation L, in ActOnParenListExpr()
8111 bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr, in DiagnoseConditionalForNull()
8150 static bool checkCondition(Sema &S, Expr *Cond, SourceLocation QuestionLoc) { in checkCondition()
8169 static QualType checkConditionalVoidType(Sema &S, ExprResult &LHS, in checkConditionalVoidType()
8187 static bool checkConditionalNullPointer(Sema &S, ExprResult &NullExpr, in checkConditionalNullPointer()
8200 static QualType checkConditionalPointerCompatibility(Sema &S, ExprResult &LHS, in checkConditionalPointerCompatibility()
8329 static QualType checkConditionalBlockPointerCompatibility(Sema &S, in checkConditionalBlockPointerCompatibility()
8355 checkConditionalObjectPointersCompatibility(Sema &S, ExprResult &LHS, in checkConditionalObjectPointersCompatibility()
8394 static bool checkPointerIntegerMismatch(Sema &S, ExprResult &Int, in checkPointerIntegerMismatch()
8424 static QualType OpenCLArithmeticConversions(Sema &S, ExprResult &LHS, in OpenCLArithmeticConversions()
8479 OpenCLConvertScalarsToVectors(Sema &S, ExprResult &LHS, ExprResult &RHS, in OpenCLConvertScalarsToVectors()
8513 static bool checkOpenCLConditionVector(Sema &S, Expr *Cond, in checkOpenCLConditionVector()
8533 static bool checkVectorResult(Sema &S, QualType CondTy, QualType VecResTy, in checkVectorResult()
8561 OpenCLCheckVectorConditional(Sema &S, ExprResult &Cond, in OpenCLCheckVectorConditional()
8599 static bool checkBlockType(Sema &S, const Expr *E) { in checkBlockType()
8613 QualType Sema::CheckConditionalOperands(ExprResult &Cond, ExprResult &LHS, in CheckConditionalOperands()
8783 QualType Sema::FindCompositeObjCPointerType(ExprResult &LHS, ExprResult &RHS, in FindCompositeObjCPointerType()
8925 static void SuggestParentheses(Sema &Self, SourceLocation Loc, in SuggestParentheses()
9022 static void DiagnoseConditionalPrecedence(Sema &Self, in DiagnoseConditionalPrecedence()
9112 ExprResult Sema::ActOnConditionalOp(SourceLocation QuestionLoc, in ActOnConditionalOp()
9218 static bool IsInvalidCmseNSCallConversion(Sema &S, QualType FromType, in IsInvalidCmseNSCallConversion()
9238 static Sema::AssignConvertType
9239 checkPointerTypesForAssignment(Sema &S, QualType LHSType, QualType RHSType) { in checkPointerTypesForAssignment()
9251 Sema::AssignConvertType ConvTy = Sema::Compatible; in checkPointerTypesForAssignment()
9268 return Sema::IncompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
9280 ConvTy = Sema::IncompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
9284 else ConvTy = Sema::CompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
9296 return Sema::FunctionVoidPointer; in checkPointerTypesForAssignment()
9305 return Sema::FunctionVoidPointer; in checkPointerTypesForAssignment()
9329 if (ConvTy != Sema::Compatible) in checkPointerTypesForAssignment()
9332 return Sema::IncompatiblePointerSign; in checkPointerTypesForAssignment()
9355 return Sema::IncompatibleNestedPointerAddressSpaceMismatch; in checkPointerTypesForAssignment()
9360 return Sema::IncompatibleNestedPointerQualifiers; in checkPointerTypesForAssignment()
9365 return Sema::IncompatibleFunctionPointer; in checkPointerTypesForAssignment()
9366 return Sema::IncompatiblePointer; in checkPointerTypesForAssignment()
9370 return Sema::IncompatibleFunctionPointer; in checkPointerTypesForAssignment()
9372 return Sema::IncompatibleFunctionPointer; in checkPointerTypesForAssignment()
9380 static Sema::AssignConvertType
9381 checkBlockPointerTypesForAssignment(Sema &S, QualType LHSType, in checkBlockPointerTypesForAssignment()
9394 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
9396 Sema::AssignConvertType ConvTy = Sema::Compatible; in checkBlockPointerTypesForAssignment()
9406 ConvTy = Sema::CompatiblePointerDiscardsQualifiers; in checkBlockPointerTypesForAssignment()
9422 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
9424 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
9431 static Sema::AssignConvertType
9432 checkObjCPointerTypesForAssignment(Sema &S, QualType LHSType, in checkObjCPointerTypesForAssignment()
9441 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
9442 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
9447 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
9448 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
9456 return Sema::CompatiblePointerDiscardsQualifiers; in checkObjCPointerTypesForAssignment()
9459 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
9461 return Sema::IncompatibleObjCQualifiedId; in checkObjCPointerTypesForAssignment()
9462 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
9465 Sema::AssignConvertType
9466 Sema::CheckAssignmentConstraints(SourceLocation Loc, in CheckAssignmentConstraints()
9504 Sema::AssignConvertType
9505 Sema::CheckAssignmentConstraints(QualType LHSType, ExprResult &RHS, in CheckAssignmentConstraints()
9533 Sema::AssignConvertType result = in CheckAssignmentConstraints()
9746 Sema::AssignConvertType result = in CheckAssignmentConstraints()
9845 static void ConstructTransparentUnion(Sema &S, ASTContext &C, in ConstructTransparentUnion()
9863 Sema::AssignConvertType
9864 Sema::CheckTransparentUnionArgumentConstraints(QualType ArgType, in CheckTransparentUnionArgumentConstraints()
9915 Sema::AssignConvertType
9916 Sema::CheckSingleAssignmentConstraints(QualType LHSType, ExprResult &CallerRHS, in CheckSingleAssignmentConstraints()
9965 Sema::AssignConvertType result = Compatible; in CheckSingleAssignmentConstraints()
10024 Sema::AssignConvertType result = in CheckSingleAssignmentConstraints()
10088 QualType Sema::InvalidOperands(SourceLocation Loc, ExprResult &LHS, in InvalidOperands()
10115 QualType Sema::InvalidLogicalVectorOperands(SourceLocation Loc, ExprResult &LHS, in InvalidLogicalVectorOperands()
10151 static bool tryVectorConvertAndSplat(Sema &S, ExprResult *scalar, in tryVectorConvertAndSplat()
10198 static ExprResult convertVector(Expr *E, QualType ElementType, Sema &S) { in convertVector()
10219 static bool canConvertIntToOtherIntTy(Sema &S, ExprResult *Int, in canConvertIntToOtherIntTy()
10257 static bool canConvertIntTyToFloatTy(Sema &S, ExprResult *Int, in canConvertIntTyToFloatTy()
10301 static bool tryGCCVectorConvertAndSplat(Sema &S, ExprResult *Scalar, in tryGCCVectorConvertAndSplat()
10395 QualType Sema::CheckVectorOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorOperands()
10615 QualType Sema::CheckSizelessVectorOperands(ExprResult &LHS, ExprResult &RHS, in CheckSizelessVectorOperands()
10693 static void checkArithmeticNull(Sema &S, ExprResult &LHS, ExprResult &RHS, in checkArithmeticNull()
10729 static void DiagnoseDivisionSizeofPointerOrArray(Sema &S, Expr *LHS, Expr *RHS, in DiagnoseDivisionSizeofPointerOrArray()
10777 static void DiagnoseBadDivideOrRemainderValues(Sema& S, ExprResult &LHS, in DiagnoseBadDivideOrRemainderValues()
10790 QualType Sema::CheckMultiplyDivideOperands(ExprResult &LHS, ExprResult &RHS, in CheckMultiplyDivideOperands()
10829 QualType Sema::CheckRemainderOperands( in CheckRemainderOperands()
10867 static void diagnoseArithmeticOnTwoVoidPointers(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnTwoVoidPointers()
10877 static void diagnoseArithmeticOnVoidPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnVoidPointer()
10890 static void diagnoseArithmeticOnNullPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnNullPointer()
10902 static void diagnoseSubtractionOnNullPointer(Sema &S, SourceLocation Loc, in diagnoseSubtractionOnNullPointer()
10919 static void diagnoseArithmeticOnTwoFunctionPointers(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnTwoFunctionPointers()
10935 static void diagnoseArithmeticOnFunctionPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnFunctionPointer()
10949 static bool checkArithmeticIncompletePointerType(Sema &S, SourceLocation Loc, in checkArithmeticIncompletePointerType()
10971 static bool checkArithmeticOpPointerOperand(Sema &S, SourceLocation Loc, in checkArithmeticOpPointerOperand()
11003 static bool checkArithmeticBinOpPointerOperands(Sema &S, SourceLocation Loc, in checkArithmeticBinOpPointerOperands()
11056 static void diagnoseStringPlusInt(Sema &Self, SourceLocation OpLoc, in diagnoseStringPlusInt()
11086 static void diagnoseStringPlusChar(Sema &Self, SourceLocation OpLoc, in diagnoseStringPlusChar()
11137 static void diagnosePointerIncompatibility(Sema &S, SourceLocation Loc, in diagnosePointerIncompatibility()
11147 QualType Sema::CheckAdditionOperands(ExprResult &LHS, ExprResult &RHS, in CheckAdditionOperands()
11262 QualType Sema::CheckSubtractionOperands(ExprResult &LHS, ExprResult &RHS, in CheckSubtractionOperands()
11408 static void DiagnoseBadShiftValues(Sema& S, ExprResult &LHS, ExprResult &RHS, in DiagnoseBadShiftValues()
11510 static QualType checkVectorShift(Sema &S, ExprResult &LHS, ExprResult &RHS, in checkVectorShift()
11604 static QualType checkSizelessVectorShift(Sema &S, ExprResult &LHS, in checkSizelessVectorShift()
11696 QualType Sema::CheckShiftOperands(ExprResult &LHS, ExprResult &RHS, in CheckShiftOperands()
11760 static void diagnoseDistinctPointerComparison(Sema &S, SourceLocation Loc, in diagnoseDistinctPointerComparison()
11771 static bool convertPointersToCompositeType(Sema &S, SourceLocation Loc, in convertPointersToCompositeType()
11800 static void diagnoseFunctionPointerToVoidComparison(Sema &S, SourceLocation Loc, in diagnoseFunctionPointerToVoidComparison()
11823 static bool hasIsEqualMethod(Sema &S, const Expr *LHS, const Expr *RHS) { in hasIsEqualMethod()
11869 Sema::ObjCLiteralKind Sema::CheckLiteralKind(Expr *FromE) { in CheckLiteralKind()
11911 static void diagnoseObjCLiteralComparison(Sema &S, SourceLocation Loc, in diagnoseObjCLiteralComparison()
11933 Sema::ObjCLiteralKind LiteralKind = S.CheckLiteralKind(Literal); in diagnoseObjCLiteralComparison()
11934 assert(LiteralKind != Sema::LK_Block); in diagnoseObjCLiteralComparison()
11935 if (LiteralKind == Sema::LK_None) { in diagnoseObjCLiteralComparison()
11939 if (LiteralKind == Sema::LK_String) in diagnoseObjCLiteralComparison()
11961 static void diagnoseLogicalNotOnLHSofCheck(Sema &S, ExprResult &LHS, in diagnoseLogicalNotOnLHSofCheck()
12017 static void diagnoseTautologicalComparison(Sema &S, SourceLocation Loc, in diagnoseTautologicalComparison()
12181 static bool checkThreeWayNarrowingConversion(Sema &S, QualType ToType, Expr *E, in checkThreeWayNarrowingConversion()
12224 static QualType checkArithmeticOrEnumeralThreeWayCompare(Sema &S, in checkArithmeticOrEnumeralThreeWayCompare()
12282 S.UsualArithmeticConversions(LHS, RHS, Loc, Sema::ACK_Comparison); in checkArithmeticOrEnumeralThreeWayCompare()
12303 *CCT, Loc, Sema::ComparisonCategoryUsage::OperatorInExpression); in checkArithmeticOrEnumeralThreeWayCompare()
12306 static QualType checkArithmeticOrEnumeralCompare(Sema &S, ExprResult &LHS, in checkArithmeticOrEnumeralCompare()
12315 S.UsualArithmeticConversions(LHS, RHS, Loc, Sema::ACK_Comparison); in checkArithmeticOrEnumeralCompare()
12333 void Sema::CheckPtrComparisonWithNullChar(ExprResult &E, ExprResult &NullE) { in CheckPtrComparisonWithNullChar()
12360 QualType Sema::CheckCompareOperands(ExprResult &LHS, ExprResult &RHS, in CheckCompareOperands()
12825 QualType Sema::GetSignedVectorType(QualType V) { in GetSignedVectorType()
12868 QualType Sema::GetSignedSizelessVectorType(QualType V) { in GetSignedSizelessVectorType()
12884 QualType Sema::CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorCompareOperands()
12945 QualType Sema::CheckSizelessVectorCompareOperands(ExprResult &LHS, in CheckSizelessVectorCompareOperands()
12986 static void diagnoseXorMisusedAsPow(Sema &S, const ExprResult &XorLHS, in diagnoseXorMisusedAsPow()
13108 QualType Sema::CheckVectorLogicalOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorLogicalOperands()
13133 QualType Sema::CheckMatrixElementwiseOperands(ExprResult &LHS, ExprResult &RHS, in CheckMatrixElementwiseOperands()
13179 QualType Sema::CheckMatrixMultiplyOperands(ExprResult &LHS, ExprResult &RHS, in CheckMatrixMultiplyOperands()
13224 inline QualType Sema::CheckBitwiseOperands(ExprResult &LHS, ExprResult &RHS, in CheckBitwiseOperands()
13288 inline QualType Sema::CheckLogicalOperands(ExprResult &LHS, ExprResult &RHS, in CheckLogicalOperands()
13391 static bool IsReadonlyMessage(Expr *E, Sema &S) { in IsReadonlyMessage()
13405 static NonConstCaptureKind isReferenceToNonConstCapture(Sema &S, Expr *E) { in isReferenceToNonConstCapture()
13463 static void DiagnoseConstAssignment(Sema &S, const Expr *E, in DiagnoseConstAssignment()
13588 static void DiagnoseRecursiveConstFields(Sema &S, const ValueDecl *VD, in DiagnoseRecursiveConstFields()
13629 static void DiagnoseRecursiveConstFields(Sema &S, const Expr *E, in DiagnoseRecursiveConstFields()
13652 static bool CheckForModifiableLvalue(Expr *E, SourceLocation Loc, Sema &S) { in CheckForModifiableLvalue()
13782 Sema &Sema) { in CheckIdentityFieldAssignment() argument
13783 if (Sema.inTemplateInstantiation()) in CheckIdentityFieldAssignment()
13785 if (Sema.isUnevaluatedContext()) in CheckIdentityFieldAssignment()
13810 Sema.Diag(Loc, diag::warn_identity_field_assign) << 0; in CheckIdentityFieldAssignment()
13820 Sema.Diag(Loc, diag::warn_identity_field_assign) << 1; in CheckIdentityFieldAssignment()
13825 QualType Sema::CheckAssignmentOperands(Expr *LHSExpr, ExprResult &RHS, in CheckAssignmentOperands()
13989 void Sema::DiagnoseCommaOperator(const Expr *LHS, SourceLocation Loc) { in DiagnoseCommaOperator()
14038 static QualType CheckCommaOperands(Sema &S, ExprResult &LHS, ExprResult &RHS, in CheckCommaOperands()
14074 static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op, in CheckIncrementDecrementOperand()
14239 static void diagnoseAddressOfInvalidType(Sema &S, SourceLocation Loc, in diagnoseAddressOfInvalidType()
14251 QualType Sema::CheckAddressOfOperand(ExprResult &OrigOp, SourceLocation OpLoc) { in CheckAddressOfOperand()
14470 static void RecordModifiableNonNullParam(Sema &S, const Expr *Exp) { in RecordModifiableNonNullParam()
14488 static QualType CheckIndirectionOperand(Sema &S, Expr *Op, ExprValueKind &VK, in CheckIndirectionOperand()
14549 BinaryOperatorKind Sema::ConvertTokenKindToBinaryOpcode(tok::TokenKind Kind) { in ConvertTokenKindToBinaryOpcode()
14611 Sema::getSelfAssignmentClassMemberCandidate(const ValueDecl *SelfAssigned) { in getSelfAssignmentClassMemberCandidate()
14646 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment()
14688 static void checkObjCPointerIntrospection(Sema &S, ExprResult &L, ExprResult &R, in checkObjCPointerIntrospection()
14744 static ExprResult convertHalfVecBinOp(Sema &S, ExprResult LHS, ExprResult RHS, in convertHalfVecBinOp()
14777 CorrectDelayedTyposInBinOp(Sema &S, BinaryOperatorKind Opc, Expr *LHSExpr, in CorrectDelayedTyposInBinOp()
14827 ExprResult Sema::CreateBuiltinBinOp(SourceLocation OpLoc, in CreateBuiltinBinOp()
15112 static void DiagnoseBitwisePrecedence(Sema &Self, BinaryOperatorKind Opc, in DiagnoseBitwisePrecedence()
15155 EmitDiagnosticForLogicalAndInLogicalOr(Sema &Self, SourceLocation OpLoc, in EmitDiagnosticForLogicalAndInLogicalOr()
15168 static bool EvaluatesAsTrue(Sema &S, Expr *E) { in EvaluatesAsTrue()
15176 static bool EvaluatesAsFalse(Sema &S, Expr *E) { in EvaluatesAsFalse()
15183 static void DiagnoseLogicalAndInLogicalOrLHS(Sema &S, SourceLocation OpLoc, in DiagnoseLogicalAndInLogicalOrLHS()
15205 static void DiagnoseLogicalAndInLogicalOrRHS(Sema &S, SourceLocation OpLoc, in DiagnoseLogicalAndInLogicalOrRHS()
15222 static void DiagnoseBitwiseOpInBitwiseOp(Sema &S, BinaryOperatorKind Opc, in DiagnoseBitwiseOpInBitwiseOp()
15237 static void DiagnoseAdditionInShift(Sema &S, SourceLocation OpLoc, in DiagnoseAdditionInShift()
15251 static void DiagnoseShiftCompare(Sema &S, SourceLocation OpLoc, in DiagnoseShiftCompare()
15279 static void DiagnoseBinOpPrecedence(Sema &Self, BinaryOperatorKind Opc, in DiagnoseBinOpPrecedence()
15314 ExprResult Sema::ActOnBinOp(Scope *S, SourceLocation TokLoc, in ActOnBinOp()
15327 void Sema::LookupBinOp(Scope *S, SourceLocation OpLoc, BinaryOperatorKind Opc, in LookupBinOp()
15341 static ExprResult BuildOverloadedBinOp(Sema &S, Scope *Sc, SourceLocation OpLoc, in BuildOverloadedBinOp()
15368 ExprResult Sema::BuildBinOp(Scope *S, SourceLocation OpLoc, in BuildBinOp()
15525 ExprResult Sema::CreateBuiltinUnaryOp(SourceLocation OpLoc, in CreateBuiltinUnaryOp()
15759 bool Sema::isQualifiedMemberAccess(Expr *E) { in isQualifiedMemberAccess()
15796 ExprResult Sema::BuildUnaryOp(Scope *S, SourceLocation OpLoc, in BuildUnaryOp()
15840 ExprResult Sema::ActOnUnaryOp(Scope *S, SourceLocation OpLoc, in ActOnUnaryOp()
15846 ExprResult Sema::ActOnAddrLabel(SourceLocation OpLoc, SourceLocation LabLoc, in ActOnAddrLabel()
15854 void Sema::ActOnStartStmtExpr() { in ActOnStartStmtExpr()
15858 void Sema::ActOnStmtExprError() { in ActOnStmtExprError()
15866 ExprResult Sema::ActOnStmtExpr(Scope *S, SourceLocation LPLoc, Stmt *SubStmt, in ActOnStmtExpr()
15871 ExprResult Sema::BuildStmtExpr(SourceLocation LPLoc, Stmt *SubStmt, in BuildStmtExpr()
15910 ExprResult Sema::ActOnStmtExprResult(ExprResult ER) { in ActOnStmtExprResult()
15941 ExprResult Sema::BuildBuiltinOffsetOf(SourceLocation BuiltinLoc, in BuildBuiltinOffsetOf()
16104 ExprResult Sema::ActOnBuiltinOffsetOf(Scope *S, in ActOnBuiltinOffsetOf()
16123 ExprResult Sema::ActOnChooseExpr(SourceLocation BuiltinLoc, in ActOnChooseExpr()
16162 void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *CurScope) { in ActOnBlockStart()
16191 void Sema::ActOnBlockArguments(SourceLocation CaretLoc, Declarator &ParamInfo, in ActOnBlockArguments()
16309 void Sema::ActOnBlockError(SourceLocation CaretLoc, Scope *CurScope) { in ActOnBlockError()
16321 ExprResult Sema::ActOnBlockStmtExpr(SourceLocation CaretLoc, in ActOnBlockStmtExpr()
16506 ExprResult Sema::ActOnVAArg(SourceLocation BuiltinLoc, Expr *E, ParsedType Ty, in ActOnVAArg()
16513 ExprResult Sema::BuildVAArgExpr(SourceLocation BuiltinLoc, in BuildVAArgExpr()
16665 ExprResult Sema::ActOnGNUNullExpr(SourceLocation TokenLoc) { in ActOnGNUNullExpr()
16683 static CXXRecordDecl *LookupStdSourceLocationImpl(Sema &S, SourceLocation Loc) { in LookupStdSourceLocationImpl()
16689 Loc, Sema::LookupOrdinaryName); in LookupStdSourceLocationImpl()
16693 Loc, Sema::LookupOrdinaryName); in LookupStdSourceLocationImpl()
16750 ExprResult Sema::ActOnSourceLocExpr(SourceLocExpr::IdentKind Kind, in ActOnSourceLocExpr()
16781 ExprResult Sema::BuildSourceLocExpr(SourceLocExpr::IdentKind Kind, in BuildSourceLocExpr()
16790 bool Sema::CheckConversionToObjCLiteral(QualType DstType, Expr *&Exp, in CheckConversionToObjCLiteral()
16845 static bool maybeDiagnoseAssignmentToFunction(Sema &S, QualType DstType, in maybeDiagnoseAssignmentToFunction()
16864 bool Sema::DiagnoseAssignmentResult(AssignConvertType ConvTy, in DiagnoseAssignmentResult()
17143 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E, in VerifyIntegerConstantExpression()
17148 SemaDiagnosticBuilder diagnoseNotICEType(Sema &S, SourceLocation Loc, in VerifyIntegerConstantExpression()
17153 SemaDiagnosticBuilder diagnoseNotICE(Sema &S, SourceLocation Loc) override { in VerifyIntegerConstantExpression()
17161 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E, in VerifyIntegerConstantExpression()
17172 SemaDiagnosticBuilder diagnoseNotICE(Sema &S, SourceLocation Loc) override { in VerifyIntegerConstantExpression()
17180 Sema::SemaDiagnosticBuilder
17181 Sema::VerifyICEDiagnoser::diagnoseNotICEType(Sema &S, SourceLocation Loc, in diagnoseNotICEType()
17186 Sema::SemaDiagnosticBuilder
17187 Sema::VerifyICEDiagnoser::diagnoseFold(Sema &S, SourceLocation Loc) { in diagnoseFold()
17192 Sema::VerifyIntegerConstantExpression(Expr *E, llvm::APSInt *Result, in VerifyIntegerConstantExpression()
17212 SemaDiagnosticBuilder diagnoseNotInt(Sema &S, SourceLocation Loc, in VerifyIntegerConstantExpression()
17218 Sema &S, SourceLocation Loc, QualType T) override { in VerifyIntegerConstantExpression()
17223 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17228 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17234 Sema &S, SourceLocation Loc, QualType T) override { in VerifyIntegerConstantExpression()
17239 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17245 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17339 TransformToPE(Sema &SemaRef) : BaseTransform(SemaRef) { } in TransformToPE()
17380 ExprResult Sema::TransformToPotentiallyEvaluated(Expr *E) { in TransformToPotentiallyEvaluated()
17390 TypeSourceInfo *Sema::TransformToPotentiallyEvaluated(TypeSourceInfo *TInfo) { in TransformToPotentiallyEvaluated()
17401 Sema::PushExpressionEvaluationContext( in PushExpressionEvaluationContext()
17423 Sema::PushExpressionEvaluationContext( in PushExpressionEvaluationContext()
17432 const DeclRefExpr *CheckPossibleDeref(Sema &S, const Expr *PossibleDeref) { in CheckPossibleDeref()
17459 void Sema::WarnOnPendingNoDerefs(ExpressionEvaluationContextRecord &Rec) { in WarnOnPendingNoDerefs()
17479 void Sema::CheckUnusedVolatileAssignment(Expr *E) { in CheckUnusedVolatileAssignment()
17494 ExprResult Sema::CheckForImmediateInvocation(ExprResult E, FunctionDecl *Decl) { in CheckForImmediateInvocation()
17524 Sema &SemaRef, Sema::ImmediateInvocationCandidate Candidate) { in EvaluateAndDiagnoseImmediateInvocation()
17552 Sema &SemaRef, Sema::ExpressionEvaluationContextRecord &Rec, in RemoveNestedImmediateInvocation()
17553 SmallVector<Sema::ImmediateInvocationCandidate, 4>::reverse_iterator It) { in RemoveNestedImmediateInvocation()
17557 SmallVector<Sema::ImmediateInvocationCandidate, 4> &IISet; in RemoveNestedImmediateInvocation()
17558 SmallVector<Sema::ImmediateInvocationCandidate, 4>::reverse_iterator in RemoveNestedImmediateInvocation()
17560 ComplexRemove(Sema &SemaRef, llvm::SmallPtrSetImpl<DeclRefExpr *> &DR, in RemoveNestedImmediateInvocation()
17561 SmallVector<Sema::ImmediateInvocationCandidate, 4> &II, in RemoveNestedImmediateInvocation()
17562 SmallVector<Sema::ImmediateInvocationCandidate, in RemoveNestedImmediateInvocation()
17567 [E](Sema::ImmediateInvocationCandidate Elem) { in RemoveNestedImmediateInvocation()
17635 HandleImmediateInvocations(Sema &SemaRef, in HandleImmediateInvocations()
17636 Sema::ExpressionEvaluationContextRecord &Rec) { in HandleImmediateInvocations()
17653 Sema::TentativeAnalysisScope DisableDiag(SemaRef); in HandleImmediateInvocations()
17683 void Sema::PopExpressionEvaluationContext() { in PopExpressionEvaluationContext()
17751 void Sema::DiscardCleanupsInEvaluationContext() { in DiscardCleanupsInEvaluationContext()
17759 ExprResult Sema::HandleExprEvaluationContextForTypeof(Expr *E) { in HandleExprEvaluationContextForTypeof()
17771 static bool isPotentiallyConstantEvaluatedContext(Sema &SemaRef) { in isPotentiallyConstantEvaluatedContext()
17775 case Sema::ExpressionEvaluationContext::ConstantEvaluated: in isPotentiallyConstantEvaluatedContext()
17776 case Sema::ExpressionEvaluationContext::ImmediateFunctionContext: in isPotentiallyConstantEvaluatedContext()
17779 case Sema::ExpressionEvaluationContext::PotentiallyEvaluated: in isPotentiallyConstantEvaluatedContext()
17780 case Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed: in isPotentiallyConstantEvaluatedContext()
17781 case Sema::ExpressionEvaluationContext::DiscardedStatement: in isPotentiallyConstantEvaluatedContext()
17783 case Sema::ExpressionEvaluationContext::UnevaluatedList: in isPotentiallyConstantEvaluatedContext()
17792 case Sema::ExpressionEvaluationContext::Unevaluated: in isPotentiallyConstantEvaluatedContext()
17793 case Sema::ExpressionEvaluationContext::UnevaluatedAbstract: in isPotentiallyConstantEvaluatedContext()
17802 static bool funcHasParameterSizeMangling(Sema &S, FunctionDecl *FD) { in funcHasParameterSizeMangling()
17836 static void CheckCompleteParameterTypesForMangler(Sema &S, FunctionDecl *FD, in CheckCompleteParameterTypesForMangler()
17838 class ParamIncompleteTypeDiagnoser : public Sema::TypeDiagnoser { in CheckCompleteParameterTypesForMangler()
17846 void diagnose(Sema &S, SourceLocation Loc, QualType T) override { in CheckCompleteParameterTypesForMangler()
17890 static OdrUseContext isOdrUseContext(Sema &SemaRef) { in isOdrUseContext()
17894 case Sema::ExpressionEvaluationContext::Unevaluated: in isOdrUseContext()
17895 case Sema::ExpressionEvaluationContext::UnevaluatedList: in isOdrUseContext()
17896 case Sema::ExpressionEvaluationContext::UnevaluatedAbstract: in isOdrUseContext()
17899 case Sema::ExpressionEvaluationContext::ConstantEvaluated: in isOdrUseContext()
17900 case Sema::ExpressionEvaluationContext::ImmediateFunctionContext: in isOdrUseContext()
17901 case Sema::ExpressionEvaluationContext::PotentiallyEvaluated: in isOdrUseContext()
17905 case Sema::ExpressionEvaluationContext::DiscardedStatement: in isOdrUseContext()
17909 case Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed: in isOdrUseContext()
17934 void Sema::MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func, in MarkFunctionReferenced()
18183 MarkVarDeclODRUsed(VarDecl *Var, SourceLocation Loc, Sema &SemaRef, in MarkVarDeclODRUsed()
18198 SemaRef.tryCaptureVariable(Var, Loc, Sema::TryCapture_Implicit, in MarkVarDeclODRUsed()
18208 if (VarTarget == Sema::CVT_Host && in MarkVarDeclODRUsed()
18209 (UserTarget == Sema::CFT_Device || UserTarget == Sema::CFT_HostDevice || in MarkVarDeclODRUsed()
18210 UserTarget == Sema::CFT_Global)) { in MarkVarDeclODRUsed()
18222 } else if (VarTarget == Sema::CVT_Device && in MarkVarDeclODRUsed()
18223 (UserTarget == Sema::CFT_Host || in MarkVarDeclODRUsed()
18224 UserTarget == Sema::CFT_HostDevice)) { in MarkVarDeclODRUsed()
18245 void Sema::MarkCaptureUsedInEnclosingContext(VarDecl *Capture, in MarkCaptureUsedInEnclosingContext()
18251 static void diagnoseUncapturableValueReference(Sema &S, SourceLocation loc, in diagnoseUncapturableValueReference()
18326 const bool Diagnose, Sema &S) { in getParentOfCapturingContextOrNull()
18341 const bool Diagnose, Sema &S) { in isVariableCapturable()
18408 Sema &S, bool Invalid) { in captureInBlock()
18477 const bool RefersToCapturedVariable, Sema::TryCaptureKind Kind, in captureInCapturedRegion()
18478 bool IsTopScope, Sema &S, bool Invalid) { in captureInCapturedRegion()
18481 if (IsTopScope && Kind != Sema::TryCapture_Implicit) { in captureInCapturedRegion()
18482 ByRef = (Kind == Sema::TryCapture_ExplicitByRef); in captureInCapturedRegion()
18521 const Sema::TryCaptureKind Kind, in captureInLambda()
18524 Sema &S, bool Invalid) { in captureInLambda()
18527 if (IsTopScope && Kind != Sema::TryCapture_Implicit) { in captureInLambda()
18528 ByRef = (Kind == Sema::TryCapture_ExplicitByRef); in captureInLambda()
18638 static void buildLambdaCaptureFixit(Sema &Sema, LambdaScopeInfo *LSI, in buildLambdaCaptureFixit() argument
18643 bool ShouldOfferCopyFix = canCaptureVariableByCopy(Var, Sema.getASTContext()); in buildLambdaCaptureFixit()
18654 Sema.Diag(VarInsertLoc, diag::note_lambda_variable_capture_fixit) in buildLambdaCaptureFixit()
18660 Sema.Diag(VarInsertLoc, diag::note_lambda_variable_capture_fixit) in buildLambdaCaptureFixit()
18685 if (LSI->isCXXThisCaptured() && !Sema.getLangOpts().CPlusPlus20) in buildLambdaCaptureFixit()
18686 CanDefaultCopyCapture = Sema.getLangOpts().CPlusPlus17 in buildLambdaCaptureFixit()
18695 Sema.Diag(DefaultInsertLoc, diag::note_lambda_default_capture_fixit) in buildLambdaCaptureFixit()
18708 Sema.Diag(DefaultInsertLoc, diag::note_lambda_default_capture_fixit) in buildLambdaCaptureFixit()
18714 bool Sema::tryCaptureVariable( in tryCaptureVariable()
18953 bool Sema::tryCaptureVariable(VarDecl *Var, SourceLocation Loc, in tryCaptureVariable()
18962 bool Sema::NeedToCaptureVariable(VarDecl *Var, SourceLocation Loc) { in NeedToCaptureVariable()
18970 QualType Sema::getCapturedDeclRefType(VarDecl *Var, SourceLocation Loc) { in getCapturedDeclRefType()
19014 static ExprResult rebuildPotentialResultsAsNonOdrUsed(Sema &S, Expr *E, in rebuildPotentialResultsAsNonOdrUsed()
19331 ExprResult Sema::CheckLValueToRValueConversionOperand(Expr *E) { in CheckLValueToRValueConversionOperand()
19338 Sema::NTCUC_LValueToRValueVolatile, in CheckLValueToRValueConversionOperand()
19354 ExprResult Sema::ActOnConstantExpression(ExprResult Res) { in ActOnConstantExpression()
19367 void Sema::CleanupVarDeclMarking() { in CleanupVarDeclMarking()
19393 Sema &SemaRef, SourceLocation Loc, VarDecl *Var, Expr *E, in DoMarkVarDeclReferenced()
19569 void Sema::MarkVariableReferenced(SourceLocation Loc, VarDecl *Var) { in MarkVariableReferenced()
19574 MarkExprReferenced(Sema &SemaRef, SourceLocation Loc, Decl *D, Expr *E, in MarkExprReferenced()
19613 void Sema::MarkDeclRefReferenced(DeclRefExpr *E, const Expr *Base) { in MarkDeclRefReferenced()
19632 void Sema::MarkMemberReferenced(MemberExpr *E) { in MarkMemberReferenced()
19652 void Sema::MarkFunctionParmPackReferenced(FunctionParmPackExpr *E) { in MarkFunctionParmPackReferenced()
19662 void Sema::MarkAnyDeclReferenced(SourceLocation Loc, Decl *D, in MarkAnyDeclReferenced()
19686 Sema &S;
19692 MarkReferencedDecls(Sema &S, SourceLocation Loc) : S(S), Loc(Loc) { } in MarkReferencedDecls()
19703 S, Sema::ExpressionEvaluationContext::ConstantEvaluated); in TraverseTemplateArgument()
19715 void Sema::MarkDeclarationsReferencedInType(SourceLocation Loc, QualType T) { in MarkDeclarationsReferencedInType()
19729 EvaluatedExprMarker(Sema &S, bool SkipLocalVariables, in EvaluatedExprMarker()
19775 void Sema::MarkDeclarationsReferencedInExpr(Expr *E, in MarkDeclarationsReferencedInExpr()
19786 bool Sema::DiagIfReachable(SourceLocation Loc, ArrayRef<const Stmt *> Stmts, in DiagIfReachable()
19829 bool Sema::DiagRuntimeBehavior(SourceLocation Loc, ArrayRef<const Stmt*> Stmts, in DiagRuntimeBehavior()
19856 bool Sema::DiagRuntimeBehavior(SourceLocation Loc, const Stmt *Statement, in DiagRuntimeBehavior()
19862 bool Sema::CheckCallReturnType(QualType ReturnType, SourceLocation Loc, in CheckCallReturnType()
19883 void diagnose(Sema &S, SourceLocation Loc, QualType T) override { in CheckCallReturnType()
19905 void Sema::DiagnoseAssignmentAsCondition(Expr *E) { in DiagnoseAssignmentAsCondition()
19963 void Sema::DiagnoseEqualityWithExtraParens(ParenExpr *ParenE) { in DiagnoseEqualityWithExtraParens()
19990 ExprResult Sema::CheckBooleanCondition(SourceLocation Loc, Expr *E, in CheckBooleanCondition()
20021 Sema::ConditionResult Sema::ActOnCondition(Scope *S, SourceLocation Loc, in ActOnCondition()
20064 Sema &S;
20066 RebuildUnknownAnyFunction(Sema &S) : S(S) {} in RebuildUnknownAnyFunction()
20138 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *FunctionExpr) { in rebuildUnknownAnyFunction()
20152 Sema &S;
20157 RebuildUnknownAnyExpr(Sema &S, QualType CastType) in RebuildUnknownAnyExpr()
20486 ExprResult Sema::checkUnknownAnyCast(SourceRange TypeRange, QualType CastType, in checkUnknownAnyCast()
20506 ExprResult Sema::forceUnknownAnyToType(Expr *E, QualType ToType) { in forceUnknownAnyToType()
20510 ExprResult Sema::checkUnknownAnyArg(SourceLocation callLoc, in checkUnknownAnyArg()
20533 static ExprResult diagnoseUnknownAnyExpr(Sema &S, Expr *E) { in diagnoseUnknownAnyExpr()
20578 ExprResult Sema::CheckPlaceholderExpr(Expr *E) { in CheckPlaceholderExpr()
20739 bool Sema::CheckCaseExpression(Expr *E) { in CheckCaseExpression()
20749 Sema::ActOnObjCBoolLiteral(SourceLocation OpLoc, tok::TokenKind Kind) { in ActOnObjCBoolLiteral()
20755 Sema::LookupOrdinaryName); in ActOnObjCBoolLiteral()
20768 ExprResult Sema::ActOnObjCAvailabilityCheckExpr( in ActOnObjCAvailabilityCheckExpr()
20801 ExprResult Sema::CreateRecoveryExpr(SourceLocation Begin, SourceLocation End, in CreateRecoveryExpr()