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