@zigc/lib 0.17.0-dev.215 → 0.17.0-dev.228
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/c/math.zig +31 -2
- package/compiler/resinator/compile.zig +1 -1
- package/compiler_rt/cos.zig +1 -1
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/sin.zig +1 -1
- package/compiler_rt/sincos.zig +1 -1
- package/compiler_rt/tan.zig +1 -1
- package/libcxx/libc/hdr/errno_macros.h +3 -1
- package/libcxx/libc/hdr/stdint_proxy.h +18 -0
- package/libcxx/libc/hdr/types/wchar_t.h +23 -0
- package/libcxx/libc/hdr/wchar_overlay.h +69 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
- package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
- package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
- package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
- package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
- package/libcxx/libc/shared/libc_common.h +5 -0
- package/libcxx/libc/src/__support/CPP/bit.h +50 -12
- package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
- package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
- package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
- package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
- package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
- package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
- package/libcxx/libc/src/__support/big_int.h +14 -14
- package/libcxx/libc/src/__support/common.h +3 -2
- package/libcxx/libc/src/__support/ctype_utils.h +19 -12
- package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
- package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
- package/libcxx/libc/src/__support/libc_assert.h +2 -0
- package/libcxx/libc/src/__support/macros/attributes.h +44 -1
- package/libcxx/libc/src/__support/macros/config.h +23 -0
- package/libcxx/libc/src/__support/macros/null_check.h +1 -2
- package/libcxx/libc/src/__support/macros/optimization.h +3 -0
- package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
- package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
- package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
- package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
- package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
- package/libcxx/libc/src/__support/math_extras.h +20 -4
- package/libcxx/libc/src/__support/str_to_float.h +98 -125
- package/libcxx/libc/src/__support/str_to_integer.h +39 -27
- package/libcxx/libc/src/__support/wctype_utils.h +588 -0
- package/libunwind/src/AddressSpace.hpp +2 -1
- package/libunwind/src/DwarfParser.hpp +2 -1
- package/package.json +1 -1
- package/std/Build/Step/ConfigHeader.zig +1 -1
- package/std/Io/Kqueue.zig +1 -1
- package/std/Target.zig +5 -6
- package/std/bit_set.zig +76 -59
- package/std/c.zig +2 -2
- package/std/crypto/codecs/base64_hex_ct.zig +1 -1
- package/std/crypto/ml_kem.zig +0 -15
- package/std/enums.zig +2 -2
- package/std/fs/path.zig +1 -1
- package/std/math/float.zig +62 -0
- package/std/math/modf.zig +1 -1
- package/std/math.zig +1 -0
- package/std/std.zig +3 -0
- package/std/testing.zig +1 -1
- package/std/zig/target.zig +1 -2
- package/std/zon/parse.zig +1 -1
- package/compiler_rt/long_double.zig +0 -37
- package/libc/mingw/math/lrintl.c +0 -18
- package/libc/mingw/math/rintl.c +0 -16
- package/libc/musl/src/math/i386/lrintl.c +0 -8
- package/libc/musl/src/math/i386/rintl.c +0 -7
- package/libc/musl/src/math/lrintl.c +0 -36
- package/libc/musl/src/math/rintl.c +0 -29
- package/libc/musl/src/math/s390x/rintl.c +0 -15
- package/libc/musl/src/math/x32/lrintl.s +0 -7
- package/libc/musl/src/math/x32/rintl.s +0 -6
- package/libc/musl/src/math/x86_64/lrintl.c +0 -8
- package/libc/musl/src/math/x86_64/rintl.c +0 -7
|
@@ -0,0 +1,588 @@
|
|
|
1
|
+
//===-- Collection of utils for implementing wide char functions --*-C++-*-===//
|
|
2
|
+
//
|
|
3
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6
|
+
//
|
|
7
|
+
//===----------------------------------------------------------------------===//
|
|
8
|
+
|
|
9
|
+
#ifndef LLVM_LIBC_SRC___SUPPORT_WCTYPE_UTILS_H
|
|
10
|
+
#define LLVM_LIBC_SRC___SUPPORT_WCTYPE_UTILS_H
|
|
11
|
+
|
|
12
|
+
#include "hdr/types/wchar_t.h"
|
|
13
|
+
#include "src/__support/macros/attributes.h" // LIBC_INLINE
|
|
14
|
+
#include "src/__support/macros/config.h"
|
|
15
|
+
|
|
16
|
+
namespace LIBC_NAMESPACE_DECL {
|
|
17
|
+
namespace internal {
|
|
18
|
+
|
|
19
|
+
// -----------------------------------------------------------------------------
|
|
20
|
+
// ****************** WARNING ******************
|
|
21
|
+
// ****************** DO NOT TRY TO OPTIMIZE THESE FUNCTIONS! ******************
|
|
22
|
+
// -----------------------------------------------------------------------------
|
|
23
|
+
// This switch/case form is easier for the compiler to understand, and is
|
|
24
|
+
// optimized into a form that is almost always the same as or better than
|
|
25
|
+
// versions written by hand (see https://godbolt.org/z/qvrebqvvr). Also this
|
|
26
|
+
// form makes these functions encoding independent. If you want to rewrite these
|
|
27
|
+
// functions, make sure you have benchmarks to show your new solution is faster,
|
|
28
|
+
// as well as a way to support non-ASCII character encodings.
|
|
29
|
+
|
|
30
|
+
// Similarly, do not change these fumarks to show your new solution is faster,
|
|
31
|
+
// as well as a way to support non-Anctions to use case ranges. e.g.
|
|
32
|
+
// bool islower(wchar_t ch) {
|
|
33
|
+
// switch(ch) {
|
|
34
|
+
// case L'a'...L'z':
|
|
35
|
+
// return true;
|
|
36
|
+
// }
|
|
37
|
+
// }
|
|
38
|
+
// This assumes the character ranges are contiguous, which they aren't in
|
|
39
|
+
// EBCDIC. Technically we could use some smaller ranges, but that's even harder
|
|
40
|
+
// to read.
|
|
41
|
+
|
|
42
|
+
LIBC_INLINE static constexpr bool islower(wchar_t wch) {
|
|
43
|
+
switch (wch) {
|
|
44
|
+
case L'a':
|
|
45
|
+
case L'b':
|
|
46
|
+
case L'c':
|
|
47
|
+
case L'd':
|
|
48
|
+
case L'e':
|
|
49
|
+
case L'f':
|
|
50
|
+
case L'g':
|
|
51
|
+
case L'h':
|
|
52
|
+
case L'i':
|
|
53
|
+
case L'j':
|
|
54
|
+
case L'k':
|
|
55
|
+
case L'l':
|
|
56
|
+
case L'm':
|
|
57
|
+
case L'n':
|
|
58
|
+
case L'o':
|
|
59
|
+
case L'p':
|
|
60
|
+
case L'q':
|
|
61
|
+
case L'r':
|
|
62
|
+
case L's':
|
|
63
|
+
case L't':
|
|
64
|
+
case L'u':
|
|
65
|
+
case L'v':
|
|
66
|
+
case L'w':
|
|
67
|
+
case L'x':
|
|
68
|
+
case L'y':
|
|
69
|
+
case L'z':
|
|
70
|
+
return true;
|
|
71
|
+
default:
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
LIBC_INLINE static constexpr bool isupper(wchar_t wch) {
|
|
77
|
+
switch (wch) {
|
|
78
|
+
case L'A':
|
|
79
|
+
case L'B':
|
|
80
|
+
case L'C':
|
|
81
|
+
case L'D':
|
|
82
|
+
case L'E':
|
|
83
|
+
case L'F':
|
|
84
|
+
case L'G':
|
|
85
|
+
case L'H':
|
|
86
|
+
case L'I':
|
|
87
|
+
case L'J':
|
|
88
|
+
case L'K':
|
|
89
|
+
case L'L':
|
|
90
|
+
case L'M':
|
|
91
|
+
case L'N':
|
|
92
|
+
case L'O':
|
|
93
|
+
case L'P':
|
|
94
|
+
case L'Q':
|
|
95
|
+
case L'R':
|
|
96
|
+
case L'S':
|
|
97
|
+
case L'T':
|
|
98
|
+
case L'U':
|
|
99
|
+
case L'V':
|
|
100
|
+
case L'W':
|
|
101
|
+
case L'X':
|
|
102
|
+
case L'Y':
|
|
103
|
+
case L'Z':
|
|
104
|
+
return true;
|
|
105
|
+
default:
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
LIBC_INLINE static constexpr bool isdigit(wchar_t wch) {
|
|
111
|
+
switch (wch) {
|
|
112
|
+
case L'0':
|
|
113
|
+
case L'1':
|
|
114
|
+
case L'2':
|
|
115
|
+
case L'3':
|
|
116
|
+
case L'4':
|
|
117
|
+
case L'5':
|
|
118
|
+
case L'6':
|
|
119
|
+
case L'7':
|
|
120
|
+
case L'8':
|
|
121
|
+
case L'9':
|
|
122
|
+
return true;
|
|
123
|
+
default:
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
LIBC_INLINE static constexpr wchar_t tolower(wchar_t wch) {
|
|
129
|
+
switch (wch) {
|
|
130
|
+
case L'A':
|
|
131
|
+
return L'a';
|
|
132
|
+
case L'B':
|
|
133
|
+
return L'b';
|
|
134
|
+
case L'C':
|
|
135
|
+
return L'c';
|
|
136
|
+
case L'D':
|
|
137
|
+
return L'd';
|
|
138
|
+
case L'E':
|
|
139
|
+
return L'e';
|
|
140
|
+
case L'F':
|
|
141
|
+
return L'f';
|
|
142
|
+
case L'G':
|
|
143
|
+
return L'g';
|
|
144
|
+
case L'H':
|
|
145
|
+
return L'h';
|
|
146
|
+
case L'I':
|
|
147
|
+
return L'i';
|
|
148
|
+
case L'J':
|
|
149
|
+
return L'j';
|
|
150
|
+
case L'K':
|
|
151
|
+
return L'k';
|
|
152
|
+
case L'L':
|
|
153
|
+
return L'l';
|
|
154
|
+
case L'M':
|
|
155
|
+
return L'm';
|
|
156
|
+
case L'N':
|
|
157
|
+
return L'n';
|
|
158
|
+
case L'O':
|
|
159
|
+
return L'o';
|
|
160
|
+
case L'P':
|
|
161
|
+
return L'p';
|
|
162
|
+
case L'Q':
|
|
163
|
+
return L'q';
|
|
164
|
+
case L'R':
|
|
165
|
+
return L'r';
|
|
166
|
+
case L'S':
|
|
167
|
+
return L's';
|
|
168
|
+
case L'T':
|
|
169
|
+
return L't';
|
|
170
|
+
case L'U':
|
|
171
|
+
return L'u';
|
|
172
|
+
case L'V':
|
|
173
|
+
return L'v';
|
|
174
|
+
case L'W':
|
|
175
|
+
return L'w';
|
|
176
|
+
case L'X':
|
|
177
|
+
return L'x';
|
|
178
|
+
case L'Y':
|
|
179
|
+
return L'y';
|
|
180
|
+
case L'Z':
|
|
181
|
+
return L'z';
|
|
182
|
+
default:
|
|
183
|
+
return wch;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
LIBC_INLINE static constexpr wchar_t toupper(wchar_t wch) {
|
|
188
|
+
switch (wch) {
|
|
189
|
+
case L'a':
|
|
190
|
+
return L'A';
|
|
191
|
+
case L'b':
|
|
192
|
+
return L'B';
|
|
193
|
+
case L'c':
|
|
194
|
+
return L'C';
|
|
195
|
+
case L'd':
|
|
196
|
+
return L'D';
|
|
197
|
+
case L'e':
|
|
198
|
+
return L'E';
|
|
199
|
+
case L'f':
|
|
200
|
+
return L'F';
|
|
201
|
+
case L'g':
|
|
202
|
+
return L'G';
|
|
203
|
+
case L'h':
|
|
204
|
+
return L'H';
|
|
205
|
+
case L'i':
|
|
206
|
+
return L'I';
|
|
207
|
+
case L'j':
|
|
208
|
+
return L'J';
|
|
209
|
+
case L'k':
|
|
210
|
+
return L'K';
|
|
211
|
+
case L'l':
|
|
212
|
+
return L'L';
|
|
213
|
+
case L'm':
|
|
214
|
+
return L'M';
|
|
215
|
+
case L'n':
|
|
216
|
+
return L'N';
|
|
217
|
+
case L'o':
|
|
218
|
+
return L'O';
|
|
219
|
+
case L'p':
|
|
220
|
+
return L'P';
|
|
221
|
+
case L'q':
|
|
222
|
+
return L'Q';
|
|
223
|
+
case L'r':
|
|
224
|
+
return L'R';
|
|
225
|
+
case L's':
|
|
226
|
+
return L'S';
|
|
227
|
+
case L't':
|
|
228
|
+
return L'T';
|
|
229
|
+
case L'u':
|
|
230
|
+
return L'U';
|
|
231
|
+
case L'v':
|
|
232
|
+
return L'V';
|
|
233
|
+
case L'w':
|
|
234
|
+
return L'W';
|
|
235
|
+
case L'x':
|
|
236
|
+
return L'X';
|
|
237
|
+
case L'y':
|
|
238
|
+
return L'Y';
|
|
239
|
+
case L'z':
|
|
240
|
+
return L'Z';
|
|
241
|
+
default:
|
|
242
|
+
return wch;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
LIBC_INLINE static constexpr bool isalpha(wchar_t wch) {
|
|
247
|
+
switch (wch) {
|
|
248
|
+
case L'a':
|
|
249
|
+
case L'b':
|
|
250
|
+
case L'c':
|
|
251
|
+
case L'd':
|
|
252
|
+
case L'e':
|
|
253
|
+
case L'f':
|
|
254
|
+
case L'g':
|
|
255
|
+
case L'h':
|
|
256
|
+
case L'i':
|
|
257
|
+
case L'j':
|
|
258
|
+
case L'k':
|
|
259
|
+
case L'l':
|
|
260
|
+
case L'm':
|
|
261
|
+
case L'n':
|
|
262
|
+
case L'o':
|
|
263
|
+
case L'p':
|
|
264
|
+
case L'q':
|
|
265
|
+
case L'r':
|
|
266
|
+
case L's':
|
|
267
|
+
case L't':
|
|
268
|
+
case L'u':
|
|
269
|
+
case L'v':
|
|
270
|
+
case L'w':
|
|
271
|
+
case L'x':
|
|
272
|
+
case L'y':
|
|
273
|
+
case L'z':
|
|
274
|
+
case L'A':
|
|
275
|
+
case L'B':
|
|
276
|
+
case L'C':
|
|
277
|
+
case L'D':
|
|
278
|
+
case L'E':
|
|
279
|
+
case L'F':
|
|
280
|
+
case L'G':
|
|
281
|
+
case L'H':
|
|
282
|
+
case L'I':
|
|
283
|
+
case L'J':
|
|
284
|
+
case L'K':
|
|
285
|
+
case L'L':
|
|
286
|
+
case L'M':
|
|
287
|
+
case L'N':
|
|
288
|
+
case L'O':
|
|
289
|
+
case L'P':
|
|
290
|
+
case L'Q':
|
|
291
|
+
case L'R':
|
|
292
|
+
case L'S':
|
|
293
|
+
case L'T':
|
|
294
|
+
case L'U':
|
|
295
|
+
case L'V':
|
|
296
|
+
case L'W':
|
|
297
|
+
case L'X':
|
|
298
|
+
case L'Y':
|
|
299
|
+
case L'Z':
|
|
300
|
+
return true;
|
|
301
|
+
default:
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
LIBC_INLINE static constexpr bool isalnum(wchar_t wch) {
|
|
307
|
+
switch (wch) {
|
|
308
|
+
case L'a':
|
|
309
|
+
case L'b':
|
|
310
|
+
case L'c':
|
|
311
|
+
case L'd':
|
|
312
|
+
case L'e':
|
|
313
|
+
case L'f':
|
|
314
|
+
case L'g':
|
|
315
|
+
case L'h':
|
|
316
|
+
case L'i':
|
|
317
|
+
case L'j':
|
|
318
|
+
case L'k':
|
|
319
|
+
case L'l':
|
|
320
|
+
case L'm':
|
|
321
|
+
case L'n':
|
|
322
|
+
case L'o':
|
|
323
|
+
case L'p':
|
|
324
|
+
case L'q':
|
|
325
|
+
case L'r':
|
|
326
|
+
case L's':
|
|
327
|
+
case L't':
|
|
328
|
+
case L'u':
|
|
329
|
+
case L'v':
|
|
330
|
+
case L'w':
|
|
331
|
+
case L'x':
|
|
332
|
+
case L'y':
|
|
333
|
+
case L'z':
|
|
334
|
+
case L'A':
|
|
335
|
+
case L'B':
|
|
336
|
+
case L'C':
|
|
337
|
+
case L'D':
|
|
338
|
+
case L'E':
|
|
339
|
+
case L'F':
|
|
340
|
+
case L'G':
|
|
341
|
+
case L'H':
|
|
342
|
+
case L'I':
|
|
343
|
+
case L'J':
|
|
344
|
+
case L'K':
|
|
345
|
+
case L'L':
|
|
346
|
+
case L'M':
|
|
347
|
+
case L'N':
|
|
348
|
+
case L'O':
|
|
349
|
+
case L'P':
|
|
350
|
+
case L'Q':
|
|
351
|
+
case L'R':
|
|
352
|
+
case L'S':
|
|
353
|
+
case L'T':
|
|
354
|
+
case L'U':
|
|
355
|
+
case L'V':
|
|
356
|
+
case L'W':
|
|
357
|
+
case L'X':
|
|
358
|
+
case L'Y':
|
|
359
|
+
case L'Z':
|
|
360
|
+
case L'0':
|
|
361
|
+
case L'1':
|
|
362
|
+
case L'2':
|
|
363
|
+
case L'3':
|
|
364
|
+
case L'4':
|
|
365
|
+
case L'5':
|
|
366
|
+
case L'6':
|
|
367
|
+
case L'7':
|
|
368
|
+
case L'8':
|
|
369
|
+
case L'9':
|
|
370
|
+
return true;
|
|
371
|
+
default:
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
LIBC_INLINE static constexpr int b36_char_to_int(wchar_t wch) {
|
|
377
|
+
switch (wch) {
|
|
378
|
+
case L'0':
|
|
379
|
+
return 0;
|
|
380
|
+
case L'1':
|
|
381
|
+
return 1;
|
|
382
|
+
case L'2':
|
|
383
|
+
return 2;
|
|
384
|
+
case L'3':
|
|
385
|
+
return 3;
|
|
386
|
+
case L'4':
|
|
387
|
+
return 4;
|
|
388
|
+
case L'5':
|
|
389
|
+
return 5;
|
|
390
|
+
case L'6':
|
|
391
|
+
return 6;
|
|
392
|
+
case L'7':
|
|
393
|
+
return 7;
|
|
394
|
+
case L'8':
|
|
395
|
+
return 8;
|
|
396
|
+
case L'9':
|
|
397
|
+
return 9;
|
|
398
|
+
case L'a':
|
|
399
|
+
case L'A':
|
|
400
|
+
return 10;
|
|
401
|
+
case L'b':
|
|
402
|
+
case L'B':
|
|
403
|
+
return 11;
|
|
404
|
+
case L'c':
|
|
405
|
+
case L'C':
|
|
406
|
+
return 12;
|
|
407
|
+
case L'd':
|
|
408
|
+
case L'D':
|
|
409
|
+
return 13;
|
|
410
|
+
case L'e':
|
|
411
|
+
case L'E':
|
|
412
|
+
return 14;
|
|
413
|
+
case L'f':
|
|
414
|
+
case L'F':
|
|
415
|
+
return 15;
|
|
416
|
+
case L'g':
|
|
417
|
+
case L'G':
|
|
418
|
+
return 16;
|
|
419
|
+
case L'h':
|
|
420
|
+
case L'H':
|
|
421
|
+
return 17;
|
|
422
|
+
case L'i':
|
|
423
|
+
case L'I':
|
|
424
|
+
return 18;
|
|
425
|
+
case L'j':
|
|
426
|
+
case L'J':
|
|
427
|
+
return 19;
|
|
428
|
+
case L'k':
|
|
429
|
+
case L'K':
|
|
430
|
+
return 20;
|
|
431
|
+
case L'l':
|
|
432
|
+
case L'L':
|
|
433
|
+
return 21;
|
|
434
|
+
case L'm':
|
|
435
|
+
case L'M':
|
|
436
|
+
return 22;
|
|
437
|
+
case L'n':
|
|
438
|
+
case L'N':
|
|
439
|
+
return 23;
|
|
440
|
+
case L'o':
|
|
441
|
+
case L'O':
|
|
442
|
+
return 24;
|
|
443
|
+
case L'p':
|
|
444
|
+
case L'P':
|
|
445
|
+
return 25;
|
|
446
|
+
case L'q':
|
|
447
|
+
case L'Q':
|
|
448
|
+
return 26;
|
|
449
|
+
case L'r':
|
|
450
|
+
case L'R':
|
|
451
|
+
return 27;
|
|
452
|
+
case L's':
|
|
453
|
+
case L'S':
|
|
454
|
+
return 28;
|
|
455
|
+
case L't':
|
|
456
|
+
case L'T':
|
|
457
|
+
return 29;
|
|
458
|
+
case L'u':
|
|
459
|
+
case L'U':
|
|
460
|
+
return 30;
|
|
461
|
+
case L'v':
|
|
462
|
+
case L'V':
|
|
463
|
+
return 31;
|
|
464
|
+
case L'w':
|
|
465
|
+
case L'W':
|
|
466
|
+
return 32;
|
|
467
|
+
case L'x':
|
|
468
|
+
case L'X':
|
|
469
|
+
return 33;
|
|
470
|
+
case L'y':
|
|
471
|
+
case L'Y':
|
|
472
|
+
return 34;
|
|
473
|
+
case L'z':
|
|
474
|
+
case L'Z':
|
|
475
|
+
return 35;
|
|
476
|
+
default:
|
|
477
|
+
return 0;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
LIBC_INLINE static constexpr wchar_t int_to_b36_wchar(int num) {
|
|
482
|
+
// Can't actually use LIBC_ASSERT here because it depends on integer_to_string
|
|
483
|
+
// which depends on this.
|
|
484
|
+
|
|
485
|
+
// LIBC_ASSERT(num < 36);
|
|
486
|
+
switch (num) {
|
|
487
|
+
case 0:
|
|
488
|
+
return L'0';
|
|
489
|
+
case 1:
|
|
490
|
+
return L'1';
|
|
491
|
+
case 2:
|
|
492
|
+
return L'2';
|
|
493
|
+
case 3:
|
|
494
|
+
return L'3';
|
|
495
|
+
case 4:
|
|
496
|
+
return L'4';
|
|
497
|
+
case 5:
|
|
498
|
+
return L'5';
|
|
499
|
+
case 6:
|
|
500
|
+
return L'6';
|
|
501
|
+
case 7:
|
|
502
|
+
return L'7';
|
|
503
|
+
case 8:
|
|
504
|
+
return L'8';
|
|
505
|
+
case 9:
|
|
506
|
+
return L'9';
|
|
507
|
+
case 10:
|
|
508
|
+
return L'a';
|
|
509
|
+
case 11:
|
|
510
|
+
return L'b';
|
|
511
|
+
case 12:
|
|
512
|
+
return L'c';
|
|
513
|
+
case 13:
|
|
514
|
+
return L'd';
|
|
515
|
+
case 14:
|
|
516
|
+
return L'e';
|
|
517
|
+
case 15:
|
|
518
|
+
return L'f';
|
|
519
|
+
case 16:
|
|
520
|
+
return L'g';
|
|
521
|
+
case 17:
|
|
522
|
+
return L'h';
|
|
523
|
+
case 18:
|
|
524
|
+
return L'i';
|
|
525
|
+
case 19:
|
|
526
|
+
return L'j';
|
|
527
|
+
case 20:
|
|
528
|
+
return L'k';
|
|
529
|
+
case 21:
|
|
530
|
+
return L'l';
|
|
531
|
+
case 22:
|
|
532
|
+
return L'm';
|
|
533
|
+
case 23:
|
|
534
|
+
return L'n';
|
|
535
|
+
case 24:
|
|
536
|
+
return L'o';
|
|
537
|
+
case 25:
|
|
538
|
+
return L'p';
|
|
539
|
+
case 26:
|
|
540
|
+
return L'q';
|
|
541
|
+
case 27:
|
|
542
|
+
return L'r';
|
|
543
|
+
case 28:
|
|
544
|
+
return L's';
|
|
545
|
+
case 29:
|
|
546
|
+
return L't';
|
|
547
|
+
case 30:
|
|
548
|
+
return L'u';
|
|
549
|
+
case 31:
|
|
550
|
+
return L'v';
|
|
551
|
+
case 32:
|
|
552
|
+
return L'w';
|
|
553
|
+
case 33:
|
|
554
|
+
return L'x';
|
|
555
|
+
case 34:
|
|
556
|
+
return L'y';
|
|
557
|
+
case 35:
|
|
558
|
+
return L'z';
|
|
559
|
+
default:
|
|
560
|
+
return L'!';
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
LIBC_INLINE static constexpr bool isspace(wchar_t wch) {
|
|
565
|
+
switch (wch) {
|
|
566
|
+
case L' ':
|
|
567
|
+
case L'\t':
|
|
568
|
+
case L'\n':
|
|
569
|
+
case L'\v':
|
|
570
|
+
case L'\f':
|
|
571
|
+
case L'\r':
|
|
572
|
+
return true;
|
|
573
|
+
default:
|
|
574
|
+
return false;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
// An overload which provides a way to compare input with specific character
|
|
579
|
+
// values, when input can be of a regular or a wide character type.
|
|
580
|
+
LIBC_INLINE static constexpr bool
|
|
581
|
+
is_char_or_wchar(wchar_t ch, [[maybe_unused]] char, wchar_t wc_value) {
|
|
582
|
+
return (ch == wc_value);
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
} // namespace internal
|
|
586
|
+
} // namespace LIBC_NAMESPACE_DECL
|
|
587
|
+
|
|
588
|
+
#endif // LLVM_LIBC_SRC___SUPPORT_WCTYPE_UTILS_H
|
|
@@ -666,7 +666,8 @@ inline bool LocalAddressSpace::findUnwindSections(
|
|
|
666
666
|
return true;
|
|
667
667
|
}
|
|
668
668
|
#endif
|
|
669
|
-
|
|
669
|
+
// zig patch: https://github.com/llvm/llvm-project/issues/194228
|
|
670
|
+
dl_iterate_cb_data cb_data = {this, &info, static_cast<pint_t>(targetAddr)};
|
|
670
671
|
int found = dl_iterate_phdr(findUnwindSectionsByPhdr, &cb_data);
|
|
671
672
|
return static_cast<bool>(found);
|
|
672
673
|
#endif
|
|
@@ -473,11 +473,12 @@ bool CFI_Parser<A>::parseFDEInstructions(
|
|
|
473
473
|
pint_t pcoffset;
|
|
474
474
|
};
|
|
475
475
|
|
|
476
|
+
// zig patch: https://github.com/llvm/llvm-project/issues/194228
|
|
476
477
|
ParseInfo parseInfoArray[] = {
|
|
477
478
|
{cieInfo.cieInstructions, cieInfo.cieStart + cieInfo.cieLength,
|
|
478
479
|
(pint_t)(-1)},
|
|
479
480
|
{fdeInfo.fdeInstructions, fdeInfo.fdeStart + fdeInfo.fdeLength,
|
|
480
|
-
upToPC - fdeInfo.pcStart}};
|
|
481
|
+
static_cast<pint_t>(upToPC) - fdeInfo.pcStart}};
|
|
481
482
|
|
|
482
483
|
for (const auto &info : parseInfoArray) {
|
|
483
484
|
pint_t p = info.instructions;
|
package/package.json
CHANGED
|
@@ -290,7 +290,7 @@ fn render_autoconf_undef(
|
|
|
290
290
|
const build = step.owner;
|
|
291
291
|
const allocator = build.allocator;
|
|
292
292
|
|
|
293
|
-
var is_used: std.
|
|
293
|
+
var is_used: std.bit_set.Dynamic = try .initEmpty(allocator, values.count());
|
|
294
294
|
defer is_used.deinit(allocator);
|
|
295
295
|
|
|
296
296
|
var any_errors = false;
|
package/std/Io/Kqueue.zig
CHANGED
package/std/Target.zig
CHANGED
|
@@ -2682,9 +2682,8 @@ pub const DynamicLinker = struct {
|
|
|
2682
2682
|
else => none,
|
|
2683
2683
|
},
|
|
2684
2684
|
|
|
2685
|
-
.powerpc64,
|
|
2686
|
-
.powerpc64le,
|
|
2687
|
-
=> if (abi == .gnu) init("/lib64/ld64.so.2") else none,
|
|
2685
|
+
.powerpc64 => if (abi == .gnu) init("/lib64/ld64.so.1") else none,
|
|
2686
|
+
.powerpc64le => if (abi == .gnu) init("/lib64/ld64.so.2") else none,
|
|
2688
2687
|
|
|
2689
2688
|
.riscv32,
|
|
2690
2689
|
.riscv64,
|
|
@@ -3741,10 +3740,10 @@ pub fn cCallingConvention(target: *const Target) ?std.builtin.CallingConvention
|
|
|
3741
3740
|
.riscv32, .riscv32be => .{ .riscv32_ilp32 = .{} },
|
|
3742
3741
|
.sparc64 => .{ .sparc64_sysv = .{} },
|
|
3743
3742
|
.sparc => .{ .sparc_sysv = .{} },
|
|
3744
|
-
.powerpc64 => if (target.abi.
|
|
3745
|
-
.{ .
|
|
3743
|
+
.powerpc64 => if (target.abi.isGnu())
|
|
3744
|
+
.{ .powerpc64_elf = .{} }
|
|
3746
3745
|
else
|
|
3747
|
-
.{ .
|
|
3746
|
+
.{ .powerpc64_elf_v2 = .{} },
|
|
3748
3747
|
.powerpc64le => .{ .powerpc64_elf_v2 = .{} },
|
|
3749
3748
|
.powerpc, .powerpcle => .{ .powerpc_sysv = .{} },
|
|
3750
3749
|
.wasm32, .wasm64 => .{ .wasm_mvp = .{} },
|