15
15
#ifndef _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
16
16
#define _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
17
17
18
+ #include < __config>
19
+ #include < ctype.h>
20
+ #include < time.h>
21
+
22
+ #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
23
+ # include < wctype.h>
24
+ #endif
25
+
18
26
#ifdef __cplusplus
19
27
extern " C" {
20
28
#endif
@@ -67,6 +75,15 @@ inline _LIBCPP_HIDE_FROM_ABI int isxdigit_l(int __c, locale_t) {
67
75
return ::isxdigit (__c);
68
76
}
69
77
78
+ inline _LIBCPP_HIDE_FROM_ABI int toupper_l (int __c, locale_t ) {
79
+ return ::toupper (__c);
80
+ }
81
+
82
+ inline _LIBCPP_HIDE_FROM_ABI int tolower_l (int __c, locale_t ) {
83
+ return ::tolower (__c);
84
+ }
85
+
86
+ #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
70
87
inline _LIBCPP_HIDE_FROM_ABI int iswalnum_l (wint_t __c, locale_t ) {
71
88
return ::iswalnum (__c);
72
89
}
@@ -115,21 +132,14 @@ inline _LIBCPP_HIDE_FROM_ABI int iswxdigit_l(wint_t __c, locale_t) {
115
132
return ::iswxdigit (__c);
116
133
}
117
134
118
- inline _LIBCPP_HIDE_FROM_ABI int toupper_l (int __c, locale_t ) {
119
- return ::toupper (__c);
120
- }
121
-
122
- inline _LIBCPP_HIDE_FROM_ABI int tolower_l (int __c, locale_t ) {
123
- return ::tolower (__c);
124
- }
125
-
126
135
inline _LIBCPP_HIDE_FROM_ABI wint_t towupper_l (wint_t __c, locale_t ) {
127
136
return ::towupper (__c);
128
137
}
129
138
130
139
inline _LIBCPP_HIDE_FROM_ABI wint_t towlower_l (wint_t __c, locale_t ) {
131
140
return ::towlower (__c);
132
141
}
142
+ #endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
133
143
134
144
inline _LIBCPP_HIDE_FROM_ABI int
135
145
strcoll_l (const char *__s1, const char *__s2, locale_t ) {
@@ -147,6 +157,7 @@ strftime_l(char *__s, size_t __max, const char *__format, const struct tm *__tm,
147
157
return ::strftime (__s, __max, __format, __tm);
148
158
}
149
159
160
+ #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
150
161
inline _LIBCPP_HIDE_FROM_ABI int
151
162
wcscoll_l (const wchar_t *__ws1, const wchar_t *__ws2, locale_t ) {
152
163
return ::wcscoll (__ws1, __ws2);
@@ -156,6 +167,7 @@ inline _LIBCPP_HIDE_FROM_ABI size_t
156
167
wcsxfrm_l (wchar_t *__dest, const wchar_t *__src, size_t __n, locale_t ) {
157
168
return ::wcsxfrm (__dest, __src, __n);
158
169
}
170
+ #endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
159
171
160
172
#ifdef __cplusplus
161
173
}
0 commit comments