111
|
1 %language=C++
|
|
2 %define class-name libc_name
|
|
3 %struct-type
|
|
4 %{
|
145
|
5 /* Copyright (C) 2000-2020 Free Software Foundation, Inc.
|
111
|
6
|
|
7 This file is part of GCC.
|
|
8
|
|
9 GCC is free software; you can redistribute it and/or modify it under
|
|
10 the terms of the GNU General Public License as published by the Free
|
|
11 Software Foundation; either version 3, or (at your option) any later
|
|
12 version.
|
|
13
|
|
14 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
15 WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
16 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
17 for more details.
|
|
18
|
|
19 You should have received a copy of the GNU General Public License
|
|
20 along with GCC; see the file COPYING3. If not see
|
|
21 <http://www.gnu.org/licenses/>. */
|
|
22 %}
|
|
23 struct libc_name_struct { const char *name; int c_ver; };
|
|
24 %%
|
|
25 # The standard C library functions, for feeding to gperf; the result is used
|
|
26 # by nothrow_libfn_p.
|
|
27 #
|
|
28 # [lib.res.on.exception.handling]: None of the functions from the
|
|
29 # Standard C library shall report an error by throwing an
|
|
30 # exception, unless it calls a program-supplied function that
|
|
31 # throws an exception.
|
|
32 #
|
|
33 # Specific functions are commented out for the reason noted in each case.
|
|
34 #
|
|
35 #abort, 89 -- synchronous exception from SIGABRT handler
|
|
36 abs, 89
|
|
37 acos, 89
|
|
38 asctime, 89
|
|
39 asin, 89
|
|
40 atan, 89
|
|
41 atan2, 89
|
|
42 atexit, 89
|
|
43 atof, 89
|
|
44 atoi, 89
|
|
45 atol, 89
|
|
46 #bsearch, 89 -- calls user function which may throw exception
|
|
47 btowc, 89
|
|
48 calloc, 89
|
|
49 ceil, 89
|
|
50 clearerr, 89
|
|
51 clock, 89
|
|
52 cos, 89
|
|
53 cosh, 89
|
|
54 ctime, 89
|
|
55 difftime, 89
|
|
56 div, 89
|
|
57 exit, 89
|
|
58 exp, 89
|
|
59 fabs, 89
|
|
60 #fclose, 89 -- POSIX thread cancellation point
|
|
61 feof, 89
|
|
62 ferror, 89
|
|
63 #fflush, 89 -- POSIX thread cancellation point
|
|
64 #fgetc, 89 -- POSIX thread cancellation point
|
|
65 #fgetpos, 89 -- POSIX thread cancellation point
|
|
66 #fgets, 89 -- POSIX thread cancellation point
|
|
67 #fgetwc, 89 -- POSIX thread cancellation point
|
|
68 #fgetws, 89 -- POSIX thread cancellation point
|
|
69 floor, 89
|
|
70 fmod, 89
|
|
71 #fopen, 89 -- POSIX thread cancellation point
|
|
72 #fprintf, 89 -- POSIX thread cancellation point
|
|
73 #fputc, 89 -- POSIX thread cancellation point
|
|
74 #fputs, 89 -- POSIX thread cancellation point
|
|
75 #fputwc, 89 -- POSIX thread cancellation point
|
|
76 #fputws, 89 -- POSIX thread cancellation point
|
|
77 #fread, 89 -- POSIX thread cancellation point
|
|
78 free, 89
|
|
79 #freopen, 89 -- POSIX thread cancellation point
|
|
80 frexp, 89
|
|
81 #fscanf, 89 -- POSIX thread cancellation point
|
|
82 fseek, 89
|
|
83 #fsetpos, 89 -- POSIX thread cancellation point
|
|
84 #ftell, 89 -- POSIX thread cancellation point
|
|
85 fwide, 89
|
|
86 #fwprintf, 89 -- POSIX thread cancellation point
|
|
87 #fwrite, 89 -- POSIX thread cancellation point
|
|
88 #fwscanf, 89 -- POSIX thread cancellation point
|
|
89 #getc, 89 -- POSIX thread cancellation point
|
|
90 #getchar, 89 -- POSIX thread cancellation point
|
|
91 getenv, 89
|
|
92 #gets, 89 -- POSIX thread cancellation point
|
|
93 #getwc, 89 -- POSIX thread cancellation point
|
|
94 #getwchar, 89 -- POSIX thread cancellation point
|
|
95 gmtime, 89
|
|
96 isalnum, 89
|
|
97 isalpha, 89
|
|
98 iscntrl, 89
|
|
99 isdigit, 89
|
|
100 isgraph, 89
|
|
101 islower, 89
|
|
102 isprint, 89
|
|
103 ispunct, 89
|
|
104 isspace, 89
|
|
105 isupper, 89
|
|
106 iswalnum, 89
|
|
107 iswalpha, 89
|
|
108 iswcntrl, 89
|
|
109 iswctype, 89
|
|
110 iswdigit, 89
|
|
111 iswgraph, 89
|
|
112 iswlower, 89
|
|
113 iswprint, 89
|
|
114 iswpunct, 89
|
|
115 iswspace, 89
|
|
116 iswupper, 89
|
|
117 iswxdigit, 89
|
|
118 isxdigit, 89
|
|
119 labs, 89
|
|
120 ldexp, 89
|
|
121 ldiv, 89
|
|
122 localeconv, 89
|
|
123 localtime, 89
|
|
124 log, 89
|
|
125 log10, 89
|
|
126 longjmp, 89
|
|
127 malloc, 89
|
|
128 mblen, 89
|
|
129 mbrlen, 89
|
|
130 mbrtowc, 89
|
|
131 mbsinit, 89
|
|
132 mbsrtowcs, 89
|
|
133 mbstowcs, 89
|
|
134 mbtowc, 89
|
|
135 memchr, 89
|
|
136 memcmp, 89
|
|
137 memcpy, 89
|
|
138 memmove, 89
|
|
139 memset, 89
|
|
140 mktime, 89
|
|
141 modf, 89
|
|
142 #perror, 89 -- POSIX thread cancellation point
|
|
143 pow, 89
|
|
144 #printf, 89 -- POSIX thread cancellation point
|
|
145 #putc, 89 -- POSIX thread cancellation point
|
|
146 #putchar, 89 -- POSIX thread cancellation point
|
|
147 #puts, 89 -- POSIX thread cancellation point
|
|
148 #putwc, 89 -- POSIX thread cancellation point
|
|
149 #putwchar, 89 -- POSIX thread cancellation point
|
|
150 #qsort, 89 -- calls user function which may throw exception
|
|
151 #raise, 89 -- synchronous exception from signal handler
|
|
152 rand, 89
|
|
153 realloc, 89
|
|
154 #remove, 89 -- POSIX thread cancellation point
|
|
155 #rename, 89 -- POSIX thread cancellation point
|
|
156 #rewind, 89 -- POSIX thread cancellation point
|
|
157 #scanf, 89 -- POSIX thread cancellation point
|
|
158 setbuf, 89
|
|
159 setlocale, 89
|
|
160 setvbuf, 89
|
|
161 signal, 89
|
|
162 sin, 89
|
|
163 sinh, 89
|
|
164 sprintf, 89
|
|
165 sqrt, 89
|
|
166 srand, 89
|
|
167 sscanf, 89
|
|
168 strcat, 89
|
|
169 strchr, 89
|
|
170 strcmp, 89
|
|
171 strcoll, 89
|
|
172 strcpy, 89
|
|
173 strcspn, 89
|
|
174 #strerror, 89 -- POSIX thread cancellation point
|
|
175 strftime, 89
|
|
176 strlen, 89
|
|
177 strncat, 89
|
|
178 strncmp, 89
|
|
179 strncpy, 89
|
|
180 strpbrk, 89
|
|
181 strrchr, 89
|
|
182 strspn, 89
|
|
183 strstr, 89
|
|
184 strtod, 89
|
|
185 strtok, 89
|
|
186 strtol, 89
|
|
187 strtoul, 89
|
|
188 strxfrm, 89
|
|
189 swprintf, 89
|
|
190 swscanf, 89
|
|
191 #system, 89 -- POSIX thread cancellation point
|
|
192 tan, 89
|
|
193 tanh, 89
|
|
194 time, 89
|
|
195 #tmpfile, 89 -- POSIX thread cancellation point
|
|
196 #tmpnam, 89 -- POSIX thread cancellation point
|
|
197 tolower, 89
|
|
198 toupper, 89
|
|
199 towctrans, 89
|
|
200 towlower, 89
|
|
201 towupper, 89
|
|
202 #ungetc, 89 -- POSIX thread cancellation point
|
|
203 #ungetwc, 89 -- POSIX thread cancellation point
|
|
204 #vfprintf, 89 -- POSIX thread cancellation point
|
|
205 #vfwprintf, 89 -- POSIX thread cancellation point
|
|
206 #vprintf, 89 -- POSIX thread cancellation point
|
|
207 vsprintf, 89
|
|
208 vswprintf, 89
|
|
209 #vwprintf, 89 -- POSIX thread cancellation point
|
|
210 wcrtomb, 89
|
|
211 wcscat, 89
|
|
212 wcschr, 89
|
|
213 wcscmp, 89
|
|
214 wcscoll, 89
|
|
215 wcscpy, 89
|
|
216 wcscspn, 89
|
|
217 wcsftime, 89
|
|
218 wcslen, 89
|
|
219 wcsncat, 89
|
|
220 wcsncmp, 89
|
|
221 wcsncpy, 89
|
|
222 wcspbrk, 89
|
|
223 wcsrchr, 89
|
|
224 wcsrtombs, 89
|
|
225 wcsspn, 89
|
|
226 wcsstr, 89
|
|
227 wcstod, 89
|
|
228 wcstok, 89
|
|
229 wcstol, 89
|
|
230 wcstombs, 89
|
|
231 wcstoul, 89
|
|
232 wcsxfrm, 89
|
|
233 wctob, 89
|
|
234 wctomb, 89
|
|
235 wctrans, 89
|
|
236 wctype, 89
|
|
237 wmemchr, 89
|
|
238 wmemcmp, 89
|
|
239 wmemcpy, 89
|
|
240 wmemmove, 89
|
|
241 wmemset, 89
|
|
242 #wprintf, 89 -- POSIX thread cancellation point
|
|
243 #wscanf, 89 -- POSIX thread cancellation point
|
|
244 cacos, 99
|
|
245 cacosf, 99
|
|
246 cacosl, 99
|
|
247 casin, 99
|
|
248 casinf, 99
|
|
249 casinl, 99
|
|
250 catan, 99
|
|
251 catanf, 99
|
|
252 catanl, 99
|
|
253 ccos, 99
|
|
254 ccosf, 99
|
|
255 ccosl, 99
|
|
256 csin, 99
|
|
257 csinf, 99
|
|
258 csinl, 99
|
|
259 ctan, 99
|
|
260 ctanf, 99
|
|
261 ctanl, 99
|
|
262 cacosh, 99
|
|
263 cacoshf, 99
|
|
264 cacoshl, 99
|
|
265 casinh, 99
|
|
266 casinhf, 99
|
|
267 casinhl, 99
|
|
268 catanh, 99
|
|
269 catanhf, 99
|
|
270 catanhl, 99
|
|
271 ccosh, 99
|
|
272 ccoshf, 99
|
|
273 ccoshl, 99
|
|
274 csinh, 99
|
|
275 csinhf, 99
|
|
276 csinhl, 99
|
|
277 ctanh, 99
|
|
278 ctanhf, 99
|
|
279 ctanhl, 99
|
|
280 cexp, 99
|
|
281 cexpf, 99
|
|
282 cexpl, 99
|
|
283 clog, 99
|
|
284 clogf, 99
|
|
285 clogl, 99
|
|
286 cabs, 99
|
|
287 cabsf, 99
|
|
288 cabsl, 99
|
|
289 cpow, 99
|
|
290 cpowf, 99
|
|
291 cpowl, 99
|
|
292 csqrt, 99
|
|
293 csqrtf, 99
|
|
294 csqrtl, 99
|
|
295 carg, 99
|
|
296 cargf, 99
|
|
297 cargl, 99
|
|
298 cimag, 99
|
|
299 cimagf, 99
|
|
300 cimagl, 99
|
|
301 conj, 99
|
|
302 conjf, 99
|
|
303 conjl, 99
|
|
304 cproj, 99
|
|
305 cprojf, 99
|
|
306 cprojl, 99
|
|
307 creal, 99
|
|
308 crealf, 99
|
|
309 creall, 99
|
|
310 isblank, 99
|
|
311 feclearexcept, 99
|
|
312 fegetexceptflag, 99
|
|
313 feraiseexcept, 99
|
|
314 fesetexceptflag, 99
|
|
315 fetestexcept, 99
|
|
316 fegetround, 99
|
|
317 fesetround, 99
|
|
318 fegetenv, 99
|
|
319 feholdexcept, 99
|
|
320 fesetenv, 99
|
|
321 feupdateenv, 99
|
|
322 imaxabs, 99
|
|
323 imaxdiv, 99
|
|
324 strtoimax, 99
|
|
325 strtoumax, 99
|
|
326 wcstoimax, 99
|
|
327 wcstoumax, 99
|
|
328 acosf, 99
|
|
329 acosl, 99
|
|
330 asinf, 99
|
|
331 asinl, 99
|
|
332 atanf, 99
|
|
333 atanl, 99
|
|
334 atan2f, 99
|
|
335 atan2l, 99
|
|
336 cosf, 99
|
|
337 cosl, 99
|
|
338 sinf, 99
|
|
339 sinl, 99
|
|
340 tanf, 99
|
|
341 tanl, 99
|
|
342 acosh, 99
|
|
343 acoshf, 99
|
|
344 acoshl, 99
|
|
345 asinh, 99
|
|
346 asinhf, 99
|
|
347 asinhl, 99
|
|
348 atanh, 99
|
|
349 atanhf, 99
|
|
350 atanhl, 99
|
|
351 coshf, 99
|
|
352 coshl, 99
|
|
353 sinhf, 99
|
|
354 sinhl, 99
|
|
355 tanhf, 99
|
|
356 tanhl, 99
|
|
357 expf, 99
|
|
358 expl, 99
|
|
359 exp2, 99
|
|
360 exp2f, 99
|
|
361 exp2l, 99
|
|
362 expm1, 99
|
|
363 expm1f, 99
|
|
364 expm1l, 99
|
|
365 frexpf, 99
|
|
366 frexpl, 99
|
|
367 ilogb, 99
|
|
368 ilogbf, 99
|
|
369 ilogbl, 99
|
|
370 ldexpf, 99
|
|
371 ldexpl, 99
|
|
372 logf, 99
|
|
373 logl, 99
|
|
374 log10f, 99
|
|
375 log10l, 99
|
|
376 log1p, 99
|
|
377 log1pf, 99
|
|
378 log1pl, 99
|
|
379 log2, 99
|
|
380 log2f, 99
|
|
381 log2l, 99
|
|
382 logb, 99
|
|
383 logbf, 99
|
|
384 logbl, 99
|
|
385 modff, 99
|
|
386 modfl, 99
|
|
387 scalbn, 99
|
|
388 scalbnf, 99
|
|
389 scalbnl, 99
|
|
390 scalbln, 99
|
|
391 scalblnf, 99
|
|
392 scalblnl, 99
|
|
393 cbrt, 99
|
|
394 cbrtf, 99
|
|
395 cbrtl, 99
|
|
396 fabsf, 99
|
|
397 fabsl, 99
|
|
398 hypot, 99
|
|
399 hypotf, 99
|
|
400 hypotl, 99
|
|
401 powf, 99
|
|
402 powl, 99
|
|
403 sqrtf, 99
|
|
404 sqrtl, 99
|
|
405 erf, 99
|
|
406 erff, 99
|
|
407 erfl, 99
|
|
408 erfc, 99
|
|
409 erfcf, 99
|
|
410 erfcl, 99
|
|
411 lgamma, 99
|
|
412 lgammaf, 99
|
|
413 lgammal, 99
|
|
414 tgamma, 99
|
|
415 tgammaf, 99
|
|
416 tgammal, 99
|
|
417 ceilf, 99
|
|
418 ceill, 99
|
|
419 floorf, 99
|
|
420 floorl, 99
|
|
421 nearbyint, 99
|
|
422 nearbyintf, 99
|
|
423 nearbyintl, 99
|
|
424 rint, 99
|
|
425 rintf, 99
|
|
426 rintl, 99
|
|
427 lrint, 99
|
|
428 lrintf, 99
|
|
429 lrintl, 99
|
|
430 llrint, 99
|
|
431 llrintf, 99
|
|
432 llrintl, 99
|
|
433 round, 99
|
|
434 roundf, 99
|
|
435 roundl, 99
|
|
436 lround, 99
|
|
437 lroundf, 99
|
|
438 lroundl, 99
|
|
439 llround, 99
|
|
440 llroundf, 99
|
|
441 llroundl, 99
|
|
442 trunc, 99
|
|
443 truncf, 99
|
|
444 truncl, 99
|
|
445 fmodf, 99
|
|
446 fmodl, 99
|
|
447 remainder, 99
|
|
448 remainderf, 99
|
|
449 remainderl, 99
|
|
450 remquo, 99
|
|
451 remquof, 99
|
|
452 remquol, 99
|
|
453 copysign, 99
|
|
454 copysignf, 99
|
|
455 copysignl, 99
|
|
456 nan, 99
|
|
457 nanf, 99
|
|
458 nanl, 99
|
|
459 nextafter, 99
|
|
460 nextafterf, 99
|
|
461 nextafterl, 99
|
|
462 nexttoward, 99
|
|
463 nexttowardf, 99
|
|
464 nexttowardl, 99
|
|
465 fdim, 99
|
|
466 fdimf, 99
|
|
467 fdiml, 99
|
|
468 fmax, 99
|
|
469 fmaxf, 99
|
|
470 fmaxl, 99
|
|
471 fmin, 99
|
|
472 fminf, 99
|
|
473 fminl, 99
|
|
474 fma, 99
|
|
475 fmaf, 99
|
|
476 fmal, 99
|
|
477 snprintf, 99
|
|
478 #vfscanf, 99 -- POSIX thread cancellation point
|
|
479 #vscanf, 99 -- POSIX thread cancellation point
|
|
480 vsnprintf, 99
|
|
481 vsscanf, 99
|
|
482 atoll, 99
|
|
483 strtof, 99
|
|
484 strtold, 99
|
|
485 strtoll, 99
|
|
486 strtoull, 99
|
|
487 _Exit, 99
|
|
488 llabs, 99
|
|
489 lldiv, 99
|
|
490 #vfwscanf, 99 -- POSIX thread cancellation point
|
|
491 vswscanf, 99
|
|
492 #vwscanf, 99 -- POSIX thread cancellation point
|
|
493 wcstof, 99
|
|
494 wcstold, 99
|
|
495 wcstoll, 99
|
|
496 wcstoull, 99
|
|
497 iswblank, 99
|
|
498 #atomic_thread_fence, 11 -- usually implemented as a macro
|
|
499 #atomic_signal_fence, 11 -- usually implemented as a macro
|
|
500 #atomic_flag_test_and_set, 11 -- usually implemented as a macro
|
|
501 #atomic_flag_test_and_set_explicit, 11 -- usually implemented as a macro
|
|
502 #atomic_flag_clear, 11 -- usually implemented as a macro
|
|
503 #atomic_flag_clear_explicit, 11 -- usually implemented as a macro
|
|
504 aligned_alloc, 11
|
|
505 at_quick_exit, 11
|
|
506 quick_exit, 11
|
|
507 #call_once, 11 -- C11 threads
|
|
508 #cnd_broadcast, 11 -- C11 threads
|
|
509 #cnd_destroy, 11 -- C11 threads
|
|
510 #cnd_init, 11 -- C11 threads
|
|
511 #cnd_signal, 11 -- C11 threads
|
|
512 #cnd_timedwait, 11 -- C11 threads
|
|
513 #cnd_wait, 11 -- C11 threads
|
|
514 #mtx_destroy, 11 -- C11 threads
|
|
515 #mtx_init, 11 -- C11 threads
|
|
516 #mtx_lock, 11 -- C11 threads
|
|
517 #mtx_timedlock, 11 -- C11 threads
|
|
518 #mtx_trylock, 11 -- C11 threads
|
|
519 #mtx_unlock, 11 -- C11 threads
|
|
520 #thrd_create, 11 -- C11 threads
|
|
521 #thrd_current, 11 -- C11 threads
|
|
522 #thrd_detach, 11 -- C11 threads
|
|
523 #thrd_equal, 11 -- C11 threads
|
|
524 #thrd_exit, 11 -- C11 threads
|
|
525 #thrd_join, 11 -- C11 threads
|
|
526 #thrd_sleep, 11 -- C11 threads
|
|
527 #thrd_yield, 11 -- C11 threads
|
|
528 #tss_create, 11 -- C11 threads
|
|
529 #tss_delete, 11 -- C11 threads
|
|
530 #tss_get, 11 -- C11 threads
|
|
531 #tss_set, 11 -- C11 threads
|
|
532 timespec_get, 11
|
|
533 mbrtoc16, 11
|
|
534 c16rtomb, 11
|
|
535 mbrtoc32, 11
|
|
536 c32rtomb, 11
|