1 // -*- C++ -*- 2 //===----------------------------------------------------------------------===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 // The BSDs have lots of *_l functions. We don't want to define those symbols 10 // on other platforms though, for fear of conflicts with user code. So here, 11 // we will define the mapping from an internal macro to the real BSD symbol. 12 //===----------------------------------------------------------------------===// 13 14 #ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H 15 #define _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H 16 17 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 18 # pragma GCC system_header 19 #endif 20 21 #define __libcpp_mb_cur_max_l(loc) MB_CUR_MAX_L(loc) 22 #define __libcpp_btowc_l(ch, loc) btowc_l(ch, loc) 23 #define __libcpp_wctob_l(wch, loc) wctob_l(wch, loc) 24 #define __libcpp_wcsnrtombs_l(dst, src, nwc, len, ps, loc) wcsnrtombs_l(dst, src, nwc, len, ps, loc) 25 #define __libcpp_wcrtomb_l(src, wc, ps, loc) wcrtomb_l(src, wc, ps, loc) 26 #define __libcpp_mbsnrtowcs_l(dst, src, nms, len, ps, loc) mbsnrtowcs_l(dst, src, nms, len, ps, loc) 27 #define __libcpp_mbrtowc_l(pwc, s, n, ps, l) mbrtowc_l(pwc, s, n, ps, l) 28 #define __libcpp_mbtowc_l(pwc, pmb, max, l) mbtowc_l(pwc, pmb, max, l) 29 #define __libcpp_mbrlen_l(s, n, ps, l) mbrlen_l(s, n, ps, l) 30 #define __libcpp_localeconv_l(l) localeconv_l(l) 31 #define __libcpp_mbsrtowcs_l(dest, src, len, ps, l) mbsrtowcs_l(dest, src, len, ps, l) 32 #define __libcpp_snprintf_l(...) snprintf_l(__VA_ARGS__) 33 #define __libcpp_asprintf_l(...) asprintf_l(__VA_ARGS__) 34 #define __libcpp_sscanf_l(...) sscanf_l(__VA_ARGS__) 35 36 #endif // _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H 37