summaryrefslogtreecommitdiffstats
path: root/include/clang/Basic/Sanitizers.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Basic/Sanitizers.h')
-rw-r--r--include/clang/Basic/Sanitizers.h86
1 files changed, 0 insertions, 86 deletions
diff --git a/include/clang/Basic/Sanitizers.h b/include/clang/Basic/Sanitizers.h
deleted file mode 100644
index 98e70de..0000000
--- a/include/clang/Basic/Sanitizers.h
+++ /dev/null
@@ -1,86 +0,0 @@
-//===--- Sanitizers.h - C Language Family Language Options ------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// \brief Defines the clang::SanitizerKind enum.
-///
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_BASIC_SANITIZERS_H
-#define LLVM_CLANG_BASIC_SANITIZERS_H
-
-#include "clang/Basic/LLVM.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/Support/MathExtras.h"
-
-namespace clang {
-
-typedef uint64_t SanitizerMask;
-
-namespace SanitizerKind {
-
-// Assign ordinals to possible values of -fsanitize= flag, which we will use as
-// bit positions.
-enum SanitizerOrdinal : uint64_t {
-#define SANITIZER(NAME, ID) SO_##ID,
-#define SANITIZER_GROUP(NAME, ID, ALIAS) SO_##ID##Group,
-#include "clang/Basic/Sanitizers.def"
- SO_Count
-};
-
-// Define the set of sanitizer kinds, as well as the set of sanitizers each
-// sanitizer group expands into.
-#define SANITIZER(NAME, ID) \
- const SanitizerMask ID = 1ULL << SO_##ID;
-#define SANITIZER_GROUP(NAME, ID, ALIAS) \
- const SanitizerMask ID = ALIAS; \
- const SanitizerMask ID##Group = 1ULL << SO_##ID##Group;
-#include "clang/Basic/Sanitizers.def"
-
-}
-
-struct SanitizerSet {
- SanitizerSet() : Mask(0) {}
-
- /// \brief Check if a certain (single) sanitizer is enabled.
- bool has(SanitizerMask K) const {
- assert(llvm::isPowerOf2_64(K));
- return Mask & K;
- }
-
- /// \brief Check if one or more sanitizers are enabled.
- bool hasOneOf(SanitizerMask K) const { return Mask & K; }
-
- /// \brief Enable or disable a certain (single) sanitizer.
- void set(SanitizerMask K, bool Value) {
- assert(llvm::isPowerOf2_64(K));
- Mask = Value ? (Mask | K) : (Mask & ~K);
- }
-
- /// \brief Disable all sanitizers.
- void clear() { Mask = 0; }
-
- /// \brief Returns true if at least one sanitizer is enabled.
- bool empty() const { return Mask == 0; }
-
- /// \brief Bitmask of enabled sanitizers.
- SanitizerMask Mask;
-};
-
-/// Parse a single value from a -fsanitize= or -fno-sanitize= value list.
-/// Returns a non-zero SanitizerMask, or \c 0 if \p Value is not known.
-SanitizerMask parseSanitizerValue(StringRef Value, bool AllowGroups);
-
-/// For each sanitizer group bit set in \p Kinds, set the bits for sanitizers
-/// this group enables.
-SanitizerMask expandSanitizerGroups(SanitizerMask Kinds);
-
-} // end namespace clang
-
-#endif
OpenPOWER on IntegriCloud