summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include/__config
diff options
context:
space:
mode:
authortheraven <theraven@FreeBSD.org>2012-11-13 03:27:43 +0000
committertheraven <theraven@FreeBSD.org>2012-11-13 03:27:43 +0000
commit8af97236b44c01761e1294025653d7f19dac7dd9 (patch)
treeb0b795ada355b89fa0679851158e12e7b0af551d /contrib/libc++/include/__config
parentaf2fb35f8e88c3065ae59da7ac18d1bd2a3aca56 (diff)
downloadFreeBSD-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/__config12
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
OpenPOWER on IntegriCloud