Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

Pull core kbuild updates from Michal Marek:
- modpost portability fix
- linker script fix
- genksyms segfault fix
- fixdep cleanup
- fix for clang detection

* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
kbuild: Fix clang detection
kbuild: fixdep: drop meaningless hash table initialization
kbuild: fixdep: optimize code slightly
genksyms: Regenerate parser
genksyms: Duplicate function pointer type definitions segfault
kbuild: Fix .text.unlikely placement
Avoid conflict with host definitions when cross-compiling

+392 -389
+1 -8
Makefile
··· 666 666 endif 667 667 KBUILD_CFLAGS += $(stackp-flag) 668 668 669 - ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1) 670 - COMPILER := clang 671 - else 672 - COMPILER := gcc 673 - endif 674 - export COMPILER 675 - 676 - ifeq ($(COMPILER),clang) 669 + ifeq ($(cc-name),clang) 677 670 KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,) 678 671 KBUILD_CPPFLAGS += $(call cc-option,-Wno-unknown-warning-option,) 679 672 KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable)
+4 -4
arch/powerpc/Makefile
··· 67 67 68 68 ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y) 69 69 override CC += -mlittle-endian 70 - ifneq ($(COMPILER),clang) 70 + ifneq ($(cc-name),clang) 71 71 override CC += -mno-strict-align 72 72 endif 73 73 override AS += -mlittle-endian ··· 353 353 # - Require gcc 4.0 or above on 64-bit 354 354 # - gcc-4.2.0 has issues compiling modules on 64-bit 355 355 checkbin: 356 - @if test "${COMPILER}" != "clang" \ 356 + @if test "$(cc-name)" != "clang" \ 357 357 && test "$(cc-version)" = "0304" ; then \ 358 358 if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ 359 359 echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \ ··· 362 362 false; \ 363 363 fi ; \ 364 364 fi 365 - @if test "${COMPILER}" != "clang" \ 365 + @if test "$(cc-name)" != "clang" \ 366 366 && test "$(cc-version)" -lt "0400" \ 367 367 && test "x${CONFIG_PPC64}" = "xy" ; then \ 368 368 echo -n "Sorry, GCC v4.0 or above is required to build " ; \ 369 369 echo "the 64-bit powerpc kernel." ; \ 370 370 false ; \ 371 371 fi 372 - @if test "${COMPILER}" != "clang" \ 372 + @if test "$(cc-name)" != "clang" \ 373 373 && test "$(cc-fullversion)" = "040200" \ 374 374 && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \ 375 375 echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
+1 -3
include/asm-generic/vmlinux.lds.h
··· 412 412 * during second ld run in second ld pass when generating System.map */ 413 413 #define TEXT_TEXT \ 414 414 ALIGN_FUNCTION(); \ 415 - *(.text.hot) \ 416 - *(.text .text.fixup) \ 415 + *(.text.hot .text .text.fixup .text.unlikely) \ 417 416 *(.ref.text) \ 418 417 MEM_KEEP(init.text) \ 419 418 MEM_KEEP(exit.text) \ 420 - *(.text.unlikely) 421 419 422 420 423 421 /* sched.text is aling to function alignment to secure we have same
+4
scripts/Kbuild.include
··· 128 128 cc-disable-warning = $(call try-run,\ 129 129 $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) 130 130 131 + # cc-name 132 + # Expands to either gcc or clang 133 + cc-name = $(shell $(CC) -v 2>&1 | grep -q "clang version" && echo clang || echo gcc) 134 + 131 135 # cc-version 132 136 cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC)) 133 137
+1 -1
scripts/Makefile.extrawarn
··· 56 56 KBUILD_CFLAGS += $(warning) 57 57 else 58 58 59 - ifeq ($(COMPILER),clang) 59 + ifeq ($(cc-name),clang) 60 60 KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides) 61 61 KBUILD_CFLAGS += $(call cc-disable-warning, unused-value) 62 62 KBUILD_CFLAGS += $(call cc-disable-warning, format)
+4 -22
scripts/basic/fixdep.c
··· 192 192 } 193 193 194 194 /* 195 - * Clear the set of configuration strings. 196 - */ 197 - static void clear_config(void) 198 - { 199 - struct item *aux, *next; 200 - unsigned int i; 201 - 202 - for (i = 0; i < HASHSZ; i++) { 203 - for (aux = hashtab[i]; aux; aux = next) { 204 - next = aux->next; 205 - free(aux); 206 - } 207 - hashtab[i] = NULL; 208 - } 209 - } 210 - 211 - /* 212 195 * Record the use of a CONFIG_* word. 213 196 */ 214 197 static void use_config(const char *m, int slen) ··· 234 251 continue; 235 252 if (memcmp(p, "CONFIG_", 7)) 236 253 continue; 237 - for (q = p + 7; q < map + len; q++) { 254 + p += 7; 255 + for (q = p; q < map + len; q++) { 238 256 if (!(isalnum(*q) || *q == '_')) 239 257 goto found; 240 258 } ··· 244 260 found: 245 261 if (!memcmp(q - 7, "_MODULE", 7)) 246 262 q -= 7; 247 - if( (q-p-7) < 0 ) 263 + if (q - p < 0) 248 264 continue; 249 - use_config(p+7, q-p-7); 265 + use_config(p, q - p); 250 266 } 251 267 } 252 268 ··· 307 323 int is_target; 308 324 int saw_any_target = 0; 309 325 int is_first_dep = 0; 310 - 311 - clear_config(); 312 326 313 327 while (m < end) { 314 328 /* Skip any "white space" */
+338 -349
scripts/genksyms/parse.tab.c_shipped
··· 1 - /* A Bison parser, made by GNU Bison 2.5.1. */ 1 + /* A Bison parser, made by GNU Bison 2.7. */ 2 2 3 3 /* Bison implementation for Yacc-like parsers in C 4 4 ··· 44 44 #define YYBISON 1 45 45 46 46 /* Bison version. */ 47 - #define YYBISON_VERSION "2.5.1" 47 + #define YYBISON_VERSION "2.7" 48 48 49 49 /* Skeleton name. */ 50 50 #define YYSKELETON_NAME "yacc.c" ··· 58 58 /* Pull parsers. */ 59 59 #define YYPULL 1 60 60 61 - /* Using locations. */ 62 - #define YYLSP_NEEDED 0 63 61 64 62 65 63 ··· 123 125 # endif 124 126 # endif 125 127 126 - /* Enabling traces. */ 127 - #ifndef YYDEBUG 128 - # define YYDEBUG 1 129 - #endif 130 - 131 128 /* Enabling verbose error messages. */ 132 129 #ifdef YYERROR_VERBOSE 133 130 # undef YYERROR_VERBOSE ··· 131 138 # define YYERROR_VERBOSE 0 132 139 #endif 133 140 134 - /* Enabling the token table. */ 135 - #ifndef YYTOKEN_TABLE 136 - # define YYTOKEN_TABLE 0 137 - #endif 138 141 142 + /* Enabling traces. */ 143 + #ifndef YYDEBUG 144 + # define YYDEBUG 1 145 + #endif 146 + #if YYDEBUG 147 + extern int yydebug; 148 + #endif 139 149 140 150 /* Tokens. */ 141 151 #ifndef YYTOKENTYPE ··· 192 196 #endif 193 197 194 198 195 - 196 199 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 197 200 typedef int YYSTYPE; 198 201 # define YYSTYPE_IS_TRIVIAL 1 199 202 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 200 203 # define YYSTYPE_IS_DECLARED 1 201 204 #endif 205 + 206 + extern YYSTYPE yylval; 207 + 208 + #ifdef YYPARSE_PARAM 209 + #if defined __STDC__ || defined __cplusplus 210 + int yyparse (void *YYPARSE_PARAM); 211 + #else 212 + int yyparse (); 213 + #endif 214 + #else /* ! YYPARSE_PARAM */ 215 + #if defined __STDC__ || defined __cplusplus 216 + int yyparse (void); 217 + #else 218 + int yyparse (); 219 + #endif 220 + #endif /* ! YYPARSE_PARAM */ 221 + 202 222 203 223 204 224 /* Copy the second part of user declarations. */ ··· 272 260 # if defined YYENABLE_NLS && YYENABLE_NLS 273 261 # if ENABLE_NLS 274 262 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 275 - # define YY_(msgid) dgettext ("bison-runtime", msgid) 263 + # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 276 264 # endif 277 265 # endif 278 266 # ifndef YY_ 279 - # define YY_(msgid) msgid 267 + # define YY_(Msgid) Msgid 280 268 # endif 281 269 #endif 282 270 283 271 /* Suppress unused-variable warnings by "using" E. */ 284 272 #if ! defined lint || defined __GNUC__ 285 - # define YYUSE(e) ((void) (e)) 273 + # define YYUSE(E) ((void) (E)) 286 274 #else 287 - # define YYUSE(e) /* empty */ 275 + # define YYUSE(E) /* empty */ 288 276 #endif 289 277 290 278 /* Identity function, used to suppress warnings about constant conditions. */ 291 279 #ifndef lint 292 - # define YYID(n) (n) 280 + # define YYID(N) (N) 293 281 #else 294 282 #if (defined __STDC__ || defined __C99__FUNC__ \ 295 283 || defined __cplusplus || defined _MSC_VER) ··· 439 427 /* YYFINAL -- State number of the termination state. */ 440 428 #define YYFINAL 4 441 429 /* YYLAST -- Last index in YYTABLE. */ 442 - #define YYLAST 514 430 + #define YYLAST 515 443 431 444 432 /* YYNTOKENS -- Number of terminals. */ 445 433 #define YYNTOKENS 54 446 434 /* YYNNTS -- Number of nonterminals. */ 447 435 #define YYNNTS 49 448 436 /* YYNRULES -- Number of rules. */ 449 - #define YYNRULES 132 437 + #define YYNRULES 133 450 438 /* YYNRULES -- Number of states. */ 451 - #define YYNSTATES 187 439 + #define YYNSTATES 188 452 440 453 441 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 454 442 #define YYUNDEFTOK 2 ··· 504 492 97, 101, 105, 109, 112, 115, 118, 120, 122, 124, 505 493 126, 128, 130, 132, 134, 136, 138, 140, 143, 144, 506 494 146, 148, 151, 153, 155, 157, 159, 162, 164, 166, 507 - 171, 176, 179, 183, 187, 190, 192, 194, 196, 201, 508 - 206, 209, 213, 217, 220, 222, 226, 227, 229, 231, 509 - 235, 238, 241, 243, 244, 246, 248, 253, 258, 261, 510 - 265, 269, 273, 274, 276, 279, 283, 287, 288, 290, 511 - 292, 295, 299, 302, 303, 305, 307, 311, 314, 317, 512 - 319, 322, 323, 326, 330, 335, 337, 341, 343, 347, 513 - 350, 351, 353 495 + 168, 173, 178, 181, 185, 189, 192, 194, 196, 198, 496 + 203, 208, 211, 215, 219, 222, 224, 228, 229, 231, 497 + 233, 237, 240, 243, 245, 246, 248, 250, 255, 260, 498 + 263, 267, 271, 275, 276, 278, 281, 285, 289, 290, 499 + 292, 294, 297, 301, 304, 305, 307, 309, 313, 316, 500 + 319, 321, 324, 325, 328, 332, 337, 339, 343, 345, 501 + 349, 352, 353, 355 514 502 }; 515 503 516 504 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ ··· 532 520 13, -1, 9, -1, 26, -1, 6, -1, 42, -1, 533 521 50, 72, -1, -1, 73, -1, 74, -1, 73, 74, 534 522 -1, 8, -1, 27, -1, 31, -1, 18, -1, 71, 535 - 75, -1, 76, -1, 38, -1, 76, 48, 79, 49, 536 - -1, 76, 48, 1, 49, -1, 76, 34, -1, 48, 537 - 75, 49, -1, 48, 1, 49, -1, 71, 77, -1, 538 - 78, -1, 38, -1, 42, -1, 78, 48, 79, 49, 539 - -1, 78, 48, 1, 49, -1, 78, 34, -1, 48, 540 - 77, 49, -1, 48, 1, 49, -1, 80, 37, -1, 541 - 80, -1, 81, 47, 37, -1, -1, 81, -1, 82, 542 - -1, 81, 47, 82, -1, 66, 83, -1, 71, 83, 543 - -1, 84, -1, -1, 38, -1, 42, -1, 84, 48, 544 - 79, 49, -1, 84, 48, 1, 49, -1, 84, 34, 545 - -1, 48, 83, 49, -1, 48, 1, 49, -1, 65, 546 - 75, 33, -1, -1, 87, -1, 51, 35, -1, 52, 547 - 89, 46, -1, 52, 1, 46, -1, -1, 90, -1, 548 - 91, -1, 90, 91, -1, 65, 92, 45, -1, 1, 549 - 45, -1, -1, 93, -1, 94, -1, 93, 47, 94, 550 - -1, 77, 96, -1, 38, 95, -1, 95, -1, 53, 551 - 35, -1, -1, 96, 31, -1, 52, 98, 46, -1, 552 - 52, 98, 47, 46, -1, 99, -1, 98, 47, 99, 553 - -1, 38, -1, 38, 51, 35, -1, 30, 45, -1, 554 - -1, 30, -1, 29, 48, 38, 49, 45, -1 523 + 75, -1, 76, -1, 38, -1, 42, -1, 76, 48, 524 + 79, 49, -1, 76, 48, 1, 49, -1, 76, 34, 525 + -1, 48, 75, 49, -1, 48, 1, 49, -1, 71, 526 + 77, -1, 78, -1, 38, -1, 42, -1, 78, 48, 527 + 79, 49, -1, 78, 48, 1, 49, -1, 78, 34, 528 + -1, 48, 77, 49, -1, 48, 1, 49, -1, 80, 529 + 37, -1, 80, -1, 81, 47, 37, -1, -1, 81, 530 + -1, 82, -1, 81, 47, 82, -1, 66, 83, -1, 531 + 71, 83, -1, 84, -1, -1, 38, -1, 42, -1, 532 + 84, 48, 79, 49, -1, 84, 48, 1, 49, -1, 533 + 84, 34, -1, 48, 83, 49, -1, 48, 1, 49, 534 + -1, 65, 75, 33, -1, -1, 87, -1, 51, 35, 535 + -1, 52, 89, 46, -1, 52, 1, 46, -1, -1, 536 + 90, -1, 91, -1, 90, 91, -1, 65, 92, 45, 537 + -1, 1, 45, -1, -1, 93, -1, 94, -1, 93, 538 + 47, 94, -1, 77, 96, -1, 38, 95, -1, 95, 539 + -1, 53, 35, -1, -1, 96, 31, -1, 52, 98, 540 + 46, -1, 52, 98, 47, 46, -1, 99, -1, 98, 541 + 47, 99, -1, 38, -1, 38, 51, 35, -1, 30, 542 + 45, -1, -1, 30, -1, 29, 48, 38, 49, 45, 543 + -1 555 544 }; 556 545 557 546 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ··· 565 552 237, 239, 241, 246, 249, 250, 254, 255, 256, 257, 566 553 258, 259, 260, 261, 262, 263, 264, 268, 273, 274, 567 554 278, 279, 283, 283, 283, 284, 292, 293, 297, 306, 568 - 308, 310, 312, 314, 321, 322, 326, 327, 328, 330, 569 - 332, 334, 336, 341, 342, 343, 347, 348, 352, 353, 570 - 358, 363, 365, 369, 370, 378, 382, 384, 386, 388, 571 - 390, 395, 404, 405, 410, 415, 416, 420, 421, 425, 572 - 426, 430, 432, 437, 438, 442, 443, 447, 448, 449, 573 - 453, 457, 458, 462, 463, 467, 468, 471, 476, 484, 574 - 488, 489, 493 555 + 315, 317, 319, 321, 323, 330, 331, 335, 336, 337, 556 + 339, 341, 343, 345, 350, 351, 352, 356, 357, 361, 557 + 362, 367, 372, 374, 378, 379, 387, 391, 393, 395, 558 + 397, 399, 404, 413, 414, 419, 424, 425, 429, 430, 559 + 434, 435, 439, 441, 446, 447, 451, 452, 456, 457, 560 + 458, 462, 466, 467, 471, 472, 476, 477, 480, 485, 561 + 493, 497, 498, 502 575 562 }; 576 563 #endif 577 564 578 - #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 565 + #if YYDEBUG || YYERROR_VERBOSE || 0 579 566 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 580 567 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 581 568 static const char *const yytname[] = ··· 634 621 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 635 622 70, 70, 70, 70, 70, 70, 70, 71, 72, 72, 636 623 73, 73, 74, 74, 74, 74, 75, 75, 76, 76, 637 - 76, 76, 76, 76, 77, 77, 78, 78, 78, 78, 638 - 78, 78, 78, 79, 79, 79, 80, 80, 81, 81, 639 - 82, 83, 83, 84, 84, 84, 84, 84, 84, 84, 640 - 84, 85, 86, 86, 87, 88, 88, 89, 89, 90, 641 - 90, 91, 91, 92, 92, 93, 93, 94, 94, 94, 642 - 95, 96, 96, 97, 97, 98, 98, 99, 99, 100, 643 - 101, 101, 102 624 + 76, 76, 76, 76, 76, 77, 77, 78, 78, 78, 625 + 78, 78, 78, 78, 79, 79, 79, 80, 80, 81, 626 + 81, 82, 83, 83, 84, 84, 84, 84, 84, 84, 627 + 84, 84, 85, 86, 86, 87, 88, 88, 89, 89, 628 + 90, 90, 91, 91, 92, 92, 93, 93, 94, 94, 629 + 94, 95, 96, 96, 97, 97, 98, 98, 99, 99, 630 + 100, 101, 101, 102 644 631 }; 645 632 646 633 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ··· 652 639 1, 1, 1, 1, 1, 4, 1, 2, 2, 2, 653 640 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 654 641 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 655 - 1, 2, 1, 1, 1, 1, 2, 1, 1, 4, 656 - 4, 2, 3, 3, 2, 1, 1, 1, 4, 4, 657 - 2, 3, 3, 2, 1, 3, 0, 1, 1, 3, 658 - 2, 2, 1, 0, 1, 1, 4, 4, 2, 3, 659 - 3, 3, 0, 1, 2, 3, 3, 0, 1, 1, 660 - 2, 3, 2, 0, 1, 1, 3, 2, 2, 1, 661 - 2, 0, 2, 3, 4, 1, 3, 1, 3, 2, 662 - 0, 1, 5 642 + 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 643 + 4, 4, 2, 3, 3, 2, 1, 1, 1, 4, 644 + 4, 2, 3, 3, 2, 1, 3, 0, 1, 1, 645 + 3, 2, 2, 1, 0, 1, 1, 4, 4, 2, 646 + 3, 3, 3, 0, 1, 2, 3, 3, 0, 1, 647 + 1, 2, 3, 2, 0, 1, 1, 3, 2, 2, 648 + 1, 2, 0, 2, 3, 4, 1, 3, 1, 3, 649 + 2, 0, 1, 5 663 650 }; 664 651 665 652 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. ··· 673 660 0, 0, 0, 64, 36, 56, 5, 10, 17, 23, 674 661 24, 26, 27, 33, 34, 11, 12, 13, 14, 15, 675 662 39, 0, 43, 6, 37, 0, 44, 22, 38, 45, 676 - 0, 0, 129, 68, 0, 58, 0, 18, 19, 0, 677 - 130, 67, 25, 42, 127, 0, 125, 22, 40, 0, 678 - 113, 0, 0, 109, 9, 17, 41, 93, 0, 0, 679 - 0, 0, 57, 59, 60, 16, 0, 66, 131, 101, 680 - 121, 71, 0, 0, 123, 0, 7, 112, 106, 76, 681 - 77, 0, 0, 0, 121, 75, 0, 114, 115, 119, 682 - 105, 0, 110, 130, 94, 56, 0, 93, 90, 92, 683 - 35, 0, 73, 72, 61, 20, 102, 0, 0, 84, 684 - 87, 88, 128, 124, 126, 118, 0, 76, 0, 120, 685 - 74, 117, 80, 0, 111, 0, 0, 95, 0, 91, 686 - 98, 0, 132, 122, 0, 21, 103, 70, 69, 83, 687 - 0, 82, 81, 0, 0, 116, 100, 99, 0, 0, 688 - 104, 85, 89, 79, 78, 97, 96 663 + 0, 0, 130, 68, 69, 0, 58, 0, 18, 19, 664 + 0, 131, 67, 25, 42, 128, 0, 126, 22, 40, 665 + 0, 114, 0, 0, 110, 9, 17, 41, 94, 0, 666 + 0, 0, 0, 57, 59, 60, 16, 0, 66, 132, 667 + 102, 122, 72, 0, 0, 124, 0, 7, 113, 107, 668 + 77, 78, 0, 0, 0, 122, 76, 0, 115, 116, 669 + 120, 106, 0, 111, 131, 95, 56, 0, 94, 91, 670 + 93, 35, 0, 74, 73, 61, 20, 103, 0, 0, 671 + 85, 88, 89, 129, 125, 127, 119, 0, 77, 0, 672 + 121, 75, 118, 81, 0, 112, 0, 0, 96, 0, 673 + 92, 99, 0, 133, 123, 0, 21, 104, 71, 70, 674 + 84, 0, 83, 82, 0, 0, 117, 101, 100, 0, 675 + 0, 105, 86, 90, 80, 79, 98, 97 689 676 }; 690 677 691 678 /* YYDEFGOTO[NTERM-NUM]. */ 692 679 static const yytype_int16 yydefgoto[] = 693 680 { 694 - -1, 1, 2, 3, 36, 77, 57, 37, 66, 67, 695 - 68, 80, 39, 40, 41, 42, 43, 69, 92, 93, 696 - 44, 123, 71, 114, 115, 138, 139, 140, 141, 128, 697 - 129, 45, 165, 166, 56, 81, 82, 83, 116, 117, 698 - 118, 119, 136, 52, 75, 76, 46, 100, 47 681 + -1, 1, 2, 3, 36, 78, 57, 37, 67, 68, 682 + 69, 81, 39, 40, 41, 42, 43, 70, 93, 94, 683 + 44, 124, 72, 115, 116, 139, 140, 141, 142, 129, 684 + 130, 45, 166, 167, 56, 82, 83, 84, 117, 118, 685 + 119, 120, 137, 52, 76, 77, 46, 101, 47 699 686 }; 700 687 701 688 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 702 689 STATE-NUM. */ 703 - #define YYPACT_NINF -140 690 + #define YYPACT_NINF -92 704 691 static const yytype_int16 yypact[] = 705 692 { 706 - -140, 29, -140, 207, -140, -140, 40, -140, -140, -140, 707 - -140, -140, -27, -140, 44, -140, -140, -140, -140, -140, 708 - -140, -140, -140, -140, -22, -140, -18, -140, -140, -140, 709 - -9, 22, 28, -140, -140, -140, -140, -140, 42, 472, 710 - -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, 711 - 46, 43, -140, -140, 47, 107, -140, 472, 47, -140, 712 - 472, 62, -140, -140, 16, -3, 57, 56, -140, 42, 713 - 35, -11, -140, -140, 53, 48, -140, 472, -140, 51, 714 - 21, 59, 157, -140, -140, 42, -140, 388, 58, 60, 715 - 70, 81, -140, -3, -140, -140, 42, -140, -140, -140, 716 - -140, -140, 253, 71, -140, -20, -140, -140, -140, 83, 717 - -140, 5, 102, 34, -140, 12, 95, 94, -140, -140, 718 - -140, 97, -140, 113, -140, -140, 2, 41, -140, 27, 719 - -140, 99, -140, -140, -140, -140, -24, 98, 101, 109, 720 - 104, -140, -140, -140, -140, -140, 105, -140, 110, -140, 721 - -140, 117, -140, 298, -140, 21, 112, -140, 120, -140, 722 - -140, 343, -140, -140, 121, -140, -140, -140, -140, -140, 723 - 434, -140, -140, 131, 137, -140, -140, -140, 138, 141, 724 - -140, -140, -140, -140, -140, -140, -140 693 + -92, 19, -92, 208, -92, -92, 39, -92, -92, -92, 694 + -92, -92, -27, -92, 23, -92, -92, -92, -92, -92, 695 + -92, -92, -92, -92, -22, -92, 9, -92, -92, -92, 696 + -6, 16, 25, -92, -92, -92, -92, -92, 31, 473, 697 + -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, 698 + 49, 37, -92, -92, 51, 108, -92, 473, 51, -92, 699 + 473, 59, -92, -92, -92, 12, -3, 60, 57, -92, 700 + 31, -7, 24, -92, -92, 55, 42, -92, 473, -92, 701 + 46, -21, 61, 158, -92, -92, 31, -92, 389, 71, 702 + 82, 88, 89, -92, -3, -92, -92, 31, -92, -92, 703 + -92, -92, -92, 254, 73, -92, -24, -92, -92, -92, 704 + 90, -92, 17, 75, 45, -92, 32, 96, 95, -92, 705 + -92, -92, 99, -92, 115, -92, -92, 3, 48, -92, 706 + 34, -92, 102, -92, -92, -92, -92, -11, 100, 103, 707 + 111, 104, -92, -92, -92, -92, -92, 106, -92, 113, 708 + -92, -92, 126, -92, 299, -92, -21, 121, -92, 132, 709 + -92, -92, 344, -92, -92, 125, -92, -92, -92, -92, 710 + -92, 435, -92, -92, 138, 139, -92, -92, -92, 142, 711 + 143, -92, -92, -92, -92, -92, -92, -92 725 712 }; 726 713 727 714 /* YYPGOTO[NTERM-NUM]. */ 728 715 static const yytype_int16 yypgoto[] = 729 716 { 730 - -140, -140, 190, -140, -140, -140, -140, -45, -140, -140, 731 - 96, 1, -60, -31, -140, -140, -140, -78, -140, -140, 732 - -55, -7, -140, -92, -140, -139, -140, -140, -59, -39, 733 - -140, -140, -140, -140, -13, -140, -140, 111, -140, -140, 734 - 39, 87, 84, 147, -140, 106, -140, -140, -140 717 + -92, -92, 192, -92, -92, -92, -92, -47, -92, -92, 718 + 97, 0, -60, -32, -92, -92, -92, -79, -92, -92, 719 + -58, -26, -92, -38, -92, -91, -92, -92, -59, -28, 720 + -92, -92, -92, -92, -20, -92, -92, 112, -92, -92, 721 + 41, 91, 83, 149, -92, 101, -92, -92, -92 735 722 }; 736 723 737 724 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 738 725 positive, shift that token. If negative, reduce the rule which 739 726 number is the opposite. If YYTABLE_NINF, syntax error. */ 740 - #define YYTABLE_NINF -109 727 + #define YYTABLE_NINF -110 741 728 static const yytype_int16 yytable[] = 742 729 { 743 - 87, 88, 113, 156, 38, 10, 146, 163, 72, 127, 744 - 94, 50, 84, 59, 174, 20, 54, 90, 74, 148, 745 - 58, 150, 179, 101, 29, 51, 143, 164, 33, 4, 746 - 55, 70, 106, 113, 55, 113, -93, 102, 134, 60, 747 - 124, 78, 87, 147, 157, 86, 152, 110, 127, 127, 748 - 126, -93, 65, 111, 63, 65, 72, 91, 85, 109, 749 - 153, 160, 97, 110, 64, 98, 65, 53, 99, 111, 750 - 61, 65, 147, 62, 112, 161, 110, 113, 85, 124, 751 - 63, 74, 111, 157, 65, 48, 49, 158, 159, 126, 752 - 64, 65, 65, 87, 104, 105, 107, 108, 51, 55, 753 - 89, 87, 95, 96, 103, 120, 142, 130, 79, 131, 754 - 87, 182, 7, 8, 9, 10, 11, 12, 13, 132, 755 - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 756 - 133, 26, 27, 28, 29, 30, 112, 149, 33, 34, 757 - 154, 155, 107, 98, 162, -22, 169, 167, 163, 35, 758 - 168, 170, -22, -107, 171, -22, 180, -22, 121, 172, 759 - -22, 176, 7, 8, 9, 10, 11, 12, 13, 177, 760 - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 761 - 183, 26, 27, 28, 29, 30, 184, 185, 33, 34, 762 - 186, 5, 135, 122, 175, -22, 145, 73, 151, 35, 763 - 0, 0, -22, -108, 0, -22, 0, -22, 6, 0, 764 - -22, 144, 7, 8, 9, 10, 11, 12, 13, 14, 765 - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 766 - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 767 - 0, 0, 0, 0, 0, -22, 0, 0, 0, 35, 768 - 0, 0, -22, 0, 137, -22, 0, -22, 7, 8, 769 - 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 770 - 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, 771 - 29, 30, 0, 0, 33, 34, 0, 0, 0, 0, 772 - -86, 0, 0, 0, 0, 35, 0, 0, 0, 173, 773 - 0, 0, -86, 7, 8, 9, 10, 11, 12, 13, 774 - 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 775 - 24, 0, 26, 27, 28, 29, 30, 0, 0, 33, 776 - 34, 0, 0, 0, 0, -86, 0, 0, 0, 0, 777 - 35, 0, 0, 0, 178, 0, 0, -86, 7, 8, 778 - 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 779 - 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, 780 - 29, 30, 0, 0, 33, 34, 0, 0, 0, 0, 781 - -86, 0, 0, 0, 0, 35, 0, 0, 0, 0, 782 - 0, 0, -86, 7, 8, 9, 10, 11, 12, 13, 783 - 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 784 - 24, 0, 26, 27, 28, 29, 30, 0, 0, 33, 785 - 34, 0, 0, 0, 0, 0, 124, 0, 0, 0, 786 - 125, 0, 0, 0, 0, 0, 126, 0, 65, 7, 730 + 88, 89, 114, 38, 157, 10, 59, 73, 95, 128, 731 + 85, 50, 71, 91, 75, 20, 54, 110, 147, 4, 732 + 164, 111, 144, 99, 29, 51, 100, 112, 33, 66, 733 + 55, 107, 113, 114, 79, 114, 135, -94, 87, 92, 734 + 165, 125, 60, 88, 98, 158, 53, 58, 128, 128, 735 + 63, 127, -94, 66, 64, 148, 73, 86, 102, 111, 736 + 65, 55, 66, 175, 61, 112, 153, 66, 161, 63, 737 + 62, 180, 103, 64, 149, 75, 151, 114, 86, 65, 738 + 154, 66, 162, 148, 48, 49, 125, 111, 105, 106, 739 + 158, 108, 109, 112, 88, 66, 127, 90, 66, 159, 740 + 160, 51, 88, 55, 97, 96, 104, 121, 143, 80, 741 + 150, 88, 183, 7, 8, 9, 10, 11, 12, 13, 742 + 131, 15, 16, 17, 18, 19, 20, 21, 22, 23, 743 + 24, 132, 26, 27, 28, 29, 30, 133, 134, 33, 744 + 34, 155, 156, 113, 108, 99, -22, 163, 170, 168, 745 + 35, 171, 169, -22, -108, 172, -22, 164, -22, 122, 746 + 181, -22, 173, 7, 8, 9, 10, 11, 12, 13, 747 + 177, 15, 16, 17, 18, 19, 20, 21, 22, 23, 748 + 24, 178, 26, 27, 28, 29, 30, 184, 185, 33, 749 + 34, 186, 187, 5, 136, 123, -22, 176, 152, 74, 750 + 35, 146, 0, -22, -109, 0, -22, 145, -22, 6, 751 + 0, -22, 0, 7, 8, 9, 10, 11, 12, 13, 752 + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 753 + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 754 + 34, 0, 0, 0, 0, 0, -22, 0, 0, 0, 755 + 35, 0, 0, -22, 0, 138, -22, 0, -22, 7, 787 756 8, 9, 10, 11, 12, 13, 0, 15, 16, 17, 788 757 18, 19, 20, 21, 22, 23, 24, 0, 26, 27, 789 758 28, 29, 30, 0, 0, 33, 34, 0, 0, 0, 790 - 0, 181, 0, 0, 0, 0, 35, 7, 8, 9, 791 - 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 792 - 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, 793 - 30, 0, 0, 33, 34, 0, 0, 0, 0, 0, 794 - 0, 0, 0, 0, 35 759 + 0, -87, 0, 0, 0, 0, 35, 0, 0, 0, 760 + 174, 0, 0, -87, 7, 8, 9, 10, 11, 12, 761 + 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 762 + 23, 24, 0, 26, 27, 28, 29, 30, 0, 0, 763 + 33, 34, 0, 0, 0, 0, -87, 0, 0, 0, 764 + 0, 35, 0, 0, 0, 179, 0, 0, -87, 7, 765 + 8, 9, 10, 11, 12, 13, 0, 15, 16, 17, 766 + 18, 19, 20, 21, 22, 23, 24, 0, 26, 27, 767 + 28, 29, 30, 0, 0, 33, 34, 0, 0, 0, 768 + 0, -87, 0, 0, 0, 0, 35, 0, 0, 0, 769 + 0, 0, 0, -87, 7, 8, 9, 10, 11, 12, 770 + 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 771 + 23, 24, 0, 26, 27, 28, 29, 30, 0, 0, 772 + 33, 34, 0, 0, 0, 0, 0, 125, 0, 0, 773 + 0, 126, 0, 0, 0, 0, 0, 127, 0, 66, 774 + 7, 8, 9, 10, 11, 12, 13, 0, 15, 16, 775 + 17, 18, 19, 20, 21, 22, 23, 24, 0, 26, 776 + 27, 28, 29, 30, 0, 0, 33, 34, 0, 0, 777 + 0, 0, 182, 0, 0, 0, 0, 35, 7, 8, 778 + 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 779 + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, 780 + 29, 30, 0, 0, 33, 34, 0, 0, 0, 0, 781 + 0, 0, 0, 0, 0, 35 795 782 }; 796 783 797 - #define yypact_value_is_default(yystate) \ 798 - ((yystate) == (-140)) 784 + #define yypact_value_is_default(Yystate) \ 785 + (!!((Yystate) == (-92))) 799 786 800 - #define yytable_value_is_error(yytable_value) \ 787 + #define yytable_value_is_error(Yytable_value) \ 801 788 YYID (0) 802 789 803 790 static const yytype_int16 yycheck[] = 804 791 { 805 - 60, 60, 80, 1, 3, 8, 1, 31, 39, 87, 806 - 65, 38, 57, 26, 153, 18, 38, 1, 38, 111, 807 - 38, 113, 161, 34, 27, 52, 46, 51, 31, 0, 808 - 52, 38, 77, 111, 52, 113, 34, 48, 93, 48, 809 - 38, 54, 102, 38, 42, 58, 34, 42, 126, 127, 810 - 48, 49, 50, 48, 38, 50, 87, 64, 57, 38, 811 - 48, 34, 69, 42, 48, 30, 50, 23, 33, 48, 812 - 48, 50, 38, 45, 53, 48, 42, 155, 77, 38, 813 - 38, 38, 48, 42, 50, 45, 46, 126, 127, 48, 814 - 48, 50, 50, 153, 46, 47, 45, 46, 52, 52, 815 - 38, 161, 45, 47, 51, 46, 35, 49, 1, 49, 816 - 170, 170, 5, 6, 7, 8, 9, 10, 11, 49, 817 - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 818 - 49, 24, 25, 26, 27, 28, 53, 35, 31, 32, 819 - 45, 47, 45, 30, 45, 38, 37, 49, 31, 42, 820 - 49, 47, 45, 46, 49, 48, 35, 50, 1, 49, 821 - 53, 49, 5, 6, 7, 8, 9, 10, 11, 49, 822 - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 823 - 49, 24, 25, 26, 27, 28, 49, 49, 31, 32, 824 - 49, 1, 96, 82, 155, 38, 109, 50, 114, 42, 825 - -1, -1, 45, 46, -1, 48, -1, 50, 1, -1, 826 - 53, 105, 5, 6, 7, 8, 9, 10, 11, 12, 827 - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 828 - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 829 - -1, -1, -1, -1, -1, 38, -1, -1, -1, 42, 830 - -1, -1, 45, -1, 1, 48, -1, 50, 5, 6, 831 - 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 832 - 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, 833 - 27, 28, -1, -1, 31, 32, -1, -1, -1, -1, 834 - 37, -1, -1, -1, -1, 42, -1, -1, -1, 1, 835 - -1, -1, 49, 5, 6, 7, 8, 9, 10, 11, 836 - -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 837 - 22, -1, 24, 25, 26, 27, 28, -1, -1, 31, 838 - 32, -1, -1, -1, -1, 37, -1, -1, -1, -1, 839 - 42, -1, -1, -1, 1, -1, -1, 49, 5, 6, 840 - 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 841 - 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, 842 - 27, 28, -1, -1, 31, 32, -1, -1, -1, -1, 843 - 37, -1, -1, -1, -1, 42, -1, -1, -1, -1, 844 - -1, -1, 49, 5, 6, 7, 8, 9, 10, 11, 845 - -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 846 - 22, -1, 24, 25, 26, 27, 28, -1, -1, 31, 792 + 60, 60, 81, 3, 1, 8, 26, 39, 66, 88, 793 + 57, 38, 38, 1, 38, 18, 38, 38, 1, 0, 794 + 31, 42, 46, 30, 27, 52, 33, 48, 31, 50, 795 + 52, 78, 53, 112, 54, 114, 94, 34, 58, 65, 796 + 51, 38, 48, 103, 70, 42, 23, 38, 127, 128, 797 + 38, 48, 49, 50, 42, 38, 88, 57, 34, 42, 798 + 48, 52, 50, 154, 48, 48, 34, 50, 34, 38, 799 + 45, 162, 48, 42, 112, 38, 114, 156, 78, 48, 800 + 48, 50, 48, 38, 45, 46, 38, 42, 46, 47, 801 + 42, 45, 46, 48, 154, 50, 48, 38, 50, 127, 802 + 128, 52, 162, 52, 47, 45, 51, 46, 35, 1, 803 + 35, 171, 171, 5, 6, 7, 8, 9, 10, 11, 804 + 49, 13, 14, 15, 16, 17, 18, 19, 20, 21, 805 + 22, 49, 24, 25, 26, 27, 28, 49, 49, 31, 806 + 32, 45, 47, 53, 45, 30, 38, 45, 37, 49, 807 + 42, 47, 49, 45, 46, 49, 48, 31, 50, 1, 808 + 35, 53, 49, 5, 6, 7, 8, 9, 10, 11, 809 + 49, 13, 14, 15, 16, 17, 18, 19, 20, 21, 810 + 22, 49, 24, 25, 26, 27, 28, 49, 49, 31, 811 + 32, 49, 49, 1, 97, 83, 38, 156, 115, 50, 812 + 42, 110, -1, 45, 46, -1, 48, 106, 50, 1, 813 + -1, 53, -1, 5, 6, 7, 8, 9, 10, 11, 814 + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 815 + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 847 816 32, -1, -1, -1, -1, -1, 38, -1, -1, -1, 848 - 42, -1, -1, -1, -1, -1, 48, -1, 50, 5, 817 + 42, -1, -1, 45, -1, 1, 48, -1, 50, 5, 849 818 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 850 819 16, 17, 18, 19, 20, 21, 22, -1, 24, 25, 851 820 26, 27, 28, -1, -1, 31, 32, -1, -1, -1, 852 - -1, 37, -1, -1, -1, -1, 42, 5, 6, 7, 853 - 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 854 - 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, 855 - 28, -1, -1, 31, 32, -1, -1, -1, -1, -1, 856 - -1, -1, -1, -1, 42 821 + -1, 37, -1, -1, -1, -1, 42, -1, -1, -1, 822 + 1, -1, -1, 49, 5, 6, 7, 8, 9, 10, 823 + 11, -1, 13, 14, 15, 16, 17, 18, 19, 20, 824 + 21, 22, -1, 24, 25, 26, 27, 28, -1, -1, 825 + 31, 32, -1, -1, -1, -1, 37, -1, -1, -1, 826 + -1, 42, -1, -1, -1, 1, -1, -1, 49, 5, 827 + 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 828 + 16, 17, 18, 19, 20, 21, 22, -1, 24, 25, 829 + 26, 27, 28, -1, -1, 31, 32, -1, -1, -1, 830 + -1, 37, -1, -1, -1, -1, 42, -1, -1, -1, 831 + -1, -1, -1, 49, 5, 6, 7, 8, 9, 10, 832 + 11, -1, 13, 14, 15, 16, 17, 18, 19, 20, 833 + 21, 22, -1, 24, 25, 26, 27, 28, -1, -1, 834 + 31, 32, -1, -1, -1, -1, -1, 38, -1, -1, 835 + -1, 42, -1, -1, -1, -1, -1, 48, -1, 50, 836 + 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 837 + 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, 838 + 25, 26, 27, 28, -1, -1, 31, 32, -1, -1, 839 + -1, -1, 37, -1, -1, -1, -1, 42, 5, 6, 840 + 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 841 + 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, 842 + 27, 28, -1, -1, 31, 32, -1, -1, -1, -1, 843 + -1, -1, -1, -1, -1, 42 857 844 }; 858 845 859 846 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing ··· 866 853 28, 29, 30, 31, 32, 42, 58, 61, 65, 66, 867 854 67, 68, 69, 70, 74, 85, 100, 102, 45, 46, 868 855 38, 52, 97, 23, 38, 52, 88, 60, 38, 88, 869 - 48, 48, 45, 38, 48, 50, 62, 63, 64, 71, 870 - 75, 76, 67, 97, 38, 98, 99, 59, 88, 1, 871 - 65, 89, 90, 91, 61, 65, 88, 66, 82, 38, 872 - 1, 75, 72, 73, 74, 45, 47, 75, 30, 33, 873 - 101, 34, 48, 51, 46, 47, 61, 45, 46, 38, 874 - 42, 48, 53, 71, 77, 78, 92, 93, 94, 95, 875 - 46, 1, 91, 75, 38, 42, 48, 71, 83, 84, 876 - 49, 49, 49, 49, 74, 64, 96, 1, 79, 80, 877 - 81, 82, 35, 46, 99, 95, 1, 38, 77, 35, 878 - 77, 96, 34, 48, 45, 47, 1, 42, 83, 83, 879 - 34, 48, 45, 31, 51, 86, 87, 49, 49, 37, 880 - 47, 49, 49, 1, 79, 94, 49, 49, 1, 79, 881 - 35, 37, 82, 49, 49, 49, 49 856 + 48, 48, 45, 38, 42, 48, 50, 62, 63, 64, 857 + 71, 75, 76, 67, 97, 38, 98, 99, 59, 88, 858 + 1, 65, 89, 90, 91, 61, 65, 88, 66, 82, 859 + 38, 1, 75, 72, 73, 74, 45, 47, 75, 30, 860 + 33, 101, 34, 48, 51, 46, 47, 61, 45, 46, 861 + 38, 42, 48, 53, 71, 77, 78, 92, 93, 94, 862 + 95, 46, 1, 91, 75, 38, 42, 48, 71, 83, 863 + 84, 49, 49, 49, 49, 74, 64, 96, 1, 79, 864 + 80, 81, 82, 35, 46, 99, 95, 1, 38, 77, 865 + 35, 77, 96, 34, 48, 45, 47, 1, 42, 83, 866 + 83, 34, 48, 45, 31, 51, 86, 87, 49, 49, 867 + 37, 47, 49, 49, 1, 79, 94, 49, 49, 1, 868 + 79, 35, 37, 82, 49, 49, 49, 49 882 869 }; 883 870 884 871 #define yyerrok (yyerrstatus = 0) ··· 925 912 } \ 926 913 while (YYID (0)) 927 914 928 - 915 + /* Error token number */ 929 916 #define YYTERROR 1 930 917 #define YYERRCODE 256 931 918 932 919 933 - /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 934 - If N is 0, then set CURRENT to the empty location which ends 935 - the previous symbol: RHS[0] (always defined). */ 936 - 937 - #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 938 - #ifndef YYLLOC_DEFAULT 939 - # define YYLLOC_DEFAULT(Current, Rhs, N) \ 940 - do \ 941 - if (YYID (N)) \ 942 - { \ 943 - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 944 - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 945 - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 946 - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 947 - } \ 948 - else \ 949 - { \ 950 - (Current).first_line = (Current).last_line = \ 951 - YYRHSLOC (Rhs, 0).last_line; \ 952 - (Current).first_column = (Current).last_column = \ 953 - YYRHSLOC (Rhs, 0).last_column; \ 954 - } \ 955 - while (YYID (0)) 956 - #endif 957 - 958 - 959 920 /* This macro is provided for backward compatibility. */ 960 - 961 921 #ifndef YY_LOCATION_PRINT 962 922 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 963 923 #endif 964 924 965 925 966 926 /* YYLEX -- calling `yylex' with the right arguments. */ 967 - 968 927 #ifdef YYLEX_PARAM 969 928 # define YYLEX yylex (YYLEX_PARAM) 970 929 #else ··· 999 1014 switch (yytype) 1000 1015 { 1001 1016 default: 1002 - break; 1017 + break; 1003 1018 } 1004 1019 } 1005 1020 ··· 1241 1256 { 1242 1257 YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 1243 1258 YYSIZE_T yysize = yysize0; 1244 - YYSIZE_T yysize1; 1245 1259 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1246 1260 /* Internationalized format string. */ 1247 1261 const char *yyformat = YY_NULL; ··· 1303 1319 break; 1304 1320 } 1305 1321 yyarg[yycount++] = yytname[yyx]; 1306 - yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 1307 - if (! (yysize <= yysize1 1308 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1309 - return 2; 1310 - yysize = yysize1; 1322 + { 1323 + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 1324 + if (! (yysize <= yysize1 1325 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1326 + return 2; 1327 + yysize = yysize1; 1328 + } 1311 1329 } 1312 1330 } 1313 1331 } ··· 1329 1343 # undef YYCASE_ 1330 1344 } 1331 1345 1332 - yysize1 = yysize + yystrlen (yyformat); 1333 - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1334 - return 2; 1335 - yysize = yysize1; 1346 + { 1347 + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 1348 + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1349 + return 2; 1350 + yysize = yysize1; 1351 + } 1336 1352 1337 1353 if (*yymsg_alloc < yysize) 1338 1354 { ··· 1394 1406 { 1395 1407 1396 1408 default: 1397 - break; 1409 + break; 1398 1410 } 1399 1411 } 1400 1412 1401 1413 1402 - /* Prevent warnings from -Wmissing-prototypes. */ 1403 - #ifdef YYPARSE_PARAM 1404 - #if defined __STDC__ || defined __cplusplus 1405 - int yyparse (void *YYPARSE_PARAM); 1406 - #else 1407 - int yyparse (); 1408 - #endif 1409 - #else /* ! YYPARSE_PARAM */ 1410 - #if defined __STDC__ || defined __cplusplus 1411 - int yyparse (void); 1412 - #else 1413 - int yyparse (); 1414 - #endif 1415 - #endif /* ! YYPARSE_PARAM */ 1416 1414 1417 1415 1418 1416 /* The lookahead symbol. */ 1419 1417 int yychar; 1420 1418 1419 + 1420 + #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1421 + # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1422 + # define YY_IGNORE_MAYBE_UNINITIALIZED_END 1423 + #endif 1424 + #ifndef YY_INITIAL_VALUE 1425 + # define YY_INITIAL_VALUE(Value) /* Nothing. */ 1426 + #endif 1427 + 1421 1428 /* The semantic value of the lookahead symbol. */ 1422 - YYSTYPE yylval; 1429 + YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 1423 1430 1424 1431 /* Number of syntax errors so far. */ 1425 1432 int yynerrs; ··· 1472 1489 int yyn; 1473 1490 int yyresult; 1474 1491 /* Lookahead token as an internal (translated) token number. */ 1475 - int yytoken; 1492 + int yytoken = 0; 1476 1493 /* The variables used to return semantic value and location from the 1477 1494 action routines. */ 1478 1495 YYSTYPE yyval; ··· 1490 1507 Keep to zero when no symbol should be popped. */ 1491 1508 int yylen = 0; 1492 1509 1493 - yytoken = 0; 1494 - yyss = yyssa; 1495 - yyvs = yyvsa; 1510 + yyssp = yyss = yyssa; 1511 + yyvsp = yyvs = yyvsa; 1496 1512 yystacksize = YYINITDEPTH; 1497 1513 1498 1514 YYDPRINTF ((stderr, "Starting parse\n")); ··· 1500 1518 yyerrstatus = 0; 1501 1519 yynerrs = 0; 1502 1520 yychar = YYEMPTY; /* Cause a token to be read. */ 1503 - 1504 - /* Initialize stack pointers. 1505 - Waste one element of value and location stack 1506 - so that they stay on the same level as the state stack. 1507 - The wasted elements are never initialized. */ 1508 - yyssp = yyss; 1509 - yyvsp = yyvs; 1510 - 1511 1521 goto yysetstate; 1512 1522 1513 1523 /*------------------------------------------------------------. ··· 1640 1666 yychar = YYEMPTY; 1641 1667 1642 1668 yystate = yyn; 1669 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1643 1670 *++yyvsp = yylval; 1671 + YY_IGNORE_MAYBE_UNINITIALIZED_END 1644 1672 1645 1673 goto yynewstate; 1646 1674 ··· 1892 1916 1893 1917 case 69: 1894 1918 1895 - { (yyval) = (yyvsp[(4) - (4)]); } 1919 + { if (current_name != NULL) { 1920 + error_with_pos("unexpected second declaration name"); 1921 + YYERROR; 1922 + } else { 1923 + current_name = (*(yyvsp[(1) - (1)]))->string; 1924 + (yyval) = (yyvsp[(1) - (1)]); 1925 + } 1926 + } 1896 1927 break; 1897 1928 1898 1929 case 70: ··· 1909 1926 1910 1927 case 71: 1911 1928 1912 - { (yyval) = (yyvsp[(2) - (2)]); } 1929 + { (yyval) = (yyvsp[(4) - (4)]); } 1913 1930 break; 1914 1931 1915 1932 case 72: 1916 1933 1917 - { (yyval) = (yyvsp[(3) - (3)]); } 1934 + { (yyval) = (yyvsp[(2) - (2)]); } 1918 1935 break; 1919 1936 1920 1937 case 73: ··· 1924 1941 1925 1942 case 74: 1926 1943 1927 - { (yyval) = (yyvsp[(2) - (2)]); } 1944 + { (yyval) = (yyvsp[(3) - (3)]); } 1928 1945 break; 1929 1946 1930 - case 78: 1947 + case 75: 1931 1948 1932 - { (yyval) = (yyvsp[(4) - (4)]); } 1949 + { (yyval) = (yyvsp[(2) - (2)]); } 1933 1950 break; 1934 1951 1935 1952 case 79: ··· 1939 1956 1940 1957 case 80: 1941 1958 1942 - { (yyval) = (yyvsp[(2) - (2)]); } 1959 + { (yyval) = (yyvsp[(4) - (4)]); } 1943 1960 break; 1944 1961 1945 1962 case 81: 1946 1963 1947 - { (yyval) = (yyvsp[(3) - (3)]); } 1964 + { (yyval) = (yyvsp[(2) - (2)]); } 1948 1965 break; 1949 1966 1950 1967 case 82: ··· 1954 1971 1955 1972 case 83: 1956 1973 1957 - { (yyval) = (yyvsp[(2) - (2)]); } 1974 + { (yyval) = (yyvsp[(3) - (3)]); } 1958 1975 break; 1959 1976 1960 - case 85: 1977 + case 84: 1961 1978 1962 - { (yyval) = (yyvsp[(3) - (3)]); } 1979 + { (yyval) = (yyvsp[(2) - (2)]); } 1963 1980 break; 1964 1981 1965 1982 case 86: 1966 1983 1967 - { (yyval) = NULL; } 1984 + { (yyval) = (yyvsp[(3) - (3)]); } 1968 1985 break; 1969 1986 1970 - case 89: 1987 + case 87: 1971 1988 1972 - { (yyval) = (yyvsp[(3) - (3)]); } 1989 + { (yyval) = NULL; } 1973 1990 break; 1974 1991 1975 1992 case 90: 1976 1993 1977 - { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 1994 + { (yyval) = (yyvsp[(3) - (3)]); } 1978 1995 break; 1979 1996 1980 1997 case 91: ··· 1982 1999 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 1983 2000 break; 1984 2001 1985 - case 93: 2002 + case 92: 2003 + 2004 + { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 2005 + break; 2006 + 2007 + case 94: 1986 2008 1987 2009 { (yyval) = NULL; } 1988 2010 break; 1989 2011 1990 - case 94: 2012 + case 95: 1991 2013 1992 2014 { /* For version 2 checksums, we don't want to remember 1993 2015 private parameter names. */ ··· 2001 2013 } 2002 2014 break; 2003 2015 2004 - case 95: 2016 + case 96: 2005 2017 2006 2018 { remove_node((yyvsp[(1) - (1)])); 2007 2019 (yyval) = (yyvsp[(1) - (1)]); 2008 2020 } 2009 - break; 2010 - 2011 - case 96: 2012 - 2013 - { (yyval) = (yyvsp[(4) - (4)]); } 2014 2021 break; 2015 2022 2016 2023 case 97: ··· 2015 2032 2016 2033 case 98: 2017 2034 2018 - { (yyval) = (yyvsp[(2) - (2)]); } 2035 + { (yyval) = (yyvsp[(4) - (4)]); } 2019 2036 break; 2020 2037 2021 2038 case 99: 2022 2039 2023 - { (yyval) = (yyvsp[(3) - (3)]); } 2040 + { (yyval) = (yyvsp[(2) - (2)]); } 2024 2041 break; 2025 2042 2026 2043 case 100: ··· 2030 2047 2031 2048 case 101: 2032 2049 2050 + { (yyval) = (yyvsp[(3) - (3)]); } 2051 + break; 2052 + 2053 + case 102: 2054 + 2033 2055 { struct string_list *decl = *(yyvsp[(2) - (3)]); 2034 2056 *(yyvsp[(2) - (3)]) = NULL; 2035 2057 add_symbol(current_name, SYM_NORMAL, decl, is_extern); ··· 2042 2054 } 2043 2055 break; 2044 2056 2045 - case 102: 2057 + case 103: 2046 2058 2047 2059 { (yyval) = NULL; } 2048 2060 break; 2049 2061 2050 - case 104: 2051 - 2052 - { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); } 2053 - break; 2054 - 2055 2062 case 105: 2056 2063 2057 - { (yyval) = (yyvsp[(3) - (3)]); } 2064 + { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); } 2058 2065 break; 2059 2066 2060 2067 case 106: ··· 2059 2076 2060 2077 case 107: 2061 2078 2062 - { (yyval) = NULL; } 2079 + { (yyval) = (yyvsp[(3) - (3)]); } 2063 2080 break; 2064 2081 2065 - case 110: 2082 + case 108: 2066 2083 2067 - { (yyval) = (yyvsp[(2) - (2)]); } 2084 + { (yyval) = NULL; } 2068 2085 break; 2069 2086 2070 2087 case 111: 2071 2088 2072 - { (yyval) = (yyvsp[(3) - (3)]); } 2089 + { (yyval) = (yyvsp[(2) - (2)]); } 2073 2090 break; 2074 2091 2075 2092 case 112: 2076 2093 2077 - { (yyval) = (yyvsp[(2) - (2)]); } 2094 + { (yyval) = (yyvsp[(3) - (3)]); } 2078 2095 break; 2079 2096 2080 2097 case 113: 2081 2098 2082 - { (yyval) = NULL; } 2099 + { (yyval) = (yyvsp[(2) - (2)]); } 2083 2100 break; 2084 2101 2085 - case 116: 2102 + case 114: 2086 2103 2087 - { (yyval) = (yyvsp[(3) - (3)]); } 2104 + { (yyval) = NULL; } 2088 2105 break; 2089 2106 2090 2107 case 117: 2091 2108 2092 - { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 2109 + { (yyval) = (yyvsp[(3) - (3)]); } 2093 2110 break; 2094 2111 2095 2112 case 118: 2096 2113 2097 - { (yyval) = (yyvsp[(2) - (2)]); } 2114 + { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 2098 2115 break; 2099 2116 2100 - case 120: 2117 + case 119: 2101 2118 2102 2119 { (yyval) = (yyvsp[(2) - (2)]); } 2103 2120 break; 2104 2121 2105 2122 case 121: 2106 2123 2107 - { (yyval) = NULL; } 2124 + { (yyval) = (yyvsp[(2) - (2)]); } 2108 2125 break; 2109 2126 2110 - case 123: 2127 + case 122: 2111 2128 2112 - { (yyval) = (yyvsp[(3) - (3)]); } 2129 + { (yyval) = NULL; } 2113 2130 break; 2114 2131 2115 2132 case 124: 2116 2133 2134 + { (yyval) = (yyvsp[(3) - (3)]); } 2135 + break; 2136 + 2137 + case 125: 2138 + 2117 2139 { (yyval) = (yyvsp[(4) - (4)]); } 2118 2140 break; 2119 2141 2120 - case 127: 2142 + case 128: 2121 2143 2122 2144 { 2123 2145 const char *name = strdup((*(yyvsp[(1) - (1)]))->string); ··· 2130 2142 } 2131 2143 break; 2132 2144 2133 - case 128: 2145 + case 129: 2134 2146 2135 2147 { 2136 2148 const char *name = strdup((*(yyvsp[(1) - (3)]))->string); ··· 2139 2151 } 2140 2152 break; 2141 2153 2142 - case 129: 2154 + case 130: 2143 2155 2144 2156 { (yyval) = (yyvsp[(2) - (2)]); } 2145 2157 break; 2146 2158 2147 - case 130: 2159 + case 131: 2148 2160 2149 2161 { (yyval) = NULL; } 2150 2162 break; 2151 2163 2152 - case 132: 2164 + case 133: 2153 2165 2154 2166 { export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); } 2155 2167 break; ··· 2318 2330 YY_STACK_PRINT (yyss, yyssp); 2319 2331 } 2320 2332 2333 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2321 2334 *++yyvsp = yylval; 2335 + YY_IGNORE_MAYBE_UNINITIALIZED_END 2322 2336 2323 2337 2324 2338 /* Shift the error token. */ ··· 2394 2404 { 2395 2405 error_with_pos("%s", e); 2396 2406 } 2397 -
+24 -2
scripts/genksyms/parse.tab.h_shipped
··· 1 - /* A Bison parser, made by GNU Bison 2.5.1. */ 1 + /* A Bison parser, made by GNU Bison 2.7. */ 2 2 3 3 /* Bison interface for Yacc-like parsers in C 4 4 ··· 30 30 This special exception was added by the Free Software Foundation in 31 31 version 2.2 of Bison. */ 32 32 33 + #ifndef YY_YY_SCRIPTS_GENKSYMS_PARSE_TAB_H_SHIPPED_INCLUDED 34 + # define YY_YY_SCRIPTS_GENKSYMS_PARSE_TAB_H_SHIPPED_INCLUDED 35 + /* Enabling traces. */ 36 + #ifndef YYDEBUG 37 + # define YYDEBUG 1 38 + #endif 39 + #if YYDEBUG 40 + extern int yydebug; 41 + #endif 33 42 34 43 /* Tokens. */ 35 44 #ifndef YYTOKENTYPE ··· 92 83 #endif 93 84 94 85 95 - 96 86 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 97 87 typedef int YYSTYPE; 98 88 # define YYSTYPE_IS_TRIVIAL 1 ··· 101 93 102 94 extern YYSTYPE yylval; 103 95 96 + #ifdef YYPARSE_PARAM 97 + #if defined __STDC__ || defined __cplusplus 98 + int yyparse (void *YYPARSE_PARAM); 99 + #else 100 + int yyparse (); 101 + #endif 102 + #else /* ! YYPARSE_PARAM */ 103 + #if defined __STDC__ || defined __cplusplus 104 + int yyparse (void); 105 + #else 106 + int yyparse (); 107 + #endif 108 + #endif /* ! YYPARSE_PARAM */ 104 109 110 + #endif /* !YY_YY_SCRIPTS_GENKSYMS_PARSE_TAB_H_SHIPPED_INCLUDED */
+9
scripts/genksyms/parse.y
··· 303 303 $$ = $1; 304 304 } 305 305 } 306 + | TYPE 307 + { if (current_name != NULL) { 308 + error_with_pos("unexpected second declaration name"); 309 + YYERROR; 310 + } else { 311 + current_name = (*$1)->string; 312 + $$ = $1; 313 + } 314 + } 306 315 | direct_declarator '(' parameter_declaration_clause ')' 307 316 { $$ = $4; } 308 317 | direct_declarator '(' error ')'
+6
scripts/mod/modpost.h
··· 11 11 12 12 #include "elfconfig.h" 13 13 14 + /* On BSD-alike OSes elf.h defines these according to host's word size */ 15 + #undef ELF_ST_BIND 16 + #undef ELF_ST_TYPE 17 + #undef ELF_R_SYM 18 + #undef ELF_R_TYPE 19 + 14 20 #if KERNEL_ELFCLASS == ELFCLASS32 15 21 16 22 #define Elf_Ehdr Elf32_Ehdr