From e39d080871aca1a5bbca52044e570e5b565a9c5e Mon Sep 17 00:00:00 2001 From: Islam AbdelRahman Date: Thu, 1 Dec 2016 10:02:12 -0800 Subject: [PATCH] Fix travis (compile for clang < 3.9) Summary: Travis fail because it uses clang 3.6 which don't recognize `__attribute__((__no_sanitize__("undefined")))` Closes https://github.com/facebook/rocksdb/pull/1601 Differential Revision: D4257175 Pulled By: IslamAbdelRahman fbshipit-source-id: fb4d1ab --- db/fault_injection_test.cc | 2 +- util/hash.cc | 2 +- utilities/col_buf_encoder.cc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/db/fault_injection_test.cc b/db/fault_injection_test.cc index d06db2847..efd2de1b3 100644 --- a/db/fault_injection_test.cc +++ b/db/fault_injection_test.cc @@ -228,7 +228,7 @@ class FaultInjectionTest : public testing::Test, return Status::OK(); } -#if defined(__clang__) +#if __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 9) __attribute__((__no_sanitize__("undefined"))) #elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) __attribute__((__no_sanitize_undefined__)) diff --git a/util/hash.cc b/util/hash.cc index ce0790a8f..5e3344437 100644 --- a/util/hash.cc +++ b/util/hash.cc @@ -14,7 +14,7 @@ namespace rocksdb { // This function may intentionally do a left shift on a -ve number -#if defined(__clang__) +#if __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 9) __attribute__((__no_sanitize__("undefined"))) #elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) __attribute__((__no_sanitize_undefined__)) diff --git a/utilities/col_buf_encoder.cc b/utilities/col_buf_encoder.cc index f9098d403..5335498c6 100644 --- a/utilities/col_buf_encoder.cc +++ b/utilities/col_buf_encoder.cc @@ -46,7 +46,7 @@ ColBufEncoder *ColBufEncoder::NewColBufEncoder( return nullptr; } -#if defined(__clang__) +#if __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 9) __attribute__((__no_sanitize__("undefined"))) #elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) __attribute__((__no_sanitize_undefined__))