Home | History | Annotate | Download | only in Sema

Lines Matching refs:sema

1 //=- AnalysisBasedWarnings.cpp - Sema warnings based on libAnalysis -*- C++ -*-=//
11 // Together they are used by Sema to issue warnings based on inexpensive
16 #include "clang/Sema/AnalysisBasedWarnings.h"
38 #include "clang/Sema/ScopeInfo.h"
39 #include "clang/Sema/SemaInternal.h"
63 Sema &S;
65 UnreachableCodeHandler(Sema &s) : S(s) {}
74 static void CheckUnreachable(Sema &S, AnalysisDeclContext &AC) {
323 static void CheckFallThroughForBody(Sema &S, const Decl *D, const Stmt *Body,
433 static bool SuggestInitializationFixit(Sema &S, const VarDecl *VD) {
464 static void CreateIfFixit(Sema &S, const Stmt *If, const Stmt *Then,
491 static void DiagUninitUse(Sema &S, const VarDecl *VD, const UninitUse &Use,
633 static bool DiagnoseUninitializedUse(Sema &S, const VarDecl *VD,
687 FallthroughMapper(Sema &S)
851 Sema &S;
856 static void DiagnoseSwitchLabelsFallthrough(Sema &S, AnalysisDeclContext &AC,
947 sema::FunctionScopeInfo::WeakObjectUseMap::const_iterator>
990 static void diagnoseRepeatedUseOfWeak(Sema &S,
991 const sema::FunctionScopeInfo *CurFn,
994 typedef sema::FunctionScopeInfo::WeakObjectProfileTy WeakObjectProfileTy;
995 typedef sema::FunctionScopeInfo::WeakObjectUseMap WeakObjectUseMap;
996 typedef sema::FunctionScopeInfo::WeakUseVector WeakUseVector;
1062 // possibilities all throughout Sema?
1070 if (isa<sema::BlockScopeInfo>(CurFn))
1072 else if (isa<sema::LambdaScopeInfo>(CurFn))
1151 Sema &S;
1161 UninitValsDiagReporter(Sema &S) : S(S), uses(0) {}
1264 Sema &S;
1279 ThreadSafetyReporter(Sema &S, SourceLocation FL, SourceLocation FEL)
1408 // AnalysisBasedWarnings - Worker object used by Sema to execute analysis-based
1412 clang::sema::AnalysisBasedWarnings::Policy::Policy() {
1418 clang::sema::AnalysisBasedWarnings::AnalysisBasedWarnings(Sema &s)
1439 static void flushDiagnostics(Sema &S, sema::FunctionScopeInfo *fscope) {
1440 for (SmallVectorImpl<sema::PossiblyUnreachableDiag>::iterator
1444 const sema::PossiblyUnreachableDiag &D = *i;
1449 void clang::sema::
1450 AnalysisBasedWarnings::IssueWarnings(sema::AnalysisBasedWarnings::Policy P,
1451 sema::FunctionScopeInfo *fscope,
1520 for (SmallVectorImpl<sema::PossiblyUnreachableDiag>::iterator
1530 for (SmallVectorImpl<sema::PossiblyUnreachableDiag>::iterator
1535 const sema::PossiblyUnreachableDiag &D = *i;
1543 // edge cases; see test/Sema/vla-2.c.
1658 void clang::sema::AnalysisBasedWarnings::PrintStats() const {