diff options
author | theraven <theraven@FreeBSD.org> | 2012-11-13 03:27:43 +0000 |
---|---|---|
committer | theraven <theraven@FreeBSD.org> | 2012-11-13 03:27:43 +0000 |
commit | 8af97236b44c01761e1294025653d7f19dac7dd9 (patch) | |
tree | b0b795ada355b89fa0679851158e12e7b0af551d /contrib/libc++/include/__config | |
parent | af2fb35f8e88c3065ae59da7ac18d1bd2a3aca56 (diff) | |
download | FreeBSD-src-8af97236b44c01761e1294025653d7f19dac7dd9.zip FreeBSD-src-8af97236b44c01761e1294025653d7f19dac7dd9.tar.gz |
Import new version of libc++ into base.
Diffstat (limited to 'contrib/libc++/include/__config')
-rw-r--r-- | contrib/libc++/include/__config | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/contrib/libc++/include/__config b/contrib/libc++/include/__config index 75b2206..2bbe1d9 100644 --- a/contrib/libc++/include/__config +++ b/contrib/libc++/include/__config @@ -415,11 +415,11 @@ template <unsigned> struct __static_assert_check {}; #endif #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS -#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_VISIBLE x { enum _ +#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_VISIBLE x { enum __lx #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \ - _ __v_; \ - _LIBCPP_ALWAYS_INLINE x(_ __v) : __v_(__v) {} \ - _LIBCPP_ALWAYS_INLINE explicit x(int __v) : __v_(static_cast<_>(__v)) {} \ + __lx __v_; \ + _LIBCPP_ALWAYS_INLINE x(__lx __v) : __v_(__v) {} \ + _LIBCPP_ALWAYS_INLINE explicit x(int __v) : __v_(static_cast<__lx>(__v)) {} \ _LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} \ }; #else // _LIBCPP_HAS_NO_STRONG_ENUMS @@ -427,6 +427,10 @@ template <unsigned> struct __static_assert_check {}; #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) #endif // _LIBCPP_HAS_NO_STRONG_ENUMS +#ifndef _LIBCPP_EXTERN_TEMPLATE +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; +#endif + #if __APPLE__ || __FreeBSD__ || _WIN32 || __sun__ #define _LIBCPP_LOCALE__L_EXTENSIONS 1 #endif |