diff options
author | Louis Dionne <ldionne@apple.com> | 2019-09-04 12:44:19 +0000 |
---|---|---|
committer | Louis Dionne <ldionne@apple.com> | 2019-09-04 12:44:19 +0000 |
commit | 801f6a495c6a1d061458df67a1d804c4778437d6 (patch) | |
tree | edbcb2f94fe05ef8fbd067b6f506dbe0bdba9c5f /libcxx/include | |
parent | 13dadedc2945e3b0147b862d85ffb0a08cffd24e (diff) | |
download | bcm5719-llvm-801f6a495c6a1d061458df67a1d804c4778437d6.tar.gz bcm5719-llvm-801f6a495c6a1d061458df67a1d804c4778437d6.zip |
[libc++] Use __extension__ in a portable manner
llvm-svn: 370889
Diffstat (limited to 'libcxx/include')
-rw-r--r-- | libcxx/include/__config | 8 | ||||
-rw-r--r-- | libcxx/include/atomic | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config index 0d9d7237778..03725e28840 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -485,6 +485,8 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_NO_CXX20_CHRONO_LITERALS #endif +#define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__ + #elif defined(_LIBCPP_COMPILER_GCC) #define _ALIGNAS(x) __attribute__((__aligned__(x))) @@ -520,6 +522,8 @@ typedef __char32_t char32_t; #define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__ + #elif defined(_LIBCPP_COMPILER_MSVC) #define _LIBCPP_TOSTRING2(x) #x @@ -545,6 +549,8 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_NO_VECTOR_EXTENSION +#define _LIBCPP_DISABLE_EXTENSION_WARNING + #elif defined(_LIBCPP_COMPILER_IBM) #define _ALIGNAS(x) __attribute__((__aligned__(x))) @@ -565,6 +571,8 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_NO_VECTOR_EXTENSION +#define _LIBCPP_DISABLE_EXTENSION_WARNING + #endif // _LIBCPP_COMPILER_[CLANG|GCC|MSVC|IBM] #if defined(_LIBCPP_OBJECT_FORMAT_COFF) diff --git a/libcxx/include/atomic b/libcxx/include/atomic index 0118ab5cf76..6904dd40003 100644 --- a/libcxx/include/atomic +++ b/libcxx/include/atomic @@ -920,7 +920,7 @@ struct __cxx_atomic_base_impl { #endif // _LIBCPP_CXX03_LANG _LIBCPP_CONSTEXPR explicit __cxx_atomic_base_impl(_Tp value) _NOEXCEPT : __a_value(value) {} - __extension__ _Atomic(_Tp) __a_value; + _LIBCPP_DISABLE_EXTENSION_WARNING _Atomic(_Tp) __a_value; }; #define __cxx_atomic_is_lock_free(__s) __c11_atomic_is_lock_free(__s) |