473 lines
14 KiB
C
473 lines
14 KiB
C
/* C code produced by gperf version 2.7.2 */
|
|
/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p /FBSD/src/gnu/usr.bin/cc/cc1plus/../../../../contrib/gcc/cp/cfns.gperf */
|
|
/* $FreeBSD$ */
|
|
#ifdef __GNUC__
|
|
__inline
|
|
#endif
|
|
static unsigned int hash PARAMS ((const char *, unsigned int));
|
|
#ifdef __GNUC__
|
|
__inline
|
|
#endif
|
|
const char * libc_name_p PARAMS ((const char *, unsigned int));
|
|
/* maximum key range = 1020, duplicates = 1 */
|
|
|
|
#ifdef __GNUC__
|
|
__inline
|
|
#else
|
|
#ifdef __cplusplus
|
|
inline
|
|
#endif
|
|
#endif
|
|
static unsigned int
|
|
hash (str, len)
|
|
register const char *str;
|
|
register unsigned int len;
|
|
{
|
|
static const unsigned short asso_values[] =
|
|
{
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 0, 1,
|
|
0, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 247, 218, 144,
|
|
0, 0, 40, 7, 126, 184, 2, 15, 146, 67,
|
|
9, 60, 0, 0, 3, 0, 7, 8, 197, 1,
|
|
40, 8, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
|
|
1038, 1038, 1038, 1038, 1038, 1038
|
|
};
|
|
register int hval = len;
|
|
|
|
switch (hval)
|
|
{
|
|
default:
|
|
case 6:
|
|
hval += asso_values[(unsigned char)str[5]];
|
|
case 5:
|
|
hval += asso_values[(unsigned char)str[4]];
|
|
case 4:
|
|
hval += asso_values[(unsigned char)str[3]];
|
|
case 3:
|
|
hval += asso_values[(unsigned char)str[2]];
|
|
case 2:
|
|
hval += asso_values[(unsigned char)str[1]];
|
|
case 1:
|
|
hval += asso_values[(unsigned char)str[0]];
|
|
break;
|
|
}
|
|
return hval + asso_values[(unsigned char)str[len - 1]];
|
|
}
|
|
|
|
#ifdef __GNUC__
|
|
__inline
|
|
#endif
|
|
const char *
|
|
libc_name_p (str, len)
|
|
register const char *str;
|
|
register unsigned int len;
|
|
{
|
|
enum
|
|
{
|
|
TOTAL_KEYWORDS = 207,
|
|
MIN_WORD_LENGTH = 3,
|
|
MAX_WORD_LENGTH = 10,
|
|
MIN_HASH_VALUE = 18,
|
|
MAX_HASH_VALUE = 1037
|
|
};
|
|
|
|
static const char * const wordlist[] =
|
|
{
|
|
"gets",
|
|
"puts",
|
|
"sqrt",
|
|
"strerror",
|
|
"strstr",
|
|
"strspn",
|
|
"exp",
|
|
"free",
|
|
"fgets",
|
|
"fputs",
|
|
"fgetws",
|
|
"fputws",
|
|
"pow",
|
|
"fseek",
|
|
"perror",
|
|
"strtod",
|
|
"toupper",
|
|
"towupper",
|
|
"frexp",
|
|
"strtok",
|
|
"fsetpos",
|
|
"ferror",
|
|
"freopen",
|
|
"fgetpos",
|
|
"fopen",
|
|
"wmemset",
|
|
"memset",
|
|
"system",
|
|
"wcsstr",
|
|
"wctype",
|
|
"strxfrm",
|
|
"wcsspn",
|
|
"strcspn",
|
|
"fmod",
|
|
"strcpy",
|
|
"strncpy",
|
|
"strlen",
|
|
"ungetwc",
|
|
"feof",
|
|
"ldexp",
|
|
"isupper",
|
|
"rewind",
|
|
"iswupper",
|
|
"sin",
|
|
"cos",
|
|
"modf",
|
|
"iswpunct",
|
|
"wcstod",
|
|
"log10",
|
|
"log",
|
|
"wcsrtombs",
|
|
"strcmp",
|
|
"fwide",
|
|
"towctrans",
|
|
"strncmp",
|
|
"strtoul",
|
|
"fwrite",
|
|
"exit",
|
|
"swprintf",
|
|
"wcstok",
|
|
"strftime",
|
|
"sprintf",
|
|
"wprintf",
|
|
"strpbrk",
|
|
"time",
|
|
"rand",
|
|
"srand",
|
|
"wmemmove",
|
|
"tan",
|
|
"tolower",
|
|
"fwprintf",
|
|
"towlower",
|
|
"wcstombs",
|
|
"printf",
|
|
"fprintf",
|
|
"strchr",
|
|
"strrchr",
|
|
"wmemcpy",
|
|
"fread",
|
|
"getwchar",
|
|
"putwchar",
|
|
"longjmp",
|
|
"memcpy",
|
|
"wcsxfrm",
|
|
"wcscspn",
|
|
"getc",
|
|
"putc",
|
|
"getwc",
|
|
"putwc",
|
|
"wcscpy",
|
|
"wcsncpy",
|
|
"wcslen",
|
|
"floor",
|
|
"setbuf",
|
|
"ungetc",
|
|
"rename",
|
|
"remove",
|
|
"gmtime",
|
|
"mktime",
|
|
"fgetc",
|
|
"fputc",
|
|
"fgetwc",
|
|
"fputwc",
|
|
"memcmp",
|
|
"iswctype",
|
|
"wmemcmp",
|
|
"ispunct",
|
|
"mbstowcs",
|
|
"wcscmp",
|
|
"mbsrtowcs",
|
|
"setlocale",
|
|
"wcsncmp",
|
|
"wcstoul",
|
|
"strtol",
|
|
"wcsftime",
|
|
"iswprint",
|
|
"wcspbrk",
|
|
"iswdigit",
|
|
"isprint",
|
|
"fclose",
|
|
"atof",
|
|
"islower",
|
|
"iswlower",
|
|
"ctime",
|
|
"wmemchr",
|
|
"memchr",
|
|
"wctrans",
|
|
"strcat",
|
|
"getenv",
|
|
"strncat",
|
|
"iswxdigit",
|
|
"wcschr",
|
|
"wcsrchr",
|
|
"isxdigit",
|
|
"vswprintf",
|
|
"raise",
|
|
"iswspace",
|
|
"vsprintf",
|
|
"vwprintf",
|
|
"vprintf",
|
|
"swscanf",
|
|
"sinh",
|
|
"tmpfile",
|
|
"asin",
|
|
"mblen",
|
|
"acos",
|
|
"mbrlen",
|
|
"cosh",
|
|
"difftime",
|
|
"memmove",
|
|
"abs",
|
|
"tmpnam",
|
|
"vfwprintf",
|
|
"setvbuf",
|
|
"vfprintf",
|
|
"scanf",
|
|
"sscanf",
|
|
"wscanf",
|
|
"fwscanf",
|
|
"ftell",
|
|
"fflush",
|
|
"atexit",
|
|
"iswcntrl",
|
|
"iscntrl",
|
|
"mbrtowc",
|
|
"wcrtomb",
|
|
"fabs",
|
|
"wcstol",
|
|
"strcoll",
|
|
"atan2",
|
|
"tanh",
|
|
"atan",
|
|
"fscanf",
|
|
"clock",
|
|
"getchar",
|
|
"putchar",
|
|
"abort",
|
|
"clearerr",
|
|
"wcscat",
|
|
"wcsncat",
|
|
"isdigit",
|
|
"isgraph",
|
|
"iswgraph",
|
|
"btowc",
|
|
"div",
|
|
"isspace",
|
|
"atol",
|
|
"labs",
|
|
"ceil",
|
|
"mbtowc",
|
|
"wcscoll",
|
|
"wctob",
|
|
"asctime",
|
|
"iswalnum",
|
|
"isalnum",
|
|
"mbsinit",
|
|
"atoi",
|
|
"wctomb",
|
|
"ldiv",
|
|
"signal",
|
|
"realloc",
|
|
"localtime",
|
|
"iswalpha",
|
|
"localeconv",
|
|
"isalpha",
|
|
"malloc",
|
|
"calloc"
|
|
};
|
|
|
|
static const short lookup[] =
|
|
{
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 0, 1, -1, 2, -1, -1,
|
|
-1, -1, -1, 3, -1, 4, -1, -1,
|
|
-1, -1, 5, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 6, -1, -1, -1, 7,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 8, 9, 10, 11, -1,
|
|
-1, 12, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 13, -1, -1, 14, -1,
|
|
-1, -1, -1, 15, -1, 16, -1, 17,
|
|
18, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 19, 20, -1, -1, -1, 21, 22,
|
|
-1, 23, -1, 24, -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, 25, -1, -1,
|
|
-1, -1, 26, 27, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 28, -1, 29, 30,
|
|
-1, 31, 32, 33, -1, -1, -1, -1,
|
|
34, -1, 35, -1, 36, -1, -1, 37,
|
|
38, -1, -1, -1, -1, -1, -1, 39,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 40, 41, 42, 43, -1, 44,
|
|
-1, -1, -1, 45, -1, -1, -1, -1,
|
|
-1, 46, 47, 48, -1, -1, -1, 49,
|
|
50, -1, -1, 51, -1, -1, 52, 53,
|
|
-1, -1, -1, -1, -1, 54, 55, -1,
|
|
-1, 56, 57, -1, -1, 58, -1, -1,
|
|
59, 60, 61, 62, -1, 63, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 64, 65,
|
|
66, -1, -1, -1, -1, -1, 67, -1,
|
|
-1, -1, -1, 68, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 69, 70, 71, 72,
|
|
-1, 73, 74, -1, 75, 76, 77, 78,
|
|
79, 80, 81, -1, 82, -1, 83, -1,
|
|
-1, 84, 85, 86, 87, 88, -1, 89,
|
|
-1, 90, -1, 91, -1, 92, -1, 93,
|
|
-1, -1, -1, -1, -1, 94, -1, -1,
|
|
-1, -1, -1, -1, 95, 96, -1, -1,
|
|
-1, -1, 97, -1, -1, -1, -1, -1,
|
|
-1, -1, 98, 99, 100, 101, 102, 103,
|
|
104, 105, -1, -1, -1, -1, -1, 106,
|
|
-1, 107, 108, -1, 109, -1, 110, -1,
|
|
-1, -1, -1, -1, 111, 112, -1, 113,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
114, -1, -1, 115, 116, -1, -1, 117,
|
|
-1, -1, 118, -1, 119, -1, 120, -1,
|
|
-1, 121, -1, 122, -1, -1, -1, 123,
|
|
-1, -1, -1, -1, -1, -1, -1, 124,
|
|
125, -1, 126, -1, -1, 127, -1, 128,
|
|
129, 130, -1, 131, 132, -1, 133, -1,
|
|
-1, -1, 134, -1, -1, -1, -1, 135,
|
|
136, 137, 138, -1, -1, -1, -1, 139,
|
|
140, 141, -1, 142, -1, 143, 144, 145,
|
|
-1, -1, 146, -1, 147, -1, -1, 148,
|
|
-1, 149, -1, -1, 150, -1, 151, -1,
|
|
-1, -1, 152, -1, -1, 153, -1, -1,
|
|
-1, 154, -1, -1, -1, 155, 156, 157,
|
|
158, -1, 159, -1, 160, -1, -1, -1,
|
|
-1, -1, 161, 162, 163, -1, -1, -1,
|
|
-1, -1, -1, -719, -1, 166, 167, -43,
|
|
-2, 168, -1, 169, -1, -1, -1, 170,
|
|
-1, -1, -1, 171, -1, -1, 172, -1,
|
|
-1, 173, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 174, 175, -1,
|
|
-1, -1, -1, 176, -1, -1, -1, 177,
|
|
-1, -1, -1, -1, 178, -1, -1, 179,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 180, 181, -1,
|
|
182, -1, -1, 183, -1, 184, 185, -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, 186, -1, -1, -1, -1, 187,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
188, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 189,
|
|
190, -1, -1, -1, -1, 191, -1, -1,
|
|
192, -1, -1, -1, -1, -1, 193, -1,
|
|
-1, -1, -1, -1, 194, -1, -1, -1,
|
|
-1, -1, -1, -1, 195, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 196, -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, 197, -1, -1, -1, -1, -1, -1,
|
|
198, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 199, -1, -1, -1, -1, -1, -1,
|
|
-1, 200, -1, -1, -1, -1, -1, 201,
|
|
-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,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 202, -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, -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, -1, -1, -1, -1, 203, -1,
|
|
-1, -1, -1, -1, -1, 204, -1, -1,
|
|
205, -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, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 206
|
|
};
|
|
|
|
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
|
{
|
|
register int key = hash (str, len);
|
|
|
|
if (key <= MAX_HASH_VALUE && key >= 0)
|
|
{
|
|
register int index = lookup[key];
|
|
|
|
if (index >= 0)
|
|
{
|
|
register const char *s = wordlist[index];
|
|
|
|
if (*str == *s && !strcmp (str + 1, s + 1))
|
|
return s;
|
|
}
|
|
else if (index < -TOTAL_KEYWORDS)
|
|
{
|
|
register int offset = - 1 - TOTAL_KEYWORDS - index;
|
|
register const char * const *wordptr = &wordlist[TOTAL_KEYWORDS + lookup[offset]];
|
|
register const char * const *wordendptr = wordptr + -lookup[offset + 1];
|
|
|
|
while (wordptr < wordendptr)
|
|
{
|
|
register const char *s = *wordptr;
|
|
|
|
if (*str == *s && !strcmp (str + 1, s + 1))
|
|
return s;
|
|
wordptr++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|