r242154 - Pull trivial SanitizerSet methods into the header.

Benjamin Kramer benny.kra at googlemail.com
Tue Jul 14 08:34:19 PDT 2015


Author: d0k
Date: Tue Jul 14 10:34:19 2015
New Revision: 242154

URL: http://llvm.org/viewvc/llvm-project?rev=242154&view=rev
Log:
Pull trivial SanitizerSet methods into the header.

Inlining them is always preferable to a call. NFC.

Modified:
    cfe/trunk/include/clang/Basic/Sanitizers.h
    cfe/trunk/lib/Basic/Sanitizers.cpp

Modified: cfe/trunk/include/clang/Basic/Sanitizers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Sanitizers.h?rev=242154&r1=242153&r2=242154&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Sanitizers.h (original)
+++ cfe/trunk/include/clang/Basic/Sanitizers.h Tue Jul 14 10:34:19 2015
@@ -17,8 +17,7 @@
 
 #include "clang/Basic/LLVM.h"
 #include "llvm/ADT/StringRef.h"
-
-#include <stdint.h>
+#include "llvm/Support/MathExtras.h"
 
 namespace clang {
 
@@ -47,22 +46,28 @@ enum SanitizerOrdinal : uint64_t {
 }
 
 struct SanitizerSet {
-  SanitizerSet();
+  SanitizerSet() : Mask(0) {}
 
   /// \brief Check if a certain (single) sanitizer is enabled.
-  bool has(SanitizerMask K) const;
+  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;
+  bool hasOneOf(SanitizerMask K) const { return Mask & K; }
 
   /// \brief Enable or disable a certain (single) sanitizer.
-  void set(SanitizerMask K, bool Value);
+  void set(SanitizerMask K, bool Value) {
+    assert(llvm::isPowerOf2_64(K));
+    Mask = Value ? (Mask | K) : (Mask & ~K);
+  }
 
   /// \brief Disable all sanitizers.
-  void clear();
+  void clear() { Mask = 0; }
 
   /// \brief Returns true if at least one sanitizer is enabled.
-  bool empty() const;
+  bool empty() const { return Mask == 0; }
 
   /// \brief Bitmask of enabled sanitizers.
   SanitizerMask Mask;

Modified: cfe/trunk/lib/Basic/Sanitizers.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Sanitizers.cpp?rev=242154&r1=242153&r2=242154&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Sanitizers.cpp (original)
+++ cfe/trunk/lib/Basic/Sanitizers.cpp Tue Jul 14 10:34:19 2015
@@ -14,34 +14,9 @@
 #include "clang/Basic/LLVM.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/StringSwitch.h"
-#include "llvm/Support/MathExtras.h"
 
 using namespace clang;
 
-SanitizerSet::SanitizerSet() : Mask(0) {}
-
-bool SanitizerSet::has(SanitizerMask K) const {
-  assert(llvm::countPopulation(K) == 1);
-  return Mask & K;
-}
-
-bool SanitizerSet::hasOneOf(SanitizerMask K) const {
-  return Mask & K;
-}
-
-void SanitizerSet::set(SanitizerMask K, bool Value) {
-  assert(llvm::countPopulation(K) == 1);
-  Mask = Value ? (Mask | K) : (Mask & ~K);
-}
-
-void SanitizerSet::clear() {
-  Mask = 0;
-}
-
-bool SanitizerSet::empty() const {
-  return Mask == 0;
-}
-
 SanitizerMask clang::parseSanitizerValue(StringRef Value, bool AllowGroups) {
   SanitizerMask ParsedKind = llvm::StringSwitch<SanitizerMask>(Value)
 #define SANITIZER(NAME, ID) .Case(NAME, SanitizerKind::ID)





More information about the cfe-commits mailing list