diff options
author | xfxyjwf <xfxyjwf@gmail.com> | 2014-09-18 13:52:31 -0700 |
---|---|---|
committer | xfxyjwf <xfxyjwf@gmail.com> | 2014-09-18 13:52:31 -0700 |
commit | 5c8ab2cbb3b88c67623ce1ca1c9d45eb0b47e7ab (patch) | |
tree | 7056000052fc10492cec04499086628461e267e8 | |
parent | 7b6c5d58a86cdfccf6ad6d3239407cba0557cf2c (diff) | |
parent | 628a23ba8d8e233815075735c4967bcfae3de342 (diff) | |
download | protobuf-5c8ab2cbb3b88c67623ce1ca1c9d45eb0b47e7ab.tar.gz protobuf-5c8ab2cbb3b88c67623ce1ca1c9d45eb0b47e7ab.tar.bz2 protobuf-5c8ab2cbb3b88c67623ce1ca1c9d45eb0b47e7ab.zip |
Merge pull request #21 from edmonds/branches/clang_generic_atomics
Expose generic atomicops on Clang
-rw-r--r-- | src/google/protobuf/stubs/atomicops.h | 3 | ||||
-rw-r--r-- | src/google/protobuf/stubs/platform_macros.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/google/protobuf/stubs/atomicops.h b/src/google/protobuf/stubs/atomicops.h index 76c026c9..8ddd2508 100644 --- a/src/google/protobuf/stubs/atomicops.h +++ b/src/google/protobuf/stubs/atomicops.h @@ -192,7 +192,8 @@ GOOGLE_PROTOBUF_ATOMICOPS_ERROR #include <google/protobuf/stubs/atomicops_internals_mips_gcc.h> #elif defined(__native_client__) #include <google/protobuf/stubs/atomicops_internals_pnacl.h> -#elif (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) +#elif (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) || \ + (defined(__clang__) && __has_extension(c_atomic)) #include <google/protobuf/stubs/atomicops_internals_generic_gcc.h> #else GOOGLE_PROTOBUF_ATOMICOPS_ERROR diff --git a/src/google/protobuf/stubs/platform_macros.h b/src/google/protobuf/stubs/platform_macros.h index 4cc46df4..02c79a61 100644 --- a/src/google/protobuf/stubs/platform_macros.h +++ b/src/google/protobuf/stubs/platform_macros.h @@ -63,7 +63,8 @@ #elif defined(__pnacl__) #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 #elif defined(__GNUC__) && \ - (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) + ((((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) || \ + (defined(__clang__) && __has_extension(c_atomic))) // We fallback to the generic GCC >= 4.7 implementation in atomicops.h # if __LP64__ # define GOOGLE_PROTOBUF_ARCH_64_BIT 1 |