diff options
Diffstat (limited to 'libcxx/include/__locale')
-rw-r--r-- | libcxx/include/__locale | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/libcxx/include/__locale b/libcxx/include/__locale index 7bc701dda6e..e718f11d6e6 100644 --- a/libcxx/include/__locale +++ b/libcxx/include/__locale @@ -165,10 +165,9 @@ template <class _Facet> locale locale::combine(const locale& __other) const { -#ifndef _LIBCPP_NO_EXCEPTIONS if (!_VSTD::has_facet<_Facet>(__other)) - throw runtime_error("locale::combine: locale missing facet"); -#endif // _LIBCPP_NO_EXCEPTIONS + __throw_runtime_error("locale::combine: locale missing facet"); + return locale(*this, &const_cast<_Facet&>(_VSTD::use_facet<_Facet>(__other))); } @@ -1184,8 +1183,6 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<wchar_t, char, mb _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<char16_t, char, mbstate_t>) _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<char32_t, char, mbstate_t>) -_LIBCPP_FUNC_VIS void __throw_runtime_error(const char*); - template <size_t _Np> struct __narrow_to_utf8 { |