зеркало из https://github.com/microsoft/clang-1.git
lib/Analysis: Remove VISIBILITY_HIDDEN from definitions in anonymous namespace
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90028 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
0486d74601
Коммит
ba5fb5a955
|
@ -20,7 +20,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ArrayBoundChecker :
|
||||
class ArrayBoundChecker :
|
||||
public CheckerVisitor<ArrayBoundChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN AttrNonNullChecker
|
||||
class AttrNonNullChecker
|
||||
: public CheckerVisitor<AttrNonNullChecker> {
|
||||
BugType *BT;
|
||||
public:
|
||||
|
|
|
@ -16,14 +16,13 @@
|
|||
#include "clang/Analysis/PathSensitive/GRState.h"
|
||||
#include "clang/Analysis/PathSensitive/GRStateTrait.h"
|
||||
#include "clang/Analysis/PathSensitive/GRTransferFuncs.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
|
||||
namespace { class VISIBILITY_HIDDEN ConstNotEq {}; }
|
||||
namespace { class VISIBILITY_HIDDEN ConstEq {}; }
|
||||
namespace { class ConstNotEq {}; }
|
||||
namespace { class ConstEq {}; }
|
||||
|
||||
typedef llvm::ImmutableMap<SymbolRef,GRState::IntSetTy> ConstNotEqTy;
|
||||
typedef llvm::ImmutableMap<SymbolRef,const llvm::APSInt*> ConstEqTy;
|
||||
|
@ -46,7 +45,7 @@ struct GRStateTrait<ConstEq> : public GRStatePartialTrait<ConstEqTy> {
|
|||
namespace {
|
||||
// BasicConstraintManager only tracks equality and inequality constraints of
|
||||
// constants and integer variables.
|
||||
class VISIBILITY_HIDDEN BasicConstraintManager
|
||||
class BasicConstraintManager
|
||||
: public SimpleConstraintManager {
|
||||
GRState::IntSetTy::Factory ISetFactory;
|
||||
public:
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include "clang/AST/Expr.h"
|
||||
#include "clang/AST/ExprObjC.h"
|
||||
#include "clang/AST/ASTContext.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
|
@ -53,12 +52,12 @@ static const char* GetReceiverNameType(const ObjCMessageExpr* ME) {
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN APIMisuse : public BugType {
|
||||
class APIMisuse : public BugType {
|
||||
public:
|
||||
APIMisuse(const char* name) : BugType(name, "API Misuse (Apple)") {}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN BasicObjCFoundationChecks : public GRSimpleAPICheck {
|
||||
class BasicObjCFoundationChecks : public GRSimpleAPICheck {
|
||||
APIMisuse *BT;
|
||||
BugReporter& BR;
|
||||
ASTContext &Ctx;
|
||||
|
@ -229,7 +228,7 @@ bool BasicObjCFoundationChecks::AuditNSString(ExplodedNode* N,
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN AuditCFNumberCreate : public GRSimpleAPICheck {
|
||||
class AuditCFNumberCreate : public GRSimpleAPICheck {
|
||||
APIMisuse* BT;
|
||||
|
||||
// FIXME: Either this should be refactored into GRSimpleAPICheck, or
|
||||
|
@ -451,7 +450,7 @@ clang::CreateAuditCFNumberCreate(ASTContext& Ctx, BugReporter& BR) {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN AuditCFRetainRelease : public GRSimpleAPICheck {
|
||||
class AuditCFRetainRelease : public GRSimpleAPICheck {
|
||||
APIMisuse *BT;
|
||||
|
||||
// FIXME: Either this should be refactored into GRSimpleAPICheck, or
|
||||
|
@ -527,7 +526,7 @@ clang::CreateAuditCFRetainRelease(ASTContext& Ctx, BugReporter& BR) {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ClassReleaseChecker :
|
||||
class ClassReleaseChecker :
|
||||
public CheckerVisitor<ClassReleaseChecker> {
|
||||
Selector releaseS;
|
||||
Selector retainS;
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "clang/Analysis/Analyses/LiveVariables.h"
|
||||
#include "clang/Analysis/PathSensitive/AnalysisContext.h"
|
||||
#include "clang/Analysis/PathSensitive/GRState.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/ADT/ImmutableMap.h"
|
||||
|
||||
using namespace clang;
|
||||
|
@ -24,7 +23,7 @@ typedef llvm::ImmutableMap<const MemRegion*,SVal> BindingsTy;
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN BasicStoreSubRegionMap : public SubRegionMap {
|
||||
class BasicStoreSubRegionMap : public SubRegionMap {
|
||||
public:
|
||||
BasicStoreSubRegionMap() {}
|
||||
|
||||
|
@ -33,7 +32,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN BasicStoreManager : public StoreManager {
|
||||
class BasicStoreManager : public StoreManager {
|
||||
BindingsTy::Factory VBFactory;
|
||||
public:
|
||||
BasicStoreManager(GRStateManager& mgr)
|
||||
|
|
|
@ -119,7 +119,7 @@ typedef llvm::DenseMap<const ExplodedNode*,
|
|||
const ExplodedNode*> NodeBackMap;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN NodeMapClosure : public BugReport::NodeResolver {
|
||||
class NodeMapClosure : public BugReport::NodeResolver {
|
||||
NodeBackMap& M;
|
||||
public:
|
||||
NodeMapClosure(NodeBackMap *m) : M(*m) {}
|
||||
|
@ -131,7 +131,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN PathDiagnosticBuilder : public BugReporterContext {
|
||||
class PathDiagnosticBuilder : public BugReporterContext {
|
||||
BugReport *R;
|
||||
PathDiagnosticClient *PDC;
|
||||
llvm::OwningPtr<ParentMap> PM;
|
||||
|
@ -358,7 +358,7 @@ GetMostRecentVarDeclBinding(const ExplodedNode* N,
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN NotableSymbolHandler
|
||||
class NotableSymbolHandler
|
||||
: public StoreManager::BindingsHandler {
|
||||
|
||||
SymbolRef Sym;
|
||||
|
@ -458,7 +458,7 @@ static void HandleNotableSymbol(const ExplodedNode* N,
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ScanNotableSymbols
|
||||
class ScanNotableSymbols
|
||||
: public StoreManager::BindingsHandler {
|
||||
|
||||
llvm::SmallSet<SymbolRef, 10> AlreadyProcessed;
|
||||
|
@ -802,7 +802,7 @@ static bool IsControlFlowExpr(const Stmt *S) {
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ContextLocation : public PathDiagnosticLocation {
|
||||
class ContextLocation : public PathDiagnosticLocation {
|
||||
bool IsDead;
|
||||
public:
|
||||
ContextLocation(const PathDiagnosticLocation &L, bool isdead = false)
|
||||
|
@ -812,7 +812,7 @@ public:
|
|||
bool isDead() const { return IsDead; }
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN EdgeBuilder {
|
||||
class EdgeBuilder {
|
||||
std::vector<ContextLocation> CLocs;
|
||||
typedef std::vector<ContextLocation>::iterator iterator;
|
||||
PathDiagnostic &PD;
|
||||
|
@ -1645,7 +1645,7 @@ void BugReporter::EmitReport(BugReport* R) {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN FRIEC_WLItem {
|
||||
struct FRIEC_WLItem {
|
||||
const ExplodedNode *N;
|
||||
ExplodedNode::const_succ_iterator I, E;
|
||||
|
||||
|
@ -1738,7 +1738,7 @@ static BugReport *FindReportInEquivalenceClass(BugReportEquivClass& EQ) {
|
|||
// uses global state, which eventually should go elsewhere.
|
||||
//===----------------------------------------------------------------------===//
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN DiagCacheItem : public llvm::FoldingSetNode {
|
||||
class DiagCacheItem : public llvm::FoldingSetNode {
|
||||
llvm::FoldingSetNodeID ID;
|
||||
public:
|
||||
DiagCacheItem(BugReport *R, PathDiagnostic *PD) {
|
||||
|
|
|
@ -83,7 +83,7 @@ clang::bugreporter::GetRetValExpr(const ExplodedNode *N) {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN FindLastStoreBRVisitor : public BugReporterVisitor {
|
||||
class FindLastStoreBRVisitor : public BugReporterVisitor {
|
||||
const MemRegion *R;
|
||||
SVal V;
|
||||
bool satisfied;
|
||||
|
@ -231,7 +231,7 @@ static void registerFindLastStore(BugReporterContext& BRC, const MemRegion *R,
|
|||
BRC.addVisitor(new FindLastStoreBRVisitor(V, R));
|
||||
}
|
||||
|
||||
class VISIBILITY_HIDDEN TrackConstraintBRVisitor : public BugReporterVisitor {
|
||||
class TrackConstraintBRVisitor : public BugReporterVisitor {
|
||||
DefinedSVal Constraint;
|
||||
const bool Assumption;
|
||||
bool isSatisfied;
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#include "clang/AST/StmtVisitor.h"
|
||||
#include "clang/AST/PrettyPrinter.h"
|
||||
#include "llvm/Support/GraphWriter.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/Support/Allocator.h"
|
||||
#include "llvm/Support/Format.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
|
@ -50,7 +49,7 @@ static SourceLocation GetEndLoc(Decl* D) {
|
|||
/// constructed prior to its predecessor. This allows us to nicely capture
|
||||
/// implicit fall-throughs without extra basic blocks.
|
||||
///
|
||||
class VISIBILITY_HIDDEN CFGBuilder {
|
||||
class CFGBuilder {
|
||||
ASTContext *Context;
|
||||
llvm::OwningPtr<CFG> cfg;
|
||||
|
||||
|
@ -1627,7 +1626,7 @@ CFG::~CFG() {
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN StmtPrinterHelper : public PrinterHelper {
|
||||
class StmtPrinterHelper : public PrinterHelper {
|
||||
|
||||
typedef llvm::DenseMap<Stmt*,std::pair<unsigned,unsigned> > StmtMapTy;
|
||||
StmtMapTy StmtMap;
|
||||
|
@ -1671,7 +1670,7 @@ public:
|
|||
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN CFGBlockTerminatorPrint
|
||||
class CFGBlockTerminatorPrint
|
||||
: public StmtVisitor<CFGBlockTerminatorPrint,void> {
|
||||
|
||||
llvm::raw_ostream& OS;
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include "llvm/ADT/ImmutableMap.h"
|
||||
#include "llvm/ADT/ImmutableList.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include <stdarg.h>
|
||||
|
||||
|
@ -170,7 +169,7 @@ ResolveToInterfaceMethodDecl(const ObjCMethodDecl *MD) {
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN GenericNodeBuilder {
|
||||
class GenericNodeBuilder {
|
||||
GRStmtNodeBuilder *SNB;
|
||||
Stmt *S;
|
||||
const void *tag;
|
||||
|
@ -248,7 +247,7 @@ namespace {
|
|||
|
||||
/// RetEffect is used to summarize a function/method call's behavior with
|
||||
/// respect to its return value.
|
||||
class VISIBILITY_HIDDEN RetEffect {
|
||||
class RetEffect {
|
||||
public:
|
||||
enum Kind { NoRet, Alias, OwnedSymbol, OwnedAllocatedSymbol,
|
||||
NotOwnedSymbol, GCNotOwnedSymbol, ReceiverAlias,
|
||||
|
@ -314,7 +313,7 @@ public:
|
|||
// Reference-counting logic (typestate + counts).
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
class VISIBILITY_HIDDEN RefVal {
|
||||
class RefVal {
|
||||
public:
|
||||
enum Kind {
|
||||
Owned = 0, // Owning reference.
|
||||
|
@ -538,7 +537,7 @@ namespace clang {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN RetainSummary {
|
||||
class RetainSummary {
|
||||
/// Args - an ordered vector of (index, ArgEffect) pairs, where index
|
||||
/// specifies the argument (starting from 0). This can be sparsely
|
||||
/// populated; arguments with no entry in Args use 'DefaultArgEffect'.
|
||||
|
@ -629,7 +628,7 @@ public:
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ObjCSummaryKey {
|
||||
class ObjCSummaryKey {
|
||||
IdentifierInfo* II;
|
||||
Selector S;
|
||||
public:
|
||||
|
@ -684,7 +683,7 @@ template <> struct DenseMapInfo<ObjCSummaryKey> {
|
|||
} // end llvm namespace
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ObjCSummaryCache {
|
||||
class ObjCSummaryCache {
|
||||
typedef llvm::DenseMap<ObjCSummaryKey, RetainSummary*> MapTy;
|
||||
MapTy M;
|
||||
public:
|
||||
|
@ -778,7 +777,7 @@ public:
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN RetainSummaryManager {
|
||||
class RetainSummaryManager {
|
||||
|
||||
//==-----------------------------------------------------------------==//
|
||||
// Typedefs.
|
||||
|
@ -1867,8 +1866,8 @@ typedef llvm::ImmutableList<SymbolRef> ARStack;
|
|||
static int AutoRCIndex = 0;
|
||||
static int AutoRBIndex = 0;
|
||||
|
||||
namespace { class VISIBILITY_HIDDEN AutoreleasePoolContents {}; }
|
||||
namespace { class VISIBILITY_HIDDEN AutoreleaseStack {}; }
|
||||
namespace { class AutoreleasePoolContents {}; }
|
||||
namespace { class AutoreleaseStack {}; }
|
||||
|
||||
namespace clang {
|
||||
template<> struct GRStateTrait<AutoreleaseStack>
|
||||
|
@ -1910,7 +1909,7 @@ static const GRState * SendAutorelease(const GRState *state,
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN CFRefCount : public GRTransferFuncs {
|
||||
class CFRefCount : public GRTransferFuncs {
|
||||
public:
|
||||
class BindingsPrinter : public GRState::Printer {
|
||||
public:
|
||||
|
@ -2095,7 +2094,7 @@ namespace {
|
|||
// Bug Descriptions. //
|
||||
//===-------------===//
|
||||
|
||||
class VISIBILITY_HIDDEN CFRefBug : public BugType {
|
||||
class CFRefBug : public BugType {
|
||||
protected:
|
||||
CFRefCount& TF;
|
||||
|
||||
|
@ -2112,7 +2111,7 @@ namespace {
|
|||
virtual bool isLeak() const { return false; }
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN UseAfterRelease : public CFRefBug {
|
||||
class UseAfterRelease : public CFRefBug {
|
||||
public:
|
||||
UseAfterRelease(CFRefCount* tf)
|
||||
: CFRefBug(tf, "Use-after-release") {}
|
||||
|
@ -2122,7 +2121,7 @@ namespace {
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN BadRelease : public CFRefBug {
|
||||
class BadRelease : public CFRefBug {
|
||||
public:
|
||||
BadRelease(CFRefCount* tf) : CFRefBug(tf, "Bad release") {}
|
||||
|
||||
|
@ -2132,7 +2131,7 @@ namespace {
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN DeallocGC : public CFRefBug {
|
||||
class DeallocGC : public CFRefBug {
|
||||
public:
|
||||
DeallocGC(CFRefCount *tf)
|
||||
: CFRefBug(tf, "-dealloc called while using garbage collection") {}
|
||||
|
@ -2142,7 +2141,7 @@ namespace {
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN DeallocNotOwned : public CFRefBug {
|
||||
class DeallocNotOwned : public CFRefBug {
|
||||
public:
|
||||
DeallocNotOwned(CFRefCount *tf)
|
||||
: CFRefBug(tf, "-dealloc sent to non-exclusively owned object") {}
|
||||
|
@ -2152,7 +2151,7 @@ namespace {
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN OverAutorelease : public CFRefBug {
|
||||
class OverAutorelease : public CFRefBug {
|
||||
public:
|
||||
OverAutorelease(CFRefCount *tf) :
|
||||
CFRefBug(tf, "Object sent -autorelease too many times") {}
|
||||
|
@ -2162,7 +2161,7 @@ namespace {
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN ReturnedNotOwnedForOwned : public CFRefBug {
|
||||
class ReturnedNotOwnedForOwned : public CFRefBug {
|
||||
public:
|
||||
ReturnedNotOwnedForOwned(CFRefCount *tf) :
|
||||
CFRefBug(tf, "Method should return an owned object") {}
|
||||
|
@ -2173,7 +2172,7 @@ namespace {
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN Leak : public CFRefBug {
|
||||
class Leak : public CFRefBug {
|
||||
const bool isReturn;
|
||||
protected:
|
||||
Leak(CFRefCount* tf, const char* name, bool isRet)
|
||||
|
@ -2185,13 +2184,13 @@ namespace {
|
|||
bool isLeak() const { return true; }
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN LeakAtReturn : public Leak {
|
||||
class LeakAtReturn : public Leak {
|
||||
public:
|
||||
LeakAtReturn(CFRefCount* tf, const char* name)
|
||||
: Leak(tf, name, true) {}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN LeakWithinFunction : public Leak {
|
||||
class LeakWithinFunction : public Leak {
|
||||
public:
|
||||
LeakWithinFunction(CFRefCount* tf, const char* name)
|
||||
: Leak(tf, name, false) {}
|
||||
|
@ -2201,7 +2200,7 @@ namespace {
|
|||
// Bug Reports. //
|
||||
//===---------===//
|
||||
|
||||
class VISIBILITY_HIDDEN CFRefReport : public RangedBugReport {
|
||||
class CFRefReport : public RangedBugReport {
|
||||
protected:
|
||||
SymbolRef Sym;
|
||||
const CFRefCount &TF;
|
||||
|
@ -2242,7 +2241,7 @@ namespace {
|
|||
BugReporterContext& BRC);
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN CFRefLeakReport : public CFRefReport {
|
||||
class CFRefLeakReport : public CFRefReport {
|
||||
SourceLocation AllocSite;
|
||||
const MemRegion* AllocBinding;
|
||||
public:
|
||||
|
@ -2548,7 +2547,7 @@ PathDiagnosticPiece* CFRefReport::VisitNode(const ExplodedNode* N,
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN FindUniqueBinding :
|
||||
class FindUniqueBinding :
|
||||
public StoreManager::BindingsHandler {
|
||||
SymbolRef Sym;
|
||||
const MemRegion* Binding;
|
||||
|
@ -3045,7 +3044,7 @@ void CFRefCount::EvalObjCMessageExpr(ExplodedNodeSet& Dst,
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN StopTrackingCallback : public SymbolVisitor {
|
||||
class StopTrackingCallback : public SymbolVisitor {
|
||||
const GRState *state;
|
||||
public:
|
||||
StopTrackingCallback(const GRState *st) : state(st) {}
|
||||
|
@ -3642,7 +3641,7 @@ void CFRefCount::ProcessNonLeakError(ExplodedNodeSet& Dst,
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN RetainReleaseChecker
|
||||
class RetainReleaseChecker
|
||||
: public CheckerVisitor<RetainReleaseChecker> {
|
||||
CFRefCount *TF;
|
||||
public:
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN CallAndMessageChecker
|
||||
class CallAndMessageChecker
|
||||
: public CheckerVisitor<CallAndMessageChecker> {
|
||||
BugType *BT_call_null;
|
||||
BugType *BT_call_undef;
|
||||
|
|
|
@ -18,7 +18,7 @@ using namespace clang;
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN CallInliner : public GRTransferFuncs {
|
||||
class CallInliner : public GRTransferFuncs {
|
||||
ASTContext &Ctx;
|
||||
public:
|
||||
CallInliner(ASTContext &ctx) : Ctx(ctx) {}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN CastToStructChecker
|
||||
class CastToStructChecker
|
||||
: public CheckerVisitor<CastToStructChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -22,13 +22,12 @@
|
|||
#include "clang/AST/ASTContext.h"
|
||||
#include "clang/AST/ParentMap.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN DeadStoreObs : public LiveVariables::ObserverTy {
|
||||
class DeadStoreObs : public LiveVariables::ObserverTy {
|
||||
ASTContext &Ctx;
|
||||
BugReporter& BR;
|
||||
ParentMap& Parents;
|
||||
|
@ -225,7 +224,7 @@ public:
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN FindEscaped : public CFGRecStmtDeclVisitor<FindEscaped>{
|
||||
class FindEscaped : public CFGRecStmtDeclVisitor<FindEscaped>{
|
||||
CFG *cfg;
|
||||
public:
|
||||
FindEscaped(CFG *c) : cfg(c) {}
|
||||
|
|
|
@ -14,13 +14,12 @@
|
|||
#include "clang/Analysis/PathSensitive/BugReporter.h"
|
||||
#include "clang/Analysis/LocalCheckers.h"
|
||||
#include "clang/AST/StmtVisitor.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN WalkAST : public StmtVisitor<WalkAST> {
|
||||
class WalkAST : public StmtVisitor<WalkAST> {
|
||||
BugReporter &BR;
|
||||
IdentifierInfo *II_gets;
|
||||
IdentifierInfo *II_getpw;
|
||||
|
|
|
@ -15,12 +15,11 @@
|
|||
#include "clang/Analysis/PathSensitive/BugReporter.h"
|
||||
#include "clang/AST/StmtVisitor.h"
|
||||
#include "clang/Analysis/LocalCheckers.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN WalkAST : public StmtVisitor<WalkAST> {
|
||||
class WalkAST : public StmtVisitor<WalkAST> {
|
||||
BugReporter &BR;
|
||||
|
||||
public:
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN DereferenceChecker : public Checker {
|
||||
class DereferenceChecker : public Checker {
|
||||
BuiltinBug *BT_null;
|
||||
BuiltinBug *BT_undef;
|
||||
llvm::SmallVector<ExplodedNode*, 2> ImplicitNullDerefNodes;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN DivZeroChecker : public CheckerVisitor<DivZeroChecker> {
|
||||
class DivZeroChecker : public CheckerVisitor<DivZeroChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
DivZeroChecker() : BT(0) {}
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
//===----------------------------------------------------------------------===//
|
||||
#include "clang/Analysis/PathSensitive/GRState.h"
|
||||
#include "clang/Analysis/Analyses/LiveVariables.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/ADT/ImmutableMap.h"
|
||||
|
||||
using namespace clang;
|
||||
|
@ -83,7 +82,7 @@ Environment EnvironmentManager::BindExpr(Environment Env, const Stmt *S,
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN MarkLiveCallback : public SymbolVisitor {
|
||||
class MarkLiveCallback : public SymbolVisitor {
|
||||
SymbolReaper &SymReaper;
|
||||
public:
|
||||
MarkLiveCallback(SymbolReaper &symreaper) : SymReaper(symreaper) {}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN FixedAddressChecker
|
||||
class FixedAddressChecker
|
||||
: public CheckerVisitor<FixedAddressChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "clang/Analysis/PathSensitive/GRCoreEngine.h"
|
||||
#include "clang/Analysis/PathSensitive/GRExprEngine.h"
|
||||
#include "clang/AST/Expr.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/Support/Casting.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include <vector>
|
||||
|
@ -30,7 +29,7 @@ using namespace clang;
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN DFS : public GRWorkList {
|
||||
class DFS : public GRWorkList {
|
||||
llvm::SmallVector<GRWorkListUnit,20> Stack;
|
||||
public:
|
||||
virtual bool hasWork() const {
|
||||
|
@ -49,7 +48,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN BFS : public GRWorkList {
|
||||
class BFS : public GRWorkList {
|
||||
std::queue<GRWorkListUnit> Queue;
|
||||
public:
|
||||
virtual bool hasWork() const {
|
||||
|
@ -79,7 +78,7 @@ GRWorkList *GRWorkList::MakeDFS() { return new DFS(); }
|
|||
GRWorkList *GRWorkList::MakeBFS() { return new BFS(); }
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN BFSBlockDFSContents : public GRWorkList {
|
||||
class BFSBlockDFSContents : public GRWorkList {
|
||||
std::queue<GRWorkListUnit> Queue;
|
||||
llvm::SmallVector<GRWorkListUnit,20> Stack;
|
||||
public:
|
||||
|
|
|
@ -23,7 +23,9 @@
|
|||
#include "clang/Basic/SourceManager.h"
|
||||
#include "clang/Basic/SourceManager.h"
|
||||
#include "clang/Basic/PrettyStackTrace.h"
|
||||
#ifndef NDEBUG
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#endif
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/ADT/ImmutableList.h"
|
||||
#include "llvm/ADT/StringSwitch.h"
|
||||
|
@ -52,7 +54,7 @@ static inline Selector GetNullarySelector(const char* name, ASTContext& Ctx) {
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN MappedBatchAuditor : public GRSimpleAPICheck {
|
||||
class MappedBatchAuditor : public GRSimpleAPICheck {
|
||||
typedef llvm::ImmutableList<GRSimpleAPICheck*> Checks;
|
||||
typedef llvm::DenseMap<void*,Checks> MapTy;
|
||||
|
||||
|
@ -2118,7 +2120,7 @@ void GRExprEngine::VisitDeclStmt(DeclStmt *DS, ExplodedNode *Pred,
|
|||
namespace {
|
||||
// This class is used by VisitInitListExpr as an item in a worklist
|
||||
// for processing the values contained in an InitListExpr.
|
||||
class VISIBILITY_HIDDEN InitListWLItem {
|
||||
class InitListWLItem {
|
||||
public:
|
||||
llvm::ImmutableList<SVal> Vals;
|
||||
ExplodedNode* N;
|
||||
|
|
|
@ -232,7 +232,7 @@ const GRState* GRStateManager::addGDM(const GRState* St, void* Key, void* Data){
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ScanReachableSymbols : public SubRegionMap::Visitor {
|
||||
class ScanReachableSymbols : public SubRegionMap::Visitor {
|
||||
typedef llvm::DenseSet<const MemRegion*> VisitedRegionsTy;
|
||||
|
||||
VisitedRegionsTy visited;
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#include "clang/Analysis/PathSensitive/AnalysisContext.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
|
||||
using namespace clang;
|
||||
|
@ -39,7 +38,7 @@ static const bool Dead = false;
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN RegisterDecls
|
||||
class RegisterDecls
|
||||
: public CFGRecStmtDeclVisitor<RegisterDecls> {
|
||||
|
||||
LiveVariables::AnalysisDataTy& AD;
|
||||
|
@ -95,7 +94,7 @@ LiveVariables::LiveVariables(AnalysisContext &AC) {
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN TransferFuncs : public CFGRecStmtVisitor<TransferFuncs>{
|
||||
class TransferFuncs : public CFGRecStmtVisitor<TransferFuncs>{
|
||||
LiveVariables::AnalysisDataTy& AD;
|
||||
LiveVariables::ValTy LiveState;
|
||||
public:
|
||||
|
|
|
@ -46,9 +46,9 @@ struct RefState {
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN RegionState {};
|
||||
class RegionState {};
|
||||
|
||||
class VISIBILITY_HIDDEN MallocChecker : public CheckerVisitor<MallocChecker> {
|
||||
class MallocChecker : public CheckerVisitor<MallocChecker> {
|
||||
BuiltinBug *BT_DoubleFree;
|
||||
BuiltinBug *BT_Leak;
|
||||
IdentifierInfo *II_malloc;
|
||||
|
@ -65,7 +65,7 @@ private:
|
|||
void MallocMem(CheckerContext &C, const CallExpr *CE);
|
||||
void FreeMem(CheckerContext &C, const CallExpr *CE);
|
||||
};
|
||||
}
|
||||
} // end anonymous namespace
|
||||
|
||||
namespace clang {
|
||||
template <>
|
||||
|
|
|
@ -19,14 +19,13 @@
|
|||
#include "clang/Analysis/PathSensitive/GRExprEngine.h"
|
||||
#include "clang/Analysis/PathSensitive/CheckerVisitor.h"
|
||||
#include "BasicObjCFoundationChecks.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "clang/AST/DeclObjC.h"
|
||||
#include "clang/AST/Decl.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN NSAutoreleasePoolChecker
|
||||
class NSAutoreleasePoolChecker
|
||||
: public CheckerVisitor<NSAutoreleasePoolChecker> {
|
||||
|
||||
Selector releaseS;
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
#include "clang/Analysis/PathSensitive/GRExprEngine.h"
|
||||
#include "clang/Analysis/PathSensitive/Checkers/DereferenceChecker.h"
|
||||
#include "BasicObjCFoundationChecks.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "clang/AST/DeclObjC.h"
|
||||
#include "clang/AST/Decl.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
@ -28,7 +27,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN NSErrorChecker : public BugType {
|
||||
class NSErrorChecker : public BugType {
|
||||
const Decl &CodeDecl;
|
||||
const bool isNSErrorWarning;
|
||||
IdentifierInfo * const II;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PointerArithChecker
|
||||
class PointerArithChecker
|
||||
: public CheckerVisitor<PointerArithChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PointerSubChecker
|
||||
class PointerSubChecker
|
||||
: public CheckerVisitor<PointerSubChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN PthreadLockChecker
|
||||
class PthreadLockChecker
|
||||
: public CheckerVisitor<PthreadLockChecker> {
|
||||
BugType *BT;
|
||||
public:
|
||||
|
@ -42,7 +42,7 @@ public:
|
|||
} // end anonymous namespace
|
||||
|
||||
// GDM Entry for tracking lock state.
|
||||
namespace { class VISIBILITY_HIDDEN LockSet {}; }
|
||||
namespace { class LockSet {}; }
|
||||
namespace clang {
|
||||
template <> struct GRStateTrait<LockSet> :
|
||||
public GRStatePartialTrait<llvm::ImmutableSet<const MemRegion*> > {
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#include "clang/Analysis/PathSensitive/GRStateTrait.h"
|
||||
#include "clang/Analysis/PathSensitive/GRTransferFuncs.h"
|
||||
#include "clang/Analysis/ManagerRegistry.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/ADT/FoldingSet.h"
|
||||
#include "llvm/ADT/ImmutableSet.h"
|
||||
|
@ -25,14 +24,14 @@
|
|||
|
||||
using namespace clang;
|
||||
|
||||
namespace { class VISIBILITY_HIDDEN ConstraintRange {}; }
|
||||
namespace { class ConstraintRange {}; }
|
||||
static int ConstraintRangeIndex = 0;
|
||||
|
||||
/// A Range represents the closed range [from, to]. The caller must
|
||||
/// guarantee that from <= to. Note that Range is immutable, so as not
|
||||
/// to subvert RangeSet's immutability.
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN Range : public std::pair<const llvm::APSInt*,
|
||||
class Range : public std::pair<const llvm::APSInt*,
|
||||
const llvm::APSInt*> {
|
||||
public:
|
||||
Range(const llvm::APSInt &from, const llvm::APSInt &to)
|
||||
|
@ -59,7 +58,7 @@ public:
|
|||
};
|
||||
|
||||
|
||||
class VISIBILITY_HIDDEN RangeTrait : public llvm::ImutContainerInfo<Range> {
|
||||
class RangeTrait : public llvm::ImutContainerInfo<Range> {
|
||||
public:
|
||||
// When comparing if one Range is less than another, we should compare
|
||||
// the actual APSInt values instead of their pointers. This keeps the order
|
||||
|
@ -74,7 +73,7 @@ public:
|
|||
/// RangeSet contains a set of ranges. If the set is empty, then
|
||||
/// there the value of a symbol is overly constrained and there are no
|
||||
/// possible values for that symbol.
|
||||
class VISIBILITY_HIDDEN RangeSet {
|
||||
class RangeSet {
|
||||
typedef llvm::ImmutableSet<Range, RangeTrait> PrimRangeSet;
|
||||
PrimRangeSet ranges; // no need to make const, since it is an
|
||||
// ImmutableSet - this allows default operator=
|
||||
|
@ -232,7 +231,7 @@ struct GRStateTrait<ConstraintRange>
|
|||
}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN RangeConstraintManager : public SimpleConstraintManager{
|
||||
class RangeConstraintManager : public SimpleConstraintManager{
|
||||
RangeSet GetRange(const GRState *state, SymbolRef sym);
|
||||
public:
|
||||
RangeConstraintManager() {}
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "llvm/ADT/ImmutableMap.h"
|
||||
#include "llvm/ADT/ImmutableList.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
|
@ -86,10 +85,10 @@ typedef llvm::ImmutableMap<const MemRegion*, BindingVal> RegionBindings;
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
struct VISIBILITY_HIDDEN minimal_features_tag {};
|
||||
struct VISIBILITY_HIDDEN maximal_features_tag {};
|
||||
struct minimal_features_tag {};
|
||||
struct maximal_features_tag {};
|
||||
|
||||
class VISIBILITY_HIDDEN RegionStoreFeatures {
|
||||
class RegionStoreFeatures {
|
||||
bool SupportsFields;
|
||||
bool SupportsRemaining;
|
||||
|
||||
|
@ -114,7 +113,7 @@ public:
|
|||
// MemRegions represent chunks of memory with a size (their "extent"). This
|
||||
// GDM entry tracks the extents for regions. Extents are in bytes.
|
||||
//
|
||||
namespace { class VISIBILITY_HIDDEN RegionExtents {}; }
|
||||
namespace { class RegionExtents {}; }
|
||||
static int RegionExtentsIndex = 0;
|
||||
namespace clang {
|
||||
template<> struct GRStateTrait<RegionExtents>
|
||||
|
@ -141,7 +140,7 @@ static bool IsAnyPointerOrIntptr(QualType ty, ASTContext &Ctx) {
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN RegionStoreSubRegionMap : public SubRegionMap {
|
||||
class RegionStoreSubRegionMap : public SubRegionMap {
|
||||
typedef llvm::ImmutableSet<const MemRegion*> SetTy;
|
||||
typedef llvm::DenseMap<const MemRegion*, SetTy> Map;
|
||||
SetTy::Factory F;
|
||||
|
@ -188,7 +187,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
class VISIBILITY_HIDDEN RegionStoreManager : public StoreManager {
|
||||
class RegionStoreManager : public StoreManager {
|
||||
const RegionStoreFeatures Features;
|
||||
RegionBindings::Factory RBFactory;
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ReturnPointerRangeChecker :
|
||||
class ReturnPointerRangeChecker :
|
||||
public CheckerVisitor<ReturnPointerRangeChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ReturnStackAddressChecker :
|
||||
class ReturnStackAddressChecker :
|
||||
public CheckerVisitor<ReturnStackAddressChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN ReturnUndefChecker :
|
||||
class ReturnUndefChecker :
|
||||
public CheckerVisitor<ReturnUndefChecker> {
|
||||
BuiltinBug *BT;
|
||||
public:
|
||||
|
|
|
@ -13,12 +13,11 @@
|
|||
|
||||
#include "clang/Analysis/PathSensitive/SValuator.h"
|
||||
#include "clang/Analysis/PathSensitive/GRState.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN SimpleSValuator : public SValuator {
|
||||
class SimpleSValuator : public SValuator {
|
||||
protected:
|
||||
virtual SVal EvalCastNL(NonLoc val, QualType castTy);
|
||||
virtual SVal EvalCastL(Loc val, QualType castTy);
|
||||
|
|
|
@ -19,10 +19,10 @@ using namespace clang;
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN UndefBranchChecker : public Checker {
|
||||
class UndefBranchChecker : public Checker {
|
||||
BuiltinBug *BT;
|
||||
|
||||
struct VISIBILITY_HIDDEN FindUndefExpr {
|
||||
struct FindUndefExpr {
|
||||
GRStateManager& VM;
|
||||
const GRState* St;
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN UndefResultChecker
|
||||
class UndefResultChecker
|
||||
: public CheckerVisitor<UndefResultChecker> {
|
||||
|
||||
BugType *BT;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN UndefinedArraySubscriptChecker
|
||||
class UndefinedArraySubscriptChecker
|
||||
: public CheckerVisitor<UndefinedArraySubscriptChecker> {
|
||||
BugType *BT;
|
||||
public:
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN UndefinedAssignmentChecker
|
||||
class UndefinedAssignmentChecker
|
||||
: public CheckerVisitor<UndefinedAssignmentChecker> {
|
||||
BugType *BT;
|
||||
public:
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#include "clang/Analysis/AnalysisDiagnostic.h"
|
||||
#include "clang/AST/ASTContext.h"
|
||||
#include "clang/Analysis/FlowSensitive/DataflowSolver.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
|
||||
|
@ -29,7 +28,7 @@ using namespace clang;
|
|||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN RegisterDecls
|
||||
class RegisterDecls
|
||||
: public CFGRecStmtDeclVisitor<RegisterDecls> {
|
||||
|
||||
UninitializedValues::AnalysisDataTy& AD;
|
||||
|
@ -52,7 +51,7 @@ void UninitializedValues::InitializeValues(const CFG& cfg) {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN TransferFuncs
|
||||
class TransferFuncs
|
||||
: public CFGStmtVisitor<TransferFuncs,bool> {
|
||||
|
||||
UninitializedValues::ValTy V;
|
||||
|
@ -269,7 +268,7 @@ namespace {
|
|||
UninitializedValues_ValueTypes::ObserverTy::~ObserverTy() {}
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN UninitializedValuesChecker
|
||||
class UninitializedValuesChecker
|
||||
: public UninitializedValues::ObserverTy {
|
||||
|
||||
ASTContext &Ctx;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
using namespace clang;
|
||||
|
||||
namespace {
|
||||
class VISIBILITY_HIDDEN VLASizeChecker : public CheckerVisitor<VLASizeChecker> {
|
||||
class VLASizeChecker : public CheckerVisitor<VLASizeChecker> {
|
||||
BugType *BT_zero;
|
||||
BugType *BT_undef;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче