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

Merge tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild updates from Masahiro Yamada:

- improve Clang support

- clean up various Makefiles

- improve build log visibility (objtool, alpha, ia64)

- improve compiler flag evaluation for better build performance

- fix GCC version-dependent warning

- fix genksyms

* tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (23 commits)
kbuild: dtbinst: remove unnecessary __dtbs_install_prep target
ia64: beatify build log for gate.so and gate-syms.o
alpha: make short build log available for division routines
alpha: merge build rules of division routines
alpha: add $(src)/ rather than $(obj)/ to make source file path
Makefile: evaluate LDFLAGS_BUILD_ID only once
objtool: make it visible in make V=1 output
kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS
kbuild: Add support to generate LLVM assembly files
kbuild: Add better clang cross build support
kbuild: drop -Wno-unknown-warning-option from clang options
kbuild: fix asm-offset generation to work with clang
kbuild: consolidate redundant sed script ASM offset generation
frv: Use OFFSET macro in DEF_*REG()
kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7
kbuild: Consolidate header generation from ASM offset information
kbuild: use -Oz instead of -Os when using clang
kbuild, LLVMLinux: Add -Werror to cc-option to support clang
Kbuild: make designated_init attribute fatal
kbuild: drop unneeded patterns '.*.orig' and '.*.rej' from distclean
...

+336 -381
+1
.gitignore
··· 33 33 *.lzo 34 34 *.patch 35 35 *.gcno 36 + *.ll 36 37 modules.builtin 37 38 Module.symvers 38 39 *.dwo
-25
Kbuild
··· 7 7 # 4) Check for missing system calls 8 8 # 5) Generate constants.py (may need bounds.h) 9 9 10 - # Default sed regexp - multiline due to syntax constraints 11 - define sed-y 12 - "/^->/{s:->#\(.*\):/* \1 */:; \ 13 - s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ 14 - s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ 15 - s:->::; p;}" 16 - endef 17 - 18 - # Use filechk to avoid rebuilds when a header changes, but the resulting file 19 - # does not 20 - define filechk_offsets 21 - (set -e; \ 22 - echo "#ifndef $2"; \ 23 - echo "#define $2"; \ 24 - echo "/*"; \ 25 - echo " * DO NOT MODIFY."; \ 26 - echo " *"; \ 27 - echo " * This file was generated by Kbuild"; \ 28 - echo " */"; \ 29 - echo ""; \ 30 - sed -ne $(sed-y); \ 31 - echo ""; \ 32 - echo "#endif" ) 33 - endef 34 - 35 10 ##### 36 11 # 1) Generate bounds.h 37 12
+30 -11
Makefile
··· 632 632 KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) 633 633 KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,) 634 634 635 - ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION 636 - KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,) 637 - KBUILD_CFLAGS += $(call cc-option,-fdata-sections,) 638 - endif 639 - 640 635 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE 641 - KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) 636 + KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) 637 + KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) 642 638 else 643 639 ifdef CONFIG_PROFILE_ALL_BRANCHES 644 640 KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) ··· 694 698 KBUILD_CFLAGS += $(stackp-flag) 695 699 696 700 ifeq ($(cc-name),clang) 701 + ifneq ($(CROSS_COMPILE),) 702 + CLANG_TARGET := -target $(notdir $(CROSS_COMPILE:%-=%)) 703 + GCC_TOOLCHAIN := $(realpath $(dir $(shell which $(LD)))/..) 704 + endif 705 + ifneq ($(GCC_TOOLCHAIN),) 706 + CLANG_GCC_TC := -gcc-toolchain $(GCC_TOOLCHAIN) 707 + endif 708 + KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) 709 + KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) 697 710 KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,) 698 - KBUILD_CPPFLAGS += $(call cc-option,-Wno-unknown-warning-option,) 699 711 KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable) 700 712 KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier) 701 713 KBUILD_CFLAGS += $(call cc-disable-warning, gnu) ··· 714 710 # See modpost pattern 2 715 711 KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) 716 712 KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) 713 + KBUILD_CFLAGS += $(call cc-option, -no-integrated-as) 714 + KBUILD_AFLAGS += $(call cc-option, -no-integrated-as) 717 715 else 718 716 719 717 # These warnings generated too much noise in a regular build. 720 - # Use make W=1 to enable them (see scripts/Makefile.build) 718 + # Use make W=1 to enable them (see scripts/Makefile.extrawarn) 721 719 KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) 722 720 KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable) 723 721 endif ··· 779 773 KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once) 780 774 endif 781 775 776 + ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION 777 + KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,) 778 + KBUILD_CFLAGS += $(call cc-option,-fdata-sections,) 779 + endif 780 + 782 781 # arch Makefile may override CC so keep this after arch Makefile is included 783 782 NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) 784 783 CHECKFLAGS += $(NOSTDINC_FLAGS) ··· 812 801 # enforce correct pointer usage 813 802 KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) 814 803 804 + # Require designated initializers for all marked structures 805 + KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init) 806 + 815 807 # use the deterministic mode of AR if available 816 808 KBUILD_ARFLAGS := $(call ar-option,D) 817 809 ··· 829 815 KBUILD_CFLAGS += $(ARCH_CFLAGS) $(KCFLAGS) 830 816 831 817 # Use --build-id when available. 832 - LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\ 818 + LDFLAGS_BUILD_ID := $(patsubst -Wl$(comma)%,%,\ 833 819 $(call cc-ldoption, -Wl$(comma)--build-id,)) 834 820 KBUILD_LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID) 835 821 LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID) ··· 1329 1315 distclean: mrproper 1330 1316 @find $(srctree) $(RCS_FIND_IGNORE) \ 1331 1317 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ 1332 - -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ 1333 - -o -name '.*.rej' -o -name '*%' -o -name 'core' \) \ 1318 + -o -name '*.bak' -o -name '#*#' -o -name '*%' \ 1319 + -o -name 'core' \) \ 1334 1320 -type f -print | xargs rm -f 1335 1321 1336 1322 ··· 1375 1361 @echo ' (default: $$(INSTALL_MOD_PATH)/lib/firmware)' 1376 1362 @echo ' dir/ - Build all files in dir and below' 1377 1363 @echo ' dir/file.[ois] - Build specified target only' 1364 + @echo ' dir/file.ll - Build the LLVM assembly file' 1365 + @echo ' (requires compiler support for LLVM assembly generation)' 1378 1366 @echo ' dir/file.lst - Build specified mixed source/assembly target only' 1379 1367 @echo ' (requires a recent binutils and recent build (System.map))' 1380 1368 @echo ' dir/file.ko - Build module including final link' ··· 1565 1549 -o -name '*.symtypes' -o -name 'modules.order' \ 1566 1550 -o -name modules.builtin -o -name '.tmp_*.o.*' \ 1567 1551 -o -name '*.c.[012]*.*' \ 1552 + -o -name '*.ll' \ 1568 1553 -o -name '*.gcno' \) -type f -print | xargs rm -f 1569 1554 1570 1555 # Generate tags for editors ··· 1668 1651 %.o: %.S prepare scripts FORCE 1669 1652 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 1670 1653 %.symtypes: %.c prepare scripts FORCE 1654 + $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 1655 + %.ll: %.c prepare scripts FORCE 1671 1656 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 1672 1657 1673 1658 # Modules
+3 -8
arch/alpha/lib/Makefile
··· 46 46 AFLAGS___divlu.o = -DDIV -DINTSIZE 47 47 AFLAGS___remlu.o = -DREM -DINTSIZE 48 48 49 - $(obj)/__divqu.o: $(obj)/$(ev6-y)divide.S 50 - $(cmd_as_o_S) 51 - $(obj)/__remqu.o: $(obj)/$(ev6-y)divide.S 52 - $(cmd_as_o_S) 53 - $(obj)/__divlu.o: $(obj)/$(ev6-y)divide.S 54 - $(cmd_as_o_S) 55 - $(obj)/__remlu.o: $(obj)/$(ev6-y)divide.S 56 - $(cmd_as_o_S) 49 + $(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): \ 50 + $(src)/$(ev6-y)divide.S FORCE 51 + $(call if_changed_rule,as_o_S)
+4 -15
arch/frv/kernel/asm-offsets.c
··· 14 14 #include <asm/thread_info.h> 15 15 #include <asm/gdb-stub.h> 16 16 17 - #define DEF_PTREG(sym, reg) \ 18 - asm volatile("\n->" #sym " %0 offsetof(struct pt_regs, " #reg ")" \ 19 - : : "i" (offsetof(struct pt_regs, reg))) 20 - 21 - #define DEF_IREG(sym, reg) \ 22 - asm volatile("\n->" #sym " %0 offsetof(struct user_context, " #reg ")" \ 23 - : : "i" (offsetof(struct user_context, reg))) 24 - 25 - #define DEF_FREG(sym, reg) \ 26 - asm volatile("\n->" #sym " %0 offsetof(struct user_context, " #reg ")" \ 27 - : : "i" (offsetof(struct user_context, reg))) 28 - 29 - #define DEF_0REG(sym, reg) \ 30 - asm volatile("\n->" #sym " %0 offsetof(struct frv_frame0, " #reg ")" \ 31 - : : "i" (offsetof(struct frv_frame0, reg))) 17 + #define DEF_PTREG(sym, reg) OFFSET(sym, pt_regs, reg) 18 + #define DEF_IREG(sym, reg) OFFSET(sym, user_context, reg) 19 + #define DEF_FREG(sym, reg) OFFSET(sym, user_context, reg) 20 + #define DEF_0REG(sym, reg) OFFSET(sym, frv_frame0, reg) 32 21 33 22 void foo(void) 34 23 {
+2 -24
arch/ia64/kernel/Makefile
··· 50 50 # The gate DSO image is built using a special linker script. 51 51 include $(src)/Makefile.gate 52 52 53 - # Calculate NR_IRQ = max(IA64_NATIVE_NR_IRQS, XEN_NR_IRQS, ...) based on config 54 - define sed-y 55 - "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" 56 - endef 57 - quiet_cmd_nr_irqs = GEN $@ 58 - define cmd_nr_irqs 59 - (set -e; \ 60 - echo "#ifndef __ASM_NR_IRQS_H__"; \ 61 - echo "#define __ASM_NR_IRQS_H__"; \ 62 - echo "/*"; \ 63 - echo " * DO NOT MODIFY."; \ 64 - echo " *"; \ 65 - echo " * This file was generated by Kbuild"; \ 66 - echo " *"; \ 67 - echo " */"; \ 68 - echo ""; \ 69 - sed -ne $(sed-y) $<; \ 70 - echo ""; \ 71 - echo "#endif" ) > $@ 72 - endef 73 - 74 53 # We use internal kbuild rules to avoid the "is up to date" message from make 75 54 arch/$(SRCARCH)/kernel/nr-irqs.s: arch/$(SRCARCH)/kernel/nr-irqs.c 76 55 $(Q)mkdir -p $(dir $@) 77 56 $(call if_changed_dep,cc_s_c) 78 57 79 - include/generated/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s 80 - $(Q)mkdir -p $(dir $@) 81 - $(call cmd,nr_irqs) 58 + include/generated/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s FORCE 59 + $(call filechk,offsets,__ASM_NR_IRQS_H__)
+1 -1
arch/ia64/kernel/Makefile.gate
··· 6 6 7 7 CPPFLAGS_gate.lds := -P -C -U$(ARCH) 8 8 9 - quiet_cmd_gate = GATE $@ 9 + quiet_cmd_gate = GATE $@ 10 10 cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@ 11 11 12 12 GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 \
+3 -3
include/linux/kbuild.h
··· 2 2 #define __LINUX_KBUILD_H 3 3 4 4 #define DEFINE(sym, val) \ 5 - asm volatile("\n->" #sym " %0 " #val : : "i" (val)) 5 + asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val)) 6 6 7 - #define BLANK() asm volatile("\n->" : : ) 7 + #define BLANK() asm volatile("\n.ascii \"->\"" : : ) 8 8 9 9 #define OFFSET(sym, str, mem) \ 10 10 DEFINE(sym, offsetof(struct str, mem)) 11 11 12 12 #define COMMENT(x) \ 13 - asm volatile("\n->#" x) 13 + asm volatile("\n.ascii \"->#" x "\"") 14 14 15 15 #endif
+3 -3
scripts/Kbuild.include
··· 116 116 # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) 117 117 118 118 cc-option = $(call try-run,\ 119 - $(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) 119 + $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) 120 120 121 121 # cc-option-yn 122 122 # Usage: flag := $(call cc-option-yn,-march=winchip-c6) 123 123 cc-option-yn = $(call try-run,\ 124 - $(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) 124 + $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) 125 125 126 126 # cc-option-align 127 127 # Prefix align with either -falign or -malign ··· 131 131 # cc-disable-warning 132 132 # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) 133 133 cc-disable-warning = $(call try-run,\ 134 - $(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) 134 + $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) 135 135 136 136 # cc-name 137 137 # Expands to either gcc or clang
+10 -2
scripts/Makefile.build
··· 177 177 $(obj)/%.symtypes : $(src)/%.c FORCE 178 178 $(call cmd,cc_symtypes_c) 179 179 180 + # LLVM assembly 181 + # Generate .ll files from .c 182 + quiet_cmd_cc_ll_c = CC $(quiet_modtag) $@ 183 + cmd_cc_ll_c = $(CC) $(c_flags) -emit-llvm -S -o $@ $< 184 + 185 + $(obj)/%.ll: $(src)/%.c FORCE 186 + $(call if_changed_dep,cc_ll_c) 187 + 180 188 # C (.c) files 181 189 # The C file is compiled and updated dependency information is generated. 182 190 # (See cmd_cc_o_c + relevant part of rule_cc_o_c) ··· 280 272 $(call echo-cmd,checksrc) $(cmd_checksrc) \ 281 273 $(call cmd_and_fixdep,cc_o_c) \ 282 274 $(cmd_modversions_c) \ 283 - $(cmd_objtool) \ 275 + $(call echo-cmd,objtool) $(cmd_objtool) \ 284 276 $(call echo-cmd,record_mcount) $(cmd_record_mcount) 285 277 endef 286 278 287 279 define rule_as_o_S 288 280 $(call cmd_and_fixdep,as_o_S) \ 289 281 $(cmd_modversions_S) \ 290 - $(cmd_objtool) 282 + $(call echo-cmd,objtool) $(cmd_objtool) 291 283 endef 292 284 293 285 # List module undefined symbols (or empty line if not enabled)
-8
scripts/Makefile.dtbinst
··· 20 20 include scripts/Kbuild.include 21 21 include $(src)/Makefile 22 22 23 - PHONY += __dtbs_install_prep 24 - __dtbs_install_prep: 25 - ifeq ("$(dtbinst-root)", "$(obj)") 26 - $(Q)mkdir -p $(INSTALL_DTBS_PATH) 27 - endif 28 - 29 23 dtbinst-files := $(dtb-y) 30 24 dtbinst-dirs := $(dts-dirs) 31 25 ··· 28 34 cmd_dtb_install = mkdir -p $(2); cp $< $(2) 29 35 30 36 install-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj)) 31 - 32 - $(dtbinst-files) $(dtbinst-dirs): | __dtbs_install_prep 33 37 34 38 $(dtbinst-files): %.dtb: $(obj)/%.dtb 35 39 $(call cmd,dtb_install,$(install-dir))
-1
scripts/Makefile.extrawarn
··· 64 64 KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides) 65 65 KBUILD_CFLAGS += $(call cc-disable-warning, unused-value) 66 66 KBUILD_CFLAGS += $(call cc-disable-warning, format) 67 - KBUILD_CFLAGS += $(call cc-disable-warning, unknown-warning-option) 68 67 KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare) 69 68 KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length) 70 69 KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized)
+31
scripts/Makefile.lib
··· 420 420 cmd_xzmisc = (cat $(filter-out FORCE,$^) | \ 421 421 xz --check=crc32 --lzma2=dict=1MiB) > $@ || \ 422 422 (rm -f $@ ; false) 423 + 424 + # ASM offsets 425 + # --------------------------------------------------------------------------- 426 + 427 + # Default sed regexp - multiline due to syntax constraints 428 + # 429 + # Use [:space:] because LLVM's integrated assembler inserts <tab> around 430 + # the .ascii directive whereas GCC keeps the <space> as-is. 431 + define sed-offsets 432 + 's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; \ 433 + /^->/{s:->#\(.*\):/* \1 */:; \ 434 + s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ 435 + s:->::; p;}' 436 + endef 437 + 438 + # Use filechk to avoid rebuilds when a header changes, but the resulting file 439 + # does not 440 + define filechk_offsets 441 + (set -e; \ 442 + echo "#ifndef $2"; \ 443 + echo "#define $2"; \ 444 + echo "/*"; \ 445 + echo " * DO NOT MODIFY."; \ 446 + echo " *"; \ 447 + echo " * This file was generated by Kbuild"; \ 448 + echo " */"; \ 449 + echo ""; \ 450 + sed -ne $(sed-offsets); \ 451 + echo ""; \ 452 + echo "#endif" ) 453 + endef
+246 -252
scripts/genksyms/parse.tab.c_shipped
··· 440 440 /* YYFINAL -- State number of the termination state. */ 441 441 #define YYFINAL 4 442 442 /* YYLAST -- Last index in YYTABLE. */ 443 - #define YYLAST 524 443 + #define YYLAST 522 444 444 445 445 /* YYNTOKENS -- Number of terminals. */ 446 446 #define YYNTOKENS 55 447 447 /* YYNNTS -- Number of nonterminals. */ 448 448 #define YYNNTS 49 449 449 /* YYNRULES -- Number of rules. */ 450 - #define YYNRULES 134 450 + #define YYNRULES 133 451 451 /* YYNRULES -- Number of states. */ 452 - #define YYNSTATES 189 452 + #define YYNSTATES 187 453 453 454 454 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 455 455 #define YYUNDEFTOK 2 ··· 506 506 97, 101, 105, 109, 112, 115, 118, 120, 122, 124, 507 507 126, 128, 130, 132, 134, 136, 138, 140, 142, 145, 508 508 146, 148, 150, 153, 155, 157, 159, 161, 164, 166, 509 - 168, 170, 175, 180, 183, 187, 191, 194, 196, 198, 510 - 200, 205, 210, 213, 217, 221, 224, 226, 230, 231, 511 - 233, 235, 239, 242, 245, 247, 248, 250, 252, 257, 512 - 262, 265, 269, 273, 277, 278, 280, 283, 287, 291, 513 - 292, 294, 296, 299, 303, 306, 307, 309, 311, 315, 514 - 318, 321, 323, 326, 327, 330, 334, 339, 341, 345, 515 - 347, 351, 354, 355, 357 509 + 168, 170, 175, 180, 183, 187, 190, 192, 194, 196, 510 + 201, 206, 209, 213, 217, 220, 222, 226, 227, 229, 511 + 231, 235, 238, 241, 243, 244, 246, 248, 253, 258, 512 + 261, 265, 269, 273, 274, 276, 279, 283, 287, 288, 513 + 290, 292, 295, 299, 302, 303, 305, 307, 311, 314, 514 + 317, 319, 322, 323, 326, 330, 335, 337, 341, 343, 515 + 347, 350, 351, 353 516 516 }; 517 517 518 518 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ ··· 536 536 74, 75, -1, 8, -1, 27, -1, 32, -1, 18, 537 537 -1, 72, 76, -1, 77, -1, 39, -1, 43, -1, 538 538 77, 49, 80, 50, -1, 77, 49, 1, 50, -1, 539 - 77, 35, -1, 49, 76, 50, -1, 49, 1, 50, 540 - -1, 72, 78, -1, 79, -1, 39, -1, 43, -1, 541 - 79, 49, 80, 50, -1, 79, 49, 1, 50, -1, 542 - 79, 35, -1, 49, 78, 50, -1, 49, 1, 50, 543 - -1, 81, 38, -1, 81, -1, 82, 48, 38, -1, 544 - -1, 82, -1, 83, -1, 82, 48, 83, -1, 67, 545 - 84, -1, 72, 84, -1, 85, -1, -1, 39, -1, 546 - 43, -1, 85, 49, 80, 50, -1, 85, 49, 1, 547 - 50, -1, 85, 35, -1, 49, 84, 50, -1, 49, 548 - 1, 50, -1, 66, 76, 34, -1, -1, 88, -1, 549 - 52, 36, -1, 53, 90, 47, -1, 53, 1, 47, 550 - -1, -1, 91, -1, 92, -1, 91, 92, -1, 66, 551 - 93, 46, -1, 1, 46, -1, -1, 94, -1, 95, 552 - -1, 94, 48, 95, -1, 78, 97, -1, 39, 96, 553 - -1, 96, -1, 54, 36, -1, -1, 97, 32, -1, 554 - 53, 99, 47, -1, 53, 99, 48, 47, -1, 100, 555 - -1, 99, 48, 100, -1, 39, -1, 39, 52, 36, 556 - -1, 31, 46, -1, -1, 31, -1, 30, 49, 39, 557 - 50, 46, -1 539 + 77, 35, -1, 49, 76, 50, -1, 72, 78, -1, 540 + 79, -1, 39, -1, 43, -1, 79, 49, 80, 50, 541 + -1, 79, 49, 1, 50, -1, 79, 35, -1, 49, 542 + 78, 50, -1, 49, 1, 50, -1, 81, 38, -1, 543 + 81, -1, 82, 48, 38, -1, -1, 82, -1, 83, 544 + -1, 82, 48, 83, -1, 67, 84, -1, 72, 84, 545 + -1, 85, -1, -1, 39, -1, 43, -1, 85, 49, 546 + 80, 50, -1, 85, 49, 1, 50, -1, 85, 35, 547 + -1, 49, 84, 50, -1, 49, 1, 50, -1, 66, 548 + 76, 34, -1, -1, 88, -1, 52, 36, -1, 53, 549 + 90, 47, -1, 53, 1, 47, -1, -1, 91, -1, 550 + 92, -1, 91, 92, -1, 66, 93, 46, -1, 1, 551 + 46, -1, -1, 94, -1, 95, -1, 94, 48, 95, 552 + -1, 78, 97, -1, 39, 96, -1, 96, -1, 54, 553 + 36, -1, -1, 97, 32, -1, 53, 99, 47, -1, 554 + 53, 99, 48, 47, -1, 100, -1, 99, 48, 100, 555 + -1, 39, -1, 39, 52, 36, -1, 31, 46, -1, 556 + -1, 31, -1, 30, 49, 39, 50, 46, -1 558 557 }; 559 558 560 559 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ··· 566 567 238, 240, 242, 247, 250, 251, 255, 256, 257, 258, 567 568 259, 260, 261, 262, 263, 264, 265, 266, 270, 275, 568 569 276, 280, 281, 285, 285, 285, 286, 294, 295, 299, 569 - 308, 317, 319, 321, 323, 325, 332, 333, 337, 338, 570 - 339, 341, 343, 345, 347, 352, 353, 354, 358, 359, 571 - 363, 364, 369, 374, 376, 380, 381, 389, 393, 395, 572 - 397, 399, 401, 406, 415, 416, 421, 426, 427, 431, 573 - 432, 436, 437, 441, 443, 448, 449, 453, 454, 458, 574 - 459, 460, 464, 468, 469, 473, 474, 478, 479, 482, 575 - 487, 495, 499, 500, 504 570 + 308, 317, 319, 321, 323, 330, 331, 335, 336, 337, 571 + 339, 341, 343, 345, 350, 351, 352, 356, 357, 361, 572 + 362, 367, 372, 374, 378, 379, 387, 391, 393, 395, 573 + 397, 399, 404, 413, 414, 419, 424, 425, 429, 430, 574 + 434, 435, 439, 441, 446, 447, 451, 452, 456, 457, 575 + 458, 462, 466, 467, 471, 472, 476, 477, 480, 485, 576 + 493, 497, 498, 502 576 577 }; 577 578 #endif 578 579 ··· 635 636 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 636 637 71, 71, 71, 71, 71, 71, 71, 71, 72, 73, 637 638 73, 74, 74, 75, 75, 75, 75, 76, 76, 77, 638 - 77, 77, 77, 77, 77, 77, 78, 78, 79, 79, 639 - 79, 79, 79, 79, 79, 80, 80, 80, 81, 81, 640 - 82, 82, 83, 84, 84, 85, 85, 85, 85, 85, 641 - 85, 85, 85, 86, 87, 87, 88, 89, 89, 90, 642 - 90, 91, 91, 92, 92, 93, 93, 94, 94, 95, 643 - 95, 95, 96, 97, 97, 98, 98, 99, 99, 100, 644 - 100, 101, 102, 102, 103 639 + 77, 77, 77, 77, 77, 78, 78, 79, 79, 79, 640 + 79, 79, 79, 79, 80, 80, 80, 81, 81, 82, 641 + 82, 83, 84, 84, 85, 85, 85, 85, 85, 85, 642 + 85, 85, 86, 87, 87, 88, 89, 89, 90, 90, 643 + 91, 91, 92, 92, 93, 93, 94, 94, 95, 95, 644 + 95, 96, 97, 97, 98, 98, 99, 99, 100, 100, 645 + 101, 102, 102, 103 645 646 }; 646 647 647 648 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ··· 654 655 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 655 656 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 656 657 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 657 - 1, 4, 4, 2, 3, 3, 2, 1, 1, 1, 658 - 4, 4, 2, 3, 3, 2, 1, 3, 0, 1, 659 - 1, 3, 2, 2, 1, 0, 1, 1, 4, 4, 660 - 2, 3, 3, 3, 0, 1, 2, 3, 3, 0, 661 - 1, 1, 2, 3, 2, 0, 1, 1, 3, 2, 662 - 2, 1, 2, 0, 2, 3, 4, 1, 3, 1, 663 - 3, 2, 0, 1, 5 658 + 1, 4, 4, 2, 3, 2, 1, 1, 1, 4, 659 + 4, 2, 3, 3, 2, 1, 3, 0, 1, 1, 660 + 3, 2, 2, 1, 0, 1, 1, 4, 4, 2, 661 + 3, 3, 3, 0, 1, 2, 3, 3, 0, 1, 662 + 1, 2, 3, 2, 0, 1, 1, 3, 2, 2, 663 + 1, 2, 0, 2, 3, 4, 1, 3, 1, 3, 664 + 2, 0, 1, 5 664 665 }; 665 666 666 667 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. ··· 674 675 0, 56, 0, 0, 65, 36, 57, 5, 10, 17, 675 676 23, 24, 26, 27, 33, 34, 11, 12, 13, 14, 676 677 15, 39, 0, 43, 6, 37, 0, 44, 22, 38, 677 - 45, 0, 0, 131, 69, 70, 0, 59, 0, 18, 678 - 19, 0, 132, 68, 25, 42, 129, 0, 127, 22, 679 - 40, 0, 115, 0, 0, 111, 9, 17, 41, 95, 680 - 0, 0, 0, 0, 58, 60, 61, 16, 0, 67, 681 - 133, 103, 123, 73, 0, 0, 125, 0, 7, 114, 682 - 108, 78, 79, 0, 0, 0, 123, 77, 0, 116, 683 - 117, 121, 107, 0, 112, 132, 96, 57, 0, 95, 684 - 92, 94, 35, 0, 75, 74, 62, 20, 104, 0, 685 - 0, 86, 89, 90, 130, 126, 128, 120, 0, 78, 686 - 0, 122, 76, 119, 82, 0, 113, 0, 0, 97, 687 - 0, 93, 100, 0, 134, 124, 0, 21, 105, 72, 688 - 71, 85, 0, 84, 83, 0, 0, 118, 102, 101, 689 - 0, 0, 106, 87, 91, 81, 80, 99, 98 678 + 45, 0, 0, 130, 69, 70, 0, 59, 0, 18, 679 + 19, 0, 131, 68, 25, 42, 128, 0, 126, 22, 680 + 40, 0, 114, 0, 0, 110, 9, 17, 41, 94, 681 + 0, 0, 0, 58, 60, 61, 16, 0, 67, 132, 682 + 102, 122, 73, 0, 0, 124, 0, 7, 113, 107, 683 + 77, 78, 0, 0, 0, 122, 76, 0, 115, 116, 684 + 120, 106, 0, 111, 131, 95, 57, 0, 94, 91, 685 + 93, 35, 0, 74, 62, 20, 103, 0, 0, 85, 686 + 88, 89, 129, 125, 127, 119, 0, 77, 0, 121, 687 + 75, 118, 81, 0, 112, 0, 0, 96, 0, 92, 688 + 99, 0, 133, 123, 0, 21, 104, 72, 71, 84, 689 + 0, 83, 82, 0, 0, 117, 101, 100, 0, 0, 690 + 105, 86, 90, 80, 79, 98, 97 690 691 }; 691 692 692 693 /* YYDEFGOTO[NTERM-NUM]. */ 693 694 static const yytype_int16 yydefgoto[] = 694 695 { 695 696 -1, 1, 2, 3, 37, 79, 58, 38, 68, 69, 696 - 70, 82, 40, 41, 42, 43, 44, 71, 94, 95, 697 - 45, 125, 73, 116, 117, 140, 141, 142, 143, 130, 698 - 131, 46, 167, 168, 57, 83, 84, 85, 118, 119, 699 - 120, 121, 138, 53, 77, 78, 47, 102, 48 697 + 70, 82, 40, 41, 42, 43, 44, 71, 93, 94, 698 + 45, 124, 73, 115, 116, 138, 139, 140, 141, 129, 699 + 130, 46, 165, 166, 57, 83, 84, 85, 117, 118, 700 + 119, 120, 136, 53, 77, 78, 47, 101, 48 700 701 }; 701 702 702 703 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 703 704 STATE-NUM. */ 704 - #define YYPACT_NINF -111 705 + #define YYPACT_NINF -94 705 706 static const yytype_int16 yypact[] = 706 707 { 707 - -111, 13, -111, 210, -111, -111, 28, -111, -111, -111, 708 - -111, -111, -27, -111, 44, -111, -111, -111, -111, -111, 709 - -111, -111, -111, -111, -24, -111, -20, -111, -111, -111, 710 - 31, -111, 32, 42, -111, -111, -111, -111, -111, 34, 711 - 481, -111, -111, -111, -111, -111, -111, -111, -111, -111, 712 - -111, 51, 56, -111, -111, 52, 108, -111, 481, 52, 713 - -111, 481, 58, -111, -111, -111, 19, 0, 54, 55, 714 - -111, 34, 30, -18, -111, -111, 68, -25, -111, 481, 715 - -111, 45, 33, 59, 159, -111, -111, 34, -111, 395, 716 - 57, 60, 81, 88, -111, 0, -111, -111, 34, -111, 717 - -111, -111, -111, -111, 257, 72, -111, -23, -111, -111, 718 - -111, 85, -111, 20, 106, 47, -111, -10, 97, 96, 719 - -111, -111, -111, 99, -111, 115, -111, -111, 5, 50, 720 - -111, 11, -111, 102, -111, -111, -111, -111, -22, 100, 721 - 103, 111, 104, -111, -111, -111, -111, -111, 113, -111, 722 - 121, -111, -111, 124, -111, 303, -111, 33, 132, -111, 723 - 139, -111, -111, 349, -111, -111, 122, -111, -111, -111, 724 - -111, -111, 442, -111, -111, 140, 143, -111, -111, -111, 725 - 144, 145, -111, -111, -111, -111, -111, -111, -111 708 + -94, 15, -94, 208, -94, -94, 34, -94, -94, -94, 709 + -94, -94, -27, -94, -5, -94, -94, -94, -94, -94, 710 + -94, -94, -94, -94, -25, -94, -16, -94, -94, -94, 711 + -4, -94, 19, -24, -94, -94, -94, -94, -94, 24, 712 + 479, -94, -94, -94, -94, -94, -94, -94, -94, -94, 713 + -94, 29, 48, -94, -94, 37, 106, -94, 479, 37, 714 + -94, 479, 54, -94, -94, -94, 24, -2, 49, 53, 715 + -94, 24, -14, -11, -94, -94, 47, 38, -94, 479, 716 + -94, 51, 23, 55, 157, -94, -94, 24, -94, 393, 717 + 56, 58, 68, -94, -2, -94, -94, 24, -94, -94, 718 + -94, -94, -94, 255, 67, -94, 5, -94, -94, -94, 719 + 50, -94, 7, 69, 40, -94, -8, 83, 88, -94, 720 + -94, -94, 91, -94, 109, -94, -94, 4, 45, -94, 721 + 16, -94, 95, -94, -94, -94, -23, 92, 93, 108, 722 + 96, -94, -94, -94, -94, -94, 97, -94, 98, -94, 723 + -94, 118, -94, 301, -94, 23, 101, -94, 104, -94, 724 + -94, 347, -94, -94, 120, -94, -94, -94, -94, -94, 725 + 440, -94, -94, 111, 119, -94, -94, -94, 130, 137, 726 + -94, -94, -94, -94, -94, -94, -94 726 727 }; 727 728 728 729 /* YYPGOTO[NTERM-NUM]. */ 729 730 static const yytype_int16 yypgoto[] = 730 731 { 731 - -111, -111, 160, -111, -111, -111, -111, -51, -111, -111, 732 - 98, -1, -61, -37, -111, -111, -111, -78, -111, -111, 733 - -53, -30, -111, -66, -111, -110, -111, -111, -60, -63, 734 - -111, -111, -111, -111, -21, -111, -111, 116, -111, -111, 735 - 40, 90, 83, 152, -111, 105, -111, -111, -111 732 + -94, -94, 158, -94, -94, -94, -94, -45, -94, -94, 733 + 94, -1, -61, -29, -94, -94, -94, -79, -94, -94, 734 + -63, -7, -94, -93, -94, -92, -94, -94, -60, -57, 735 + -94, -94, -94, -94, -19, -94, -94, 110, -94, -94, 736 + 33, 82, 78, 144, -94, 99, -94, -94, -94 736 737 }; 737 738 738 739 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 739 740 positive, shift that token. If negative, reduce the rule which 740 741 number is the opposite. If YYTABLE_NINF, syntax error. */ 741 - #define YYTABLE_NINF -111 742 + #define YYTABLE_NINF -110 742 743 static const yytype_int16 yytable[] = 743 744 { 744 - 89, 90, 39, 74, 115, 60, 158, 86, 10, 72, 745 - 165, 129, 51, 4, 96, 55, 76, 103, 20, 59, 746 - 92, 148, 106, 107, 145, 154, 52, 29, 108, 56, 747 - 166, 104, 34, 56, 80, 115, 93, 115, 88, 155, 748 - -95, 99, 136, 89, 126, 176, 162, 150, 159, 152, 749 - 129, 129, 74, 181, 128, -95, 67, 87, 64, 149, 750 - 163, 100, 65, 112, 101, 160, 161, 54, 66, 113, 751 - 67, 67, 111, 64, 49, 50, 112, 65, 87, 115, 752 - 61, 62, 113, 66, 67, 67, 149, 114, 63, 126, 753 - 112, 109, 110, 159, 89, 76, 113, 91, 67, 128, 754 - 97, 67, 89, 98, 52, 56, 122, 132, 144, 81, 755 - 133, 89, 184, 7, 8, 9, 10, 11, 12, 13, 756 - 105, 15, 16, 17, 18, 19, 20, 21, 22, 23, 757 - 24, 134, 26, 27, 28, 29, 30, 31, 135, 114, 758 - 34, 35, 151, 156, 157, 109, 100, -22, 164, 171, 759 - 169, 36, 172, 170, -22, -109, 165, -22, 182, -22, 760 - 123, 5, -22, 173, 7, 8, 9, 10, 11, 12, 761 - 13, 174, 15, 16, 17, 18, 19, 20, 21, 22, 762 - 23, 24, 178, 26, 27, 28, 29, 30, 31, 179, 763 - 185, 34, 35, 186, 187, 188, 137, 177, -22, 153, 764 - 124, 147, 36, 75, 0, -22, -110, 0, -22, 0, 765 - -22, 6, 146, -22, 0, 7, 8, 9, 10, 11, 766 - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 767 - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 768 - 32, 33, 34, 35, 0, 0, 0, 0, 0, -22, 769 - 0, 0, 0, 36, 0, 0, -22, 0, 139, -22, 770 - 0, -22, 7, 8, 9, 10, 11, 12, 13, 0, 745 + 89, 90, 39, 114, 95, 156, 10, 60, 146, 163, 746 + 128, 74, 51, 86, 55, 4, 20, 99, 54, 148, 747 + 100, 150, 63, 59, 102, 29, 52, 152, 56, 164, 748 + 34, 134, 72, 114, 107, 114, 80, 56, 103, -94, 749 + 88, 153, 89, 125, 76, 61, 147, 157, 128, 128, 750 + 111, 160, 143, 127, -94, 67, 112, 87, 67, 92, 751 + 74, 174, 110, 64, 98, 161, 111, 65, 62, 179, 752 + 158, 159, 112, 66, 67, 67, 114, 113, 87, 147, 753 + 49, 50, 52, 111, 125, 105, 106, 76, 157, 112, 754 + 56, 67, 89, 91, 127, 96, 67, 108, 109, 104, 755 + 89, 97, 121, 142, 113, 149, 131, 81, 132, 89, 756 + 182, 7, 8, 9, 10, 11, 12, 13, 133, 15, 757 + 16, 17, 18, 19, 20, 21, 22, 23, 24, 154, 758 + 26, 27, 28, 29, 30, 31, 155, 108, 34, 35, 759 + 99, 162, 167, 168, 170, -22, 169, 171, 172, 36, 760 + 163, 176, -22, -108, 177, -22, 180, -22, 122, 5, 761 + -22, 183, 7, 8, 9, 10, 11, 12, 13, 184, 771 762 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 772 - 0, 26, 27, 28, 29, 30, 31, 0, 0, 34, 773 - 35, 0, 0, 0, 0, -88, 0, 0, 0, 0, 774 - 36, 0, 0, 0, 175, 0, 0, -88, 7, 8, 775 - 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 776 - 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, 777 - 29, 30, 31, 0, 0, 34, 35, 0, 0, 0, 778 - 0, -88, 0, 0, 0, 0, 36, 0, 0, 0, 779 - 180, 0, 0, -88, 7, 8, 9, 10, 11, 12, 780 - 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 781 - 23, 24, 0, 26, 27, 28, 29, 30, 31, 0, 782 - 0, 34, 35, 0, 0, 0, 0, -88, 0, 0, 783 - 0, 0, 36, 0, 0, 0, 0, 0, 0, -88, 763 + 185, 26, 27, 28, 29, 30, 31, 186, 175, 34, 764 + 35, 135, 145, 151, 123, 75, -22, 0, 0, 0, 765 + 36, 0, 0, -22, -109, 144, -22, 0, -22, 6, 766 + 0, -22, 0, 7, 8, 9, 10, 11, 12, 13, 767 + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 768 + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 769 + 34, 35, 0, 0, 0, 0, 0, -22, 0, 0, 770 + 0, 36, 0, 0, -22, 0, 137, -22, 0, -22, 784 771 7, 8, 9, 10, 11, 12, 13, 0, 15, 16, 785 772 17, 18, 19, 20, 21, 22, 23, 24, 0, 26, 786 773 27, 28, 29, 30, 31, 0, 0, 34, 35, 0, 787 - 0, 0, 0, 0, 126, 0, 0, 0, 127, 0, 788 - 0, 0, 0, 0, 128, 0, 67, 7, 8, 9, 789 - 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 790 - 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, 791 - 30, 31, 0, 0, 34, 35, 0, 0, 0, 0, 792 - 183, 0, 0, 0, 0, 36, 7, 8, 9, 10, 774 + 0, 0, 0, -87, 0, 0, 0, 0, 36, 0, 775 + 0, 0, 173, 0, 0, -87, 7, 8, 9, 10, 793 776 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 794 777 21, 22, 23, 24, 0, 26, 27, 28, 29, 30, 795 - 31, 0, 0, 34, 35, 0, 0, 0, 0, 0, 796 - 0, 0, 0, 0, 36 778 + 31, 0, 0, 34, 35, 0, 0, 0, 0, -87, 779 + 0, 0, 0, 0, 36, 0, 0, 0, 178, 0, 780 + 0, -87, 7, 8, 9, 10, 11, 12, 13, 0, 781 + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 782 + 0, 26, 27, 28, 29, 30, 31, 0, 0, 34, 783 + 35, 0, 0, 0, 0, -87, 0, 0, 0, 0, 784 + 36, 0, 0, 0, 0, 0, 0, -87, 7, 8, 785 + 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 786 + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, 787 + 29, 30, 31, 0, 0, 34, 35, 0, 0, 0, 788 + 0, 0, 125, 0, 0, 0, 126, 0, 0, 0, 789 + 0, 0, 127, 0, 67, 7, 8, 9, 10, 11, 790 + 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 791 + 22, 23, 24, 0, 26, 27, 28, 29, 30, 31, 792 + 0, 0, 34, 35, 0, 0, 0, 0, 181, 0, 793 + 0, 0, 0, 36, 7, 8, 9, 10, 11, 12, 794 + 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 795 + 23, 24, 0, 26, 27, 28, 29, 30, 31, 0, 796 + 0, 34, 35, 0, 0, 0, 0, 0, 0, 0, 797 + 0, 0, 36 797 798 }; 798 799 799 800 #define yypact_value_is_default(Yystate) \ 800 - (!!((Yystate) == (-111))) 801 + (!!((Yystate) == (-94))) 801 802 802 803 #define yytable_value_is_error(Yytable_value) \ 803 804 YYID (0) 804 805 805 806 static const yytype_int16 yycheck[] = 806 807 { 807 - 61, 61, 3, 40, 82, 26, 1, 58, 8, 39, 808 - 32, 89, 39, 0, 67, 39, 39, 35, 18, 39, 809 - 1, 1, 47, 48, 47, 35, 53, 27, 79, 53, 810 - 52, 49, 32, 53, 55, 113, 66, 115, 59, 49, 811 - 35, 71, 95, 104, 39, 155, 35, 113, 43, 115, 812 - 128, 129, 89, 163, 49, 50, 51, 58, 39, 39, 813 - 49, 31, 43, 43, 34, 128, 129, 23, 49, 49, 814 - 51, 51, 39, 39, 46, 47, 43, 43, 79, 157, 815 - 49, 49, 49, 49, 51, 51, 39, 54, 46, 39, 816 - 43, 46, 47, 43, 155, 39, 49, 39, 51, 49, 817 - 46, 51, 163, 48, 53, 53, 47, 50, 36, 1, 818 - 50, 172, 172, 5, 6, 7, 8, 9, 10, 11, 819 - 52, 13, 14, 15, 16, 17, 18, 19, 20, 21, 820 - 22, 50, 24, 25, 26, 27, 28, 29, 50, 54, 821 - 32, 33, 36, 46, 48, 46, 31, 39, 46, 38, 822 - 50, 43, 48, 50, 46, 47, 32, 49, 36, 51, 823 - 1, 1, 54, 50, 5, 6, 7, 8, 9, 10, 824 - 11, 50, 13, 14, 15, 16, 17, 18, 19, 20, 825 - 21, 22, 50, 24, 25, 26, 27, 28, 29, 50, 826 - 50, 32, 33, 50, 50, 50, 98, 157, 39, 116, 827 - 84, 111, 43, 51, -1, 46, 47, -1, 49, -1, 828 - 51, 1, 107, 54, -1, 5, 6, 7, 8, 9, 829 - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 830 - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 831 - 30, 31, 32, 33, -1, -1, -1, -1, -1, 39, 832 - -1, -1, -1, 43, -1, -1, 46, -1, 1, 49, 833 - -1, 51, 5, 6, 7, 8, 9, 10, 11, -1, 808 + 61, 61, 3, 82, 67, 1, 8, 26, 1, 32, 809 + 89, 40, 39, 58, 39, 0, 18, 31, 23, 112, 810 + 34, 114, 46, 39, 35, 27, 53, 35, 53, 52, 811 + 32, 94, 39, 112, 79, 114, 55, 53, 49, 35, 812 + 59, 49, 103, 39, 39, 49, 39, 43, 127, 128, 813 + 43, 35, 47, 49, 50, 51, 49, 58, 51, 66, 814 + 89, 153, 39, 39, 71, 49, 43, 43, 49, 161, 815 + 127, 128, 49, 49, 51, 51, 155, 54, 79, 39, 816 + 46, 47, 53, 43, 39, 47, 48, 39, 43, 49, 817 + 53, 51, 153, 39, 49, 46, 51, 46, 47, 52, 818 + 161, 48, 47, 36, 54, 36, 50, 1, 50, 170, 819 + 170, 5, 6, 7, 8, 9, 10, 11, 50, 13, 820 + 14, 15, 16, 17, 18, 19, 20, 21, 22, 46, 821 + 24, 25, 26, 27, 28, 29, 48, 46, 32, 33, 822 + 31, 46, 50, 50, 48, 39, 38, 50, 50, 43, 823 + 32, 50, 46, 47, 50, 49, 36, 51, 1, 1, 824 + 54, 50, 5, 6, 7, 8, 9, 10, 11, 50, 834 825 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 835 - -1, 24, 25, 26, 27, 28, 29, -1, -1, 32, 836 - 33, -1, -1, -1, -1, 38, -1, -1, -1, -1, 837 - 43, -1, -1, -1, 1, -1, -1, 50, 5, 6, 838 - 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 839 - 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, 840 - 27, 28, 29, -1, -1, 32, 33, -1, -1, -1, 841 - -1, 38, -1, -1, -1, -1, 43, -1, -1, -1, 842 - 1, -1, -1, 50, 5, 6, 7, 8, 9, 10, 843 - 11, -1, 13, 14, 15, 16, 17, 18, 19, 20, 844 - 21, 22, -1, 24, 25, 26, 27, 28, 29, -1, 845 - -1, 32, 33, -1, -1, -1, -1, 38, -1, -1, 846 - -1, -1, 43, -1, -1, -1, -1, -1, -1, 50, 826 + 50, 24, 25, 26, 27, 28, 29, 50, 155, 32, 827 + 33, 97, 110, 115, 84, 51, 39, -1, -1, -1, 828 + 43, -1, -1, 46, 47, 106, 49, -1, 51, 1, 829 + -1, 54, -1, 5, 6, 7, 8, 9, 10, 11, 830 + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 831 + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 832 + 32, 33, -1, -1, -1, -1, -1, 39, -1, -1, 833 + -1, 43, -1, -1, 46, -1, 1, 49, -1, 51, 847 834 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 848 835 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, 849 836 25, 26, 27, 28, 29, -1, -1, 32, 33, -1, 850 - -1, -1, -1, -1, 39, -1, -1, -1, 43, -1, 851 - -1, -1, -1, -1, 49, -1, 51, 5, 6, 7, 852 - 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 853 - 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, 854 - 28, 29, -1, -1, 32, 33, -1, -1, -1, -1, 855 - 38, -1, -1, -1, -1, 43, 5, 6, 7, 8, 837 + -1, -1, -1, 38, -1, -1, -1, -1, 43, -1, 838 + -1, -1, 1, -1, -1, 50, 5, 6, 7, 8, 856 839 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 857 840 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 858 - 29, -1, -1, 32, 33, -1, -1, -1, -1, -1, 859 - -1, -1, -1, -1, 43 841 + 29, -1, -1, 32, 33, -1, -1, -1, -1, 38, 842 + -1, -1, -1, -1, 43, -1, -1, -1, 1, -1, 843 + -1, 50, 5, 6, 7, 8, 9, 10, 11, -1, 844 + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 845 + -1, 24, 25, 26, 27, 28, 29, -1, -1, 32, 846 + 33, -1, -1, -1, -1, 38, -1, -1, -1, -1, 847 + 43, -1, -1, -1, -1, -1, -1, 50, 5, 6, 848 + 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 849 + 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, 850 + 27, 28, 29, -1, -1, 32, 33, -1, -1, -1, 851 + -1, -1, 39, -1, -1, -1, 43, -1, -1, -1, 852 + -1, -1, 49, -1, 51, 5, 6, 7, 8, 9, 853 + 10, 11, -1, 13, 14, 15, 16, 17, 18, 19, 854 + 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 855 + -1, -1, 32, 33, -1, -1, -1, -1, 38, -1, 856 + -1, -1, -1, 43, 5, 6, 7, 8, 9, 10, 857 + 11, -1, 13, 14, 15, 16, 17, 18, 19, 20, 858 + 21, 22, -1, 24, 25, 26, 27, 28, 29, -1, 859 + -1, 32, 33, -1, -1, -1, -1, -1, -1, -1, 860 + -1, -1, 43 860 861 }; 861 862 862 863 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing ··· 872 873 89, 49, 49, 46, 39, 43, 49, 51, 63, 64, 873 874 65, 72, 76, 77, 68, 98, 39, 99, 100, 60, 874 875 89, 1, 66, 90, 91, 92, 62, 66, 89, 67, 875 - 83, 39, 1, 76, 73, 74, 75, 46, 48, 76, 876 - 31, 34, 102, 35, 49, 52, 47, 48, 62, 46, 877 - 47, 39, 43, 49, 54, 72, 78, 79, 93, 94, 878 - 95, 96, 47, 1, 92, 76, 39, 43, 49, 72, 879 - 84, 85, 50, 50, 50, 50, 75, 65, 97, 1, 880 - 80, 81, 82, 83, 36, 47, 100, 96, 1, 39, 881 - 78, 36, 78, 97, 35, 49, 46, 48, 1, 43, 882 - 84, 84, 35, 49, 46, 32, 52, 87, 88, 50, 883 - 50, 38, 48, 50, 50, 1, 80, 95, 50, 50, 884 - 1, 80, 36, 38, 83, 50, 50, 50, 50 876 + 83, 39, 76, 73, 74, 75, 46, 48, 76, 31, 877 + 34, 102, 35, 49, 52, 47, 48, 62, 46, 47, 878 + 39, 43, 49, 54, 72, 78, 79, 93, 94, 95, 879 + 96, 47, 1, 92, 76, 39, 43, 49, 72, 84, 880 + 85, 50, 50, 50, 75, 65, 97, 1, 80, 81, 881 + 82, 83, 36, 47, 100, 96, 1, 39, 78, 36, 882 + 78, 97, 35, 49, 46, 48, 1, 43, 84, 84, 883 + 35, 49, 46, 32, 52, 87, 88, 50, 50, 38, 884 + 48, 50, 50, 1, 80, 95, 50, 50, 1, 80, 885 + 36, 38, 83, 50, 50, 50, 50 885 886 }; 886 887 887 888 #define yyerrok (yyerrstatus = 0) ··· 1927 1928 1928 1929 case 75: 1929 1930 1930 - { (yyval) = (yyvsp[(3) - (3)]); } 1931 + { (yyval) = (yyvsp[(2) - (2)]); } 1931 1932 break; 1932 1933 1933 - case 76: 1934 + case 79: 1934 1935 1935 - { (yyval) = (yyvsp[(2) - (2)]); } 1936 + { (yyval) = (yyvsp[(4) - (4)]); } 1936 1937 break; 1937 1938 1938 1939 case 80: ··· 1942 1943 1943 1944 case 81: 1944 1945 1945 - { (yyval) = (yyvsp[(4) - (4)]); } 1946 + { (yyval) = (yyvsp[(2) - (2)]); } 1946 1947 break; 1947 1948 1948 1949 case 82: 1949 1950 1950 - { (yyval) = (yyvsp[(2) - (2)]); } 1951 + { (yyval) = (yyvsp[(3) - (3)]); } 1951 1952 break; 1952 1953 1953 1954 case 83: ··· 1957 1958 1958 1959 case 84: 1959 1960 1960 - { (yyval) = (yyvsp[(3) - (3)]); } 1961 + { (yyval) = (yyvsp[(2) - (2)]); } 1961 1962 break; 1962 1963 1963 - case 85: 1964 + case 86: 1964 1965 1965 - { (yyval) = (yyvsp[(2) - (2)]); } 1966 + { (yyval) = (yyvsp[(3) - (3)]); } 1966 1967 break; 1967 1968 1968 1969 case 87: 1969 1970 1970 - { (yyval) = (yyvsp[(3) - (3)]); } 1971 + { (yyval) = NULL; } 1971 1972 break; 1972 1973 1973 - case 88: 1974 + case 90: 1974 1975 1975 - { (yyval) = NULL; } 1976 + { (yyval) = (yyvsp[(3) - (3)]); } 1976 1977 break; 1977 1978 1978 1979 case 91: 1979 1980 1980 - { (yyval) = (yyvsp[(3) - (3)]); } 1981 + { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 1981 1982 break; 1982 1983 1983 1984 case 92: ··· 1985 1986 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 1986 1987 break; 1987 1988 1988 - case 93: 1989 - 1990 - { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 1991 - break; 1992 - 1993 - case 95: 1989 + case 94: 1994 1990 1995 1991 { (yyval) = NULL; } 1996 1992 break; 1997 1993 1998 - case 96: 1994 + case 95: 1999 1995 2000 1996 { /* For version 2 checksums, we don't want to remember 2001 1997 private parameter names. */ ··· 1999 2005 } 2000 2006 break; 2001 2007 2002 - case 97: 2008 + case 96: 2003 2009 2004 2010 { remove_node((yyvsp[(1) - (1)])); 2005 2011 (yyval) = (yyvsp[(1) - (1)]); 2006 2012 } 2013 + break; 2014 + 2015 + case 97: 2016 + 2017 + { (yyval) = (yyvsp[(4) - (4)]); } 2007 2018 break; 2008 2019 2009 2020 case 98: ··· 2018 2019 2019 2020 case 99: 2020 2021 2021 - { (yyval) = (yyvsp[(4) - (4)]); } 2022 + { (yyval) = (yyvsp[(2) - (2)]); } 2022 2023 break; 2023 2024 2024 2025 case 100: 2025 2026 2026 - { (yyval) = (yyvsp[(2) - (2)]); } 2027 + { (yyval) = (yyvsp[(3) - (3)]); } 2027 2028 break; 2028 2029 2029 2030 case 101: ··· 2033 2034 2034 2035 case 102: 2035 2036 2036 - { (yyval) = (yyvsp[(3) - (3)]); } 2037 - break; 2038 - 2039 - case 103: 2040 - 2041 2037 { struct string_list *decl = *(yyvsp[(2) - (3)]); 2042 2038 *(yyvsp[(2) - (3)]) = NULL; 2043 2039 add_symbol(current_name, SYM_NORMAL, decl, is_extern); ··· 2040 2046 } 2041 2047 break; 2042 2048 2043 - case 104: 2049 + case 103: 2044 2050 2045 2051 { (yyval) = NULL; } 2046 2052 break; 2047 2053 2048 - case 106: 2054 + case 105: 2049 2055 2050 2056 { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); } 2057 + break; 2058 + 2059 + case 106: 2060 + 2061 + { (yyval) = (yyvsp[(3) - (3)]); } 2051 2062 break; 2052 2063 2053 2064 case 107: ··· 2062 2063 2063 2064 case 108: 2064 2065 2065 - { (yyval) = (yyvsp[(3) - (3)]); } 2066 + { (yyval) = NULL; } 2066 2067 break; 2067 2068 2068 - case 109: 2069 + case 111: 2069 2070 2070 - { (yyval) = NULL; } 2071 + { (yyval) = (yyvsp[(2) - (2)]); } 2071 2072 break; 2072 2073 2073 2074 case 112: 2074 2075 2075 - { (yyval) = (yyvsp[(2) - (2)]); } 2076 + { (yyval) = (yyvsp[(3) - (3)]); } 2076 2077 break; 2077 2078 2078 2079 case 113: 2079 2080 2080 - { (yyval) = (yyvsp[(3) - (3)]); } 2081 + { (yyval) = (yyvsp[(2) - (2)]); } 2081 2082 break; 2082 2083 2083 2084 case 114: 2084 2085 2085 - { (yyval) = (yyvsp[(2) - (2)]); } 2086 - break; 2087 - 2088 - case 115: 2089 - 2090 2086 { (yyval) = NULL; } 2091 2087 break; 2092 2088 2093 - case 118: 2089 + case 117: 2094 2090 2095 2091 { (yyval) = (yyvsp[(3) - (3)]); } 2096 2092 break; 2097 2093 2098 - case 119: 2094 + case 118: 2099 2095 2100 2096 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); } 2101 2097 break; 2102 2098 2103 - case 120: 2099 + case 119: 2100 + 2101 + { (yyval) = (yyvsp[(2) - (2)]); } 2102 + break; 2103 + 2104 + case 121: 2104 2105 2105 2106 { (yyval) = (yyvsp[(2) - (2)]); } 2106 2107 break; 2107 2108 2108 2109 case 122: 2109 2110 2110 - { (yyval) = (yyvsp[(2) - (2)]); } 2111 - break; 2112 - 2113 - case 123: 2114 - 2115 2111 { (yyval) = NULL; } 2116 2112 break; 2117 2113 2118 - case 125: 2114 + case 124: 2119 2115 2120 2116 { (yyval) = (yyvsp[(3) - (3)]); } 2121 2117 break; 2122 2118 2123 - case 126: 2119 + case 125: 2124 2120 2125 2121 { (yyval) = (yyvsp[(4) - (4)]); } 2126 2122 break; 2127 2123 2128 - case 129: 2124 + case 128: 2129 2125 2130 2126 { 2131 2127 const char *name = strdup((*(yyvsp[(1) - (1)]))->string); ··· 2128 2134 } 2129 2135 break; 2130 2136 2131 - case 130: 2137 + case 129: 2132 2138 2133 2139 { 2134 2140 const char *name = strdup((*(yyvsp[(1) - (3)]))->string); ··· 2137 2143 } 2138 2144 break; 2139 2145 2140 - case 131: 2146 + case 130: 2141 2147 2142 2148 { (yyval) = (yyvsp[(2) - (2)]); } 2143 2149 break; 2144 2150 2145 - case 132: 2151 + case 131: 2146 2152 2147 2153 { (yyval) = NULL; } 2148 2154 break; 2149 2155 2150 - case 134: 2156 + case 133: 2151 2157 2152 2158 { export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); } 2153 2159 break;
-2
scripts/genksyms/parse.y
··· 322 322 { $$ = $2; } 323 323 | '(' declarator ')' 324 324 { $$ = $3; } 325 - | '(' error ')' 326 - { $$ = $3; } 327 325 ; 328 326 329 327 /* Nested declarators differ from regular declarators in that they do
+2 -26
scripts/mod/Makefile
··· 7 7 8 8 devicetable-offsets-file := devicetable-offsets.h 9 9 10 - define sed-y 11 - "/^->/{s:->#\(.*\):/* \1 */:; \ 12 - s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ 13 - s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ 14 - s:->::; p;}" 15 - endef 16 - 17 - quiet_cmd_offsets = GEN $@ 18 - define cmd_offsets 19 - (set -e; \ 20 - echo "#ifndef __DEVICETABLE_OFFSETS_H__"; \ 21 - echo "#define __DEVICETABLE_OFFSETS_H__"; \ 22 - echo "/*"; \ 23 - echo " * DO NOT MODIFY."; \ 24 - echo " *"; \ 25 - echo " * This file was generated by Kbuild"; \ 26 - echo " *"; \ 27 - echo " */"; \ 28 - echo ""; \ 29 - sed -ne $(sed-y) $<; \ 30 - echo ""; \ 31 - echo "#endif" ) > $@ 32 - endef 33 - 34 - $(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s 35 - $(call if_changed,offsets) 10 + $(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s FORCE 11 + $(call filechk,offsets,__DEVICETABLE_OFFSETS_H__) 36 12 37 13 targets += $(devicetable-offsets-file) devicetable-offsets.s 38 14