mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-05 04:38:37 +00:00
4c12c6cf3b
Remove flag parsing details from the public header. Use SanitizerSet to represent the set of enabled sanitizers. Cleanup the implementation: update the comments to reflect reality, remove dead code. No functionality change. llvm-svn: 221968
36 lines
975 B
C++
36 lines
975 B
C++
//===--- Sanitizers.cpp - 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.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file defines the classes from Sanitizers.h
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#include "clang/Basic/Sanitizers.h"
|
|
|
|
using namespace clang;
|
|
|
|
SanitizerSet::SanitizerSet() : Kinds(0) {}
|
|
|
|
bool SanitizerSet::has(SanitizerKind K) const {
|
|
unsigned Bit = static_cast<unsigned>(K);
|
|
return Kinds & (1 << Bit);
|
|
}
|
|
|
|
void SanitizerSet::set(SanitizerKind K, bool Value) {
|
|
unsigned Bit = static_cast<unsigned>(K);
|
|
Kinds = Value ? (Kinds | (1 << Bit)) : (Kinds & ~(1 << Bit));
|
|
}
|
|
|
|
void SanitizerSet::clear() {
|
|
Kinds = 0;
|
|
}
|
|
|
|
bool SanitizerSet::empty() const {
|
|
return Kinds == 0;
|
|
}
|