clang 22.0.0git
Sanitizers.h File Reference

Defines the clang::SanitizerKind enum. More...

#include "clang/Basic/LLVM.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/HashBuilder.h"
#include "llvm/Transforms/Instrumentation/AddressSanitizerOptions.h"
#include <cassert>
#include <cstdint>
#include "clang/Basic/Sanitizers.def"

Go to the source code of this file.

Classes

class  clang::SanitizerMask
struct  clang::SanitizerKind
class  clang::SanitizerMaskCutoffs
struct  clang::SanitizerSet

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
namespace  llvm::opt
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.

Macros

#define SANITIZER(NAME, ID)
#define SANITIZER_GROUP(NAME, ID, ALIAS)
#define SANITIZER(NAME, ID)
#define SANITIZER_GROUP(NAME, ID, ALIAS)

Functions

llvm::hash_code clang::hash_value (const clang::SanitizerMask &Arg)
SanitizerMask clang::parseSanitizerValue (StringRef Value, bool AllowGroups)
 Parse a single value from a -fsanitize= or -fno-sanitize= value list.
bool clang::parseSanitizerWeightedValue (StringRef Value, bool AllowGroups, SanitizerMaskCutoffs &Cutoffs)
 Parse a single weighted value (e.g., 'undefined=0.05') from a -fsanitize= or -fno-sanitize= value list.
void clang::serializeSanitizerSet (SanitizerSet Set, SmallVectorImpl< StringRef > &Values)
 Serialize a SanitizerSet into values for -fsanitize= or -fno-sanitize=.
void clang::serializeSanitizerMaskCutoffs (const SanitizerMaskCutoffs &Cutoffs, SmallVectorImpl< std::string > &Values)
 Serialize a SanitizerMaskCutoffs into command line arguments.
SanitizerMask clang::expandSanitizerGroups (SanitizerMask Kinds)
 For each sanitizer group bit set in Kinds, set the bits for sanitizers this group enables.
SanitizerMask clang::getPPTransparentSanitizers ()
 Return the sanitizers which do not affect preprocessing.
StringRef clang::AsanDtorKindToString (llvm::AsanDtorKind kind)
llvm::AsanDtorKind clang::AsanDtorKindFromString (StringRef kind)
StringRef clang::AsanDetectStackUseAfterReturnModeToString (llvm::AsanDetectStackUseAfterReturnMode mode)
llvm::AsanDetectStackUseAfterReturnMode clang::AsanDetectStackUseAfterReturnModeFromString (StringRef modeStr)

Detailed Description

Defines the clang::SanitizerKind enum.

Definition in file Sanitizers.h.

Macro Definition Documentation

◆ SANITIZER [1/2]

#define SANITIZER ( NAME,
ID )
Value:
SO_##ID,

Definition at line 139 of file Sanitizers.h.

◆ SANITIZER [2/2]

#define SANITIZER ( NAME,
ID )
Value:
static constexpr SanitizerMask ID = SanitizerMask::bitPosToMask(SO_##ID); \
static_assert(SanitizerMask::checkBitPos(SO_##ID), "Bit position too big.");

Definition at line 139 of file Sanitizers.h.

◆ SANITIZER_GROUP [1/2]

#define SANITIZER_GROUP ( NAME,
ID,
ALIAS )
Value:
SO_##ID##Group,

Definition at line 140 of file Sanitizers.h.

◆ SANITIZER_GROUP [2/2]

#define SANITIZER_GROUP ( NAME,
ID,
ALIAS )
Value:
static constexpr SanitizerMask ID = SanitizerMask(ALIAS); \
static constexpr SanitizerMask ID##Group = \
SanitizerMask::bitPosToMask(SO_##ID##Group); \
static_assert(SanitizerMask::checkBitPos(SO_##ID##Group), \
"Bit position too big.");
#define ALIAS(NAME, TOK, FLAGS)

Definition at line 140 of file Sanitizers.h.