|
clang
5.0.0
|
#include "clang/Sema/AnalysisBasedWarnings.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/EvaluatedExprVisitor.h"#include "clang/AST/ExprCXX.h"#include "clang/AST/ExprObjC.h"#include "clang/AST/ParentMap.h"#include "clang/AST/RecursiveASTVisitor.h"#include "clang/AST/StmtCXX.h"#include "clang/AST/StmtObjC.h"#include "clang/AST/StmtVisitor.h"#include "clang/Analysis/Analyses/CFGReachabilityAnalysis.h"#include "clang/Analysis/Analyses/Consumed.h"#include "clang/Analysis/Analyses/ReachableCode.h"#include "clang/Analysis/Analyses/ThreadSafety.h"#include "clang/Analysis/Analyses/UninitializedValues.h"#include "clang/Analysis/AnalysisContext.h"#include "clang/Analysis/CFG.h"#include "clang/Analysis/CFGStmtMap.h"#include "clang/Basic/SourceLocation.h"#include "clang/Basic/SourceManager.h"#include "clang/Lex/Preprocessor.h"#include "clang/Sema/ScopeInfo.h"#include "clang/Sema/SemaInternal.h"#include "llvm/ADT/BitVector.h"#include "llvm/ADT/MapVector.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringRef.h"#include "llvm/Support/Casting.h"#include <algorithm>#include <deque>#include <iterator>Go to the source code of this file.
Namespaces | |
| clang | |
| /file This file defines classes for searching and anlyzing source code clones. | |
| clang::threadSafety | |
| clang::consumed | |
Functions | |
| static void | CheckUnreachable (Sema &S, AnalysisDeclContext &AC) |
| CheckUnreachable - Check for unreachable code. More... | |
| static bool | hasRecursiveCallInPath (const FunctionDecl *FD, CFGBlock &Block) |
| static bool | checkForRecursiveFunctionCall (const FunctionDecl *FD, CFG *cfg) |
| static void | checkRecursiveFunction (Sema &S, const FunctionDecl *FD, const Stmt *Body, AnalysisDeclContext &AC) |
| static bool | isThrowCaught (const CXXThrowExpr *Throw, const CXXCatchStmt *Catch) |
| static bool | isThrowCaughtByHandlers (const CXXThrowExpr *CE, const CXXTryStmt *TryStmt) |
| static bool | doesThrowEscapePath (CFGBlock Block, SourceLocation &OpLoc) |
| static bool | hasThrowOutNonThrowingFunc (SourceLocation &OpLoc, CFG *BodyCFG) |
| static void | EmitDiagForCXXThrowInNonThrowingFunc (Sema &S, SourceLocation OpLoc, const FunctionDecl *FD) |
| static void | checkThrowInNonThrowingFunc (Sema &S, const FunctionDecl *FD, AnalysisDeclContext &AC) |
| static bool | isNoexcept (const FunctionDecl *FD) |
| static ControlFlowKind | CheckFallThrough (AnalysisDeclContext &AC) |
| CheckFallThrough - Check that we don't fall off the end of a Statement that should return a value. More... | |
| static void | CheckFallThroughForBody (Sema &S, const Decl *D, const Stmt *Body, const BlockExpr *blkExpr, const CheckFallThroughDiagnostics &CD, AnalysisDeclContext &AC) |
| CheckFallThroughForFunctionDef - Check that we don't fall off the end of a function that should return a value. More... | |
| static bool | SuggestInitializationFixit (Sema &S, const VarDecl *VD) |
| static void | CreateIfFixit (Sema &S, const Stmt *If, const Stmt *Then, const Stmt *Else, bool CondVal, FixItHint &Fixit1, FixItHint &Fixit2) |
| Create a fixit to remove an if-like statement, on the assumption that its condition is CondVal. More... | |
| static void | DiagUninitUse (Sema &S, const VarDecl *VD, const UninitUse &Use, bool IsCapturedByBlock) |
| DiagUninitUse – Helper function to produce a diagnostic for an uninitialized use of a variable. More... | |
| static bool | DiagnoseUninitializedUse (Sema &S, const VarDecl *VD, const UninitUse &Use, bool alwaysReportSelfInit=false) |
| DiagnoseUninitializedUse – Helper function for diagnosing uses of an uninitialized variable. More... | |
| static StringRef | getFallthroughAttrSpelling (Preprocessor &PP, SourceLocation Loc) |
| static void | DiagnoseSwitchLabelsFallthrough (Sema &S, AnalysisDeclContext &AC, bool PerFunction) |
| static bool | isInLoop (const ASTContext &Ctx, const ParentMap &PM, const Stmt *S) |
| static void | diagnoseRepeatedUseOfWeak (Sema &S, const sema::FunctionScopeInfo *CurFn, const Decl *D, const ParentMap &PM) |
| static unsigned | isEnabled (DiagnosticsEngine &D, unsigned diag) |
| static void | flushDiagnostics (Sema &S, const sema::FunctionScopeInfo *fscope) |
| enum ControlFlowKind |
| Enumerator | |
|---|---|
| UnknownFallThrough | |
| NeverFallThrough | |
| MaybeFallThrough | |
| AlwaysFallThrough | |
| NeverFallThroughOrReturn | |
Definition at line 438 of file AnalysisBasedWarnings.cpp.
| enum RecursiveState |
| Enumerator | |
|---|---|
| FoundNoPath | |
| FoundPath | |
| FoundPathWithNoRecursiveCall | |
Definition at line 205 of file AnalysisBasedWarnings.cpp.
| enum ThrowState |
| Enumerator | |
|---|---|
| FoundNoPathForThrow | |
| FoundPathForThrow | |
| FoundPathWithNoThrowOutFunction | |
Definition at line 284 of file AnalysisBasedWarnings.cpp.
|
static |
CheckFallThrough - Check that we don't fall off the end of a Statement that should return a value.
Definition at line 455 of file AnalysisBasedWarnings.cpp.
References AlwaysFallThrough, clang::CFGElement::castAs(), clang::AnalysisDeclContext::getAddEHEdges(), clang::CFGElement::getAs(), clang::CFGBlock::getBlockID(), clang::AnalysisDeclContext::getCFG(), clang::CFG::getEntry(), clang::CFG::getNumBlockIDs(), clang::CFGStmt::getStmt(), clang::CFGBlock::getTerminator(), clang::CFGBlock::hasNoReturnElement(), I, clang::CFGBlock::FilterOptions::IgnoreDefaultsWithCoveredEnums, MaybeFallThrough, NeverFallThrough, NeverFallThroughOrReturn, clang::CFGBlock::rbegin(), clang::CFGBlock::rend(), S, clang::reachable_code::ScanReachableFromBlock(), clang::CFGBlock::succ_begin(), clang::CFGBlock::succ_end(), and UnknownFallThrough.
Referenced by CheckFallThroughForBody().
|
static |
CheckFallThroughForFunctionDef - Check that we don't fall off the end of a function that should return a value.
Check that we don't fall off the end of a noreturn function. We assume that functions and blocks not marked noreturn will return.
Definition at line 691 of file AnalysisBasedWarnings.cpp.
References AlwaysFallThrough, CheckFallThrough(), clang::sema::FunctionScopeInfo::CoroutinePromise, clang::Sema::Diag(), clang::Type::getAs(), clang::Sema::getCurFunction(), clang::Sema::getDiagnostics(), clang::Stmt::getLocEnd(), clang::Stmt::getLocStart(), clang::Type::getPointeeType(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::sema::FunctionScopeInfo::isCoroutine(), MaybeFallThrough, NeverFallThrough, NeverFallThroughOrReturn, and UnknownFallThrough.
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
Definition at line 213 of file AnalysisBasedWarnings.cpp.
References E, FoundNoPath, FoundPath, FoundPathWithNoRecursiveCall, clang::CFGBlock::getBlockID(), clang::CFG::getEntry(), clang::CFG::getExit(), clang::CFG::getNumBlockIDs(), hasRecursiveCallInPath(), I, ID, Stack, clang::CFGBlock::succ_begin(), and clang::CFGBlock::succ_end().
Referenced by checkRecursiveFunction().
|
static |
Definition at line 259 of file AnalysisBasedWarnings.cpp.
References checkForRecursiveFunctionCall(), clang::Sema::Diag(), clang::FunctionDecl::getCanonicalDecl(), clang::AnalysisDeclContext::getCFG(), clang::CFG::getExit(), clang::Stmt::getLocStart(), clang::FunctionDecl::getTemplatedKind(), clang::CFGBlock::pred_empty(), clang::FunctionDecl::TK_MemberSpecialization, and clang::FunctionDecl::TK_NonTemplate.
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
Definition at line 415 of file AnalysisBasedWarnings.cpp.
References EmitDiagForCXXThrowInNonThrowingFunc(), clang::AnalysisDeclContext::getCFG(), clang::CFG::getExit(), hasThrowOutNonThrowingFunc(), and clang::CFGBlock::pred_empty().
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
CheckUnreachable - Check for unreachable code.
Definition at line 109 of file AnalysisBasedWarnings.cpp.
References clang::reachable_code::FindUnreachableCode(), clang::AnalysisDeclContext::getDecl(), clang::Decl::getLocStart(), clang::Sema::getPreprocessor(), clang::Sema::getSourceManager(), and clang::SourceManager::isInMainFile().
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
Create a fixit to remove an if-like statement, on the assumption that its condition is CondVal.
Definition at line 836 of file AnalysisBasedWarnings.cpp.
References clang::FixItHint::CreateRemoval(), clang::CharSourceRange::getCharRange(), clang::Stmt::getLocEnd(), clang::Sema::getLocForEndOfToken(), clang::Stmt::getLocStart(), and clang::Stmt::getSourceRange().
Referenced by DiagUninitUse().
|
static |
Definition at line 1398 of file AnalysisBasedWarnings.cpp.
References clang::Sema::Diag(), E, clang::Sema::getASTContext(), clang::Stmt::getLocStart(), clang::Sema::getSourceManager(), clang::Stmt::getSourceRange(), clang::sema::FunctionScopeInfo::getWeakObjectUses(), I, clang::SourceManager::isBeforeInTranslationUnit(), isInLoop(), clang::Property, and SM.
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
Definition at line 1293 of file AnalysisBasedWarnings.cpp.
References clang::FixItHint::CreateInsertion(), clang::Sema::Diag(), clang::CFGBlock::empty(), clang::AnalysisDeclContext::getASTContext(), clang::AnalysisDeclContext::getBody(), clang::AnalysisDeclContext::getCFG(), clang::AnalysisDeclContext::getDecl(), getFallthroughAttrSpelling(), clang::CFGBlock::getLabel(), clang::ASTContext::getLangOpts(), clang::Sema::getLangOpts(), clang::Stmt::getLocStart(), clang::Sema::getPreprocessor(), clang::CFGBlock::getTerminator(), clang::SourceLocation::isMacroID(), Label, clang::CFGBlock::succ_begin(), and clang::CFGBlock::succ_size().
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
DiagnoseUninitializedUse – Helper function for diagnosing uses of an uninitialized variable.
This manages the different forms of diagnostic emitted for particular types of uses. Returns true if the use was diagnosed as a warning. If a particular use is one we omit warnings for, returns false.
Definition at line 1034 of file AnalysisBasedWarnings.cpp.
References clang::Sema::Context, clang::Sema::Diag(), DiagUninitUse(), clang::NamedDecl::getDeclName(), clang::VarDecl::getInit(), clang::Decl::getLocation(), clang::DeclaratorDecl::getLocStart(), clang::BlockExpr::getLocStart(), clang::ValueDecl::getType(), clang::UninitUse::getUser(), clang::Decl::hasAttr(), clang::Type::isBlockPointerType(), and SuggestInitializationFixit().
|
static |
DiagUninitUse – Helper function to produce a diagnostic for an uninitialized use of a variable.
Definition at line 862 of file AnalysisBasedWarnings.cpp.
References clang::UninitUse::AfterCall, clang::UninitUse::AfterDecl, clang::UninitUse::Always, clang::UninitUse::branch_begin(), clang::UninitUse::branch_end(), CreateIfFixit(), clang::FixItHint::CreateRemoval(), clang::FixItHint::CreateReplacement(), clang::Sema::Diag(), E, clang::SourceRange::getBegin(), clang::CharSourceRange::getBegin(), clang::IfStmt::getCond(), clang::ConditionalOperator::getCond(), clang::NamedDecl::getDeclName(), clang::IfStmt::getElse(), clang::ConditionalOperator::getFalseExpr(), clang::UninitUse::getKind(), clang::Sema::getLangOpts(), clang::Decl::getLexicalDeclContext(), clang::BinaryOperator::getLHS(), clang::Decl::getLocation(), clang::Stmt::getLocStart(), clang::BinaryOperator::getLocStart(), clang::BinaryOperator::getOpcode(), clang::BinaryOperator::getOpcodeStr(), clang::BinaryOperator::getOperatorLoc(), clang::Stmt::getSourceRange(), clang::VarDecl::getSourceRange(), clang::Stmt::getStmtClass(), clang::IfStmt::getThen(), clang::ConditionalOperator::getTrueExpr(), clang::UninitUse::getUser(), I, clang::BinaryOperator::isLogicalOp(), clang::UninitUse::Maybe, clang::FixItHint::RemoveRange, and clang::UninitUse::Sometimes.
Referenced by DiagnoseUninitializedUse().
|
static |
Definition at line 331 of file AnalysisBasedWarnings.cpp.
References I, isThrowCaughtByHandlers(), and clang::CFGElement::Statement.
Referenced by hasThrowOutNonThrowingFunc().
|
static |
Definition at line 395 of file AnalysisBasedWarnings.cpp.
References clang::Sema::Diag(), clang::DeclarationName::getCXXOverloadedOperator(), clang::NamedDecl::getDeclName(), clang::FunctionDecl::getExceptionSpecSourceRange(), clang::Sema::getLangOpts(), clang::Decl::getLocation(), clang::Sema::getSourceManager(), clang::TypeSourceInfo::getType(), clang::DeclaratorDecl::getTypeSourceInfo(), and clang::SourceManager::isInSystemHeader().
Referenced by checkThrowInNonThrowingFunc().
|
static |
Definition at line 2067 of file AnalysisBasedWarnings.cpp.
References clang::Sema::Diag(), and clang::sema::FunctionScopeInfo::PossiblyUnreachableDiags.
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
Definition at line 1265 of file AnalysisBasedWarnings.cpp.
References clang::Preprocessor::getIdentifierInfo(), clang::Preprocessor::getLangOpts(), and clang::Preprocessor::getLastMacroWithSpelling().
Referenced by DiagnoseSwitchLabelsFallthrough().
|
static |
Definition at line 173 of file AnalysisBasedWarnings.cpp.
References clang::CallExpr::getCallee(), clang::CallExpr::getCalleeDecl(), clang::Decl::getCanonicalDecl(), clang::CXXMemberCallExpr::getImplicitObjectArgument(), clang::CXXMemberCallExpr::getMethodDecl(), clang::Expr::IgnoreParenImpCasts(), clang::CXXMethodDecl::isVirtual(), clang::CFGElement::Statement, and clang::NestedNameSpecifier::TypeSpec.
Referenced by checkForRecursiveFunctionCall().
|
static |
Definition at line 353 of file AnalysisBasedWarnings.cpp.
References doesThrowEscapePath(), FoundNoPathForThrow, FoundPathForThrow, FoundPathWithNoThrowOutFunction, clang::CFGBlock::getBlockID(), clang::CFG::getEntry(), clang::CFG::getExit(), clang::CFG::getNumBlockIDs(), I, ID, Stack, and clang::CFGBlock::succs().
Referenced by checkThrowInNonThrowingFunc().
|
static |
Definition at line 2035 of file AnalysisBasedWarnings.cpp.
References clang::DiagnosticsEngine::isIgnored().
Referenced by clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnVariableDeclarator(), clang::sema::AnalysisBasedWarnings::AnalysisBasedWarnings(), clang::Sema::CheckAssignmentOperands(), and clang::Sema::CheckVariableDeclarationType().
|
static |
Definition at line 1372 of file AnalysisBasedWarnings.cpp.
References clang::Expr::EvaluateAsInt(), clang::ParentMap::getParent(), clang::Stmt::getStmtClass(), and S.
Referenced by diagnoseRepeatedUseOfWeak().
|
static |
Definition at line 427 of file AnalysisBasedWarnings.cpp.
References clang::Type::castAs(), clang::Decl::getASTContext(), and clang::ValueDecl::getType().
Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().
|
static |
Definition at line 290 of file AnalysisBasedWarnings.cpp.
References clang::Type::castAs(), clang::Type::getAsCXXRecordDecl(), clang::CXXCatchStmt::getCaughtType(), clang::Type::getPointeeType(), clang::ReferenceType::getPointeeType(), clang::CXXThrowExpr::getSubExpr(), clang::Expr::getType(), clang::QualType::getTypePtrOrNull(), clang::Type::getUnqualifiedDesugaredType(), clang::CXXRecordDecl::isDerivedFrom(), clang::Type::isPointerType(), and clang::Type::isReferenceType().
Referenced by isThrowCaughtByHandlers().
|
static |
Definition at line 322 of file AnalysisBasedWarnings.cpp.
References E, clang::CXXTryStmt::getHandler(), clang::CXXTryStmt::getNumHandlers(), and isThrowCaught().
Referenced by doesThrowEscapePath().
Definition at line 804 of file AnalysisBasedWarnings.cpp.
References clang::FixItHint::CreateInsertion(), clang::Sema::Diag(), clang::QualType::getCanonicalType(), clang::NamedDecl::getDeclName(), clang::Sema::getFixItZeroInitializerForType(), clang::VarDecl::getInit(), clang::Decl::getLocation(), clang::Decl::getLocEnd(), clang::Sema::getLocForEndOfToken(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::Type::isBlockPointerType(), and clang::SourceLocation::isMacroID().
Referenced by DiagnoseUninitializedUse().
| const FunctionDecl* CurrentFunction |
Definition at line 1672 of file AnalysisBasedWarnings.cpp.
| SourceLocation FunEndLocation |
Definition at line 1670 of file AnalysisBasedWarnings.cpp.
| SourceLocation FunLocation |
Definition at line 1670 of file AnalysisBasedWarnings.cpp.
| Sema& S |
Definition at line 1668 of file AnalysisBasedWarnings.cpp.
Referenced by clang::Sema::ActOnCXXThrow(), clang::Sema::ActOnDefs(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnOpenMPExecutableDirective(), clang::Sema::ActOnOpenMPRegionEnd(), clang::Sema::ActOnOpenMPTargetDirective(), clang::Sema::ActOnSizeofParameterPackExpr(), clang::Sema::ActOnSuperScopeSpecifier(), clang::Sema::ActOnTranslationUnitScope(), clang::Sema::ActOnVariableDeclarator(), clang::InitializationSequence::AddAddressOverloadResolutionStep(), clang::InitializationSequence::AddArrayInitLoopStep(), clang::InitializationSequence::AddArrayInitStep(), clang::InitializationSequence::AddAtomicConversionStep(), clang::InitializationSequence::AddCAssignmentStep(), clang::InitializationSequence::AddConstructorInitializationStep(), clang::InitializationSequence::AddConversionSequenceStep(), clang::ODRHash::AddDeclarationName(), clang::InitializationSequence::AddDerivedToBaseCastStep(), clang::InitializationSequence::AddExtraneousCopyToTemporary(), clang::InitializationSequence::AddFinalCopy(), clang::InitializationSequence::AddListInitializationStep(), clang::InitializationSequence::AddLValueToRValueStep(), clang::InitializationSequence::AddObjCObjectConversionStep(), clang::InitializationSequence::AddOCLSamplerInitStep(), clang::InitializationSequence::AddOCLZeroEventStep(), clang::InitializationSequence::AddOCLZeroQueueStep(), clang::InitializationSequence::AddParenthesizedArrayInitStep(), clang::InitializationSequence::AddProduceObjCObjectStep(), clang::InitializationSequence::AddQualificationConversionStep(), clang::InitializationSequence::AddReferenceBindingStep(), clang::InitializationSequence::AddStdInitializerListConstructionStep(), clang::DiagnosticBuilder::AddString(), clang::InitializationSequence::AddStringInitStep(), clang::InitializationSequence::AddUserConversionStep(), clang::InitializationSequence::AddZeroInitializationStep(), clang::ento::PathDiagnostic::appendToDesc(), clang::StmtSequence::begin(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildForRangeBeginEndCall(), clang::Sema::BuildMemInitializer(), BuildParentMap(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildUsingDeclaration(), clang::Sema::CheckClassTemplate(), CheckConstexprFunctionStmt(), CheckFallThrough(), CheckIfAnyEnclosingLambdasMustCaptureAnyPotentialCaptures(), CheckObjCInstMethSignature(), CheckOpenMPIterationSpace(), clang::Sema::CheckSwitchCondition(), ClassifyInternal(), clang::Sema::ClassifyName(), CollectArgsForIntegratedAssembler(), CollectStmtSequenceData(), clang::Scope::containedInPrototypeScope(), clang::ento::containsEnum(), clang::ento::containsStaticLocal(), ConvertTypeToDiagnosticString(), clang::VerifyDiagnosticConsumer::Directive::create(), clang::ento::PathDiagnosticLocation::create(), clang::ento::PathDiagnosticLocation::createEndOfPath(), clang::PartialDiagnostic::StorageAllocator::Deallocate(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseEmptyLookup(), DiagnoseInvalidRedeclaration(), clang::Sema::DiagnoseUnknownTypeName(), clang::Sema::DiagnoseUnusedExprResult(), clang::HeaderMapImpl::dump(), clang::ast_type_traits::DynTypedNode::dump(), clang::InitializationSequence::dump(), clang::CodeGen::CoverageMappingModuleGen::emit(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), clang::CodeGen::CodeGenFunction::EmitCaseStmt(), clang::CodeGen::CodeGenPGO::emitCounterIncrement(), clang::CodeGen::CodeGenFunction::EmitCXXThrowExpr(), emitDispatchForLoopBounds(), emitDistributeParallelForDispatchBounds(), emitDistributeParallelForDistributeInnerBoundParams(), emitDistributeParallelForInnerBounds(), emitForLoopBounds(), clang::CodeGen::CodeGenFunction::EmitFunctionBody(), emitInnerParallelForWhenCombined(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolStmt(), emitOffloadingArrays(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective(), clang::CodeGen::CodeGenFunction::EmitOMPCriticalDirective(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeDirective(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeParallelForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPForSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPMasterDirective(), clang::CodeGen::CodeGenFunction::EmitOMPOrderedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelForDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelForSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPParallelSectionsDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSectionDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSingleDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetDataDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetDeviceFunction(), clang::CodeGen::CodeGenFunction::EmitOMPTargetDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetParallelDeviceFunction(), clang::CodeGen::CodeGenFunction::EmitOMPTargetParallelDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetTeamsDeviceFunction(), clang::CodeGen::CodeGenFunction::EmitOMPTargetTeamsDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskgroupDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTeamsDirective(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), clang::CodeGen::CodeGenFunction::EmitStmt(), emitTargetParallelRegion(), clang::StmtSequence::end(), clang::CodeGen::CGCXXABI::ErrorUnsupportedABI(), EvaluateStmt(), clang::ExternalASTMerger::ExternalASTMerger(), clang::Sema::FindCompositePointerType(), clang::Sema::FinishCXXForRangeStmt(), clang::Sema::FinishObjCForCollectionStmt(), clang::Diagnostic::FormatDiagnostic(), clang::driver::Multilib::gccSuffix(), GenerateMinimalPathDiagnostic(), clang::CFGStmtMap::getBlock(), GetCurrentOrPreviousStmt(), clang::ento::bugreporter::GetDenomExpr(), clang::ento::bugreporter::getDerefExpr(), llvm::GraphTraits< clang::Stmt * >::getEntryNode(), llvm::GraphTraits< const clang::Stmt * >::getEntryNode(), clang::MultiplexExternalSemaSource::GetExternalCXXCtorInitializers(), GetFullTypeForDeclarator(), getIdentifier(), clang::VarDecl::getInit(), getIvarAccessString(), getLastStmt(), GetLLVMTLSModel(), clang::InitListExpr::getLocEnd(), clang::InitListExpr::getLocStart(), clang::Preprocessor::getMacroDefinition(), clang::Preprocessor::getMacroDefinitionAtLoc(), clang::ObjCMethodCall::getMessageKind(), clang::ento::PathDiagnosticLocation::getNextStmt(), clang::ento::NilReceiverBRVisitor::getNilReceiver(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::FileManager::getNoncachedStatValue(), clang::Sema::getNonFieldDeclScope(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), clang::ASTContext::getObjCEncodingForMethodDecl(), clang::ASTContext::getObjCEncodingForPropertyDecl(), clang::Sema::getObjCMessageKind(), getOpenMPDirectiveKindEx(), clang::driver::toolchains::HexagonToolChain::getOptimizationLevel(), getOptimizationLevel(), clang::ParentMap::getOuterParenParent(), clang::ParentMap::getParentIgnoreParenCasts(), clang::ParentMap::getParentIgnoreParenImpCasts(), clang::ParentMap::getParentIgnoreParens(), clang::CodeCompletionTUInfo::getParentName(), GetPreviousStmt(), clang::Sema::getPrintable(), getRedirectedFileStatus(), clang::CodeGen::CodeGenPGO::getRegionCount(), clang::analyze_format_string::ArgType::getRepresentativeTypeName(), clang::ento::bugreporter::GetRetValExpr(), clang::Sema::getScopeForContext(), clang::ast_type_traits::DynTypedNode::getSourceRange(), clang::ento::BugReport::getStmt(), getStmtBeforeCond(), getStmtParent(), clang::ento::Environment::getSVal(), clang::ASTWriter::getSwitchCaseID(), getTagInjectionScope(), getTerminatorCondition(), clang::Sema::getTypeName(), GetUnreachableLoc(), getValidSourceLocation(), handleAVRInterruptAttr(), handleAVRSignalAttr(), handleComplexIntConversion(), clang::driver::Driver::HandleImmediateArgs(), handleIntegerConversion(), handleObjCOwnershipTypeAttr(), handleSimpleAttributeWithExclusions(), clang::MultiplexExternalSemaSource::hasExternalDefinitions(), HashHMapKey(), clang::FunctionDecl::hasTrivialBody(), clang::Stmt::IgnoreContainers(), ignoreTransparentExprs(), clang::driver::Multilib::includeSuffix(), clang::PCHGenerator::InitializeSema(), clang::ASTReader::InitializeSema(), isARCNilInitializedLocal(), clang::FilenamePatternConstraint::isAutoGenerated(), isCallableInState(), clang::ento::CallEvent::isCallStmt(), isConditionForTerminator(), isConfigurationValue(), IsControlFlowExpr(), isGlobalVar(), clang::ObjCNoReturn::isImplicitNoReturn(), isIncrementOrInitInForLoop(), isInLoop(), isInLoopBody(), clang::Scope::isInObjcMethodOuterScope(), clang::Scope::isInObjcMethodScope(), clang::LiveVariables::isLive(), isNonEHScope(), clang::Scope::isSwitchScope(), IsUsedAsNormalCleanup(), clang::Parser::ObjCTypeParamListScope::leave(), LookThroughStmt(), clang::Sema::LookupTemplateName(), clang::Sema::LookupVisibleDecls(), OpenCLArithmeticConversions(), clang::threadSafety::til::SExpr::operator new(), clang::StmtSequence::operator!=(), clang::StmtSequence::operator==(), clang::driver::Multilib::osSuffix(), clang::TreeTransform< Derived >::Owned(), clang::RawComment::parse(), clang::ParseAST(), ParseCodeGenArgs(), clang::Sema::ParseObjCStringLiteral(), parseSanitizeTrapArgs(), clang::InitializationSequence::Perform(), clang::Sema::GlobalEagerInstantiationScope::perform(), clang::Sema::LocalEagerInstantiationScope::perform(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), clang::ento::Environment::print(), clang::ast_type_traits::DynTypedNode::print(), PrintActions1(), clang::APValue::printPretty(), ProcessDeclAttribute(), clang::Sema::ProcessStmtAttributes(), clang::ASTReader::ReadMethodPool(), clang::TreeTransform< Derived >::RebuildCaseStmtBody(), clang::ASTWriter::RecordSwitchCaseID(), REGISTER_MAP_WITH_PROGRAMSTATE(), clang::UsingDecl::removeShadowDecl(), clang::InitializationSequence::RewrapReferenceInitList(), clang::driver::SanitizerArgs::SanitizerArgs(), clang::CodeGen::scanForTargetRegionsFunctions(), clang::ento::ProgramState::scanReachableSymbols(), SemaBuiltinSEHScopeCheck(), clang::OMPExecutableDirective::setAssociatedStmt(), clang::ObjCSubscriptRefExpr::setBaseExpr(), clang::CXXForRangeStmt::setBeginStmt(), clang::ObjCForCollectionStmt::setBody(), clang::CXXForRangeStmt::setBody(), clang::SwitchStmt::setBody(), clang::WhileStmt::setBody(), clang::DoStmt::setBody(), clang::ForStmt::setBody(), clang::ObjCAtCatchStmt::setCatchBody(), clang::ObjCAtTryStmt::setCatchStmt(), clang::ObjCForCollectionStmt::setElement(), clang::IfStmt::setElse(), clang::CXXForRangeStmt::setEndStmt(), clang::ObjCAtFinallyStmt::setFinallyBody(), clang::ObjCAtTryStmt::setFinallyStmt(), clang::IfStmt::setInit(), clang::SwitchStmt::setInit(), clang::ForStmt::setInit(), clang::ObjCSubscriptRefExpr::setKeyExpr(), clang::CompoundStmt::setLastStmt(), clang::CXXForRangeStmt::setLoopVarStmt(), clang::threadSafety::til::Variable::setName(), setPGOInstrumentor(), clang::OMPClauseWithPostUpdate::setPostUpdateExpr(), clang::CXXForRangeStmt::setRangeStmt(), clang::ObjCSelectorExpr::setSelector(), clang::ObjCStringLiteral::setString(), clang::ObjCAutoreleasePoolStmt::setSubStmt(), clang::CaseStmt::setSubStmt(), clang::DefaultStmt::setSubStmt(), clang::StmtExpr::setSubStmt(), clang::ObjCAtSynchronizedStmt::setSynchBody(), clang::ObjCAtSynchronizedStmt::setSynchExpr(), clang::IfStmt::setThen(), clang::ObjCAtThrowStmt::setThrowExpr(), clang::ObjCAtTryStmt::setTryBody(), clang::DeclSpec::SetTypeSpecSign(), shouldEnableVectorizerAtOLevel(), clang::StmtSequence::size(), clang::StringToCudaArch(), clang::StringToCudaVirtualArch(), clang::Stmt::stripLabelLikeStatements(), clang::Sema::SubstStmt(), clang::ast_matchers::dynamic::Diagnostics::toString(), clang::ast_matchers::dynamic::Diagnostics::toStringFull(), clang::TreeTransform< Derived >::TransformOMPClause(), clang::TreeTransform< Derived >::TransformStmt(), clang::RecursiveASTVisitor< Derived >::TraverseStmt(), clang::OverloadCandidate::TryToFixBadConversion(), clang::ConversionFixItGenerator::tryToFixConversion(), TryTypoCorrectionForCall(), clang::driver::toolchains::MachO::UseDwarfDebugFlags(), clang::ento::ExprEngine::Visit(), clang::ento::FindLastStoreBRVisitor::VisitNode(), clang::driver::XRayArgs::XRayArgs(), clang::Sema::CompoundScopeRAII::~CompoundScopeRAII(), clang::Sema::CUDADiagBuilder::~CUDADiagBuilder(), clang::Sema::CXXThisScopeRAII::~CXXThisScopeRAII(), clang::Sema::FunctionScopeRAII::~FunctionScopeRAII(), clang::Sema::GlobalEagerInstantiationScope::~GlobalEagerInstantiationScope(), clang::Sema::LocalEagerInstantiationScope::~LocalEagerInstantiationScope(), and clang::Sema::PragmaStackSentinelRAII::~PragmaStackSentinelRAII().
| SourceManager& SM |
Definition at line 1649 of file AnalysisBasedWarnings.cpp.
Referenced by diagnoseRepeatedUseOfWeak().
| bool Verbose |
Definition at line 1673 of file AnalysisBasedWarnings.cpp.
Referenced by clang::CompilerInstance::ExecuteAction().
| DiagList Warnings |
Definition at line 1669 of file AnalysisBasedWarnings.cpp.
Referenced by clang::Sema::MergeFunctionDecl().
1.8.6