Lines Matching refs:Sema
66 bool Sema::CanUseDecl(NamedDecl *D, bool TreatUnavailableAsInvalid) { in CanUseDecl()
100 static void DiagnoseUnusedOfDecl(Sema &S, NamedDecl *D, SourceLocation Loc) { in DiagnoseUnusedOfDecl()
115 void Sema::NoteDeletedFunction(FunctionDecl *Decl) { in NoteDeletedFunction()
155 static void diagnoseUseOfInternalDeclInInlineFunction(Sema &S, in diagnoseUseOfInternalDeclInInlineFunction()
199 void Sema::MaybeSuggestAddingStaticToDecl(const FunctionDecl *Cur) { in MaybeSuggestAddingStaticToDecl()
222 bool Sema::DiagnoseUseOfDecl(NamedDecl *D, ArrayRef<SourceLocation> Locs, in DiagnoseUseOfDecl()
406 void Sema::DiagnoseSentinelCalls(NamedDecl *D, SourceLocation Loc, in DiagnoseSentinelCalls()
497 SourceRange Sema::getExprRange(Expr *E) const { in getExprRange()
506 ExprResult Sema::DefaultFunctionArrayConversion(Expr *E, bool Diagnose) { in DefaultFunctionArrayConversion()
548 static void CheckForNullPointerDereference(Sema &S, Expr *E) { in CheckForNullPointerDereference()
573 static void DiagnoseDirectIsaAccess(Sema &S, const ObjCIvarRefExpr *OIRE, in DiagnoseDirectIsaAccess()
630 ExprResult Sema::DefaultLvalueConversion(Expr *E) { in DefaultLvalueConversion()
740 ExprResult Sema::DefaultFunctionArrayLvalueConversion(Expr *E, bool Diagnose) { in DefaultFunctionArrayLvalueConversion()
752 ExprResult Sema::CallExprUnaryConversions(Expr *E) { in CallExprUnaryConversions()
774 ExprResult Sema::UsualUnaryConversions(Expr *E) { in UsualUnaryConversions()
857 ExprResult Sema::DefaultArgumentPromotion(Expr *E) { in DefaultArgumentPromotion()
922 Sema::VarArgKind Sema::isValidVarArgType(const QualType &Ty) { in isValidVarArgType()
972 void Sema::checkVariadicArgument(const Expr *E, VariadicCallType CT) { in checkVariadicArgument()
1019 ExprResult Sema::DefaultVariadicArgumentPromotion(Expr *E, VariadicCallType CT, in DefaultVariadicArgumentPromotion()
1087 static bool handleIntegerToComplexFloatConversion(Sema &S, ExprResult &IntExpr, in handleIntegerToComplexFloatConversion()
1117 static QualType handleComplexFloatConversion(Sema &S, ExprResult &Shorter, in handleComplexFloatConversion()
1140 static QualType handleComplexConversion(Sema &S, ExprResult &LHS, in handleComplexConversion()
1164 static QualType handleIntToFloatConversion(Sema &S, ExprResult &FloatExpr, in handleIntToFloatConversion()
1195 static QualType handleFloatConversion(Sema &S, ExprResult &LHS, in handleFloatConversion()
1245 static bool unsupportedTypeConversion(const Sema &S, QualType LHSType, in unsupportedTypeConversion()
1270 typedef ExprResult PerformCastFn(Sema &S, Expr *operand, QualType toType);
1275 ExprResult doIntegralCast(Sema &S, Expr *op, QualType toType) { in doIntegralCast()
1279 ExprResult doComplexIntegralCast(Sema &S, Expr *op, QualType toType) { in doComplexIntegralCast()
1288 static QualType handleIntegerConversion(Sema &S, ExprResult &LHS, in handleIntegerConversion()
1338 static QualType handleComplexIntConversion(Sema &S, ExprResult &LHS, in handleComplexIntConversion()
1431 static QualType handleFixedPointConversion(Sema &S, QualType LHSTy, in handleFixedPointConversion()
1470 static void checkEnumArithmeticConversions(Sema &S, Expr *LHS, Expr *RHS, in checkEnumArithmeticConversions()
1472 Sema::ArithConvKind ACK) { in checkEnumArithmeticConversions()
1483 bool IsCompAssign = ACK == Sema::ACK_CompAssign; in checkEnumArithmeticConversions()
1502 } else if (ACK == Sema::ACK_Conditional) { in checkEnumArithmeticConversions()
1508 } else if (ACK == Sema::ACK_Comparison) { in checkEnumArithmeticConversions()
1528 QualType Sema::UsualArithmeticConversions(ExprResult &LHS, ExprResult &RHS, in UsualArithmeticConversions()
1611 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()
2146 Sema::DecomposeUnqualifiedId(const UnqualifiedId &Id, in DecomposeUnqualifiedId()
2169 const TypoCorrection &TC, Sema &SemaRef, const CXXScopeSpec &SS, in emitEmptyLookupTypoDiagnostic()
2209 bool Sema::DiagnoseDependentMemberLookup(LookupResult &R) { in DiagnoseDependentMemberLookup()
2271 bool Sema::DiagnoseEmptyLookup(Scope *S, CXXScopeSpec &SS, LookupResult &R, in DiagnoseEmptyLookup()
2444 recoverFromMSUnqualifiedLookup(Sema &S, ASTContext &Context, in recoverFromMSUnqualifiedLookup()
2485 Sema::ActOnIdExpression(Scope *S, CXXScopeSpec &SS, in ActOnIdExpression()
2737 ExprResult Sema::BuildQualifiedDeclarationNameExpr( in BuildQualifiedDeclarationNameExpr()
2828 DeclResult Sema::LookupIvarInObjCMethod(LookupResult &Lookup, Scope *S, in LookupIvarInObjCMethod()
2901 ExprResult Sema::BuildIvarRefExpr(Scope *S, SourceLocation Loc, in BuildIvarRefExpr()
2965 Sema::LookupInObjCMethod(LookupResult &Lookup, Scope *S, in LookupInObjCMethod()
3003 Sema::PerformObjectMemberConversion(Expr *From, in PerformObjectMemberConversion()
3135 bool Sema::UseArgumentDependentLookup(const CXXScopeSpec &SS, in UseArgumentDependentLookup()
3193 static bool CheckDeclInExpr(Sema &S, SourceLocation Loc, NamedDecl *D, in CheckDeclInExpr()
3225 ExprResult Sema::BuildDeclarationNameExpr(const CXXScopeSpec &SS, in BuildDeclarationNameExpr()
3260 static void diagnoseUncapturableValueReferenceOrBinding(Sema &S,
3265 ExprResult Sema::BuildDeclarationNameExpr( in BuildDeclarationNameExpr()
3530 ExprResult Sema::BuildPredefinedExpr(SourceLocation Loc, in BuildPredefinedExpr()
3583 ExprResult Sema::BuildSYCLUniqueStableNameExpr(SourceLocation OpLoc, in BuildSYCLUniqueStableNameExpr()
3590 ExprResult Sema::ActOnSYCLUniqueStableNameExpr(SourceLocation OpLoc, in ActOnSYCLUniqueStableNameExpr()
3605 ExprResult Sema::ActOnPredefinedExpr(SourceLocation Loc, tok::TokenKind Kind) { in ActOnPredefinedExpr()
3622 ExprResult Sema::ActOnCharacterConstant(const Token &Tok, Scope *UDLScope) { in ActOnCharacterConstant()
3682 ExprResult Sema::ActOnIntegerConstant(SourceLocation Loc, uint64_t Val) { in ActOnIntegerConstant()
3688 static Expr *BuildFloatingLiteral(Sema &S, NumericLiteralParser &Literal, in BuildFloatingLiteral()
3720 bool Sema::CheckLoopHintExpr(Expr *E, SourceLocation Loc) { in CheckLoopHintExpr()
3748 ExprResult Sema::ActOnNumericConstant(const Token &Tok, Scope *UDLScope) { in ActOnNumericConstant()
4164 ExprResult Sema::ActOnParenExpr(SourceLocation L, SourceLocation R, Expr *E) { in ActOnParenExpr()
4173 static bool CheckVecStepTraitOperandType(Sema &S, QualType T, in CheckVecStepTraitOperandType()
4191 static bool CheckExtensionTraitOperandType(Sema &S, QualType T, in CheckExtensionTraitOperandType()
4221 static bool CheckObjCTraitOperandConstraints(Sema &S, QualType T, in CheckObjCTraitOperandConstraints()
4239 static void warnOnSizeofOnArrayDecay(Sema &S, SourceLocation Loc, QualType T, in warnOnSizeofOnArrayDecay()
4262 bool Sema::CheckUnaryExprOrTypeTraitOperand(Expr *E, in CheckUnaryExprOrTypeTraitOperand()
4370 bool Sema::CheckUnaryExprOrTypeTraitOperand(QualType ExprType, in CheckUnaryExprOrTypeTraitOperand()
4419 static bool CheckAlignOfExpr(Sema &S, Expr *E, UnaryExprOrTypeTrait ExprKind) { in CheckAlignOfExpr()
4475 bool Sema::CheckVecStepExpr(Expr *E) { in CheckVecStepExpr()
4598 Sema::CreateUnaryExprOrTypeTraitExpr(TypeSourceInfo *TInfo, in CreateUnaryExprOrTypeTraitExpr()
4647 Sema::CreateUnaryExprOrTypeTraitExpr(Expr *E, SourceLocation OpLoc, in CreateUnaryExprOrTypeTraitExpr()
4691 Sema::ActOnUnaryExprOrTypeTraitExpr(SourceLocation OpLoc, in ActOnUnaryExprOrTypeTraitExpr()
4708 static QualType CheckRealImagOperand(Sema &S, ExprResult &V, SourceLocation Loc, in CheckRealImagOperand()
4745 Sema::ActOnPostfixUnaryOp(Scope *S, SourceLocation OpLoc, in ActOnPostfixUnaryOp()
4765 static bool checkArithmeticOnObjCPointer(Sema &S, in checkArithmeticOnObjCPointer()
4779 static bool isMSPropertySubscriptExpr(Sema &S, Expr *Base) { in isMSPropertySubscriptExpr()
4818 static bool checkArgsForPlaceholders(Sema &S, MultiExprArg args);
4820 ExprResult Sema::ActOnArraySubscriptExpr(Scope *S, Expr *base, in ActOnArraySubscriptExpr()
4971 ExprResult Sema::tryConvertExprToType(Expr *E, QualType Ty) { in tryConvertExprToType()
4979 ExprResult Sema::CreateBuiltinMatrixSubscriptExpr(Expr *Base, Expr *RowIdx, in CreateBuiltinMatrixSubscriptExpr()
5045 void Sema::CheckAddressOfNoDeref(const Expr *E) { in CheckAddressOfNoDeref()
5058 void Sema::CheckSubscriptAccessOfNoDeref(const ArraySubscriptExpr *E) { in CheckSubscriptAccessOfNoDeref()
5093 ExprResult Sema::ActOnOMPArraySectionExpr(Expr *Base, SourceLocation LBLoc, in ActOnOMPArraySectionExpr()
5279 ExprResult Sema::ActOnOMPArrayShapingExpr(Expr *Base, SourceLocation LParenLoc, in ActOnOMPArrayShapingExpr()
5354 ExprResult Sema::ActOnOMPIteratorExpr(Scope *S, SourceLocation IteratorKwLoc, in ActOnOMPIteratorExpr()
5646 Sema::CreateBuiltinArraySubscriptExpr(Expr *Base, SourceLocation LLoc, in CreateBuiltinArraySubscriptExpr()
5868 bool Sema::CheckCXXDefaultArgExpr(SourceLocation CallLoc, FunctionDecl *FD, in CheckCXXDefaultArgExpr()
5970 EnsureImmediateInvocationInDefaultArgs(Sema &SemaRef) in EnsureImmediateInvocationInDefaultArgs()
5986 ExprResult Sema::BuildCXXDefaultArgExpr(SourceLocation CallLoc, in BuildCXXDefaultArgExpr()
6042 ExprResult Sema::BuildCXXDefaultInitExpr(SourceLocation Loc, FieldDecl *Field) { in BuildCXXDefaultInitExpr()
6159 Sema::VariadicCallType
6160 Sema::getVariadicCallType(FunctionDecl *FDecl, const FunctionProtoType *Proto, in getVariadicCallType()
6181 FunctionCallCCC(Sema &SemaRef, const IdentifierInfo *FuncName, in FunctionCallCCC()
6204 static TypoCorrection TryTypoCorrectionForCall(Sema &S, Expr *Fn, in TryTypoCorrectionForCall()
6213 DeclarationNameInfo(FuncName, NameLoc), Sema::LookupOrdinaryName, in TryTypoCorrectionForCall()
6215 Sema::CTK_ErrorRecovery)) { in TryTypoCorrectionForCall()
6249 Sema::ConvertArgumentsForCall(CallExpr *Call, Expr *Fn, in ConvertArgumentsForCall()
6366 bool Sema::GatherArgumentsForCall(SourceLocation CallLoc, FunctionDecl *FDecl, in GatherArgumentsForCall()
6470 static void DiagnoseCalleeStaticArrayParam(Sema &S, ParmVarDecl *PVD) { in DiagnoseCalleeStaticArrayParam()
6488 Sema::CheckStaticArrayArgument(SourceLocation CallLoc, in CheckStaticArrayArgument()
6543 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *fn);
6609 static bool checkArgsForPlaceholders(Sema &S, MultiExprArg args) { in checkArgsForPlaceholders()
6634 static FunctionDecl *rewriteBuiltinFunctionDecl(Sema *Sema, ASTContext &Context, in rewriteBuiltinFunctionDecl() argument
6653 Sema->DefaultFunctionArrayLvalueConversion(ArgExprs[i++]); in rewriteBuiltinFunctionDecl()
6688 /*TInfo=*/nullptr, SC_Extern, Sema->getCurFPFeatures().isFPConstrained(), in rewriteBuiltinFunctionDecl()
6703 Sema->mergeDeclAttributes(OverloadDecl, FDecl); in rewriteBuiltinFunctionDecl()
6707 static void checkDirectCallValidity(Sema &S, const Expr *Fn, in checkDirectCallValidity()
6735 const UnresolvedMemberExpr *const UME, Sema &S) { in enclosingClassIsRelatedToClassInWhichMembersWereFound()
6738 [](Sema &S) -> const CXXRecordDecl * { in enclosingClassIsRelatedToClassInWhichMembersWereFound()
6777 Sema &S, const UnresolvedMemberExpr *const UME, SourceLocation CallLoc) { in tryImplicitlyCaptureThisIfImplicitMemberFunctionAccessWithDependentArgs()
6817 static void DiagnosedUnqualifiedCallsToStdFunctions(Sema &S, CallExpr *Call) { in DiagnosedUnqualifiedCallsToStdFunctions()
6846 ExprResult Sema::ActOnCallExpr(Scope *Scope, Expr *Fn, SourceLocation LParenLoc, in ActOnCallExpr()
6881 ExprResult Sema::BuildCallExpr(Scope *Scope, Expr *Fn, SourceLocation LParenLoc, in BuildCallExpr()
7088 Expr *Sema::BuildBuiltinCallExpr(SourceLocation Loc, Builtin::ID Id, in BuildBuiltinCallExpr()
7092 Sema::LookupOrdinaryName); in BuildBuiltinCallExpr()
7113 ExprResult Sema::ActOnAsTypeExpr(Expr *E, ParsedType ParsedDestTy, in ActOnAsTypeExpr()
7121 ExprResult Sema::BuildAsTypeExpr(Expr *E, QualType DestTy, in BuildAsTypeExpr()
7140 ExprResult Sema::ActOnConvertVectorExpr(Expr *E, ParsedType ParsedDestTy, in ActOnConvertVectorExpr()
7154 ExprResult Sema::BuildResolvedCallExpr(Expr *Fn, NamedDecl *NDecl, in BuildResolvedCallExpr()
7447 Sema::ActOnCompoundLiteral(SourceLocation LParenLoc, ParsedType Ty, in ActOnCompoundLiteral()
7461 Sema::BuildCompoundLiteralExpr(SourceLocation LParenLoc, TypeSourceInfo *TInfo, in BuildCompoundLiteralExpr()
7573 Sema::ActOnInitList(SourceLocation LBraceLoc, MultiExprArg InitArgList, in ActOnInitList()
7641 Sema::BuildInitList(SourceLocation LBraceLoc, MultiExprArg InitArgList, in BuildInitList()
7667 void Sema::maybeExtendBlockObject(ExprResult &E) { in maybeExtendBlockObject()
7682 CastKind Sema::PrepareCastToObjCObjectPointer(ExprResult &E) { in PrepareCastToObjCObjectPointer()
7697 CastKind Sema::PrepareScalarCast(ExprResult &Src, QualType DestTy) { in PrepareScalarCast()
7929 bool Sema::isValidSveBitcast(QualType srcTy, QualType destTy) { in isValidSveBitcast()
7947 bool Sema::areMatrixTypesOfTheSameDimension(QualType srcTy, QualType destTy) { in areMatrixTypesOfTheSameDimension()
7958 bool Sema::areVectorTypesSameSize(QualType SrcTy, QualType DestTy) { in areVectorTypesSameSize()
7978 bool Sema::anyAltivecTypes(QualType SrcTy, QualType DestTy) { in anyAltivecTypes()
7993 bool Sema::areSameVectorElemTypes(QualType SrcTy, QualType DestTy) { in areSameVectorElemTypes()
8014 bool Sema::areLaxCompatibleVectorTypes(QualType srcTy, QualType destTy) { in areLaxCompatibleVectorTypes()
8030 bool Sema::isLaxVectorConversion(QualType srcTy, QualType destTy) { in isLaxVectorConversion()
8058 bool Sema::CheckMatrixCast(SourceRange R, QualType DestTy, QualType SrcTy, in CheckMatrixCast()
8079 bool Sema::CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty, in CheckVectorCast()
8099 ExprResult Sema::prepareVectorSplat(QualType VectorTy, Expr *SplattedExpr) { in prepareVectorSplat()
8132 ExprResult Sema::CheckExtVectorCast(SourceRange R, QualType DestTy, in CheckExtVectorCast()
8167 Sema::ActOnCastExpr(Scope *S, SourceLocation LParenLoc, in ActOnCastExpr()
8240 ExprResult Sema::BuildVectorLiteral(SourceLocation LParenLoc, in BuildVectorLiteral()
8326 Sema::MaybeConvertParenListExprToParenExpr(Scope *S, Expr *OrigExpr) { in MaybeConvertParenListExprToParenExpr()
8342 ExprResult Sema::ActOnParenListExpr(SourceLocation L, in ActOnParenListExpr()
8351 bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr, in DiagnoseConditionalForNull()
8390 static bool checkCondition(Sema &S, Expr *Cond, SourceLocation QuestionLoc) { in checkCondition()
8410 static bool checkConditionalNullPointer(Sema &S, ExprResult &NullExpr, in checkConditionalNullPointer()
8423 static QualType checkConditionalPointerCompatibility(Sema &S, ExprResult &LHS, in checkConditionalPointerCompatibility()
8554 static QualType checkConditionalBlockPointerCompatibility(Sema &S, in checkConditionalBlockPointerCompatibility()
8580 checkConditionalObjectPointersCompatibility(Sema &S, ExprResult &LHS, in checkConditionalObjectPointersCompatibility()
8619 static bool checkPointerIntegerMismatch(Sema &S, ExprResult &Int, in checkPointerIntegerMismatch()
8649 static QualType OpenCLArithmeticConversions(Sema &S, ExprResult &LHS, in OpenCLArithmeticConversions()
8704 OpenCLConvertScalarsToVectors(Sema &S, ExprResult &LHS, ExprResult &RHS, in OpenCLConvertScalarsToVectors()
8738 static bool checkOpenCLConditionVector(Sema &S, Expr *Cond, in checkOpenCLConditionVector()
8758 static bool checkVectorResult(Sema &S, QualType CondTy, QualType VecResTy, in checkVectorResult()
8786 OpenCLCheckVectorConditional(Sema &S, ExprResult &Cond, in OpenCLCheckVectorConditional()
8824 static bool checkBlockType(Sema &S, const Expr *E) { in checkBlockType()
8838 QualType Sema::CheckConditionalOperands(ExprResult &Cond, ExprResult &LHS, in CheckConditionalOperands()
9029 QualType Sema::FindCompositeObjCPointerType(ExprResult &LHS, ExprResult &RHS, in FindCompositeObjCPointerType()
9171 static void SuggestParentheses(Sema &Self, SourceLocation Loc, in SuggestParentheses()
9268 static void DiagnoseConditionalPrecedence(Sema &Self, in DiagnoseConditionalPrecedence()
9358 ExprResult Sema::ActOnConditionalOp(SourceLocation QuestionLoc, in ActOnConditionalOp()
9464 static bool IsInvalidCmseNSCallConversion(Sema &S, QualType FromType, in IsInvalidCmseNSCallConversion()
9484 static Sema::AssignConvertType
9485 checkPointerTypesForAssignment(Sema &S, QualType LHSType, QualType RHSType, in checkPointerTypesForAssignment()
9498 Sema::AssignConvertType ConvTy = Sema::Compatible; in checkPointerTypesForAssignment()
9515 return Sema::IncompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
9527 ConvTy = Sema::IncompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
9531 else ConvTy = Sema::CompatiblePointerDiscardsQualifiers; in checkPointerTypesForAssignment()
9543 return Sema::FunctionVoidPointer; in checkPointerTypesForAssignment()
9552 return Sema::FunctionVoidPointer; in checkPointerTypesForAssignment()
9560 return Sema::IncompatibleFunctionPointerStrict; in checkPointerTypesForAssignment()
9583 if (ConvTy != Sema::Compatible) in checkPointerTypesForAssignment()
9586 return Sema::IncompatiblePointerSign; in checkPointerTypesForAssignment()
9609 return Sema::IncompatibleNestedPointerAddressSpaceMismatch; in checkPointerTypesForAssignment()
9614 return Sema::IncompatibleNestedPointerQualifiers; in checkPointerTypesForAssignment()
9619 return Sema::IncompatibleFunctionPointer; in checkPointerTypesForAssignment()
9620 return Sema::IncompatiblePointer; in checkPointerTypesForAssignment()
9624 return Sema::IncompatibleFunctionPointer; in checkPointerTypesForAssignment()
9626 return Sema::IncompatibleFunctionPointer; in checkPointerTypesForAssignment()
9634 static Sema::AssignConvertType
9635 checkBlockPointerTypesForAssignment(Sema &S, QualType LHSType, in checkBlockPointerTypesForAssignment()
9648 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
9650 Sema::AssignConvertType ConvTy = Sema::Compatible; in checkBlockPointerTypesForAssignment()
9660 ConvTy = Sema::CompatiblePointerDiscardsQualifiers; in checkBlockPointerTypesForAssignment()
9676 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
9678 return Sema::IncompatibleBlockPointer; in checkBlockPointerTypesForAssignment()
9685 static Sema::AssignConvertType
9686 checkObjCPointerTypesForAssignment(Sema &S, QualType LHSType, in checkObjCPointerTypesForAssignment()
9695 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
9696 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
9701 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
9702 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
9710 return Sema::CompatiblePointerDiscardsQualifiers; in checkObjCPointerTypesForAssignment()
9713 return Sema::Compatible; in checkObjCPointerTypesForAssignment()
9715 return Sema::IncompatibleObjCQualifiedId; in checkObjCPointerTypesForAssignment()
9716 return Sema::IncompatiblePointer; in checkObjCPointerTypesForAssignment()
9719 Sema::AssignConvertType
9720 Sema::CheckAssignmentConstraints(SourceLocation Loc, in CheckAssignmentConstraints()
9758 Sema::AssignConvertType
9759 Sema::CheckAssignmentConstraints(QualType LHSType, ExprResult &RHS, in CheckAssignmentConstraints()
9787 Sema::AssignConvertType result = in CheckAssignmentConstraints()
10001 Sema::AssignConvertType result = in CheckAssignmentConstraints()
10100 static void ConstructTransparentUnion(Sema &S, ASTContext &C, in ConstructTransparentUnion()
10118 Sema::AssignConvertType
10119 Sema::CheckTransparentUnionArgumentConstraints(QualType ArgType, in CheckTransparentUnionArgumentConstraints()
10170 Sema::AssignConvertType
10171 Sema::CheckSingleAssignmentConstraints(QualType LHSType, ExprResult &CallerRHS, in CheckSingleAssignmentConstraints()
10220 Sema::AssignConvertType result = Compatible; in CheckSingleAssignmentConstraints()
10285 Sema::AssignConvertType result = in CheckSingleAssignmentConstraints()
10349 QualType Sema::InvalidOperands(SourceLocation Loc, ExprResult &LHS, in InvalidOperands()
10376 QualType Sema::InvalidLogicalVectorOperands(SourceLocation Loc, ExprResult &LHS, in InvalidLogicalVectorOperands()
10412 static bool tryVectorConvertAndSplat(Sema &S, ExprResult *scalar, in tryVectorConvertAndSplat()
10459 static ExprResult convertVector(Expr *E, QualType ElementType, Sema &S) { in convertVector()
10480 static bool canConvertIntToOtherIntTy(Sema &S, ExprResult *Int, in canConvertIntToOtherIntTy()
10518 static bool canConvertIntTyToFloatTy(Sema &S, ExprResult *Int, in canConvertIntTyToFloatTy()
10562 static bool tryGCCVectorConvertAndSplat(Sema &S, ExprResult *Scalar, in tryGCCVectorConvertAndSplat()
10656 QualType Sema::CheckVectorOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorOperands()
10876 QualType Sema::CheckSizelessVectorOperands(ExprResult &LHS, ExprResult &RHS, in CheckSizelessVectorOperands()
10954 static void checkArithmeticNull(Sema &S, ExprResult &LHS, ExprResult &RHS, in checkArithmeticNull()
10990 static void DiagnoseDivisionSizeofPointerOrArray(Sema &S, Expr *LHS, Expr *RHS, in DiagnoseDivisionSizeofPointerOrArray()
11038 static void DiagnoseBadDivideOrRemainderValues(Sema& S, ExprResult &LHS, in DiagnoseBadDivideOrRemainderValues()
11051 QualType Sema::CheckMultiplyDivideOperands(ExprResult &LHS, ExprResult &RHS, in CheckMultiplyDivideOperands()
11090 QualType Sema::CheckRemainderOperands( in CheckRemainderOperands()
11128 static void diagnoseArithmeticOnTwoVoidPointers(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnTwoVoidPointers()
11138 static void diagnoseArithmeticOnVoidPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnVoidPointer()
11151 static void diagnoseArithmeticOnNullPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnNullPointer()
11163 static void diagnoseSubtractionOnNullPointer(Sema &S, SourceLocation Loc, in diagnoseSubtractionOnNullPointer()
11180 static void diagnoseArithmeticOnTwoFunctionPointers(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnTwoFunctionPointers()
11196 static void diagnoseArithmeticOnFunctionPointer(Sema &S, SourceLocation Loc, in diagnoseArithmeticOnFunctionPointer()
11210 static bool checkArithmeticIncompletePointerType(Sema &S, SourceLocation Loc, in checkArithmeticIncompletePointerType()
11232 static bool checkArithmeticOpPointerOperand(Sema &S, SourceLocation Loc, in checkArithmeticOpPointerOperand()
11264 static bool checkArithmeticBinOpPointerOperands(Sema &S, SourceLocation Loc, in checkArithmeticBinOpPointerOperands()
11317 static void diagnoseStringPlusInt(Sema &Self, SourceLocation OpLoc, in diagnoseStringPlusInt()
11347 static void diagnoseStringPlusChar(Sema &Self, SourceLocation OpLoc, in diagnoseStringPlusChar()
11398 static void diagnosePointerIncompatibility(Sema &S, SourceLocation Loc, in diagnosePointerIncompatibility()
11408 QualType Sema::CheckAdditionOperands(ExprResult &LHS, ExprResult &RHS, in CheckAdditionOperands()
11523 QualType Sema::CheckSubtractionOperands(ExprResult &LHS, ExprResult &RHS, in CheckSubtractionOperands()
11669 static void DiagnoseBadShiftValues(Sema& S, ExprResult &LHS, ExprResult &RHS, in DiagnoseBadShiftValues()
11771 static QualType checkVectorShift(Sema &S, ExprResult &LHS, ExprResult &RHS, in checkVectorShift()
11865 static QualType checkSizelessVectorShift(Sema &S, ExprResult &LHS, in checkSizelessVectorShift()
11957 QualType Sema::CheckShiftOperands(ExprResult &LHS, ExprResult &RHS, in CheckShiftOperands()
12021 static void diagnoseDistinctPointerComparison(Sema &S, SourceLocation Loc, in diagnoseDistinctPointerComparison()
12032 static bool convertPointersToCompositeType(Sema &S, SourceLocation Loc, in convertPointersToCompositeType()
12061 static void diagnoseFunctionPointerToVoidComparison(Sema &S, SourceLocation Loc, in diagnoseFunctionPointerToVoidComparison()
12084 static bool hasIsEqualMethod(Sema &S, const Expr *LHS, const Expr *RHS) { in hasIsEqualMethod()
12130 Sema::ObjCLiteralKind Sema::CheckLiteralKind(Expr *FromE) { in CheckLiteralKind()
12172 static void diagnoseObjCLiteralComparison(Sema &S, SourceLocation Loc, in diagnoseObjCLiteralComparison()
12194 Sema::ObjCLiteralKind LiteralKind = S.CheckLiteralKind(Literal); in diagnoseObjCLiteralComparison()
12195 assert(LiteralKind != Sema::LK_Block); in diagnoseObjCLiteralComparison()
12196 if (LiteralKind == Sema::LK_None) { in diagnoseObjCLiteralComparison()
12200 if (LiteralKind == Sema::LK_String) in diagnoseObjCLiteralComparison()
12222 static void diagnoseLogicalNotOnLHSofCheck(Sema &S, ExprResult &LHS, in diagnoseLogicalNotOnLHSofCheck()
12278 static void diagnoseTautologicalComparison(Sema &S, SourceLocation Loc, in diagnoseTautologicalComparison()
12442 static bool checkThreeWayNarrowingConversion(Sema &S, QualType ToType, Expr *E, in checkThreeWayNarrowingConversion()
12485 static QualType checkArithmeticOrEnumeralThreeWayCompare(Sema &S, in checkArithmeticOrEnumeralThreeWayCompare()
12543 S.UsualArithmeticConversions(LHS, RHS, Loc, Sema::ACK_Comparison); in checkArithmeticOrEnumeralThreeWayCompare()
12564 *CCT, Loc, Sema::ComparisonCategoryUsage::OperatorInExpression); in checkArithmeticOrEnumeralThreeWayCompare()
12567 static QualType checkArithmeticOrEnumeralCompare(Sema &S, ExprResult &LHS, in checkArithmeticOrEnumeralCompare()
12576 S.UsualArithmeticConversions(LHS, RHS, Loc, Sema::ACK_Comparison); in checkArithmeticOrEnumeralCompare()
12594 void Sema::CheckPtrComparisonWithNullChar(ExprResult &E, ExprResult &NullE) { in CheckPtrComparisonWithNullChar()
12621 QualType Sema::CheckCompareOperands(ExprResult &LHS, ExprResult &RHS, in CheckCompareOperands()
13106 QualType Sema::GetSignedVectorType(QualType V) { in GetSignedVectorType()
13149 QualType Sema::GetSignedSizelessVectorType(QualType V) { in GetSignedSizelessVectorType()
13165 QualType Sema::CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorCompareOperands()
13226 QualType Sema::CheckSizelessVectorCompareOperands(ExprResult &LHS, in CheckSizelessVectorCompareOperands()
13267 static void diagnoseXorMisusedAsPow(Sema &S, const ExprResult &XorLHS, in diagnoseXorMisusedAsPow()
13389 QualType Sema::CheckVectorLogicalOperands(ExprResult &LHS, ExprResult &RHS, in CheckVectorLogicalOperands()
13414 QualType Sema::CheckMatrixElementwiseOperands(ExprResult &LHS, ExprResult &RHS, in CheckMatrixElementwiseOperands()
13460 QualType Sema::CheckMatrixMultiplyOperands(ExprResult &LHS, ExprResult &RHS, in CheckMatrixMultiplyOperands()
13511 inline QualType Sema::CheckBitwiseOperands(ExprResult &LHS, ExprResult &RHS, in CheckBitwiseOperands()
13575 inline QualType Sema::CheckLogicalOperands(ExprResult &LHS, ExprResult &RHS, in CheckLogicalOperands()
13678 static bool IsReadonlyMessage(Expr *E, Sema &S) { in IsReadonlyMessage()
13692 static NonConstCaptureKind isReferenceToNonConstCapture(Sema &S, Expr *E) { in isReferenceToNonConstCapture()
13750 static void DiagnoseConstAssignment(Sema &S, const Expr *E, in DiagnoseConstAssignment()
13875 static void DiagnoseRecursiveConstFields(Sema &S, const ValueDecl *VD, in DiagnoseRecursiveConstFields()
13916 static void DiagnoseRecursiveConstFields(Sema &S, const Expr *E, in DiagnoseRecursiveConstFields()
13939 static bool CheckForModifiableLvalue(Expr *E, SourceLocation Loc, Sema &S) { in CheckForModifiableLvalue()
14069 Sema &Sema) { in CheckIdentityFieldAssignment() argument
14070 if (Sema.inTemplateInstantiation()) in CheckIdentityFieldAssignment()
14072 if (Sema.isUnevaluatedContext()) in CheckIdentityFieldAssignment()
14097 Sema.Diag(Loc, diag::warn_identity_field_assign) << 0; in CheckIdentityFieldAssignment()
14107 Sema.Diag(Loc, diag::warn_identity_field_assign) << 1; in CheckIdentityFieldAssignment()
14112 QualType Sema::CheckAssignmentOperands(Expr *LHSExpr, ExprResult &RHS, in CheckAssignmentOperands()
14267 void Sema::DiagnoseCommaOperator(const Expr *LHS, SourceLocation Loc) { in DiagnoseCommaOperator()
14316 static QualType CheckCommaOperands(Sema &S, ExprResult &LHS, ExprResult &RHS, in CheckCommaOperands()
14352 static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op, in CheckIncrementDecrementOperand()
14517 static void diagnoseAddressOfInvalidType(Sema &S, SourceLocation Loc, in diagnoseAddressOfInvalidType()
14529 QualType Sema::CheckAddressOfOperand(ExprResult &OrigOp, SourceLocation OpLoc) { in CheckAddressOfOperand()
14748 static void RecordModifiableNonNullParam(Sema &S, const Expr *Exp) { in RecordModifiableNonNullParam()
14766 static QualType CheckIndirectionOperand(Sema &S, Expr *Op, ExprValueKind &VK, in CheckIndirectionOperand()
14828 BinaryOperatorKind Sema::ConvertTokenKindToBinaryOpcode(tok::TokenKind Kind) { in ConvertTokenKindToBinaryOpcode()
14890 Sema::getSelfAssignmentClassMemberCandidate(const ValueDecl *SelfAssigned) { in getSelfAssignmentClassMemberCandidate()
14925 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr, in DiagnoseSelfAssignment()
14967 static void checkObjCPointerIntrospection(Sema &S, ExprResult &L, ExprResult &R, in checkObjCPointerIntrospection()
15023 static ExprResult convertHalfVecBinOp(Sema &S, ExprResult LHS, ExprResult RHS, in convertHalfVecBinOp()
15056 CorrectDelayedTyposInBinOp(Sema &S, BinaryOperatorKind Opc, Expr *LHSExpr, in CorrectDelayedTyposInBinOp()
15106 ExprResult Sema::CreateBuiltinBinOp(SourceLocation OpLoc, in CreateBuiltinBinOp()
15391 static void DiagnoseBitwisePrecedence(Sema &Self, BinaryOperatorKind Opc, in DiagnoseBitwisePrecedence()
15434 EmitDiagnosticForLogicalAndInLogicalOr(Sema &Self, SourceLocation OpLoc, in EmitDiagnosticForLogicalAndInLogicalOr()
15446 static void DiagnoseLogicalAndInLogicalOrLHS(Sema &S, SourceLocation OpLoc, in DiagnoseLogicalAndInLogicalOrLHS()
15467 static void DiagnoseLogicalAndInLogicalOrRHS(Sema &S, SourceLocation OpLoc, in DiagnoseLogicalAndInLogicalOrRHS()
15482 static void DiagnoseBitwiseOpInBitwiseOp(Sema &S, BinaryOperatorKind Opc, in DiagnoseBitwiseOpInBitwiseOp()
15497 static void DiagnoseAdditionInShift(Sema &S, SourceLocation OpLoc, in DiagnoseAdditionInShift()
15511 static void DiagnoseShiftCompare(Sema &S, SourceLocation OpLoc, in DiagnoseShiftCompare()
15539 static void DiagnoseBinOpPrecedence(Sema &Self, BinaryOperatorKind Opc, in DiagnoseBinOpPrecedence()
15574 ExprResult Sema::ActOnBinOp(Scope *S, SourceLocation TokLoc, in ActOnBinOp()
15587 void Sema::LookupBinOp(Scope *S, SourceLocation OpLoc, BinaryOperatorKind Opc, in LookupBinOp()
15601 static ExprResult BuildOverloadedBinOp(Sema &S, Scope *Sc, SourceLocation OpLoc, in BuildOverloadedBinOp()
15628 ExprResult Sema::BuildBinOp(Scope *S, SourceLocation OpLoc, in BuildBinOp()
15785 ExprResult Sema::CreateBuiltinUnaryOp(SourceLocation OpLoc, in CreateBuiltinUnaryOp()
16020 bool Sema::isQualifiedMemberAccess(Expr *E) { in isQualifiedMemberAccess()
16057 ExprResult Sema::BuildUnaryOp(Scope *S, SourceLocation OpLoc, in BuildUnaryOp()
16102 ExprResult Sema::ActOnUnaryOp(Scope *S, SourceLocation OpLoc, tok::TokenKind Op, in ActOnUnaryOp()
16109 ExprResult Sema::ActOnAddrLabel(SourceLocation OpLoc, SourceLocation LabLoc, in ActOnAddrLabel()
16122 void Sema::ActOnStartStmtExpr() { in ActOnStartStmtExpr()
16126 void Sema::ActOnStmtExprError() { in ActOnStmtExprError()
16134 ExprResult Sema::ActOnStmtExpr(Scope *S, SourceLocation LPLoc, Stmt *SubStmt, in ActOnStmtExpr()
16139 ExprResult Sema::BuildStmtExpr(SourceLocation LPLoc, Stmt *SubStmt, in BuildStmtExpr()
16178 ExprResult Sema::ActOnStmtExprResult(ExprResult ER) { in ActOnStmtExprResult()
16209 ExprResult Sema::BuildBuiltinOffsetOf(SourceLocation BuiltinLoc, in BuildBuiltinOffsetOf()
16372 ExprResult Sema::ActOnBuiltinOffsetOf(Scope *S, in ActOnBuiltinOffsetOf()
16391 ExprResult Sema::ActOnChooseExpr(SourceLocation BuiltinLoc, in ActOnChooseExpr()
16430 void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *CurScope) { in ActOnBlockStart()
16459 void Sema::ActOnBlockArguments(SourceLocation CaretLoc, Declarator &ParamInfo, in ActOnBlockArguments()
16577 void Sema::ActOnBlockError(SourceLocation CaretLoc, Scope *CurScope) { in ActOnBlockError()
16589 ExprResult Sema::ActOnBlockStmtExpr(SourceLocation CaretLoc, in ActOnBlockStmtExpr()
16775 ExprResult Sema::ActOnVAArg(SourceLocation BuiltinLoc, Expr *E, ParsedType Ty, in ActOnVAArg()
16782 ExprResult Sema::BuildVAArgExpr(SourceLocation BuiltinLoc, in BuildVAArgExpr()
16934 ExprResult Sema::ActOnGNUNullExpr(SourceLocation TokenLoc) { in ActOnGNUNullExpr()
16952 static CXXRecordDecl *LookupStdSourceLocationImpl(Sema &S, SourceLocation Loc) { in LookupStdSourceLocationImpl()
16958 Loc, Sema::LookupOrdinaryName); in LookupStdSourceLocationImpl()
16962 Loc, Sema::LookupOrdinaryName); in LookupStdSourceLocationImpl()
17019 ExprResult Sema::ActOnSourceLocExpr(SourceLocExpr::IdentKind Kind, in ActOnSourceLocExpr()
17050 ExprResult Sema::BuildSourceLocExpr(SourceLocExpr::IdentKind Kind, in BuildSourceLocExpr()
17059 bool Sema::CheckConversionToObjCLiteral(QualType DstType, Expr *&Exp, in CheckConversionToObjCLiteral()
17114 static bool maybeDiagnoseAssignmentToFunction(Sema &S, QualType DstType, in maybeDiagnoseAssignmentToFunction()
17133 bool Sema::DiagnoseAssignmentResult(AssignConvertType ConvTy, in DiagnoseAssignmentResult()
17418 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E, in VerifyIntegerConstantExpression()
17423 SemaDiagnosticBuilder diagnoseNotICEType(Sema &S, SourceLocation Loc, in VerifyIntegerConstantExpression()
17428 SemaDiagnosticBuilder diagnoseNotICE(Sema &S, SourceLocation Loc) override { in VerifyIntegerConstantExpression()
17436 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E, in VerifyIntegerConstantExpression()
17447 SemaDiagnosticBuilder diagnoseNotICE(Sema &S, SourceLocation Loc) override { in VerifyIntegerConstantExpression()
17455 Sema::SemaDiagnosticBuilder
17456 Sema::VerifyICEDiagnoser::diagnoseNotICEType(Sema &S, SourceLocation Loc, in diagnoseNotICEType()
17461 Sema::SemaDiagnosticBuilder
17462 Sema::VerifyICEDiagnoser::diagnoseFold(Sema &S, SourceLocation Loc) { in diagnoseFold()
17467 Sema::VerifyIntegerConstantExpression(Expr *E, llvm::APSInt *Result, in VerifyIntegerConstantExpression()
17487 SemaDiagnosticBuilder diagnoseNotInt(Sema &S, SourceLocation Loc, in VerifyIntegerConstantExpression()
17493 Sema &S, SourceLocation Loc, QualType T) override { in VerifyIntegerConstantExpression()
17498 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17503 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17509 Sema &S, SourceLocation Loc, QualType T) override { in VerifyIntegerConstantExpression()
17514 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17520 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override { in VerifyIntegerConstantExpression()
17614 TransformToPE(Sema &SemaRef) : BaseTransform(SemaRef) { } in TransformToPE()
17655 ExprResult Sema::TransformToPotentiallyEvaluated(Expr *E) { in TransformToPotentiallyEvaluated()
17665 TypeSourceInfo *Sema::TransformToPotentiallyEvaluated(TypeSourceInfo *TInfo) { in TransformToPotentiallyEvaluated()
17676 Sema::PushExpressionEvaluationContext( in PushExpressionEvaluationContext()
17698 Sema::PushExpressionEvaluationContext( in PushExpressionEvaluationContext()
17707 const DeclRefExpr *CheckPossibleDeref(Sema &S, const Expr *PossibleDeref) { in CheckPossibleDeref()
17734 void Sema::WarnOnPendingNoDerefs(ExpressionEvaluationContextRecord &Rec) { in WarnOnPendingNoDerefs()
17754 void Sema::CheckUnusedVolatileAssignment(Expr *E) { in CheckUnusedVolatileAssignment()
17769 ExprResult Sema::CheckForImmediateInvocation(ExprResult E, FunctionDecl *Decl) { in CheckForImmediateInvocation()
17800 Sema &SemaRef, Sema::ImmediateInvocationCandidate Candidate) { in EvaluateAndDiagnoseImmediateInvocation()
17835 Sema &SemaRef, Sema::ExpressionEvaluationContextRecord &Rec, in RemoveNestedImmediateInvocation()
17836 SmallVector<Sema::ImmediateInvocationCandidate, 4>::reverse_iterator It) { in RemoveNestedImmediateInvocation()
17840 SmallVector<Sema::ImmediateInvocationCandidate, 4> &IISet; in RemoveNestedImmediateInvocation()
17841 SmallVector<Sema::ImmediateInvocationCandidate, 4>::reverse_iterator in RemoveNestedImmediateInvocation()
17843 ComplexRemove(Sema &SemaRef, llvm::SmallPtrSetImpl<DeclRefExpr *> &DR, in RemoveNestedImmediateInvocation()
17844 SmallVector<Sema::ImmediateInvocationCandidate, 4> &II, in RemoveNestedImmediateInvocation()
17845 SmallVector<Sema::ImmediateInvocationCandidate, in RemoveNestedImmediateInvocation()
17850 [E](Sema::ImmediateInvocationCandidate Elem) { in RemoveNestedImmediateInvocation()
17928 HandleImmediateInvocations(Sema &SemaRef, in HandleImmediateInvocations()
17929 Sema::ExpressionEvaluationContextRecord &Rec) { in HandleImmediateInvocations()
17949 Sema::TentativeAnalysisScope DisableDiag(SemaRef); in HandleImmediateInvocations()
17979 void Sema::PopExpressionEvaluationContext() { in PopExpressionEvaluationContext()
18047 void Sema::DiscardCleanupsInEvaluationContext() { in DiscardCleanupsInEvaluationContext()
18055 ExprResult Sema::HandleExprEvaluationContextForTypeof(Expr *E) { in HandleExprEvaluationContextForTypeof()
18067 static bool isPotentiallyConstantEvaluatedContext(Sema &SemaRef) { in isPotentiallyConstantEvaluatedContext()
18071 case Sema::ExpressionEvaluationContext::ConstantEvaluated: in isPotentiallyConstantEvaluatedContext()
18072 case Sema::ExpressionEvaluationContext::ImmediateFunctionContext: in isPotentiallyConstantEvaluatedContext()
18075 case Sema::ExpressionEvaluationContext::PotentiallyEvaluated: in isPotentiallyConstantEvaluatedContext()
18076 case Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed: in isPotentiallyConstantEvaluatedContext()
18077 case Sema::ExpressionEvaluationContext::DiscardedStatement: in isPotentiallyConstantEvaluatedContext()
18079 case Sema::ExpressionEvaluationContext::UnevaluatedList: in isPotentiallyConstantEvaluatedContext()
18088 case Sema::ExpressionEvaluationContext::Unevaluated: in isPotentiallyConstantEvaluatedContext()
18089 case Sema::ExpressionEvaluationContext::UnevaluatedAbstract: in isPotentiallyConstantEvaluatedContext()
18098 static bool funcHasParameterSizeMangling(Sema &S, FunctionDecl *FD) { in funcHasParameterSizeMangling()
18132 static void CheckCompleteParameterTypesForMangler(Sema &S, FunctionDecl *FD, in CheckCompleteParameterTypesForMangler()
18134 class ParamIncompleteTypeDiagnoser : public Sema::TypeDiagnoser { in CheckCompleteParameterTypesForMangler()
18142 void diagnose(Sema &S, SourceLocation Loc, QualType T) override { in CheckCompleteParameterTypesForMangler()
18186 static OdrUseContext isOdrUseContext(Sema &SemaRef) { in isOdrUseContext()
18190 case Sema::ExpressionEvaluationContext::Unevaluated: in isOdrUseContext()
18191 case Sema::ExpressionEvaluationContext::UnevaluatedList: in isOdrUseContext()
18192 case Sema::ExpressionEvaluationContext::UnevaluatedAbstract: in isOdrUseContext()
18195 case Sema::ExpressionEvaluationContext::ConstantEvaluated: in isOdrUseContext()
18196 case Sema::ExpressionEvaluationContext::ImmediateFunctionContext: in isOdrUseContext()
18197 case Sema::ExpressionEvaluationContext::PotentiallyEvaluated: in isOdrUseContext()
18201 case Sema::ExpressionEvaluationContext::DiscardedStatement: in isOdrUseContext()
18205 case Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed: in isOdrUseContext()
18230 void Sema::MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func, in MarkFunctionReferenced()
18489 MarkVarDeclODRUsed(ValueDecl *V, SourceLocation Loc, Sema &SemaRef, in MarkVarDeclODRUsed()
18507 SemaRef.tryCaptureVariable(V, Loc, Sema::TryCapture_Implicit, in MarkVarDeclODRUsed()
18516 if (VarTarget == Sema::CVT_Host && in MarkVarDeclODRUsed()
18517 (UserTarget == Sema::CFT_Device || UserTarget == Sema::CFT_HostDevice || in MarkVarDeclODRUsed()
18518 UserTarget == Sema::CFT_Global)) { in MarkVarDeclODRUsed()
18530 } else if (VarTarget == Sema::CVT_Device && in MarkVarDeclODRUsed()
18531 (UserTarget == Sema::CFT_Host || in MarkVarDeclODRUsed()
18532 UserTarget == Sema::CFT_HostDevice)) { in MarkVarDeclODRUsed()
18553 void Sema::MarkCaptureUsedInEnclosingContext(ValueDecl *Capture, in MarkCaptureUsedInEnclosingContext()
18559 void diagnoseUncapturableValueReferenceOrBinding(Sema &S, SourceLocation loc, in diagnoseUncapturableValueReferenceOrBinding()
18636 Sema &S) { in getParentOfCapturingContextOrNull()
18653 Sema &S) { in isVariableCapturable()
18734 const bool Nested, Sema &S, bool Invalid) { in captureInBlock()
18802 const bool RefersToCapturedVariable, Sema::TryCaptureKind Kind, in captureInCapturedRegion()
18803 bool IsTopScope, Sema &S, bool Invalid) { in captureInCapturedRegion()
18806 if (IsTopScope && Kind != Sema::TryCapture_Implicit) { in captureInCapturedRegion()
18807 ByRef = (Kind == Sema::TryCapture_ExplicitByRef); in captureInCapturedRegion()
18843 const Sema::TryCaptureKind Kind, in captureInLambda()
18845 Sema &S, bool Invalid) { in captureInLambda()
18848 if (IsTopScope && Kind != Sema::TryCapture_Implicit) { in captureInLambda()
18849 ByRef = (Kind == Sema::TryCapture_ExplicitByRef); in captureInLambda()
18970 static void buildLambdaCaptureFixit(Sema &Sema, LambdaScopeInfo *LSI, in buildLambdaCaptureFixit() argument
18975 bool ShouldOfferCopyFix = canCaptureVariableByCopy(Var, Sema.getASTContext()); in buildLambdaCaptureFixit()
18986 Sema.Diag(VarInsertLoc, diag::note_lambda_variable_capture_fixit) in buildLambdaCaptureFixit()
18992 Sema.Diag(VarInsertLoc, diag::note_lambda_variable_capture_fixit) in buildLambdaCaptureFixit()
19017 if (LSI->isCXXThisCaptured() && !Sema.getLangOpts().CPlusPlus20) in buildLambdaCaptureFixit()
19018 CanDefaultCopyCapture = Sema.getLangOpts().CPlusPlus17 in buildLambdaCaptureFixit()
19027 Sema.Diag(DefaultInsertLoc, diag::note_lambda_default_capture_fixit) in buildLambdaCaptureFixit()
19040 Sema.Diag(DefaultInsertLoc, diag::note_lambda_default_capture_fixit) in buildLambdaCaptureFixit()
19046 bool Sema::tryCaptureVariable( in tryCaptureVariable()
19293 bool Sema::tryCaptureVariable(ValueDecl *Var, SourceLocation Loc, in tryCaptureVariable()
19302 bool Sema::NeedToCaptureVariable(ValueDecl *Var, SourceLocation Loc) { in NeedToCaptureVariable()
19310 QualType Sema::getCapturedDeclRefType(ValueDecl *Var, SourceLocation Loc) { in getCapturedDeclRefType()
19354 static ExprResult rebuildPotentialResultsAsNonOdrUsed(Sema &S, Expr *E, in rebuildPotentialResultsAsNonOdrUsed()
19671 ExprResult Sema::CheckLValueToRValueConversionOperand(Expr *E) { in CheckLValueToRValueConversionOperand()
19678 Sema::NTCUC_LValueToRValueVolatile, in CheckLValueToRValueConversionOperand()
19694 ExprResult Sema::ActOnConstantExpression(ExprResult Res) { in ActOnConstantExpression()
19707 void Sema::CleanupVarDeclMarking() { in CleanupVarDeclMarking()
19732 static void DoMarkPotentialCapture(Sema &SemaRef, SourceLocation Loc, in DoMarkPotentialCapture()
19765 Sema &SemaRef, SourceLocation Loc, VarDecl *Var, Expr *E, in DoMarkVarDeclReferenced()
19918 static void DoMarkBindingDeclReferenced(Sema &SemaRef, SourceLocation Loc, in DoMarkBindingDeclReferenced()
19928 SemaRef.tryCaptureVariable(BD, Loc, Sema::TryCapture_Implicit, in DoMarkBindingDeclReferenced()
19941 void Sema::MarkVariableReferenced(SourceLocation Loc, VarDecl *Var) { in MarkVariableReferenced()
19946 MarkExprReferenced(Sema &SemaRef, SourceLocation Loc, Decl *D, Expr *E, in MarkExprReferenced()
19990 void Sema::MarkDeclRefReferenced(DeclRefExpr *E, const Expr *Base) { in MarkDeclRefReferenced()
20011 void Sema::MarkMemberReferenced(MemberExpr *E) { in MarkMemberReferenced()
20031 void Sema::MarkFunctionParmPackReferenced(FunctionParmPackExpr *E) { in MarkFunctionParmPackReferenced()
20041 void Sema::MarkAnyDeclReferenced(SourceLocation Loc, Decl *D, in MarkAnyDeclReferenced()
20065 Sema &S;
20071 MarkReferencedDecls(Sema &S, SourceLocation Loc) : S(S), Loc(Loc) { } in MarkReferencedDecls()
20082 S, Sema::ExpressionEvaluationContext::ConstantEvaluated); in TraverseTemplateArgument()
20094 void Sema::MarkDeclarationsReferencedInType(SourceLocation Loc, QualType T) { in MarkDeclarationsReferencedInType()
20108 EvaluatedExprMarker(Sema &S, bool SkipLocalVariables, in EvaluatedExprMarker()
20154 void Sema::MarkDeclarationsReferencedInExpr(Expr *E, in MarkDeclarationsReferencedInExpr()
20165 bool Sema::DiagIfReachable(SourceLocation Loc, ArrayRef<const Stmt *> Stmts, in DiagIfReachable()
20208 bool Sema::DiagRuntimeBehavior(SourceLocation Loc, ArrayRef<const Stmt*> Stmts, in DiagRuntimeBehavior()
20235 bool Sema::DiagRuntimeBehavior(SourceLocation Loc, const Stmt *Statement, in DiagRuntimeBehavior()
20241 bool Sema::CheckCallReturnType(QualType ReturnType, SourceLocation Loc, in CheckCallReturnType()
20262 void diagnose(Sema &S, SourceLocation Loc, QualType T) override { in CheckCallReturnType()
20284 void Sema::DiagnoseAssignmentAsCondition(Expr *E) { in DiagnoseAssignmentAsCondition()
20342 void Sema::DiagnoseEqualityWithExtraParens(ParenExpr *ParenE) { in DiagnoseEqualityWithExtraParens()
20369 ExprResult Sema::CheckBooleanCondition(SourceLocation Loc, Expr *E, in CheckBooleanCondition()
20400 Sema::ConditionResult Sema::ActOnCondition(Scope *S, SourceLocation Loc, in ActOnCondition()
20443 Sema &S;
20445 RebuildUnknownAnyFunction(Sema &S) : S(S) {} in RebuildUnknownAnyFunction()
20517 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *FunctionExpr) { in rebuildUnknownAnyFunction()
20531 Sema &S;
20536 RebuildUnknownAnyExpr(Sema &S, QualType CastType) in RebuildUnknownAnyExpr()
20865 ExprResult Sema::checkUnknownAnyCast(SourceRange TypeRange, QualType CastType, in checkUnknownAnyCast()
20885 ExprResult Sema::forceUnknownAnyToType(Expr *E, QualType ToType) { in forceUnknownAnyToType()
20889 ExprResult Sema::checkUnknownAnyArg(SourceLocation callLoc, in checkUnknownAnyArg()
20912 static ExprResult diagnoseUnknownAnyExpr(Sema &S, Expr *E) { in diagnoseUnknownAnyExpr()
20957 ExprResult Sema::CheckPlaceholderExpr(Expr *E) { in CheckPlaceholderExpr()
21118 bool Sema::CheckCaseExpression(Expr *E) { in CheckCaseExpression()
21128 Sema::ActOnObjCBoolLiteral(SourceLocation OpLoc, tok::TokenKind Kind) { in ActOnObjCBoolLiteral()
21134 Sema::LookupOrdinaryName); in ActOnObjCBoolLiteral()
21147 ExprResult Sema::ActOnObjCAvailabilityCheckExpr( in ActOnObjCAvailabilityCheckExpr()
21181 ExprResult Sema::CreateRecoveryExpr(SourceLocation Begin, SourceLocation End, in CreateRecoveryExpr()