@@ -1,3 +1,8 @@
+2018-05-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/85184
+ * include/std/variant: Remove all uses of __glibcxx_assert.
+
2018-05-15 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85749
@@ -555,7 +555,6 @@ namespace __variant
__throw_exception_again;
}
}
- __glibcxx_assert(this->_M_index == __rhs._M_index);
return *this;
}
@@ -624,7 +623,6 @@ namespace __variant
__throw_exception_again;
}
}
- __glibcxx_assert(this->_M_index == __rhs._M_index);
return *this;
}
@@ -1105,7 +1103,7 @@ namespace __variant
noexcept(is_nothrow_constructible_v<__accepted_type<_Tp&&>, _Tp&&>)
: variant(in_place_index<__accepted_index<_Tp&&>>,
std::forward<_Tp>(__t))
- { __glibcxx_assert(holds_alternative<__accepted_type<_Tp&&>>(*this)); }
+ { }
template<typename _Tp, typename... _Args,
typename = enable_if_t<__exactly_once<_Tp>
@@ -1114,7 +1112,7 @@ namespace __variant
variant(in_place_type_t<_Tp>, _Args&&... __args)
: variant(in_place_index<__index_of<_Tp>>,
std::forward<_Args>(__args)...)
- { __glibcxx_assert(holds_alternative<_Tp>(*this)); }
+ { }
template<typename _Tp, typename _Up, typename... _Args,
typename = enable_if_t<__exactly_once<_Tp>
@@ -1125,7 +1123,7 @@ namespace __variant
_Args&&... __args)
: variant(in_place_index<__index_of<_Tp>>, __il,
std::forward<_Args>(__args)...)
- { __glibcxx_assert(holds_alternative<_Tp>(*this)); }
+ { }
template<size_t _Np, typename... _Args,
typename = enable_if_t<
@@ -1134,7 +1132,7 @@ namespace __variant
variant(in_place_index_t<_Np>, _Args&&... __args)
: _Base(in_place_index<_Np>, std::forward<_Args>(__args)...),
_Default_ctor_enabler(_Enable_default_constructor_tag{})
- { __glibcxx_assert(index() == _Np); }
+ { }
template<size_t _Np, typename _Up, typename... _Args,
typename = enable_if_t<is_constructible_v<__to_type<_Np>,
@@ -1144,7 +1142,7 @@ namespace __variant
_Args&&... __args)
: _Base(in_place_index<_Np>, __il, std::forward<_Args>(__args)...),
_Default_ctor_enabler(_Enable_default_constructor_tag{})
- { __glibcxx_assert(index() == _Np); }
+ { }
template<typename _Tp>
enable_if_t<__exactly_once<__accepted_type<_Tp&&>>
@@ -1160,7 +1158,6 @@ namespace __variant
std::get<__index>(*this) = std::forward<_Tp>(__rhs);
else
this->emplace<__index>(std::forward<_Tp>(__rhs));
- __glibcxx_assert(holds_alternative<__accepted_type<_Tp&&>>(*this));
return *this;
}
@@ -1171,7 +1168,6 @@ namespace __variant
{
auto& ret =
this->emplace<__index_of<_Tp>>(std::forward<_Args>(__args)...);
- __glibcxx_assert(holds_alternative<_Tp>(*this));
return ret;
}
@@ -1184,7 +1180,6 @@ namespace __variant
auto& ret =
this->emplace<__index_of<_Tp>>(__il,
std::forward<_Args>(__args)...);
- __glibcxx_assert(holds_alternative<_Tp>(*this));
return ret;
}
@@ -1207,7 +1202,6 @@ namespace __variant
this->_M_index = variant_npos;
__throw_exception_again;
}
- __glibcxx_assert(index() == _Np);
return std::get<_Np>(*this);
}
@@ -1230,7 +1224,6 @@ namespace __variant
this->_M_index = variant_npos;
__throw_exception_again;
}
- __glibcxx_assert(index() == _Np);
return std::get<_Np>(*this);
}