Line data Source code
1 : %language=C++
2 : %define class-name libc_name
3 : %struct-type
4 : %{
5 : /* Copyright (C) 2000-2023 Free Software Foundation, Inc.
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 1532422 : #abort, 89 -- synchronous exception from SIGABRT handler
36 : abs, 89
37 1532422 : 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 1532422 : #fgets, 89 -- POSIX thread cancellation point
67 : #fgetwc, 89 -- POSIX thread cancellation point
68 1532422 : #fgetws, 89 -- POSIX thread cancellation point
69 : floor, 89
70 1223882 : fmod, 89
71 1223882 : #fopen, 89 -- POSIX thread cancellation point
72 : #fprintf, 89 -- POSIX thread cancellation point
73 1441841 : #fputc, 89 -- POSIX thread cancellation point
74 1441841 : #fputs, 89 -- POSIX thread cancellation point
75 : #fputwc, 89 -- POSIX thread cancellation point
76 1532018 : #fputws, 89 -- POSIX thread cancellation point
77 1532018 : #fread, 89 -- POSIX thread cancellation point
78 : free, 89
79 1532422 : #freopen, 89 -- POSIX thread cancellation point
80 1532422 : frexp, 89
81 : #fscanf, 89 -- POSIX thread cancellation point
82 1532422 : fseek, 89
83 1532422 : #fsetpos, 89 -- POSIX thread cancellation point
84 : #ftell, 89 -- POSIX thread cancellation point
85 1532422 : fwide, 89
86 1532422 : #fwprintf, 89 -- POSIX thread cancellation point
87 1532422 : #fwrite, 89 -- POSIX thread cancellation point
88 : #fwscanf, 89 -- POSIX thread cancellation point
89 1532422 : #getc, 89 -- POSIX thread cancellation point
90 : #getchar, 89 -- POSIX thread cancellation point
91 : getenv, 89
92 : #gets, 89 -- POSIX thread cancellation point
93 1708674 : #getwc, 89 -- POSIX thread cancellation point
94 : #getwchar, 89 -- POSIX thread cancellation point
95 1708674 : 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 1708674 : 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 1708674 : #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 1708674 : expf, 99
358 : expl, 99
359 1532422 : exp2, 99
360 : exp2f, 99
361 1532422 : exp2l, 99
362 : expm1, 99
363 1471931 : expm1f, 99
364 : expm1l, 99
365 1471931 : frexpf, 99
366 : frexpl, 99
367 486021 : ilogb, 99
368 : ilogbf, 99
369 486021 : ilogbl, 99
370 12190 : 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
|