http://llvm.org/bugs/show_bug.cgi?id=10248
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@134327 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__bit_reference b/include/__bit_reference
index 57b92ea..d62bec7 100644
--- a/include/__bit_reference
+++ b/include/__bit_reference
@@ -21,7 +21,13 @@
template <class _C, bool _IsConst> class __bit_iterator;
template <class _C> class __bit_const_reference;
-template <class _C>
+template <class _Tp>
+struct __has_storage_type
+{
+ static const bool value = false;
+};
+
+template <class _C, bool = __has_storage_type<_C>::value>
class __bit_reference
{
typedef typename _C::__storage_type __storage_type;
@@ -66,6 +72,11 @@
: __seg_(__s), __mask_(__m) {}
};
+template <class _C>
+class __bit_reference<_C, false>
+{
+};
+
template <class _C, class _D>
_LIBCPP_INLINE_VISIBILITY inline
void