* used as folly whitelists some functions.
*/
#if UNDEFINED_SANITIZER
* 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)))
-# define UBSAN_DISABLE(x)
+# define FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER(x)
#endif // UNDEFINED_SANITIZER
/**
#endif // UNDEFINED_SANITIZER
/**
: buckets_(bucketSize, min, max, Bucket()) {}
/* Add a data point to the 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).
Bucket& bucket = buckets_.getByValue(value);
// NOTE: Overflow is handled elsewhere and tests check this
// behavior (see HistogramTest.cpp TestOverflow* tests).
/* Add multiple same data points to the histogram */
void addRepeatedValue(ValueType value, uint64_t nSamples)
/* 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).
Bucket& bucket = buckets_.getByValue(value);
// NOTE: Overflow is handled elsewhere and tests check this
// behavior (see HistogramTest.cpp TestOverflow* tests).
* had previously been added to the histogram; it merely subtracts the
* requested value from the appropriate bucket's sum.
*/
* 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).
Bucket& bucket = buckets_.getByValue(value);
// NOTE: Overflow is handled elsewhere and tests check this
// behavior (see HistogramTest.cpp TestOverflow* tests).
-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;
// If length is 0, we shouldn't touch any memory. So this should
// not crash.
char* srcNull = nullptr;