A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/UnsafeBufferUsage_8h_source.html below:

clang: include/clang/Analysis/Analyses/UnsafeBufferUsage.h Source File

14#ifndef LLVM_CLANG_ANALYSIS_ANALYSES_UNSAFEBUFFERUSAGE_H 15#define LLVM_CLANG_ANALYSIS_ANALYSES_UNSAFEBUFFERUSAGE_H 21#include "llvm/Support/Debug.h" 39 bool

*HasParm =

nullptr

)

const

=0;

61 using MapTy

= llvm::DenseMap<const VarDecl *, Kind>;

75 auto

I = Map.find(VD);

92 using DebugNote

= std::pair<SourceLocation, std::string>;

122 const Expr

*UnsafeArg =

nullptr

) = 0;

126 bool

IsRelatedToDecl,

144

DEBUG_WITH_TYPE(

"SafeBuffers"

,

return true

);

175

StringRef WSSuffix =

""

)

const

= 0;

181 bool

EmitSuggestions);

llvm::DenseMap< Stmt *, Stmt * > MapTy

Defines the clang::SourceLocation class and associated facilities.

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...

CallExpr - Represents a function call (C99 6.5.2.2, C++ [expr.call]).

Decl - This represents one declaration (or definition), e.g.

This represents one expression.

FixitStrategy(FixitStrategy &&)=default

FixitStrategy & operator=(const FixitStrategy &)=delete

FixitStrategy & operator=(FixitStrategy &&)=default

FixitStrategy(const FixitStrategy &)=delete

Kind lookup(const VarDecl *VD) const

void set(const VarDecl *VD, Kind K)

Encodes a location in the source.

This class handles loading and caching of source files into memory.

Stmt - This represents one statement.

The interface that lets the caller handle unsafe buffer usage analysis results by overriding this cla...

DebugNoteByVar DebugNotesByVar

bool areDebugNotesRequested()

void addDebugNoteForVar(const VarDecl *VD, SourceLocation Loc, std::string Text)

std::vector< DebugNote > DebugNoteList

virtual std::string getUnsafeBufferUsageAttributeTextAt(SourceLocation Loc, StringRef WSSuffix="") const =0

virtual bool isSafeBufferOptOut(const SourceLocation &Loc) const =0

std::map< const VarDecl *, DebugNoteList > DebugNoteByVar

std::pair< SourceLocation, std::string > DebugNote

virtual bool ignoreUnsafeBufferInContainer(const SourceLocation &Loc) const =0

virtual void handleUnsafeOperation(const Stmt *Operation, bool IsRelatedToDecl, ASTContext &Ctx)=0

Invoked when an unsafe operation over raw pointers is found.

UnsafeBufferUsageHandler()=default

virtual void handleUnsafeVariableGroup(const VarDecl *Variable, const VariableGroupsManager &VarGrpMgr, FixItList &&Fixes, const Decl *D, const FixitStrategy &VarTargetTypes)=0

Invoked when a fix is suggested against a variable.

virtual ~UnsafeBufferUsageHandler()=default

virtual void handleUnsafeOperationInContainer(const Stmt *Operation, bool IsRelatedToDecl, ASTContext &Ctx)=0

Invoked when an unsafe operation with a std container is found.

virtual bool ignoreUnsafeBufferInLibcCall(const SourceLocation &Loc) const =0

virtual void handleUnsafeLibcCall(const CallExpr *Call, unsigned PrintfInfo, ASTContext &Ctx, const Expr *UnsafeArg=nullptr)=0

Invoked when a call to an unsafe libc function is found.

Represents a variable declaration or definition.

virtual ~VariableGroupsManager()=default

VariableGroupsManager()=default

virtual VarGrpRef getGroupOfVar(const VarDecl *Var, bool *HasParm=nullptr) const =0

Returns the set of variables (including Var) that need to be fixed together in one step.

virtual VarGrpRef getGroupOfParms() const =0

Returns the non-empty group of variables that include parameters of the analyzing function,...

bool anyConflict(const llvm::SmallVectorImpl< FixItHint > &FixIts, const SourceManager &SM)

The JSON file list parser is used to communicate input to InstallAPI.

void checkUnsafeBufferUsage(const Decl *D, UnsafeBufferUsageHandler &Handler, bool EmitSuggestions)

std::vector< const VarDecl * > VarGrpTy


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4