Lines Matching refs:Sema

54 bool Sema::CanUseDecl(NamedDecl *D, bool TreatUnavailableAsInvalid) {  in CanUseDecl()
85 static void DiagnoseUnusedOfDecl(Sema &S, NamedDecl *D, SourceLocation Loc) { in DiagnoseUnusedOfDecl()
100 void Sema::NoteDeletedFunction(FunctionDecl *Decl) { in NoteDeletedFunction()
145 static void diagnoseUseOfInternalDeclInInlineFunction(Sema &S, in diagnoseUseOfInternalDeclInInlineFunction()
189 void Sema::MaybeSuggestAddingStaticToDecl(const FunctionDecl *Cur) { in MaybeSuggestAddingStaticToDecl()
212 bool Sema::DiagnoseUseOfDecl(NamedDecl *D, ArrayRef<SourceLocation> Locs, in DiagnoseUseOfDecl()
327 std::string Sema::getDeletedOrUnavailableSuffix(const FunctionDecl *FD) { in getDeletedOrUnavailableSuffix()
339 void Sema::DiagnoseSentinelCalls(NamedDecl *D, SourceLocation Loc, in DiagnoseSentinelCalls()
430 SourceRange Sema::getExprRange(Expr *E) const { in getExprRange()
439 ExprResult Sema::DefaultFunctionArrayConversion(Expr *E, bool Diagnose) { in DefaultFunctionArrayConversion()
477 static void CheckForNullPointerDereference(Sema &S, Expr *E) { in CheckForNullPointerDereference()
496 static void DiagnoseDirectIsaAccess(Sema &S, const ObjCIvarRefExpr *OIRE, in DiagnoseDirectIsaAccess()
553 ExprResult Sema::DefaultLvalueConversion(Expr *E) { in DefaultLvalueConversion()
649 ExprResult Sema::DefaultFunctionArrayLvalueConversion(Expr *E, bool Diagnose) { in DefaultFunctionArrayLvalueConversion()
661 ExprResult Sema::CallExprUnaryConversions(Expr *E) { in CallExprUnaryConversions()
683 ExprResult Sema::UsualUnaryConversions(Expr *E) { in UsualUnaryConversions()
732 ExprResult Sema::DefaultArgumentPromotion(Expr *E) { in DefaultArgumentPromotion()
784 Sema::VarArgKind Sema::isValidVarArgType(const QualType &Ty) { in isValidVarArgType()
834 void Sema::checkVariadicArgument(const Expr *E, VariadicCallType CT) { in checkVariadicArgument()
881 ExprResult Sema::DefaultVariadicArgumentPromotion(Expr *E, VariadicCallType CT, in DefaultVariadicArgumentPromotion()
943 static bool handleIntegerToComplexFloatConversion(Sema &S, ExprResult &IntExpr, in handleIntegerToComplexFloatConversion()
965 static QualType handleComplexFloatConversion(Sema &S, ExprResult &LHS, in handleComplexFloatConversion()
1021 static QualType handleIntToFloatConversion(Sema &S, ExprResult &FloatExpr, in handleIntToFloatConversion()
1052 static QualType handleFloatConversion(Sema &S, ExprResult &LHS, in handleFloatConversion()
1091 static bool unsupportedTypeConversion(const Sema &S, QualType LHSType, in unsupportedTypeConversion()
1129 typedef ExprResult PerformCastFn(Sema &S, Expr *operand, QualType toType);
1134 ExprResult doIntegralCast(Sema &S, Expr *op, QualType toType) { in doIntegralCast()
1138 ExprResult doComplexIntegralCast(Sema &S, Expr *op, QualType toType) { in doComplexIntegralCast()
1147 static QualType handleIntegerConversion(Sema &S, ExprResult &LHS, in handleIntegerConversion()
1197 static QualType handleComplexIntConversion(Sema &S, ExprResult &LHS, in handleComplexIntConversion()
1244 QualType Sema::UsualArithmeticConversions(ExprResult &LHS, ExprResult &RHS, in UsualArithmeticConversions()
1324 Sema::ActOnGenericSelectionExpr(SourceLocation KeyLoc, in ActOnGenericSelectionExpr()
1350 Sema::CreateGenericSelectionExpr(SourceLocation KeyLoc, in CreateGenericSelectionExpr()
1363 *this, Sema::ExpressionEvaluationContext::Unevaluated); in CreateGenericSelectionExpr()
1496 static SourceLocation getUDSuffixLoc(Sema &S, SourceLocation TokLoc, in getUDSuffixLoc()
1504 static ExprResult BuildCookedLiteralOperatorCall(Sema &S, Scope *Scope, in BuildCookedLiteralOperatorCall()
1523 LookupResult R(S, OpName, UDSuffixLoc, Sema::LookupOrdinaryName); in BuildCookedLiteralOperatorCall()
1527 /*DiagnoseMissing*/ true) == Sema::LOLR_Error) in BuildCookedLiteralOperatorCall()
1540 Sema::ActOnStringLiteral(ArrayRef<Token> StringToks, Scope *UDLScope) { in ActOnStringLiteral()
1687 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK, in BuildDeclRefExpr()
1697 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK, in BuildDeclRefExpr()
1760 Sema::DecomposeUnqualifiedId(const UnqualifiedId &Id, in DecomposeUnqualifiedId()
1783 const TypoCorrection &TC, Sema &SemaRef, const CXXScopeSpec &SS, in emitEmptyLookupTypoDiagnostic()
1819 Sema::DiagnoseEmptyLookup(Scope *S, CXXScopeSpec &SS, LookupResult &R, in DiagnoseEmptyLookup()
2026 recoverFromMSUnqualifiedLookup(Sema &S, ASTContext &Context, in recoverFromMSUnqualifiedLookup()
2067 Sema::ActOnIdExpression(Scope *S, CXXScopeSpec &SS, in ActOnIdExpression()
2317 ExprResult Sema::BuildQualifiedDeclarationNameExpr( in BuildQualifiedDeclarationNameExpr()
2400 Sema::LookupInObjCMethod(LookupResult &Lookup, Scope *S, in LookupInObjCMethod()
2547 Sema::PerformObjectMemberConversion(Expr *From, in PerformObjectMemberConversion()
2695 bool Sema::UseArgumentDependentLookup(const CXXScopeSpec &SS, in UseArgumentDependentLookup()
2753 static bool CheckDeclInExpr(Sema &S, SourceLocation Loc, NamedDecl *D) { in CheckDeclInExpr()
2784 ExprResult Sema::BuildDeclarationNameExpr(const CXXScopeSpec &SS, in BuildDeclarationNameExpr()
2819 diagnoseUncapturableValueReference(Sema &S, SourceLocation loc,
2823 ExprResult Sema::BuildDeclarationNameExpr( in BuildDeclarationNameExpr()
3072 ExprResult Sema::BuildPredefinedExpr(SourceLocation Loc, in BuildPredefinedExpr()
3123 ExprResult Sema::ActOnPredefinedExpr(SourceLocation Loc, tok::TokenKind Kind) { in ActOnPredefinedExpr()
3140 ExprResult Sema::ActOnCharacterConstant(const Token &Tok, Scope *UDLScope) { in ActOnCharacterConstant()
3197 ExprResult Sema::ActOnIntegerConstant(SourceLocation Loc, uint64_t Val) { in ActOnIntegerConstant()
3203 static Expr *BuildFloatingLiteral(Sema &S, NumericLiteralParser &Literal, in BuildFloatingLiteral()
3235 bool Sema::CheckLoopHintExpr(Expr *E, SourceLocation Loc) { in CheckLoopHintExpr()
3263 ExprResult Sema::ActOnNumericConstant(const Token &Tok, Scope *UDLScope) { in ActOnNumericConstant()
3600 ExprResult Sema::ActOnParenExpr(SourceLocation L, SourceLocation R, Expr *E) { in ActOnParenExpr()
3605 static bool CheckVecStepTraitOperandType(Sema &S, QualType T, in CheckVecStepTraitOperandType()
3623 static bool CheckExtensionTraitOperandType(Sema &S, QualType T, in CheckExtensionTraitOperandType()
3653 static bool CheckObjCTraitOperandConstraints(Sema &S, QualType T, in CheckObjCTraitOperandConstraints()
3671 static void warnOnSizeofOnArrayDecay(Sema &S, SourceLocation Loc, QualType T, in warnOnSizeofOnArrayDecay()
3694 bool Sema::CheckUnaryExprOrTypeTraitOperand(Expr *E, in CheckUnaryExprOrTypeTraitOperand()
3787 bool Sema::CheckUnaryExprOrTypeTraitOperand(QualType ExprType, in CheckUnaryExprOrTypeTraitOperand()
3836 static bool CheckAlignOfExpr(Sema &S, Expr *E, UnaryExprOrTypeTrait ExprKind) { in CheckAlignOfExpr()
3893 bool Sema::CheckVecStepExpr(Expr *E) { in CheckVecStepExpr()
4029 Sema::CreateUnaryExprOrTypeTraitExpr(TypeSourceInfo *TInfo, in CreateUnaryExprOrTypeTraitExpr()
4074 Sema::CreateUnaryExprOrTypeTraitExpr(Expr *E, SourceLocation OpLoc, in CreateUnaryExprOrTypeTraitExpr()
4118 Sema::ActOnUnaryExprOrTypeTraitExpr(SourceLocation OpLoc, in ActOnUnaryExprOrTypeTraitExpr()
4135 static QualType CheckRealImagOperand(Sema &S, ExprResult &V, SourceLocation Loc, in CheckRealImagOperand()
4172 Sema::ActOnPostfixUnaryOp(Scope *S, SourceLocation OpLoc, in ActOnPostfixUnaryOp()
4192 static bool checkArithmeticOnObjCPointer(Sema &S, in checkArithmeticOnObjCPointer()
4206 static bool isMSPropertySubscriptExpr(Sema &S, Expr *Base) { in isMSPropertySubscriptExpr()
4214 Sema::ActOnArraySubscriptExpr(Scope *S, Expr *base, SourceLocation lbLoc, in ActOnArraySubscriptExpr()
4294 void Sema::CheckAddressOfNoDeref(const Expr *E) { in CheckAddressOfNoDeref()
4307 void Sema::CheckSubscriptAccessOfNoDeref(const ArraySubscriptExpr *E) { in CheckSubscriptAccessOfNoDeref()
4339 ExprResult Sema::ActOnOMPArraySectionExpr(Expr *Base, SourceLocation LBLoc, in ActOnOMPArraySectionExpr()
4487 Sema::CreateBuiltinArraySubscriptExpr(Expr *Base, SourceLocation LLoc, in CreateBuiltinArraySubscriptExpr()
4652 bool Sema::CheckCXXDefaultArgExpr(SourceLocation CallLoc, FunctionDecl *FD, in CheckCXXDefaultArgExpr()
4772 ExprResult Sema::BuildCXXDefaultArgExpr(SourceLocation CallLoc, in BuildCXXDefaultArgExpr()
4779 Sema::VariadicCallType
4780 Sema::getVariadicCallType(FunctionDecl *FDecl, const FunctionProtoType *Proto, in getVariadicCallType()
4801 FunctionCallCCC(Sema &SemaRef, const IdentifierInfo *FuncName, in FunctionCallCCC()
4820 static TypoCorrection TryTypoCorrectionForCall(Sema &S, Expr *Fn, in TryTypoCorrectionForCall()
4828 DeclarationNameInfo(FuncName, NameLoc), Sema::LookupOrdinaryName, in TryTypoCorrectionForCall()
4832 Sema::CTK_ErrorRecovery)) { in TryTypoCorrectionForCall()
4866 Sema::ConvertArgumentsForCall(CallExpr *Call, Expr *Fn, in ConvertArgumentsForCall()
4982 bool Sema::GatherArgumentsForCall(SourceLocation CallLoc, FunctionDecl *FDecl, in GatherArgumentsForCall()
5086 static void DiagnoseCalleeStaticArrayParam(Sema &S, ParmVarDecl *PVD) { in DiagnoseCalleeStaticArrayParam()
5104 Sema::CheckStaticArrayArgument(SourceLocation CallLoc, in CheckStaticArrayArgument()
5144 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *fn);
5197 static bool checkArgsForPlaceholders(Sema &S, MultiExprArg args) { in checkArgsForPlaceholders()
5224 static FunctionDecl *rewriteBuiltinFunctionDecl(Sema *Sema, ASTContext &Context, in rewriteBuiltinFunctionDecl() argument
5243 Sema->DefaultFunctionArrayLvalueConversion(ArgExprs[i++]); in rewriteBuiltinFunctionDecl()
5297 static void checkDirectCallValidity(Sema &S, const Expr *Fn, in checkDirectCallValidity()
5324 const UnresolvedMemberExpr *const UME, Sema &S) { in enclosingClassIsRelatedToClassInWhichMembersWereFound()
5327 [](Sema &S) -> const CXXRecordDecl * { in enclosingClassIsRelatedToClassInWhichMembersWereFound()
5366 Sema &S, const UnresolvedMemberExpr *const UME, SourceLocation CallLoc) { in tryImplicitlyCaptureThisIfImplicitMemberFunctionAccessWithDependentArgs()
5407 ExprResult Sema::ActOnCallExpr(Scope *Scope, Expr *Fn, SourceLocation LParenLoc, in ActOnCallExpr()
5548 ExprResult Sema::ActOnAsTypeExpr(Expr *E, ParsedType ParsedDestTy, in ActOnAsTypeExpr()
5569 ExprResult Sema::ActOnConvertVectorExpr(Expr *E, ParsedType ParsedDestTy, in ActOnConvertVectorExpr()
5583 ExprResult Sema::BuildResolvedCallExpr(Expr *Fn, NamedDecl *NDecl, in BuildResolvedCallExpr()
5826 Sema::ActOnCompoundLiteral(SourceLocation LParenLoc, ParsedType Ty, in ActOnCompoundLiteral()
5840 Sema::BuildCompoundLiteralExpr(SourceLocation LParenLoc, TypeSourceInfo *TInfo, in BuildCompoundLiteralExpr()
5926 Sema::ActOnInitList(SourceLocation LBraceLoc, MultiExprArg InitArgList, in ActOnInitList()
5952 void Sema::maybeExtendBlockObject(ExprResult &E) { in maybeExtendBlockObject()
5967 CastKind Sema::PrepareCastToObjCObjectPointer(ExprResult &E) { in PrepareCastToObjCObjectPointer()
5982 CastKind Sema::PrepareScalarCast(ExprResult &Src, QualType DestTy) { in PrepareScalarCast()
6219 bool Sema::areLaxCompatibleVectorTypes(QualType srcTy, QualType destTy) { in areLaxCompatibleVectorTypes()
6246 bool Sema::isLaxVectorConversion(QualType srcTy, QualType destTy) { in isLaxVectorConversion()
6254 bool Sema::CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty, in CheckVectorCast()
6274 ExprResult Sema::prepareVectorSplat(QualType VectorTy, Expr *SplattedExpr) { in prepareVectorSplat()
6307 ExprResult Sema::CheckExtVectorCast(SourceRange R, QualType DestTy, in CheckExtVectorCast()
6342 Sema::ActOnCastExpr(Scope *S, SourceLocation LParenLoc, in ActOnCastExpr()
6416 ExprResult Sema::BuildVectorLiteral(SourceLocation LParenLoc, in BuildVectorLiteral()
6499 Sema::MaybeConvertParenListExprToParenExpr(Scope *S, Expr *OrigExpr) { in MaybeConvertParenListExprToParenExpr()
6515 ExprResult Sema::ActOnParenListExpr(SourceLocation L, in ActOnParenListExpr()
6524 bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr, in DiagnoseConditionalForNull()
6563 static bool checkCondition(Sema &S, Expr *Cond, SourceLocation QuestionLoc) { in checkCondition()
6582 static QualType checkConditionalVoidType(Sema &S, ExprResult &LHS, in checkConditionalVoidType()
6600 static bool checkConditionalNullPointer(Sema &S, ExprResult &NullExpr, in checkConditionalNullPointer()
6613 static QualType checkConditionalPointerCompatibility(Sema &S, ExprResult &LHS, in checkConditionalPointerCompatibility()
6742 static QualType checkConditionalBlockPointerCompatibility(Sema &S, in checkConditionalBlockPointerCompatibility()
6768 checkConditionalObjectPointersCompatibility(Sema &S, ExprResult &LHS, in checkConditionalObjectPointersCompatibility()
6807 static bool checkPointerIntegerMismatch(Sema &S, ExprResult &Int, in checkPointerIntegerMismatch()
6837 static QualType OpenCLArithmeticConversions(Sema &S, ExprResult &LHS, in OpenCLArithmeticConversions()
6892 OpenCLConvertScalarsToVectors(Sema &S, ExprResult &LHS, ExprResult &RHS, in OpenCLConvertScalarsToVectors()
6926 static bool checkOpenCLConditionVector(Sema &S, Expr *Cond, in checkOpenCLConditionVector()
6946 static bool checkVectorResult(Sema &S, QualType CondTy, QualType VecResTy, in checkVectorResult()
6974 OpenCLCheckVectorConditional(Sema &S, ExprResult &Cond, in OpenCLCheckVectorConditional()
7006 static bool checkBlockType(Sema &S, const Expr *E) { in checkBlockType()
7020 QualType Sema::CheckConditionalOperands(ExprResult &Cond, ExprResult &LHS, in CheckConditionalOperands()
7156 QualType Sema::FindCompositeObjCPointerType(ExprResult &LHS, ExprResult &RHS, in FindCompositeObjCPointerType()
7297 static void SuggestParentheses(Sema &Self, SourceLocation Loc, in SuggestParentheses()
7389 static void DiagnoseConditionalPrecedence(Sema &Self, in DiagnoseConditionalPrecedence()
7471 ExprResult Sema::ActOnConditionalOp(SourceLocation QuestionLoc, in ActOnConditionalOp()
7579 static Sema::AssignConvertType
7580 checkPointerTypesForAssignment(Sema &S, QualType LHSType, QualType RHSType) { in checkPointerTypesForAssignment()
7592 Sema::AssignConvertType ConvTy = Sema::Compatible; in checkPointerTypesForAssignment()
7609 ConvTy = Sema::IncompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
7621 ConvTy = Sema::IncompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
7625 else ConvTy = Sema::CompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
7637 return Sema::FunctionVoidPointer; in checkPointerTypesForAssignment()
7646 return Sema::FunctionVoidPointer; in checkPointerTypesForAssignment()
7670 if (ConvTy != Sema::Compatible) in checkPointerTypesForAssignment()
7673 return Sema::IncompatiblePointerSign; in checkPointerTypesForAssignment()
7687 return Sema::IncompatibleNestedPointerQualifiers; in checkPointerTypesForAssignment()
7691 return Sema::IncompatiblePointer; in checkPointerTypesForAssignment()
7695 return Sema::IncompatiblePointer; in checkPointerTypesForAssignment()
7703 static Sema::AssignConvertType
7704 checkBlockPointerTypesForAssignment(Sema &S, QualType LHSType, in checkBlockPointerTypesForAssignment()
7717 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
7719 Sema::AssignConvertType ConvTy = Sema::Compatible; in checkBlockPointerTypesForAssignment()
7729 ConvTy = Sema::CompatiblePointerDiscardsQualifiers; in checkBlockPointerTypesForAssignment()
7745 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
7747 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
7754 static Sema::AssignConvertType
7755 checkObjCPointerTypesForAssignment(Sema &S, QualType LHSType, in checkObjCPointerTypesForAssignment()
7764 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
7765 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
7770 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
7771 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
7779 return Sema::CompatiblePointerDiscardsQualifiers; in checkObjCPointerTypesForAssignment()
7782 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
7784 return Sema::IncompatibleObjCQualifiedId; in checkObjCPointerTypesForAssignment()
7785 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
7788 Sema::AssignConvertType
7789 Sema::CheckAssignmentConstraints(SourceLocation Loc, in CheckAssignmentConstraints()
7827 Sema::AssignConvertType
7828 Sema::CheckAssignmentConstraints(QualType LHSType, ExprResult &RHS, in CheckAssignmentConstraints()
7847 Sema::AssignConvertType result = in CheckAssignmentConstraints()
8041 Sema::AssignConvertType result = in CheckAssignmentConstraints()
8140 static void ConstructTransparentUnion(Sema &S, ASTContext &C, in ConstructTransparentUnion()
8158 Sema::AssignConvertType
8159 Sema::CheckTransparentUnionArgumentConstraints(QualType ArgType, in CheckTransparentUnionArgumentConstraints()
8210 Sema::AssignConvertType
8211 Sema::CheckSingleAssignmentConstraints(QualType LHSType, ExprResult &CallerRHS, in CheckSingleAssignmentConstraints()
8260 Sema::AssignConvertType result = Compatible; in CheckSingleAssignmentConstraints()
8319 Sema::AssignConvertType result = in CheckSingleAssignmentConstraints()
8383 QualType Sema::InvalidOperands(SourceLocation Loc, ExprResult &LHS, in InvalidOperands()
8410 QualType Sema::InvalidLogicalVectorOperands(SourceLocation Loc, ExprResult &LHS, in InvalidLogicalVectorOperands()
8446 static bool tryVectorConvertAndSplat(Sema &S, ExprResult *scalar, in tryVectorConvertAndSplat()
8493 static ExprResult convertVector(Expr *E, QualType ElementType, Sema &S) { in convertVector()
8512 static bool canConvertIntToOtherIntTy(Sema &S, ExprResult *Int, in canConvertIntToOtherIntTy()
8550 static bool canConvertIntTyToFloatTy(Sema &S, ExprResult *Int, in canConvertIntTyToFloatTy()
8594 static bool tryGCCVectorConvertAndSplat(Sema &S, ExprResult *Scalar, in tryGCCVectorConvertAndSplat()
8669 QualType Sema::CheckVectorOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorOperands()
8840 static void checkArithmeticNull(Sema &S, ExprResult &LHS, ExprResult &RHS, in checkArithmeticNull()
8876 static void DiagnoseDivisionSizeofPointer(Sema &S, Expr *LHS, Expr *RHS, in DiagnoseDivisionSizeofPointer()
8902 static void DiagnoseBadDivideOrRemainderValues(Sema& S, ExprResult &LHS, in DiagnoseBadDivideOrRemainderValues()
8915 QualType Sema::CheckMultiplyDivideOperands(ExprResult &LHS, ExprResult &RHS, in CheckMultiplyDivideOperands()
8940 QualType Sema::CheckRemainderOperands( in CheckRemainderOperands()
8965 static void diagnoseArithmeticOnTwoVoidPointers(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnTwoVoidPointers()
8975 static void diagnoseArithmeticOnVoidPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnVoidPointer()
8988 static void diagnoseArithmeticOnNullPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnNullPointer()
8999 static void diagnoseArithmeticOnTwoFunctionPointers(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnTwoFunctionPointers()
9015 static void diagnoseArithmeticOnFunctionPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnFunctionPointer()
9029 static bool checkArithmeticIncompletePointerType(Sema &S, SourceLocation Loc, in checkArithmeticIncompletePointerType()
9050 static bool checkArithmeticOpPointerOperand(Sema &S, SourceLocation Loc, in checkArithmeticOpPointerOperand()
9082 static bool checkArithmeticBinOpPointerOperands(Sema &S, SourceLocation Loc, in checkArithmeticBinOpPointerOperands()
9137 static void diagnoseStringPlusInt(Sema &Self, SourceLocation OpLoc, in diagnoseStringPlusInt()
9167 static void diagnoseStringPlusChar(Sema &Self, SourceLocation OpLoc, in diagnoseStringPlusChar()
9218 static void diagnosePointerIncompatibility(Sema &S, SourceLocation Loc, in diagnosePointerIncompatibility()
9228 QualType Sema::CheckAdditionOperands(ExprResult &LHS, ExprResult &RHS, in CheckAdditionOperands()
9322 QualType Sema::CheckSubtractionOperands(ExprResult &LHS, ExprResult &RHS, in CheckSubtractionOperands()
9438 static void DiagnoseBadShiftValues(Sema& S, ExprResult &LHS, ExprResult &RHS, in DiagnoseBadShiftValues()
9521 static QualType checkVectorShift(Sema &S, ExprResult &LHS, ExprResult &RHS, in checkVectorShift()
9607 QualType Sema::CheckShiftOperands(ExprResult &LHS, ExprResult &RHS, in CheckShiftOperands()
9666 static void checkEnumComparison(Sema &S, SourceLocation Loc, Expr *LHS, in checkEnumComparison()
9695 static void diagnoseDistinctPointerComparison(Sema &S, SourceLocation Loc, in diagnoseDistinctPointerComparison()
9706 static bool convertPointersToCompositeType(Sema &S, SourceLocation Loc, in convertPointersToCompositeType()
9737 static void diagnoseFunctionPointerToVoidComparison(Sema &S, SourceLocation Loc, in diagnoseFunctionPointerToVoidComparison()
9760 static bool hasIsEqualMethod(Sema &S, const Expr *LHS, const Expr *RHS) { in hasIsEqualMethod()
9806 Sema::ObjCLiteralKind Sema::CheckLiteralKind(Expr *FromE) { in CheckLiteralKind()
9848 static void diagnoseObjCLiteralComparison(Sema &S, SourceLocation Loc, in diagnoseObjCLiteralComparison()
9870 Sema::ObjCLiteralKind LiteralKind = S.CheckLiteralKind(Literal); in diagnoseObjCLiteralComparison()
9871 assert(LiteralKind != Sema::LK_Block); in diagnoseObjCLiteralComparison()
9872 if (LiteralKind == Sema::LK_None) { in diagnoseObjCLiteralComparison()
9876 if (LiteralKind == Sema::LK_String) in diagnoseObjCLiteralComparison()
9898 static void diagnoseLogicalNotOnLHSofCheck(Sema &S, ExprResult &LHS, in diagnoseLogicalNotOnLHSofCheck()
9956 static void diagnoseTautologicalComparison(Sema &S, SourceLocation Loc, in diagnoseTautologicalComparison()
10095 static bool checkThreeWayNarrowingConversion(Sema &S, QualType ToType, Expr *E, in checkThreeWayNarrowingConversion()
10138 static QualType checkArithmeticOrEnumeralThreeWayCompare(Sema &S, in checkArithmeticOrEnumeralThreeWayCompare()
10228 static QualType checkArithmeticOrEnumeralCompare(Sema &S, ExprResult &LHS, in checkArithmeticOrEnumeralCompare()
10257 QualType Sema::CheckCompareOperands(ExprResult &LHS, ExprResult &RHS, in CheckCompareOperands()
10698 QualType Sema::GetSignedVectorType(QualType V) { in GetSignedVectorType()
10738 QualType Sema::CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorCompareOperands()
10773 QualType Sema::CheckVectorLogicalOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorLogicalOperands()
10795 inline QualType Sema::CheckBitwiseOperands(ExprResult &LHS, ExprResult &RHS, in CheckBitwiseOperands()
10830 inline QualType Sema::CheckLogicalOperands(ExprResult &LHS, ExprResult &RHS, in CheckLogicalOperands()
10921 static bool IsReadonlyMessage(Expr *E, Sema &S) { in IsReadonlyMessage()
10935 static NonConstCaptureKind isReferenceToNonConstCapture(Sema &S, Expr *E) { in isReferenceToNonConstCapture()
10993 static void DiagnoseConstAssignment(Sema &S, const Expr *E, in DiagnoseConstAssignment()
11118 static void DiagnoseRecursiveConstFields(Sema &S, const ValueDecl *VD, in DiagnoseRecursiveConstFields()
11159 static void DiagnoseRecursiveConstFields(Sema &S, const Expr *E, in DiagnoseRecursiveConstFields()
11182 static bool CheckForModifiableLvalue(Expr *E, SourceLocation Loc, Sema &S) { in CheckForModifiableLvalue()
11312 Sema &Sema) { in CheckIdentityFieldAssignment() argument
11313 if (Sema.inTemplateInstantiation()) in CheckIdentityFieldAssignment()
11315 if (Sema.isUnevaluatedContext()) in CheckIdentityFieldAssignment()
11340 Sema.Diag(Loc, diag::warn_identity_field_assign) << 0; in CheckIdentityFieldAssignment()
11350 Sema.Diag(Loc, diag::warn_identity_field_assign) << 1; in CheckIdentityFieldAssignment()
11355 QualType Sema::CheckAssignmentOperands(Expr *LHSExpr, ExprResult &RHS, in CheckAssignmentOperands()
11494 void Sema::DiagnoseCommaOperator(const Expr *LHS, SourceLocation Loc) { in DiagnoseCommaOperator()
11543 static QualType CheckCommaOperands(Sema &S, ExprResult &LHS, ExprResult &RHS, in CheckCommaOperands()
11579 static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op, in CheckIncrementDecrementOperand()
11732 static void diagnoseAddressOfInvalidType(Sema &S, SourceLocation Loc, in diagnoseAddressOfInvalidType()
11744 QualType Sema::CheckAddressOfOperand(ExprResult &OrigOp, SourceLocation OpLoc) { in CheckAddressOfOperand()
11960 static void RecordModifiableNonNullParam(Sema &S, const Expr *Exp) { in RecordModifiableNonNullParam()
11979 static QualType CheckIndirectionOperand(Sema &S, Expr *Op, ExprValueKind &VK, in CheckIndirectionOperand()
12040 BinaryOperatorKind Sema::ConvertTokenKindToBinaryOpcode(tok::TokenKind Kind) { in ConvertTokenKindToBinaryOpcode()
12103 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment()
12139 static void checkObjCPointerIntrospection(Sema &S, ExprResult &L, ExprResult &R, in checkObjCPointerIntrospection()
12195 static ExprResult convertHalfVecBinOp(Sema &S, ExprResult LHS, ExprResult RHS, in convertHalfVecBinOp()
12228 CorrectDelayedTyposInBinOp(Sema &S, BinaryOperatorKind Opc, Expr *LHSExpr, in CorrectDelayedTyposInBinOp()
12259 ExprResult Sema::CreateBuiltinBinOp(SourceLocation OpLoc, in CreateBuiltinBinOp()
12505 static void DiagnoseBitwisePrecedence(Sema &Self, BinaryOperatorKind Opc, in DiagnoseBitwisePrecedence()
12548 EmitDiagnosticForLogicalAndInLogicalOr(Sema &Self, SourceLocation OpLoc, in EmitDiagnosticForLogicalAndInLogicalOr()
12561 static bool EvaluatesAsTrue(Sema &S, Expr *E) { in EvaluatesAsTrue()
12569 static bool EvaluatesAsFalse(Sema &S, Expr *E) { in EvaluatesAsFalse()
12576 static void DiagnoseLogicalAndInLogicalOrLHS(Sema &S, SourceLocation OpLoc, in DiagnoseLogicalAndInLogicalOrLHS()
12598 static void DiagnoseLogicalAndInLogicalOrRHS(Sema &S, SourceLocation OpLoc, in DiagnoseLogicalAndInLogicalOrRHS()
12615 static void DiagnoseBitwiseOpInBitwiseOp(Sema &S, BinaryOperatorKind Opc, in DiagnoseBitwiseOpInBitwiseOp()
12630 static void DiagnoseAdditionInShift(Sema &S, SourceLocation OpLoc, in DiagnoseAdditionInShift()
12644 static void DiagnoseShiftCompare(Sema &S, SourceLocation OpLoc, in DiagnoseShiftCompare()
12672 static void DiagnoseBinOpPrecedence(Sema &Self, BinaryOperatorKind Opc, in DiagnoseBinOpPrecedence()
12707 ExprResult Sema::ActOnBinOp(Scope *S, SourceLocation TokLoc, in ActOnBinOp()
12721 static ExprResult BuildOverloadedBinOp(Sema &S, Scope *Sc, SourceLocation OpLoc, in BuildOverloadedBinOp()
12755 ExprResult Sema::BuildBinOp(Scope *S, SourceLocation OpLoc, in BuildBinOp()
12871 ExprResult Sema::CreateBuiltinUnaryOp(SourceLocation OpLoc, in CreateBuiltinUnaryOp()
13088 bool Sema::isQualifiedMemberAccess(Expr *E) { in isQualifiedMemberAccess()
13125 ExprResult Sema::BuildUnaryOp(Scope *S, SourceLocation OpLoc, in BuildUnaryOp()
13173 ExprResult Sema::ActOnUnaryOp(Scope *S, SourceLocation OpLoc, in ActOnUnaryOp()
13179 ExprResult Sema::ActOnAddrLabel(SourceLocation OpLoc, SourceLocation LabLoc, in ActOnAddrLabel()
13210 void Sema::ActOnStartStmtExpr() { in ActOnStartStmtExpr()
13214 void Sema::ActOnStmtExprError() { in ActOnStmtExprError()
13223 Sema::ActOnStmtExpr(SourceLocation LPLoc, Stmt *SubStmt, in ActOnStmtExpr()
13296 ExprResult Sema::BuildBuiltinOffsetOf(SourceLocation BuiltinLoc, in BuildBuiltinOffsetOf()
13459 ExprResult Sema::ActOnBuiltinOffsetOf(Scope *S, in ActOnBuiltinOffsetOf()
13478 ExprResult Sema::ActOnChooseExpr(SourceLocation BuiltinLoc, in ActOnChooseExpr()
13522 void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *CurScope) { in ActOnBlockStart()
13550 void Sema::ActOnBlockArguments(SourceLocation CaretLoc, Declarator &ParamInfo, in ActOnBlockArguments()
13667 void Sema::ActOnBlockError(SourceLocation CaretLoc, Scope *CurScope) { in ActOnBlockError()
13679 ExprResult Sema::ActOnBlockStmtExpr(SourceLocation CaretLoc, in ActOnBlockStmtExpr()
13802 ExprResult Sema::ActOnVAArg(SourceLocation BuiltinLoc, Expr *E, ParsedType Ty, in ActOnVAArg()
13809 ExprResult Sema::BuildVAArgExpr(SourceLocation BuiltinLoc, in BuildVAArgExpr()
13918 ExprResult Sema::ActOnGNUNullExpr(SourceLocation TokenLoc) { in ActOnGNUNullExpr()
13936 bool Sema::ConversionToObjCStringLiteralCheck(QualType DstType, Expr *&Exp, in ConversionToObjCStringLiteralCheck()
13971 static bool maybeDiagnoseAssignmentToFunction(Sema &S, QualType DstType, in maybeDiagnoseAssignmentToFunction()
13990 bool Sema::DiagnoseAssignmentResult(AssignConvertType ConvTy, in DiagnoseAssignmentResult()
14200 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E, in VerifyIntegerConstantExpression()
14204 void diagnoseNotICE(Sema &S, SourceLocation Loc, SourceRange SR) override { in VerifyIntegerConstantExpression()
14212 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E, in VerifyIntegerConstantExpression()
14223 void diagnoseNotICE(Sema &S, SourceLocation Loc, SourceRange SR) override { in VerifyIntegerConstantExpression()
14231 void Sema::VerifyICEDiagnoser::diagnoseFold(Sema &S, SourceLocation Loc, in diagnoseFold()
14237 Sema::VerifyIntegerConstantExpression(Expr *E, llvm::APSInt *Result, in VerifyIntegerConstantExpression()
14255 SemaDiagnosticBuilder diagnoseNotInt(Sema &S, SourceLocation Loc, in VerifyIntegerConstantExpression()
14261 Sema &S, SourceLocation Loc, QualType T) override { in VerifyIntegerConstantExpression()
14266 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override { in VerifyIntegerConstantExpression()
14271 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override { in VerifyIntegerConstantExpression()
14277 Sema &S, SourceLocation Loc, QualType T) override { in VerifyIntegerConstantExpression()
14282 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override { in VerifyIntegerConstantExpression()
14288 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override { in VerifyIntegerConstantExpression()
14371 TransformToPE(Sema &SemaRef) : BaseTransform(SemaRef) { } in TransformToPE()
14416 ExprResult Sema::TransformToPotentiallyEvaluated(Expr *E) { in TransformToPotentiallyEvaluated()
14427 Sema::PushExpressionEvaluationContext( in PushExpressionEvaluationContext()
14438 Sema::PushExpressionEvaluationContext( in PushExpressionEvaluationContext()
14447 const DeclRefExpr *CheckPossibleDeref(Sema &S, const Expr *PossibleDeref) { in CheckPossibleDeref()
14474 void Sema::WarnOnPendingNoDerefs(ExpressionEvaluationContextRecord &Rec) { in WarnOnPendingNoDerefs()
14490 void Sema::PopExpressionEvaluationContext() { in PopExpressionEvaluationContext()
14555 void Sema::DiscardCleanupsInEvaluationContext() { in DiscardCleanupsInEvaluationContext()
14563 ExprResult Sema::HandleExprEvaluationContextForTypeof(Expr *E) { in HandleExprEvaluationContextForTypeof()
14576 static bool isEvaluatableContext(Sema &SemaRef) { in isEvaluatableContext()
14578 case Sema::ExpressionEvaluationContext::Unevaluated: in isEvaluatableContext()
14579 case Sema::ExpressionEvaluationContext::UnevaluatedAbstract: in isEvaluatableContext()
14583 case Sema::ExpressionEvaluationContext::UnevaluatedList: in isEvaluatableContext()
14584 case Sema::ExpressionEvaluationContext::ConstantEvaluated: in isEvaluatableContext()
14585 case Sema::ExpressionEvaluationContext::PotentiallyEvaluated: in isEvaluatableContext()
14586 case Sema::ExpressionEvaluationContext::DiscardedStatement: in isEvaluatableContext()
14590 case Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed: in isEvaluatableContext()
14601 static bool isOdrUseContext(Sema &SemaRef, bool SkipDependentUses = true) { in isOdrUseContext()
14608 case Sema::ExpressionEvaluationContext::Unevaluated: in isOdrUseContext()
14609 case Sema::ExpressionEvaluationContext::UnevaluatedList: in isOdrUseContext()
14610 case Sema::ExpressionEvaluationContext::UnevaluatedAbstract: in isOdrUseContext()
14611 case Sema::ExpressionEvaluationContext::DiscardedStatement: in isOdrUseContext()
14614 case Sema::ExpressionEvaluationContext::ConstantEvaluated: in isOdrUseContext()
14615 case Sema::ExpressionEvaluationContext::PotentiallyEvaluated: in isOdrUseContext()
14618 case Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed: in isOdrUseContext()
14632 void Sema::MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func, in MarkFunctionReferenced()
14803 diagnoseUncapturableValueReference(Sema &S, SourceLocation loc, in diagnoseUncapturableValueReference()
14878 const bool Diagnose, Sema &S) { in getParentOfCapturingContextOrNull()
14893 const bool Diagnose, Sema &S) { in isVariableCapturable()
14965 Sema &S) { in captureInBlock()
15047 S, Sema::ExpressionEvaluationContext::PotentiallyEvaluated); in captureInBlock()
15092 Sema &S) { in captureInCapturedRegion()
15146 static void addAsFieldToClosureType(Sema &S, LambdaScopeInfo *LSI, in addAsFieldToClosureType()
15185 const Sema::TryCaptureKind Kind, in captureInLambda()
15188 Sema &S) { in captureInLambda()
15192 if (IsTopScope && Kind != Sema::TryCapture_Implicit) { in captureInLambda()
15193 ByRef = (Kind == Sema::TryCapture_ExplicitByRef); in captureInLambda()
15280 bool Sema::tryCaptureVariable( in tryCaptureVariable()
15477 bool Sema::tryCaptureVariable(VarDecl *Var, SourceLocation Loc, in tryCaptureVariable()
15486 bool Sema::NeedToCaptureVariable(VarDecl *Var, SourceLocation Loc) { in NeedToCaptureVariable()
15494 QualType Sema::getCapturedDeclRefType(VarDecl *Var, SourceLocation Loc) { in getCapturedDeclRefType()
15530 void Sema::UpdateMarkingForLValueToRValue(Expr *E) { in UpdateMarkingForLValueToRValue()
15555 ExprResult Sema::ActOnConstantExpression(ExprResult Res) { in ActOnConstantExpression()
15569 void Sema::CleanupVarDeclMarking() { in CleanupVarDeclMarking()
15591 static void DoMarkVarDeclReferenced(Sema &SemaRef, SourceLocation Loc, in DoMarkVarDeclReferenced()
15714 void Sema::MarkVariableReferenced(SourceLocation Loc, VarDecl *Var) { in MarkVariableReferenced()
15718 static void MarkExprReferenced(Sema &SemaRef, SourceLocation Loc, in MarkExprReferenced()
15753 void Sema::MarkDeclRefReferenced(DeclRefExpr *E, const Expr *Base) { in MarkDeclRefReferenced()
15766 void Sema::MarkMemberReferenced(MemberExpr *E) { in MarkMemberReferenced()
15788 void Sema::MarkAnyDeclReferenced(SourceLocation Loc, Decl *D, in MarkAnyDeclReferenced()
15812 Sema &S;
15818 MarkReferencedDecls(Sema &S, SourceLocation Loc) : S(S), Loc(Loc) { } in MarkReferencedDecls()
15829 S, Sema::ExpressionEvaluationContext::ConstantEvaluated); in TraverseTemplateArgument()
15841 void Sema::MarkDeclarationsReferencedInType(SourceLocation Loc, QualType T) { in MarkDeclarationsReferencedInType()
15850 Sema &S;
15856 EvaluatedExprMarker(Sema &S, bool SkipLocalVariables) in EvaluatedExprMarker()
15925 void Sema::MarkDeclarationsReferencedInExpr(Expr *E, in MarkDeclarationsReferencedInExpr()
15946 bool Sema::DiagRuntimeBehavior(SourceLocation Loc, const Stmt *Statement, in DiagRuntimeBehavior()
15989 bool Sema::CheckCallReturnType(QualType ReturnType, SourceLocation Loc, in CheckCallReturnType()
16010 void diagnose(Sema &S, SourceLocation Loc, QualType T) override { in CheckCallReturnType()
16032 void Sema::DiagnoseAssignmentAsCondition(Expr *E) { in DiagnoseAssignmentAsCondition()
16090 void Sema::DiagnoseEqualityWithExtraParens(ParenExpr *ParenE) { in DiagnoseEqualityWithExtraParens()
16117 ExprResult Sema::CheckBooleanCondition(SourceLocation Loc, Expr *E, in CheckBooleanCondition()
16148 Sema::ConditionResult Sema::ActOnCondition(Scope *S, SourceLocation Loc, in ActOnCondition()
16186 Sema &S;
16188 RebuildUnknownAnyFunction(Sema &S) : S(S) {} in RebuildUnknownAnyFunction()
16260 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *FunctionExpr) { in rebuildUnknownAnyFunction()
16274 Sema &S;
16279 RebuildUnknownAnyExpr(Sema &S, QualType CastType) in RebuildUnknownAnyExpr()
16616 ExprResult Sema::checkUnknownAnyCast(SourceRange TypeRange, QualType CastType, in checkUnknownAnyCast()
16636 ExprResult Sema::forceUnknownAnyToType(Expr *E, QualType ToType) { in forceUnknownAnyToType()
16640 ExprResult Sema::checkUnknownAnyArg(SourceLocation callLoc, in checkUnknownAnyArg()
16663 static ExprResult diagnoseUnknownAnyExpr(Sema &S, Expr *E) { in diagnoseUnknownAnyExpr()
16708 ExprResult Sema::CheckPlaceholderExpr(Expr *E) { in CheckPlaceholderExpr()
16815 bool Sema::CheckCaseExpression(Expr *E) { in CheckCaseExpression()
16825 Sema::ActOnObjCBoolLiteral(SourceLocation OpLoc, tok::TokenKind Kind) { in ActOnObjCBoolLiteral()
16831 Sema::LookupOrdinaryName); in ActOnObjCBoolLiteral()
16844 ExprResult Sema::ActOnObjCAvailabilityCheckExpr( in ActOnObjCAvailabilityCheckExpr()