| OLD | NEW |
| 1 // -*- C++ -*- | 1 // -*- C++ -*- |
| 2 //===-------------------------- locale ------------------------------------===// | 2 //===-------------------------- locale ------------------------------------===// |
| 3 // | 3 // |
| 4 // The LLVM Compiler Infrastructure | 4 // The LLVM Compiler Infrastructure |
| 5 // | 5 // |
| 6 // This file is dual licensed under the MIT and the University of Illinois Open | 6 // This file is dual licensed under the MIT and the University of Illinois Open |
| 7 // Source Licenses. See LICENSE.TXT for details. | 7 // Source Licenses. See LICENSE.TXT for details. |
| 8 // | 8 // |
| 9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
| 10 | 10 |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 typedef _VSTD::remove_pointer<locale_t>::type __locale_struct; | 228 typedef _VSTD::remove_pointer<locale_t>::type __locale_struct; |
| 229 typedef _VSTD::unique_ptr<__locale_struct, decltype(&freelocale)> __locale_uniqu
e_ptr; | 229 typedef _VSTD::unique_ptr<__locale_struct, decltype(&freelocale)> __locale_uniqu
e_ptr; |
| 230 #ifndef _LIBCPP_LOCALE__L_EXTENSIONS | 230 #ifndef _LIBCPP_LOCALE__L_EXTENSIONS |
| 231 typedef _VSTD::unique_ptr<__locale_struct, decltype(&uselocale)> __locale_raii; | 231 typedef _VSTD::unique_ptr<__locale_struct, decltype(&uselocale)> __locale_raii; |
| 232 #endif | 232 #endif |
| 233 | 233 |
| 234 // OSX has nice foo_l() functions that let you turn off use of the global | 234 // OSX has nice foo_l() functions that let you turn off use of the global |
| 235 // locale. Linux, not so much. The following functions avoid the locale when | 235 // locale. Linux, not so much. The following functions avoid the locale when |
| 236 // that's possible and otherwise do the wrong thing. FIXME. | 236 // that's possible and otherwise do the wrong thing. FIXME. |
| 237 #if defined(__linux__) || defined(__EMSCRIPTEN__) || defined(_AIX) || \ | 237 #if defined(__linux__) || defined(__EMSCRIPTEN__) || defined(_AIX) || \ |
| 238 defined(_NEWLIB_VERSION) | 238 defined(_NEWLIB_VERSION) || defined(_LIBCPP_HAS_MUSL_LIBC) |
| 239 | 239 |
| 240 #ifdef _LIBCPP_LOCALE__L_EXTENSIONS | 240 #ifdef _LIBCPP_LOCALE__L_EXTENSIONS |
| 241 decltype(MB_CUR_MAX_L(_VSTD::declval<locale_t>())) | 241 decltype(MB_CUR_MAX_L(_VSTD::declval<locale_t>())) |
| 242 inline _LIBCPP_INLINE_VISIBILITY | 242 inline _LIBCPP_INLINE_VISIBILITY |
| 243 __mb_cur_max_l(locale_t __l) | 243 __mb_cur_max_l(locale_t __l) |
| 244 { | 244 { |
| 245 return MB_CUR_MAX_L(__l); | 245 return MB_CUR_MAX_L(__l); |
| 246 } | 246 } |
| 247 #else // _LIBCPP_LOCALE__L_EXTENSIONS | 247 #else // _LIBCPP_LOCALE__L_EXTENSIONS |
| 248 inline _LIBCPP_ALWAYS_INLINE | 248 inline _LIBCPP_ALWAYS_INLINE |
| (...skipping 4215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4464 __rt = this; | 4464 __rt = this; |
| 4465 if ((__cm_ & ios_base::out) && sync()) | 4465 if ((__cm_ & ios_base::out) && sync()) |
| 4466 __rt = 0; | 4466 __rt = 0; |
| 4467 } | 4467 } |
| 4468 return __rt; | 4468 return __rt; |
| 4469 } | 4469 } |
| 4470 | 4470 |
| 4471 _LIBCPP_END_NAMESPACE_STD | 4471 _LIBCPP_END_NAMESPACE_STD |
| 4472 | 4472 |
| 4473 #endif // _LIBCPP_LOCALE | 4473 #endif // _LIBCPP_LOCALE |
| OLD | NEW |