1178596Sraj/* ANSI-C code produced by gperf version 3.0.1 */ 2178596Sraj/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C ../../gcc/gcc/cp/cfns.gperf */ 3178596Sraj 4178596Sraj#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 5178596Sraj && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ 6178596Sraj && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ 7178596Sraj && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ 8178596Sraj && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ 9178596Sraj && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ 10178596Sraj && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ 11178596Sraj && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ 12178596Sraj && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ 13178596Sraj && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ 14178596Sraj && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ 15178596Sraj && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ 16178596Sraj && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ 17178596Sraj && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ 18178596Sraj && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ 19178596Sraj && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ 20178596Sraj && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ 21178596Sraj && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ 22178596Sraj && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ 23178596Sraj && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ 24178596Sraj && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ 25178596Sraj && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ 26178596Sraj && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) 27178596Sraj/* The character set is not based on ISO-646. */ 28178596Sraj#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." 29178596Sraj#endif 30178596Sraj 31178596Sraj#line 1 "../../gcc/gcc/cp/cfns.gperf" 32209908Sraj 33209908Sraj#ifdef __GNUC__ 34209908Sraj__inline 35178596Sraj#endif 36178597Srajstatic unsigned int hash (const char *, unsigned int); 37178597Sraj#ifdef __GNUC__ 38178597Sraj__inline 39178596Sraj#endif 40178596Srajconst char * libc_name_p (const char *, unsigned int); 41234609Snwhitehorn/* maximum key range = 391, duplicates = 0 */ 42178596Sraj 43178596Sraj#ifdef __GNUC__ 44186227Sraj__inline 45178597Sraj#else 46178596Sraj#ifdef __cplusplus 47178596Srajinline 48178596Sraj#endif 49178596Sraj#endif 50186227Srajstatic unsigned int 51186227Srajhash (register const char *str, register unsigned int len) 52186227Sraj{ 53186227Sraj static const unsigned short asso_values[] = 54186227Sraj { 55186227Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 56186227Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 57186227Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 58178596Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 59186227Sraj 400, 400, 400, 400, 400, 400, 400, 400, 0, 0, 60178596Sraj 1, 400, 400, 400, 400, 400, 400, 400, 400, 400, 61186227Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 62178596Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 63186227Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 64234579Snwhitehorn 400, 400, 400, 400, 400, 400, 400, 28, 90, 0, 65186227Sraj 95, 0, 51, 93, 114, 26, 109, 124, 5, 1, 66186227Sraj 6, 13, 37, 128, 3, 0, 0, 49, 38, 0, 67189757Sraj 104, 45, 0, 400, 400, 400, 400, 400, 400, 400, 68186288Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 69186288Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 70186288Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 71186288Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 72186288Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 73222428Smarcel 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 74222428Smarcel 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 75222428Smarcel 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 76222428Smarcel 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 77189757Sraj 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 78222428Smarcel 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 79222428Smarcel 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 80186288Sraj 400, 400, 400, 400, 400, 400, 400 81186288Sraj }; 82186288Sraj register int hval = len; 83186288Sraj 84186288Sraj switch (hval) 85186288Sraj { 86186288Sraj default: 87186288Sraj hval += asso_values[(unsigned char)str[5]+1]; 88186288Sraj /*FALLTHROUGH*/ 89186288Sraj case 5: 90186288Sraj hval += asso_values[(unsigned char)str[4]]; 91235934Smarcel /*FALLTHROUGH*/ 92235934Smarcel case 4: 93235934Smarcel hval += asso_values[(unsigned char)str[3]]; 94186288Sraj /*FALLTHROUGH*/ 95186288Sraj case 3: 96186288Sraj hval += asso_values[(unsigned char)str[2]]; 97186288Sraj /*FALLTHROUGH*/ 98186288Sraj case 2: 99186288Sraj hval += asso_values[(unsigned char)str[1]]; 100186288Sraj /*FALLTHROUGH*/ 101186288Sraj case 1: 102186288Sraj hval += asso_values[(unsigned char)str[0]]; 103186288Sraj break; 104186288Sraj } 105186288Sraj return hval + asso_values[(unsigned char)str[len - 1]]; 106186288Sraj} 107186288Sraj 108186288Sraj#ifdef __GNUC__ 109186288Sraj__inline 110186288Sraj#endif 111186288Srajconst char * 112186288Srajlibc_name_p (register const char *str, register unsigned int len) 113186288Sraj{ 114186288Sraj enum 115186288Sraj { 116186288Sraj TOTAL_KEYWORDS = 156, 117186288Sraj MIN_WORD_LENGTH = 3, 118186288Sraj MAX_WORD_LENGTH = 10, 119186288Sraj MIN_HASH_VALUE = 9, 120186288Sraj MAX_HASH_VALUE = 399 121186288Sraj }; 122186288Sraj 123186288Sraj static const char * const wordlist[] = 124186288Sraj { 125186288Sraj "wcsstr", 126186288Sraj "strstr", 127186288Sraj "cos", 128186288Sraj "towctrans", 129186288Sraj "memmove", 130186288Sraj "wcstol", 131186288Sraj "wcscoll", 132186288Sraj "wcstombs", 133186288Sraj "strtol", 134186288Sraj "strcoll", 135186288Sraj "wcslen", 136186288Sraj "time", 137186288Sraj "ctime", 138186288Sraj "strlen", 139209908Sraj "iswctype", 140209908Sraj "wmemchr", 141209908Sraj "wcsrchr", 142209908Sraj "ceil", 143209908Sraj "sin", 144209908Sraj "strrchr", 145209908Sraj "tan", 146209908Sraj "iscntrl", 147209908Sraj "acos", 148209908Sraj "wmemmove", 149209908Sraj "wcsrtombs", 150209908Sraj "wctrans", 151209908Sraj "wmemcmp", 152209908Sraj "pow", 153209908Sraj "atol", 154209908Sraj "wcsncmp", 155209908Sraj "memset", 156209908Sraj "free", 157209908Sraj "strncmp", 158209908Sraj "wmemset", 159209908Sraj "wcsspn", 160222428Smarcel "wcstoul", 161222428Smarcel "strspn", 162222428Smarcel "strtoul", 163209908Sraj "asctime", 164222428Smarcel "atan2", 165222428Smarcel "asin", 166222428Smarcel "atan", 167222428Smarcel "ferror", 168209908Sraj "iswalnum", 169222428Smarcel "wcscat", 170209908Sraj "realloc", 171209908Sraj "strcat", 172209908Sraj "wcscpy", 173209908Sraj "memcpy", 174235934Smarcel "strcpy", 175235934Smarcel "tolower", 176235934Smarcel "floor", 177235934Smarcel "iswcntrl", 178209908Sraj "atoi", 179209908Sraj "clearerr", 180209908Sraj "swscanf", 181 "wcsncat", 182 "islower", 183 "strncat", 184 "btowc", 185 "localtime", 186 "wctomb", 187 "isalnum", 188 "isprint", 189 "mblen", 190 "wcstod", 191 "log10", 192 "strtod", 193 "wcrtomb", 194 "abs", 195 "setlocale", 196 "wcschr", 197 "mbrlen", 198 "memchr", 199 "strchr", 200 "labs", 201 "iswpunct", 202 "exit", 203 "sqrt", 204 "swprintf", 205 "wctype", 206 "mbsrtowcs", 207 "wcscspn", 208 "getenv", 209 "strcspn", 210 "towlower", 211 "atof", 212 "wcstok", 213 "localeconv", 214 "strtok", 215 "calloc", 216 "malloc", 217 "isalpha", 218 "iswlower", 219 "iswspace", 220 "wcsxfrm", 221 "signal", 222 "strxfrm", 223 "wcsftime", 224 "feof", 225 "strftime", 226 "wcscmp", 227 "fabs", 228 "memcmp", 229 "strcmp", 230 "vsprintf", 231 "fwide", 232 "gmtime", 233 "sprintf", 234 "exp", 235 "wmemcpy", 236 "iswprint", 237 "sscanf", 238 "wcsncpy", 239 "strncpy", 240 "isspace", 241 "toupper", 242 "wctob", 243 "div", 244 "mbtowc", 245 "ldiv", 246 "log", 247 "mktime", 248 "isupper", 249 "atexit", 250 "modf", 251 "mbstowcs", 252 "mbrtowc", 253 "ispunct", 254 "iswalpha", 255 "setvbuf", 256 "rand", 257 "srand", 258 "frexp", 259 "towupper", 260 "mbsinit", 261 "cosh", 262 "vswprintf", 263 "iswupper", 264 "wcspbrk", 265 "fmod", 266 "strpbrk", 267 "sinh", 268 "tanh", 269 "iswdigit", 270 "clock", 271 "longjmp", 272 "ldexp", 273 "setbuf", 274 "fseek", 275 "iswgraph", 276 "difftime", 277 "iswxdigit", 278 "isdigit", 279 "isxdigit", 280 "isgraph" 281 }; 282 283 static const short lookup[] = 284 { 285 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 286 -1, -1, 1, -1, -1, -1, 2, -1, -1, -1, 287 -1, -1, 3, 4, -1, 5, 6, 7, 8, 9, 288 10, 11, 12, 13, 14, -1, -1, -1, 15, 16, 289 17, 18, 19, 20, 21, 22, -1, -1, 23, 24, 290 -1, 25, 26, 27, -1, 28, 29, 30, 31, 32, 291 33, -1, 34, 35, -1, 36, 37, 38, -1, 39, 292 40, -1, 41, -1, -1, -1, -1, -1, -1, 42, 293 -1, 43, -1, 44, -1, 45, 46, -1, 47, -1, 294 48, 49, 50, 51, 52, -1, -1, 53, 54, 55, 295 -1, -1, -1, 56, -1, 57, 58, -1, 59, 60, 296 61, 62, 63, 64, 65, -1, 66, 67, -1, 68, 297 -1, 69, 70, 71, 72, 73, 74, 75, -1, -1, 298 -1, -1, -1, 76, 77, 78, -1, -1, 79, 80, 299 81, 82, -1, 83, 84, -1, 85, 86, 87, -1, 300 88, 89, 90, 91, -1, -1, -1, 92, -1, 93, 301 -1, 94, -1, 95, -1, 96, 97, -1, 98, -1, 302 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 303 -1, 109, 110, 111, 112, -1, 113, -1, -1, 114, 304 -1, -1, -1, 115, -1, -1, -1, 116, 117, -1, 305 118, -1, -1, -1, -1, 119, 120, 121, -1, 122, 306 123, -1, -1, 124, -1, 125, 126, -1, 127, -1, 307 128, -1, -1, 129, 130, -1, -1, -1, -1, -1, 308 -1, 131, 132, -1, -1, -1, -1, 133, 134, 135, 309 -1, -1, -1, -1, -1, 136, -1, 137, -1, -1, 310 -1, 138, -1, -1, -1, -1, -1, -1, 139, 140, 311 -1, 141, -1, -1, 142, -1, 143, -1, -1, 144, 312 -1, 145, -1, -1, -1, -1, 146, -1, -1, -1, 313 -1, -1, -1, 147, -1, -1, -1, -1, -1, 148, 314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 315 -1, -1, -1, -1, 149, -1, -1, -1, -1, -1, 316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 318 -1, -1, -1, -1, 150, -1, -1, -1, -1, -1, 319 151, -1, -1, 152, -1, -1, -1, -1, -1, -1, 320 -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, 321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 322 -1, -1, -1, 154, -1, -1, -1, -1, -1, -1, 323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 324 -1, -1, -1, -1, -1, -1, -1, -1, -1, 155 325 }; 326 327 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 328 { 329 register int key = hash (str, len); 330 331 if (key <= MAX_HASH_VALUE && key >= 0) 332 { 333 register int index = lookup[key]; 334 335 if (index >= 0) 336 { 337 register const char *s = wordlist[index]; 338 339 if (*str == *s && !strcmp (str + 1, s + 1)) 340 return s; 341 } 342 } 343 } 344 return 0; 345} 346