authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-01-28 18:45:50-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-01-28 18:45:50-07:00
log501a6bdddf3d655e8d11dbafc4a626e368bcb951
tree24ae368fefe9454b8caf74f43721ad5e31fb8cde
parent56311b8bbb3002c83010ee29a1580f3e7b02c46b

update libcxx to llvm 16.0.0rc1


7 files changed, 69 insertions(+), 152 deletions(-)

lib/libcxx/include/__config+7-1
...@@ -10,6 +10,8 @@...@@ -10,6 +10,8 @@
10#ifndef _LIBCPP___CONFIG10#ifndef _LIBCPP___CONFIG
11#define _LIBCPP___CONFIG11#define _LIBCPP___CONFIG
1212
13/* zig patch: instead of including __config_site, zig adds -D flags when compiling */
14
13#if defined(_MSC_VER) && !defined(__clang__)15#if defined(_MSC_VER) && !defined(__clang__)
14# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)16# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
15# define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER17# define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
...@@ -627,7 +629,11 @@ typedef __char32_t char32_t;...@@ -627,7 +629,11 @@ typedef __char32_t char32_t;
627# else629# else
628# define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION630# define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
629# endif631# endif
630# define _LIBCPP_HIDE_FROM_ABI_VIRTUAL _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION632# define _LIBCPP_HIDE_FROM_ABI_VIRTUAL _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
633
634// This macro provides a HIDE_FROM_ABI equivalent that can be applied to extern
635// "C" function, as those lack mangling.
636# define _LIBCPP_HIDE_FROM_ABI_C _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
631637
632# ifdef _LIBCPP_BUILDING_LIBRARY638# ifdef _LIBCPP_BUILDING_LIBRARY
633# if _LIBCPP_ABI_VERSION > 1639# if _LIBCPP_ABI_VERSION > 1
lib/libcxx/include/__support/android/locale_bionic.h+3-6
...@@ -46,18 +46,15 @@ extern "C" {...@@ -46,18 +46,15 @@ extern "C" {
46extern "C" {46extern "C" {
47#endif47#endif
4848
49inline _LIBCPP_HIDE_FROM_ABI float49inline _LIBCPP_HIDE_FROM_ABI_C float strtof_l(const char* __nptr, char** __endptr, locale_t) {
50strtof_l(const char* __nptr, char** __endptr, locale_t) {
51 return ::strtof(__nptr, __endptr);50 return ::strtof(__nptr, __endptr);
52}51}
5352
54inline _LIBCPP_HIDE_FROM_ABI double53inline _LIBCPP_HIDE_FROM_ABI_C double strtod_l(const char* __nptr, char** __endptr, locale_t) {
55strtod_l(const char* __nptr, char** __endptr, locale_t) {
56 return ::strtod(__nptr, __endptr);54 return ::strtod(__nptr, __endptr);
57}55}
5856
59inline _LIBCPP_HIDE_FROM_ABI long57inline _LIBCPP_HIDE_FROM_ABI_C long strtol_l(const char* __nptr, char** __endptr, int __base, locale_t) {
60strtol_l(const char* __nptr, char** __endptr, int __base, locale_t) {
61 return ::strtol(__nptr, __endptr, __base);58 return ::strtol(__nptr, __endptr, __base);
62}59}
6360
lib/libcxx/include/__support/musl/xlocale.h+6-10
...@@ -24,28 +24,24 @@...@@ -24,28 +24,24 @@
24extern "C" {24extern "C" {
25#endif25#endif
2626
27inline _LIBCPP_HIDE_FROM_ABI long long27inline _LIBCPP_HIDE_FROM_ABI_C long long strtoll_l(const char* __nptr, char** __endptr, int __base, locale_t) {
28strtoll_l(const char *__nptr, char **__endptr, int __base, locale_t) {
29 return ::strtoll(__nptr, __endptr, __base);28 return ::strtoll(__nptr, __endptr, __base);
30}29}
3130
32inline _LIBCPP_HIDE_FROM_ABI unsigned long long31inline _LIBCPP_HIDE_FROM_ABI_C unsigned long long
33strtoull_l(const char *__nptr, char **__endptr, int __base, locale_t) {32strtoull_l(const char* __nptr, char** __endptr, int __base, locale_t) {
34 return ::strtoull(__nptr, __endptr, __base);33 return ::strtoull(__nptr, __endptr, __base);
35}34}
3635
37inline _LIBCPP_HIDE_FROM_ABI long long36inline _LIBCPP_HIDE_FROM_ABI_C long long wcstoll_l(const wchar_t* __nptr, wchar_t** __endptr, int __base, locale_t) {
38wcstoll_l(const wchar_t *__nptr, wchar_t **__endptr, int __base, locale_t) {
39 return ::wcstoll(__nptr, __endptr, __base);37 return ::wcstoll(__nptr, __endptr, __base);
40}38}
4139
42inline _LIBCPP_HIDE_FROM_ABI unsigned long long40inline _LIBCPP_HIDE_FROM_ABI_C long long wcstoull_l(const wchar_t* __nptr, wchar_t** __endptr, int __base, locale_t) {
43wcstoull_l(const wchar_t *__nptr, wchar_t **__endptr, int __base, locale_t) {
44 return ::wcstoull(__nptr, __endptr, __base);41 return ::wcstoull(__nptr, __endptr, __base);
45}42}
4643
47inline _LIBCPP_HIDE_FROM_ABI long double44inline _LIBCPP_HIDE_FROM_ABI_C long double wcstold_l(const wchar_t* __nptr, wchar_t** __endptr, locale_t) {
48wcstold_l(const wchar_t *__nptr, wchar_t **__endptr, locale_t) {
49 return ::wcstold(__nptr, __endptr);45 return ::wcstold(__nptr, __endptr);
50}46}
5147
lib/libcxx/include/__support/openbsd/xlocale.h+2-6
...@@ -20,18 +20,14 @@...@@ -20,18 +20,14 @@
20extern "C" {20extern "C" {
21#endif21#endif
2222
2323inline _LIBCPP_HIDE_FROM_ABI_C long strtol_l(const char* __nptr, char** __endptr, int __base, locale_t) {
24inline _LIBCPP_HIDE_FROM_ABI long
25strtol_l(const char *__nptr, char **__endptr, int __base, locale_t) {
26 return ::strtol(__nptr, __endptr, __base);24 return ::strtol(__nptr, __endptr, __base);
27}25}
2826
29inline _LIBCPP_HIDE_FROM_ABI unsigned long27inline _LIBCPP_HIDE_FROM_ABI_C unsigned long strtoul_l(const char* __nptr, char** __endptr, int __base, locale_t) {
30strtoul_l(const char *__nptr, char **__endptr, int __base, locale_t) {
31 return ::strtoul(__nptr, __endptr, __base);28 return ::strtoul(__nptr, __endptr, __base);
32}29}
3330
34
35#ifdef __cplusplus31#ifdef __cplusplus
36}32}
37#endif33#endif
lib/libcxx/include/__support/xlocale/__nop_locale_mgmt.h+7-18
...@@ -19,24 +19,13 @@ extern "C" {...@@ -19,24 +19,13 @@ extern "C" {
19// Patch over lack of extended locale support19// Patch over lack of extended locale support
20typedef void *locale_t;20typedef void *locale_t;
2121
22inline _LIBCPP_HIDE_FROM_ABI locale_t22inline _LIBCPP_HIDE_FROM_ABI_C locale_t duplocale(locale_t) { return NULL; }
23duplocale(locale_t) {23
24 return NULL;24inline _LIBCPP_HIDE_FROM_ABI_C void freelocale(locale_t) {}
25}25
2626inline _LIBCPP_HIDE_FROM_ABI_C locale_t newlocale(int, const char*, locale_t) { return NULL; }
27inline _LIBCPP_HIDE_FROM_ABI void27
28freelocale(locale_t) {28inline _LIBCPP_HIDE_FROM_ABI_C locale_t uselocale(locale_t) { return NULL; }
29}
30
31inline _LIBCPP_HIDE_FROM_ABI locale_t
32newlocale(int, const char *, locale_t) {
33 return NULL;
34}
35
36inline _LIBCPP_HIDE_FROM_ABI locale_t
37uselocale(locale_t) {
38 return NULL;
39}
4029
41#define LC_COLLATE_MASK (1 << LC_COLLATE)30#define LC_COLLATE_MASK (1 << LC_COLLATE)
42#define LC_CTYPE_MASK (1 << LC_CTYPE)31#define LC_CTYPE_MASK (1 << LC_CTYPE)
lib/libcxx/include/__support/xlocale/__posix_l_fallback.h+34-95
...@@ -27,144 +27,83 @@...@@ -27,144 +27,83 @@
27extern "C" {27extern "C" {
28#endif28#endif
2929
30inline _LIBCPP_HIDE_FROM_ABI int isalnum_l(int __c, locale_t) {30inline _LIBCPP_HIDE_FROM_ABI_C int isalnum_l(int __c, locale_t) { return ::isalnum(__c); }
31 return ::isalnum(__c);
32}
3331
34inline _LIBCPP_HIDE_FROM_ABI int isalpha_l(int __c, locale_t) {32inline _LIBCPP_HIDE_FROM_ABI_C int isalpha_l(int __c, locale_t) { return ::isalpha(__c); }
35 return ::isalpha(__c);
36}
3733
38inline _LIBCPP_HIDE_FROM_ABI int isblank_l(int __c, locale_t) {34inline _LIBCPP_HIDE_FROM_ABI_C int isblank_l(int __c, locale_t) { return ::isblank(__c); }
39 return ::isblank(__c);
40}
4135
42inline _LIBCPP_HIDE_FROM_ABI int iscntrl_l(int __c, locale_t) {36inline _LIBCPP_HIDE_FROM_ABI_C int iscntrl_l(int __c, locale_t) { return ::iscntrl(__c); }
43 return ::iscntrl(__c);
44}
4537
46inline _LIBCPP_HIDE_FROM_ABI int isdigit_l(int __c, locale_t) {38inline _LIBCPP_HIDE_FROM_ABI_C int isdigit_l(int __c, locale_t) { return ::isdigit(__c); }
47 return ::isdigit(__c);
48}
4939
50inline _LIBCPP_HIDE_FROM_ABI int isgraph_l(int __c, locale_t) {40inline _LIBCPP_HIDE_FROM_ABI_C int isgraph_l(int __c, locale_t) { return ::isgraph(__c); }
51 return ::isgraph(__c);
52}
5341
54inline _LIBCPP_HIDE_FROM_ABI int islower_l(int __c, locale_t) {42inline _LIBCPP_HIDE_FROM_ABI_C int islower_l(int __c, locale_t) { return ::islower(__c); }
55 return ::islower(__c);
56}
5743
58inline _LIBCPP_HIDE_FROM_ABI int isprint_l(int __c, locale_t) {44inline _LIBCPP_HIDE_FROM_ABI_C int isprint_l(int __c, locale_t) { return ::isprint(__c); }
59 return ::isprint(__c);
60}
6145
62inline _LIBCPP_HIDE_FROM_ABI int ispunct_l(int __c, locale_t) {46inline _LIBCPP_HIDE_FROM_ABI_C int ispunct_l(int __c, locale_t) { return ::ispunct(__c); }
63 return ::ispunct(__c);
64}
6547
66inline _LIBCPP_HIDE_FROM_ABI int isspace_l(int __c, locale_t) {48inline _LIBCPP_HIDE_FROM_ABI_C int isspace_l(int __c, locale_t) { return ::isspace(__c); }
67 return ::isspace(__c);
68}
6949
70inline _LIBCPP_HIDE_FROM_ABI int isupper_l(int __c, locale_t) {50inline _LIBCPP_HIDE_FROM_ABI_C int isupper_l(int __c, locale_t) { return ::isupper(__c); }
71 return ::isupper(__c);
72}
7351
74inline _LIBCPP_HIDE_FROM_ABI int isxdigit_l(int __c, locale_t) {52inline _LIBCPP_HIDE_FROM_ABI_C int isxdigit_l(int __c, locale_t) { return ::isxdigit(__c); }
75 return ::isxdigit(__c);
76}
7753
78inline _LIBCPP_HIDE_FROM_ABI int toupper_l(int __c, locale_t) {54inline _LIBCPP_HIDE_FROM_ABI_C int toupper_l(int __c, locale_t) { return ::toupper(__c); }
79 return ::toupper(__c);
80}
8155
82inline _LIBCPP_HIDE_FROM_ABI int tolower_l(int __c, locale_t) {56inline _LIBCPP_HIDE_FROM_ABI_C int tolower_l(int __c, locale_t) { return ::tolower(__c); }
83 return ::tolower(__c);
84}
8557
86#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS58#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
87inline _LIBCPP_HIDE_FROM_ABI int iswalnum_l(wint_t __c, locale_t) {59inline _LIBCPP_HIDE_FROM_ABI_C int iswalnum_l(wint_t __c, locale_t) { return ::iswalnum(__c); }
88 return ::iswalnum(__c);
89}
9060
91inline _LIBCPP_HIDE_FROM_ABI int iswalpha_l(wint_t __c, locale_t) {61inline _LIBCPP_HIDE_FROM_ABI_C int iswalpha_l(wint_t __c, locale_t) { return ::iswalpha(__c); }
92 return ::iswalpha(__c);
93}
9462
95inline _LIBCPP_HIDE_FROM_ABI int iswblank_l(wint_t __c, locale_t) {63inline _LIBCPP_HIDE_FROM_ABI_C int iswblank_l(wint_t __c, locale_t) { return ::iswblank(__c); }
96 return ::iswblank(__c);
97}
9864
99inline _LIBCPP_HIDE_FROM_ABI int iswcntrl_l(wint_t __c, locale_t) {65inline _LIBCPP_HIDE_FROM_ABI_C int iswcntrl_l(wint_t __c, locale_t) { return ::iswcntrl(__c); }
100 return ::iswcntrl(__c);
101}
10266
103inline _LIBCPP_HIDE_FROM_ABI int iswdigit_l(wint_t __c, locale_t) {67inline _LIBCPP_HIDE_FROM_ABI_C int iswdigit_l(wint_t __c, locale_t) { return ::iswdigit(__c); }
104 return ::iswdigit(__c);
105}
10668
107inline _LIBCPP_HIDE_FROM_ABI int iswgraph_l(wint_t __c, locale_t) {69inline _LIBCPP_HIDE_FROM_ABI_C int iswgraph_l(wint_t __c, locale_t) { return ::iswgraph(__c); }
108 return ::iswgraph(__c);
109}
11070
111inline _LIBCPP_HIDE_FROM_ABI int iswlower_l(wint_t __c, locale_t) {71inline _LIBCPP_HIDE_FROM_ABI_C int iswlower_l(wint_t __c, locale_t) { return ::iswlower(__c); }
112 return ::iswlower(__c);
113}
11472
115inline _LIBCPP_HIDE_FROM_ABI int iswprint_l(wint_t __c, locale_t) {73inline _LIBCPP_HIDE_FROM_ABI_C int iswprint_l(wint_t __c, locale_t) { return ::iswprint(__c); }
116 return ::iswprint(__c);
117}
11874
119inline _LIBCPP_HIDE_FROM_ABI int iswpunct_l(wint_t __c, locale_t) {75inline _LIBCPP_HIDE_FROM_ABI_C int iswpunct_l(wint_t __c, locale_t) { return ::iswpunct(__c); }
120 return ::iswpunct(__c);
121}
12276
123inline _LIBCPP_HIDE_FROM_ABI int iswspace_l(wint_t __c, locale_t) {77inline _LIBCPP_HIDE_FROM_ABI_C int iswspace_l(wint_t __c, locale_t) { return ::iswspace(__c); }
124 return ::iswspace(__c);
125}
12678
127inline _LIBCPP_HIDE_FROM_ABI int iswupper_l(wint_t __c, locale_t) {79inline _LIBCPP_HIDE_FROM_ABI_C int iswupper_l(wint_t __c, locale_t) { return ::iswupper(__c); }
128 return ::iswupper(__c);
129}
13080
131inline _LIBCPP_HIDE_FROM_ABI int iswxdigit_l(wint_t __c, locale_t) {81inline _LIBCPP_HIDE_FROM_ABI_C int iswxdigit_l(wint_t __c, locale_t) { return ::iswxdigit(__c); }
132 return ::iswxdigit(__c);
133}
13482
135inline _LIBCPP_HIDE_FROM_ABI wint_t towupper_l(wint_t __c, locale_t) {83inline _LIBCPP_HIDE_FROM_ABI_C wint_t towupper_l(wint_t __c, locale_t) { return ::towupper(__c); }
136 return ::towupper(__c);
137}
13884
139inline _LIBCPP_HIDE_FROM_ABI wint_t towlower_l(wint_t __c, locale_t) {85inline _LIBCPP_HIDE_FROM_ABI_C wint_t towlower_l(wint_t __c, locale_t) { return ::towlower(__c); }
140 return ::towlower(__c);
141}
142#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS86#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
14387
144inline _LIBCPP_HIDE_FROM_ABI int88inline _LIBCPP_HIDE_FROM_ABI_C int strcoll_l(const char* __s1, const char* __s2, locale_t) {
145strcoll_l(const char *__s1, const char *__s2, locale_t) {
146 return ::strcoll(__s1, __s2);89 return ::strcoll(__s1, __s2);
147}90}
14891
149inline _LIBCPP_HIDE_FROM_ABI size_t92inline _LIBCPP_HIDE_FROM_ABI_C size_t strxfrm_l(char* __dest, const char* __src, size_t __n, locale_t) {
150strxfrm_l(char *__dest, const char *__src, size_t __n, locale_t) {
151 return ::strxfrm(__dest, __src, __n);93 return ::strxfrm(__dest, __src, __n);
152}94}
15395
154inline _LIBCPP_HIDE_FROM_ABI size_t96inline _LIBCPP_HIDE_FROM_ABI_C size_t
155strftime_l(char *__s, size_t __max, const char *__format, const struct tm *__tm,97strftime_l(char* __s, size_t __max, const char* __format, const struct tm* __tm, locale_t) {
156 locale_t) {
157 return ::strftime(__s, __max, __format, __tm);98 return ::strftime(__s, __max, __format, __tm);
158}99}
159100
160#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS101#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
161inline _LIBCPP_HIDE_FROM_ABI int102inline _LIBCPP_HIDE_FROM_ABI_C int wcscoll_l(const wchar_t* __ws1, const wchar_t* __ws2, locale_t) {
162wcscoll_l(const wchar_t *__ws1, const wchar_t *__ws2, locale_t) {
163 return ::wcscoll(__ws1, __ws2);103 return ::wcscoll(__ws1, __ws2);
164}104}
165105
166inline _LIBCPP_HIDE_FROM_ABI size_t106inline _LIBCPP_HIDE_FROM_ABI_C size_t wcsxfrm_l(wchar_t* __dest, const wchar_t* __src, size_t __n, locale_t) {
167wcsxfrm_l(wchar_t *__dest, const wchar_t *__src, size_t __n, locale_t) {
168 return ::wcsxfrm(__dest, __src, __n);107 return ::wcsxfrm(__dest, __src, __n);
169}108}
170#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS109#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
lib/libcxx/include/__support/xlocale/__strtonum_fallback.h+10-16
...@@ -26,44 +26,38 @@...@@ -26,44 +26,38 @@
26extern "C" {26extern "C" {
27#endif27#endif
2828
29inline _LIBCPP_HIDE_FROM_ABI float29inline _LIBCPP_HIDE_FROM_ABI_C float strtof_l(const char* __nptr, char** __endptr, locale_t) {
30strtof_l(const char *__nptr, char **__endptr, locale_t) {
31 return ::strtof(__nptr, __endptr);30 return ::strtof(__nptr, __endptr);
32}31}
3332
34inline _LIBCPP_HIDE_FROM_ABI double33inline _LIBCPP_HIDE_FROM_ABI_C double strtod_l(const char* __nptr, char** __endptr, locale_t) {
35strtod_l(const char *__nptr, char **__endptr, locale_t) {
36 return ::strtod(__nptr, __endptr);34 return ::strtod(__nptr, __endptr);
37}35}
3836
39inline _LIBCPP_HIDE_FROM_ABI long double37inline _LIBCPP_HIDE_FROM_ABI_C long double strtold_l(const char* __nptr, char** __endptr, locale_t) {
40strtold_l(const char *__nptr, char **__endptr, locale_t) {
41 return ::strtold(__nptr, __endptr);38 return ::strtold(__nptr, __endptr);
42}39}
4340
44inline _LIBCPP_HIDE_FROM_ABI long long41inline _LIBCPP_HIDE_FROM_ABI_C long long strtoll_l(const char* __nptr, char** __endptr, int __base, locale_t) {
45strtoll_l(const char *__nptr, char **__endptr, int __base, locale_t) {
46 return ::strtoll(__nptr, __endptr, __base);42 return ::strtoll(__nptr, __endptr, __base);
47}43}
4844
49inline _LIBCPP_HIDE_FROM_ABI unsigned long long45inline _LIBCPP_HIDE_FROM_ABI_C unsigned long long
50strtoull_l(const char *__nptr, char **__endptr, int __base, locale_t) {46strtoull_l(const char* __nptr, char** __endptr, int __base, locale_t) {
51 return ::strtoull(__nptr, __endptr, __base);47 return ::strtoull(__nptr, __endptr, __base);
52}48}
5349
54#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS50#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
55inline _LIBCPP_HIDE_FROM_ABI long long51inline _LIBCPP_HIDE_FROM_ABI_C long long wcstoll_l(const wchar_t* __nptr, wchar_t** __endptr, int __base, locale_t) {
56wcstoll_l(const wchar_t *__nptr, wchar_t **__endptr, int __base, locale_t) {
57 return ::wcstoll(__nptr, __endptr, __base);52 return ::wcstoll(__nptr, __endptr, __base);
58}53}
5954
60inline _LIBCPP_HIDE_FROM_ABI unsigned long long55inline _LIBCPP_HIDE_FROM_ABI_C unsigned long long
61wcstoull_l(const wchar_t *__nptr, wchar_t **__endptr, int __base, locale_t) {56wcstoull_l(const wchar_t* __nptr, wchar_t** __endptr, int __base, locale_t) {
62 return ::wcstoull(__nptr, __endptr, __base);57 return ::wcstoull(__nptr, __endptr, __base);
63}58}
6459
65inline _LIBCPP_HIDE_FROM_ABI long double60inline _LIBCPP_HIDE_FROM_ABI_C long double wcstold_l(const wchar_t* __nptr, wchar_t** __endptr, locale_t) {
66wcstold_l(const wchar_t *__nptr, wchar_t **__endptr, locale_t) {
67 return ::wcstold(__nptr, __endptr);61 return ::wcstold(__nptr, __endptr);
68}62}
69#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS63#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS