Lines Matching refs:sema
14 #include "clang/Sema/SemaInternal.h"
33 #include "clang/Sema/AnalysisBasedWarnings.h"
34 #include "clang/Sema/DeclSpec.h"
35 #include "clang/Sema/DelayedDiagnostic.h"
36 #include "clang/Sema/Designator.h"
37 #include "clang/Sema/Initialization.h"
38 #include "clang/Sema/Lookup.h"
39 #include "clang/Sema/ParsedTemplate.h"
40 #include "clang/Sema/Scope.h"
41 #include "clang/Sema/ScopeInfo.h"
42 #include "clang/Sema/SemaFixItUtils.h"
43 #include "clang/Sema/Template.h"
45 using namespace sema;
49 bool Sema::CanUseDecl(NamedDecl *D) {
74 static void DiagnoseUnusedOfDecl(Sema &S, NamedDecl *D, SourceLocation Loc) {
83 static AvailabilityResult DiagnoseAvailabilityOfDecl(Sema &S,
144 void Sema::NoteDeletedFunction(FunctionDecl *Decl) {
202 static void diagnoseUseOfInternalDeclInInlineFunction(Sema &S,
247 void Sema::MaybeSuggestAddingStaticToDecl(const FunctionDecl *Cur) {
270 bool Sema::DiagnoseUseOfDecl(NamedDecl *D, SourceLocation Loc,
323 std::string Sema::getDeletedOrUnavailableSuffix(const FunctionDecl *FD) {
335 void Sema::DiagnoseSentinelCalls(NamedDecl *D, SourceLocation Loc,
426 SourceRange Sema::getExprRange(Expr *E) const {
435 ExprResult Sema::DefaultFunctionArrayConversion(Expr *E) {
468 static void CheckForNullPointerDereference(Sema &S, Expr *E) {
487 static void DiagnoseDirectIsaAccess(Sema &S, const ObjCIvarRefExpr *OIRE,
543 ExprResult Sema::DefaultLvalueConversion(Expr *E) {
635 ExprResult Sema::DefaultFunctionArrayLvalueConversion(Expr *E) {
651 ExprResult Sema::UsualUnaryConversions(Expr *E) {
700 ExprResult Sema::DefaultArgumentPromotion(Expr *E) {
743 Sema::VarArgKind Sema::isValidVarArgType(const QualType &Ty) {
787 void Sema::checkVariadicArgument(const Expr *E, VariadicCallType CT) {
826 ExprResult Sema::DefaultVariadicArgumentPromotion(Expr *E, VariadicCallType CT,
850 // emitted along with format string checking in Sema::CheckFunctionCall().
889 static bool handleIntegerToComplexFloatConversion(Sema &S, ExprResult &IntExpr,
912 handleComplexFloatToComplexFloatConverstion(Sema &S, ExprResult &LHS,
932 static QualType handleOtherComplexFloatConversion(Sema &S,
973 static QualType handleComplexFloatConversion(Sema &S, ExprResult &LHS,
1020 static QualType handleIntToFloatConversion(Sema &S, ExprResult &FloatExpr,
1051 static QualType handleFloatConversion(Sema &S, ExprResult &LHS,
1082 typedef ExprResult PerformCastFn(Sema &S, Expr *operand, QualType toType);
1087 ExprResult doIntegralCast(Sema &S, Expr *op, QualType toType) {
1091 ExprResult doComplexIntegralCast(Sema &S, Expr *op, QualType toType) {
1100 static QualType handleIntegerConversion(Sema &S, ExprResult &LHS,
1150 static QualType handleComplexIntConversion(Sema &S, ExprResult &LHS,
1197 QualType Sema::UsualArithmeticConversions(ExprResult &LHS, ExprResult &RHS,
1272 Sema::ActOnGenericSelectionExpr(SourceLocation KeyLoc,
1298 Sema::CreateGenericSelectionExpr(SourceLocation KeyLoc,
1435 static SourceLocation getUDSuffixLoc(Sema &S, SourceLocation TokLoc,
1443 static ExprResult BuildCookedLiteralOperatorCall(Sema &S, Scope *Scope,
1462 LookupResult R(S, OpName, UDSuffixLoc, Sema::LookupOrdinaryName);
1464 /*AllowRawAndTemplate*/false) == Sema::LOLR_Error)
1477 Sema::ActOnStringLiteral(const Token *StringToks, unsigned NumStringToks,
1550 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
1560 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
1630 Sema
1655 bool Sema::DiagnoseEmptyLookup(Scope *S, CXXScopeSpec &SS, LookupResult &R,
1876 ExprResult Sema::ActOnIdExpression(Scope *S,
2094 Sema::BuildQualifiedDeclarationNameExpr(CXXScopeSpec &SS,
2133 /// LookupInObjCMethod - The parser has read a name in, and Sema has
2142 Sema::LookupInObjCMethod(LookupResult &Lookup, Scope *S,
2291 Sema::PerformObjectMemberConversion(Expr *From,
2439 bool Sema::UseArgumentDependentLookup(const CXXScopeSpec &SS,
2499 static bool CheckDeclInExpr(Sema &S, SourceLocation Loc, NamedDecl *D) {
2519 Sema::BuildDeclarationNameExpr(const CXXScopeSpec &SS,
2551 ExprResult Sema::BuildDeclarationNameExpr(
2760 ExprResult Sema::ActOnPredefinedExpr(SourceLocation Loc, tok::TokenKind Kind) {
2804 ExprResult Sema::ActOnCharacterConstant(const Token &Tok, Scope *UDLScope) {
2857 ExprResult Sema::ActOnIntegerConstant(SourceLocation Loc, uint64_t Val) {
2863 static Expr *BuildFloatingLiteral(Sema &S, NumericLiteralParser &Literal,
2895 ExprResult Sema::ActOnNumericConstant(const Token &Tok, Scope *UDLScope) {
3152 ExprResult Sema::ActOnParenExpr(SourceLocation L, SourceLocation R, Expr *E) {
3157 static bool CheckVecStepTraitOperandType(Sema &S, QualType T,
3175 static bool CheckExtensionTraitOperandType(Sema &S, QualType T,
3197 static bool CheckObjCTraitOperandConstraints(Sema &S, QualType T,
3215 static void warnOnSizeofOnArrayDecay(Sema &S, SourceLocation Loc, QualType T,
3238 bool Sema::CheckUnaryExprOrTypeTraitOperand(Expr *E,
3307 bool Sema::CheckUnaryExprOrTypeTraitOperand(QualType ExprType,
3341 static bool CheckAlignOfExpr(Sema &S, Expr *E) {
3409 bool Sema::CheckVecStepExpr(Expr *E) {
3421 Sema::CreateUnaryExprOrTypeTraitExpr(TypeSourceInfo *TInfo,
3443 Sema::CreateUnaryExprOrTypeTraitExpr(Expr *E, SourceLocation OpLoc,
3485 Sema::ActOnUnaryExprOrTypeTraitExpr(SourceLocation OpLoc,
3502 static QualType CheckRealImagOperand(Sema &S, ExprResult &V, SourceLocation Loc,
3539 Sema::ActOnPostfixUnaryOp(Scope *S, SourceLocation OpLoc,
3559 static bool checkArithmeticOnObjCPointer(Sema &S,
3573 Sema::ActOnArraySubscriptExpr(Scope *S, Expr *base, SourceLocation lbLoc,
3626 Sema::CreateBuiltinArraySubscriptExpr(Expr *Base, SourceLocation LLoc,
3772 ExprResult Sema::BuildCXXDefaultArgExpr(SourceLocation CallLoc,
3859 Sema::VariadicCallType
3860 Sema::getVariadicCallType(FunctionDecl *FDecl, const FunctionProtoType *Proto,
3881 FunctionCallCCC(Sema &SemaRef, const IdentifierInfo *FuncName,
3900 static TypoCorrection TryTypoCorrectionForCall(Sema &S,
3906 S.CorrectTypo(FuncName, Sema::LookupOrdinaryName,
3943 Sema::ConvertArgumentsForCall(CallExpr *Call, Expr *Fn,
4079 bool Sema::GatherArgumentsForCall(SourceLocation CallLoc,
4196 static void DiagnoseCalleeStaticArrayParam(Sema &S, ParmVarDecl *PVD) {
4214 Sema::CheckStaticArrayArgument(SourceLocation CallLoc,
4254 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *fn);
4299 static bool checkArgsForPlaceholders(Sema &S, MultiExprArg args) {
4317 Sema::ActOnCallExpr(Scope *S, Expr *Fn, SourceLocation LParenLoc,
4429 Sema::ActOnCUDAExecConfigExpr(Scope *S, SourceLocation LLLLoc,
4449 ExprResult Sema::ActOnAsTypeExpr(Expr *E, ParsedType ParsedDestTy,
4473 Sema::BuildResolvedCallExpr(Expr *Fn, NamedDecl *NDecl,
4655 Sema::ActOnCompoundLiteral(SourceLocation LParenLoc, ParsedType Ty,
4670 Sema::BuildCompoundLiteralExpr(SourceLocation LParenLoc, TypeSourceInfo *TInfo,
4717 Sema::ActOnInitList(SourceLocation LBraceLoc, MultiExprArg InitArgList,
4743 static void maybeExtendBlockObject(Sema &S, ExprResult &E) {
4758 CastKind Sema::PrepareCastToObjCObjectPointer(ExprResult &E) {
4773 CastKind Sema::PrepareScalarCast(ExprResult &Src, QualType DestTy) {
4934 bool Sema::CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty,
4954 ExprResult Sema::CheckExtVectorCast(SourceRange R, QualType DestTy,
4996 Sema::ActOnCastExpr(Scope *S, SourceLocation LParenLoc,
5054 ExprResult Sema::BuildVectorLiteral(SourceLocation LParenLoc,
5137 Sema::MaybeConvertParenListExprToParenExpr(Scope *S, Expr *OrigExpr) {
5153 ExprResult Sema::ActOnParenListExpr(SourceLocation L,
5163 bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr,
5202 static bool checkCondition(Sema &S, Expr *Cond) {
5222 static bool checkConditionalConvertScalarsToVectors(Sema &S, ExprResult &LHS,
5244 static QualType checkConditionalVoidType(Sema &S, ExprResult &LHS,
5262 static bool checkConditionalNullPointer(Sema &S, ExprResult &NullExpr,
5275 static QualType checkConditionalPointerCompatibility(Sema &S, ExprResult &LHS,
5346 static QualType checkConditionalBlockPointerCompatibility(Sema &S,
5372 checkConditionalObjectPointersCompatibility(Sema &S, ExprResult &LHS,
5411 static bool checkPointerIntegerMismatch(Sema &S, ExprResult &Int,
5432 QualType Sema::CheckConditionalOperands(ExprResult &Cond, ExprResult &LHS,
5548 QualType Sema::FindCompositeObjCPointerType(ExprResult &LHS, ExprResult &RHS,
5689 static void SuggestParentheses(Sema &Self, SourceLocation Loc,
5775 static void DiagnoseConditionalPrecedence(Sema &Self,
5807 ExprResult Sema::ActOnConditionalOp(SourceLocation QuestionLoc,
5876 static Sema::AssignConvertType
5877 checkPointerTypesForAssignment(Sema &S, QualType LHSType, QualType RHSType) {
5887 Sema::AssignConvertType ConvTy = Sema::Compatible;
5905 ConvTy = Sema::IncompatiblePointerDiscardsQualifiers;
5917 ConvTy = Sema::IncompatiblePointerDiscardsQualifiers;
5921 else ConvTy = Sema::CompatiblePointerDiscardsQualifiers;
5933 return Sema::FunctionVoidPointer;
5942 return Sema::FunctionVoidPointer;
5966 if (ConvTy != Sema::Compatible)
5969 return Sema::IncompatiblePointerSign;
5983 return Sema::IncompatibleNestedPointerQualifiers;
5987 return Sema::IncompatiblePointer;
5991 return Sema::IncompatiblePointer;
5999 static Sema::AssignConvertType
6000 checkBlockPointerTypesForAssignment(Sema &S, QualType LHSType,
6013 return Sema::IncompatibleBlockPointer;
6015 Sema::AssignConvertType ConvTy = Sema::Compatible;
6019 ConvTy = Sema::CompatiblePointerDiscardsQualifiers;
6022 return Sema::IncompatibleBlockPointer;
6029 static Sema::AssignConvertType
6030 checkObjCPointerTypesForAssignment(Sema &S, QualType LHSType,
6039 return Sema::IncompatiblePointer;
6040 return Sema::Compatible;
6045 return Sema::IncompatiblePointer;
6046 return Sema::Compatible;
6054 return Sema::CompatiblePointerDiscardsQualifiers;
6057 return Sema::Compatible;
6059 return Sema::IncompatibleObjCQualifiedId;
6060 return Sema::IncompatiblePointer;
6063 Sema::AssignConvertType
6064 Sema::CheckAssignmentConstraints(SourceLocation Loc,
6094 Sema::AssignConvertType
6095 Sema::CheckAssignmentConstraints(QualType LHSType, ExprResult &RHS,
6114 Sema::AssignConvertType result =
6267 Sema::AssignConvertType result =
6359 static void ConstructTransparentUnion(Sema &S, ASTContext &C,
6378 Sema::AssignConvertType
6379 Sema::CheckTransparentUnionArgumentConstraints(QualType ArgType,
6432 Sema::AssignConvertType
6433 Sema::CheckSingleAssignmentConstraints(QualType LHSType, ExprResult &RHS,
6460 Sema::AssignConvertType result = Compatible;
6499 Sema::AssignConvertType result =
6519 QualType Sema::InvalidOperands(SourceLocation Loc, ExprResult &LHS,
6527 QualType Sema::CheckVectorOperands(ExprResult &LHS, ExprResult &RHS,
6625 static void checkArithmeticNull(Sema &S, ExprResult &LHS, ExprResult &RHS,
6661 QualType Sema::CheckMultiplyDivideOperands(ExprResult &LHS, ExprResult &RHS,
6689 QualType Sema::CheckRemainderOperands(
6720 static void diagnoseArithmeticOnTwoVoidPointers(Sema &S, SourceLocation Loc,
6730 static void diagnoseArithmeticOnVoidPointer(Sema &S, SourceLocation Loc,
6739 static void diagnoseArithmeticOnTwoFunctionPointers(Sema &S, SourceLocation Loc,
6755 static void diagnoseArithmeticOnFunctionPointer(Sema &S, SourceLocation Loc,
6769 static bool checkArithmeticIncompletePointerType(Sema &S, SourceLocation Loc,
6787 static bool checkArithmeticOpPointerOperand(Sema &S, SourceLocation Loc,
6815 static bool checkArithmeticBinOpPointerOperands(Sema &S, SourceLocation Loc,
6857 static void diagnoseStringPlusInt(Sema &Self, SourceLocation OpLoc,
6896 static void diagnosePointerIncompatibility(Sema &S, SourceLocation Loc,
6905 QualType Sema::CheckAdditionOperands( // C99 6.5.6
6978 QualType Sema::CheckSubtractionOperands(ExprResult &LHS, ExprResult &RHS,
7062 static void DiagnoseBadShiftValues(Sema& S, ExprResult &LHS, ExprResult &RHS,
7066 // so skip remaining warnings as we don't want to modify values within Sema.
7132 QualType Sema::CheckShiftOperands(ExprResult &LHS, ExprResult &RHS,
7189 static void checkEnumComparison(Sema &S, SourceLocation Loc, Expr *LHS,
7216 static void diagnoseDistinctPointerComparison(Sema &S, SourceLocation Loc,
7227 static bool convertPointersToCompositeType(Sema &S, SourceLocation Loc,
7272 static void diagnoseFunctionPointerToVoidComparison(Sema &S, SourceLocation Loc,
7295 static bool hasIsEqualMethod(Sema &S, const Expr *LHS, const Expr *RHS) {
7345 Sema::ObjCLiteralKind Sema::CheckLiteralKind(Expr *FromE) {
7387 static void diagnoseObjCLiteralComparison(Sema &S, SourceLocation Loc,
7409 Sema::ObjCLiteralKind LiteralKind = S.CheckLiteralKind(Literal);
7410 assert(LiteralKind != Sema::LK_Block);
7411 if (LiteralKind == Sema::LK_None) {
7415 if (LiteralKind == Sema::LK_String)
7436 static void diagnoseLogicalNotOnLHSofComparison(Sema &S, ExprResult &LHS,
7480 QualType Sema::CheckCompareOperands(ExprResult &LHS, ExprResult &RHS,
7854 QualType Sema::GetSignedVectorType(QualType V) {
7874 QualType Sema::CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS,
7916 QualType Sema::CheckVectorLogicalOperands(ExprResult &LHS, ExprResult &RHS,
7930 inline QualType Sema::CheckBitwiseOperands(
7956 inline QualType Sema::CheckLogicalOperands( // C99 6.5.[13,14]
8048 static bool IsReadonlyMessage(Expr *E, Sema &S) {
8062 static NonConstCaptureKind isReferenceToNonConstCapture(Sema &S, Expr *E) {
8086 static bool CheckForModifiableLvalue(Expr *E, SourceLocation Loc, Sema &S) {
8196 Sema &Sema) {
8202 Sema.Diag(Loc, diag::warn_identity_field_assign) << 0;
8212 Sema.Diag(Loc, diag::warn_identity_field_assign) << 1;
8217 QualType Sema::CheckAssignmentOperands(Expr *LHSExpr, ExprResult &RHS,
8323 static QualType CheckCommaOperands(Sema &S, ExprResult &LHS, ExprResult &RHS,
8356 static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op,
8494 static void diagnoseAddressOfInvalidType(Sema &S, SourceLocation Loc,
8506 QualType Sema::CheckAddressOfOperand(ExprResult &OrigOp, SourceLocation OpLoc) {
8684 Sema &S, Expr *Op, ExprValueKind &VK,
8798 static void DiagnoseSelfAssignment(Sema &S, Expr *LHSExpr, Expr *RHSExpr,
8831 static void checkObjCPointerIntrospection(Sema &S, ExprResult &L, ExprResult &R,
8875 ExprResult Sema::CreateBuiltinBinOp(SourceLocation OpLoc,
9049 static void DiagnoseBitwisePrecedence(Sema &Self, BinaryOperatorKind Opc,
9091 EmitDiagnosticForBitwiseAndInBitwiseOr(Sema &Self, SourceLocation OpLoc,
9106 EmitDiagnosticForLogicalAndInLogicalOr(Sema &Self, SourceLocation OpLoc,
9119 static bool EvaluatesAsTrue(Sema &S, Expr *E) {
9126 static bool EvaluatesAsFalse(Sema &S, Expr *E) {
9132 static void DiagnoseLogicalAndInLogicalOrLHS(Sema &S, SourceLocation OpLoc,
9154 static void DiagnoseLogicalAndInLogicalOrRHS(Sema &S, SourceLocation OpLoc,
9169 static void DiagnoseBitwiseAndInBitwiseOr(Sema &S, SourceLocation OpLoc,
9177 static void DiagnoseAdditionInShift(Sema &S, SourceLocation OpLoc,
9191 static void DiagnoseShiftCompare(Sema &S, SourceLocation OpLoc,
9220 static void DiagnoseBinOpPrecedence(Sema &Self, BinaryOperatorKind Opc,
9254 ExprResult Sema::ActOnBinOp(Scope *S, SourceLocation TokLoc,
9268 static ExprResult BuildOverloadedBinOp(Sema &S, Scope *Sc, SourceLocation OpLoc,
9287 ExprResult Sema::BuildBinOp(Scope *S, SourceLocation OpLoc,
9365 ExprResult Sema::CreateBuiltinUnaryOp(SourceLocation OpLoc,
9571 ExprResult Sema::BuildUnaryOp(Scope *S, SourceLocation OpLoc,
9619 ExprResult Sema::ActOnUnaryOp(Scope *S, SourceLocation OpLoc,
9625 ExprResult Sema::ActOnAddrLabel(SourceLocation OpLoc, SourceLocation LabLoc,
9656 void Sema::ActOnStartStmtExpr() {
9660 void Sema::ActOnStmtExprError() {
9669 Sema::ActOnStmtExpr(SourceLocation LPLoc, Stmt *SubStmt,
9749 ExprResult Sema::BuildBuiltinOffsetOf(SourceLocation BuiltinLoc,
9919 ExprResult Sema::ActOnBuiltinOffsetOf(Scope *S,
9940 ExprResult Sema::ActOnChooseExpr(SourceLocation BuiltinLoc,
9985 void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *CurScope) {
10012 void Sema::ActOnBlockArguments(SourceLocation CaretLoc, Declarator &ParamInfo,
10133 void Sema::ActOnBlockError(SourceLocation CaretLoc, Scope *CurScope) {
10145 ExprResult Sema::ActOnBlockStmtExpr(SourceLocation CaretLoc,
10266 ExprResult Sema::ActOnVAArg(SourceLocation BuiltinLoc,
10274 ExprResult Sema::BuildVAArgExpr(SourceLocation BuiltinLoc,
10359 ExprResult Sema::ActOnGNUNullExpr(SourceLocation TokenLoc) {
10377 static void MakeObjCStringLiteralFixItHint(Sema& SemaRef, QualType DstType,
10411 bool Sema::DiagnoseAssignmentResult(AssignConvertType ConvTy,
10590 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E,
10594 virtual void diagnoseNotICE(Sema &S, SourceLocation Loc, SourceRange SR) {
10602 ExprResult Sema::VerifyIntegerConstantExpression(Expr *E,
10613 virtual void diagnoseNotICE(Sema &S, SourceLocation Loc, SourceRange SR) {
10621 void Sema::VerifyICEDiagnoser::diagnoseFold(Sema &S, SourceLocation Loc,
10627 Sema::VerifyIntegerConstantExpression(Expr *E, llvm::APSInt *Result,
10645 virtual SemaDiagnosticBuilder diagnoseNotInt(Sema &S, SourceLocation Loc,
10651 Sema &S, SourceLocation Loc, QualType T) {
10656 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) {
10661 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) {
10667 Sema &S, SourceLocation Loc, QualType T) {
10672 Sema &S, CXXConversionDecl *Conv, QualType ConvTy) {
10678 Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) {
10758 TransformToPE(Sema &SemaRef) : BaseTransform(SemaRef) { }
10803 ExprResult Sema::TransformToPotentiallyEvaluated(Expr *E) {
10814 Sema::PushExpressionEvaluationContext(ExpressionEvaluationContext NewContext,
10829 Sema::PushExpressionEvaluationContext(ExpressionEvaluationContext NewContext,
10836 void Sema::PopExpressionEvaluationContext() {
10883 void Sema::DiscardCleanupsInEvaluationContext() {
10891 ExprResult Sema::HandleExprEvaluationContextForTypeof(Expr *E) {
10897 static bool IsPotentiallyEvaluatedContext(Sema &SemaRef) {
10904 case Sema::Unevaluated:
10905 case Sema::UnevaluatedAbstract:
10912 case Sema::ConstantEvaluated:
10913 case Sema::PotentiallyEvaluated:
10919 case Sema::PotentiallyEvaluatedIfUsed:
10929 void Sema::MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func) {
11065 // expression evaluator needing to call back into Sema if it sees a
11108 diagnoseUncapturableValueReference(Sema &S, SourceLocation loc,
11154 static ExprResult captureInCapturedRegion(Sema &S, CapturedRegionScopeInfo *RSI,
11182 static ExprResult captureInLambda(Sema &S, LambdaScopeInfo *LSI,
11210 EnterExpressionEvaluationContext scope(S, Sema::PotentiallyEvaluated);
11299 bool Sema::tryCaptureVariable(VarDecl *Var, SourceLocation Loc,
11630 bool Sema::tryCaptureVariable(VarDecl *Var, SourceLocation Loc,
11639 QualType Sema::getCapturedDeclRefType(VarDecl *Var, SourceLocation Loc) {
11651 static void MarkVarDeclODRUsed(Sema &SemaRef, VarDecl *Var,
11667 void Sema::UpdateMarkingForLValueToRValue(Expr *E) {
11676 ExprResult Sema::ActOnConstantExpression(ExprResult Res) {
11688 void Sema::CleanupVarDeclMarking() {
11712 static void DoMarkVarDeclReferenced(Sema &SemaRef, SourceLocation Loc,
11784 // Sema::UpdateMarkingForLValueToRValue deals with the second part.
11801 void Sema::MarkVariableReferenced(SourceLocation Loc, VarDecl *Var) {
11805 static void MarkExprReferenced(Sema &SemaRef, SourceLocation Loc,
11833 void Sema::MarkDeclRefReferenced(DeclRefExpr *E) {
11845 void Sema::MarkMemberReferenced(MemberExpr *E) {
11867 void Sema::MarkAnyDeclReferenced(SourceLocation Loc, Decl *D, bool OdrUse) {
11886 Sema &S;
11892 MarkReferencedDecls(Sema &S, SourceLocation Loc) : S(S), Loc(Loc) { }
11919 void Sema::MarkDeclarationsReferencedInType(SourceLocation Loc, QualType T) {
11928 Sema &S;
11934 EvaluatedExprMarker(Sema &S, bool SkipLocalVariables)
12003 void Sema::MarkDeclarationsReferencedInExpr(Expr *E,
12024 bool Sema::DiagRuntimeBehavior(SourceLocation Loc, const Stmt *Statement,
12040 push_back(sema::PossiblyUnreachableDiag(PD, Loc, Statement));
12051 bool Sema::CheckCallReturnType(QualType ReturnType, SourceLocation Loc,
12071 virtual void diagnose(Sema &S, SourceLocation Loc, QualType T) {
12094 void Sema::DiagnoseAssignmentAsCondition(Expr *E) {
12152 void Sema::DiagnoseEqualityWithExtraParens(ParenExpr *ParenE) {
12179 ExprResult Sema::CheckBooleanCondition(Expr *E, SourceLocation Loc) {
12208 ExprResult Sema::ActOnBooleanCondition(Scope *S, SourceLocation Loc,
12222 Sema &S;
12224 RebuildUnknownAnyFunction(Sema &S) : S(S) {}
12296 static ExprResult rebuildUnknownAnyFunction(Sema &S, Expr *FunctionExpr) {
12310 Sema &S;
12315 RebuildUnknownAnyExpr(Sema &S, QualType CastType)
12446 // corresponding target-specific code from IR-gen to Sema/AST.
12612 ExprResult Sema::checkUnknownAnyCast(SourceRange TypeRange, QualType CastType,
12626 ExprResult Sema::forceUnknownAnyToType(Expr *E, QualType ToType) {
12630 ExprResult Sema::checkUnknownAnyArg(SourceLocation callLoc,
12653 static ExprResult diagnoseUnknownAnyExpr(Sema &S, Expr *E) {
12698 ExprResult Sema::CheckPlaceholderExpr(Expr *E) {
12758 bool Sema::CheckCaseExpression(Expr *E) {
12768 Sema::ActOnObjCBoolLiteral(SourceLocation OpLoc, tok::TokenKind Kind) {
12774 Sema::LookupOrdinaryName);