From: Yedidya Feldblum <yfeldblum@fb.com>
Date: Thu, 5 Jan 2017 17:57:26 +0000 (-0800)
Subject: Namespace the UBSAN_DISABLE symbol
X-Git-Tag: v2017.03.06.00~133
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9b7138e49c6c545f09a1f016df5b26fd05d13d23;p=folly.git

Namespace the UBSAN_DISABLE symbol

Summary:
[Folly] Namespace the `UBSAN_DISABLE` symbol.

Symbols defined by Folly should typically be namespaced to Folly.

Reviewed By: igorsugak

Differential Revision: D4378401

fbshipit-source-id: ff72f5f44e7c9d1bbf08efcec24bd3dc05d10ee7
---

diff --git a/folly/CPortability.h b/folly/CPortability.h
index 01e972e9..0989cbc9 100644
--- a/folly/CPortability.h
+++ b/folly/CPortability.h
@@ -90,9 +90,10 @@
  * used as folly whitelists some functions.
  */
 #if UNDEFINED_SANITIZER
-# define UBSAN_DISABLE(x) __attribute__((no_sanitize(x)))
+# define FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER(x) \
+    __attribute__((no_sanitize(x)))
 #else
-# define UBSAN_DISABLE(x)
+# define FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER(x)
 #endif // UNDEFINED_SANITIZER
 
 /**
diff --git a/folly/stats/Histogram.h b/folly/stats/Histogram.h
index 33fe5d09..fbb25983 100644
--- a/folly/stats/Histogram.h
+++ b/folly/stats/Histogram.h
@@ -245,8 +245,9 @@ class Histogram {
     : buckets_(bucketSize, min, max, Bucket()) {}
 
   /* Add a data point to the histogram */
-  void addValue(ValueType value) UBSAN_DISABLE("signed-integer-overflow")
-      UBSAN_DISABLE("unsigned-integer-overflow") {
+  void addValue(ValueType value)
+      FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("signed-integer-overflow")
+      FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("unsigned-integer-overflow") {
     Bucket& bucket = buckets_.getByValue(value);
     // NOTE: Overflow is handled elsewhere and tests check this
     // behavior (see HistogramTest.cpp TestOverflow* tests).
@@ -257,8 +258,8 @@ class Histogram {
 
   /* Add multiple same data points to the histogram */
   void addRepeatedValue(ValueType value, uint64_t nSamples)
-      UBSAN_DISABLE("signed-integer-overflow")
-          UBSAN_DISABLE("unsigned-integer-overflow") {
+      FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("signed-integer-overflow")
+      FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("unsigned-integer-overflow") {
     Bucket& bucket = buckets_.getByValue(value);
     // NOTE: Overflow is handled elsewhere and tests check this
     // behavior (see HistogramTest.cpp TestOverflow* tests).
@@ -274,8 +275,9 @@ class Histogram {
    * had previously been added to the histogram; it merely subtracts the
    * requested value from the appropriate bucket's sum.
    */
-  void removeValue(ValueType value) UBSAN_DISABLE("signed-integer-overflow")
-      UBSAN_DISABLE("unsigned-integer-overflow") {
+  void removeValue(ValueType value) FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER(
+      "signed-integer-overflow")
+      FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("unsigned-integer-overflow") {
     Bucket& bucket = buckets_.getByValue(value);
     // NOTE: Overflow is handled elsewhere and tests check this
     // behavior (see HistogramTest.cpp TestOverflow* tests).
diff --git a/folly/test/MemcpyTest.cpp b/folly/test/MemcpyTest.cpp
index e9f33585..f9f5a433 100644
--- a/folly/test/MemcpyTest.cpp
+++ b/folly/test/MemcpyTest.cpp
@@ -32,7 +32,8 @@ void init() {
 }
 }
 
-TEST(memcpy, zero_len) UBSAN_DISABLE("nonnull-attribute") {
+TEST(memcpy, zero_len)
+    FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("nonnull-attribute") {
   // If length is 0, we shouldn't touch any memory.  So this should
   // not crash.
   char* srcNull = nullptr;