From 586441763180c07af95394c48253a771645a738e Mon Sep 17 00:00:00 2001 From: Mauro Ribeiro Date: Thu, 8 Jan 2015 07:50:39 -0200 Subject: [PATCH] restore the kernel version handling back to 3.10 stocks. Change-Id: I67b9a8c82220169dc6c6a38c3c6d3f158233ebd9 --- Makefile | 40 +- init/version.c | 2 +- kernel/printk.c | 2 +- scripts/Makefile.lib | 6 - scripts/amlogic/aml2dts.sh | 71 -- scripts/amlogic/aml_dtd.sh | 114 --- scripts/amlogic/mk_h15.sh | 21 - scripts/amlogic/mk_m6.sh | 20 - scripts/amlogic/mk_m6tv.sh | 21 - scripts/amlogic/mk_m6tvd.sh | 21 - scripts/amlogic/mk_m8.sh | 20 - scripts/amlogic/mk_m8b.sh | 20 - scripts/amlogic/mk_m8m2.sh | 20 - scripts/kconfig/confdata.c | 14 +- scripts/kconfig/expr.h | 3 - scripts/kconfig/lkc.h | 3 - scripts/kconfig/symbol.c | 11 - scripts/kconfig/util.c | 36 +- scripts/kconfig/zconf.gperf | 1 - scripts/kconfig/zconf.hash.c_shipped | 196 ++--- scripts/kconfig/zconf.tab.c_shipped | 1212 ++++++++++++-------------- scripts/kconfig/zconf.y | 8 - 22 files changed, 688 insertions(+), 1174 deletions(-) delete mode 100755 scripts/amlogic/aml2dts.sh delete mode 100755 scripts/amlogic/aml_dtd.sh delete mode 100755 scripts/amlogic/mk_h15.sh delete mode 100755 scripts/amlogic/mk_m6.sh delete mode 100755 scripts/amlogic/mk_m6tv.sh delete mode 100755 scripts/amlogic/mk_m6tvd.sh delete mode 100755 scripts/amlogic/mk_m8.sh delete mode 100755 scripts/amlogic/mk_m8b.sh delete mode 100755 scripts/amlogic/mk_m8m2.sh diff --git a/Makefile b/Makefile index b9b3e6ab5470..9cf513828341 100644 --- a/Makefile +++ b/Makefile @@ -193,7 +193,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \ # Default value for CROSS_COMPILE is not to prefix executables # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile ARCH ?= $(SUBARCH) -CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) +CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) # Architecture as present in compile.h UTS_MACHINE := $(ARCH) @@ -373,23 +373,7 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -fno-common \ -Werror-implicit-function-declaration \ -Wno-format-security \ - -fno-delete-null-pointer-checks - -KBUILD_CFLAGS += -Werror=enum-compare \ - -Werror=comment \ - -Werror=implicit-int \ - -Werror=missing-braces \ - -Werror=unused-value \ - -Werror=format \ - -Werror=switch \ - -Werror=strict-prototypes \ - -Werror=unused-label \ - -Werror=undef \ - -Werror=unused-result \ - -Werror=return-type \ - -Werror=parentheses \ - -Werror=int-to-pointer-cast \ - -Wno-error=cpp + -fno-delete-null-pointer-checks KBUILD_AFLAGS_KERNEL := KBUILD_CFLAGS_KERNEL := KBUILD_AFLAGS := -D__ASSEMBLY__ @@ -398,11 +382,9 @@ KBUILD_CFLAGS_MODULE := -DMODULE KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds # Read KERNELRELEASE from include/config/kernel.release (if it exists) -KERNELRELEASE = $(shell head -1 include/config/kernel.release 2> /dev/null) -KERNELRELEASE_FULL = $(shell tail -1 include/config/kernel.release 2> /dev/null) +KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION) - export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC export CPP AR NM STRIP OBJCOPY OBJDUMP @@ -591,7 +573,7 @@ all: vmlinux ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) else -KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) +KBUILD_CFLAGS += -O2 endif include $(srctree)/arch/$(SRCARCH)/Makefile @@ -815,8 +797,8 @@ $(vmlinux-dirs): prepare scripts # Store (new) KERNELRELASE string in include/config/kernel.release include/config/kernel.release: include/config/auto.conf FORCE $(Q)rm -f $@ - $(Q)echo "$(KERNELVERSION)" > $@ - $(Q)echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" >> $@ + $(Q)echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" > $@ + # Things we need to do before we recursively start building the kernel # or the modules are listed in "prepare". @@ -867,7 +849,7 @@ define filechk_utsrelease.h echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \ exit 1; \ fi; \ - (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; echo \#define UTS_RELEASE_FULL \"$(KERNELRELEASE_FULL)\";) + (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\";) endef define filechk_version.h @@ -1101,7 +1083,7 @@ rpm: include/config/kernel.release FORCE # Brief documentation of the typical targets used # --------------------------------------------------------------------------- -boards := $(wildcard $(srctree)/arch/$(SRCARCH)/configs/meson*_defconfig) $(wildcard $(srctree)/${CUSTOMER_DIR_NAME}/meson/configs/meson*_defconfig) +boards := $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*_defconfig) boards := $(notdir $(boards)) board-dirs := $(dir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*/*_defconfig)) board-dirs := $(sort $(notdir $(board-dirs:/=))) @@ -1196,12 +1178,6 @@ $(help-board-dirs): help-%: printf " %-24s - Build for %s\\n" $*/$(b) $(subst _defconfig,,$(b));) \ echo '') -#build amlogic device tree file meson.dtd -dtd: - $(srctree)/scripts/amlogic/aml_dtd.sh $(srctree) - -%.dtd: - $(srctree)/scripts/amlogic/aml2dts.sh $(wildcard $(srctree)/arch/arm/boot/dts/amlogic/$@) # Documentation targets # --------------------------------------------------------------------------- diff --git a/init/version.c b/init/version.c index 8e492c8c35a6..1a4718e500fe 100644 --- a/init/version.c +++ b/init/version.c @@ -41,7 +41,7 @@ EXPORT_SYMBOL_GPL(init_uts_ns); /* FIXED STRINGS! Don't touch! */ const char linux_banner[] = - "Linux version " UTS_RELEASE_FULL " (" LINUX_COMPILE_BY "@" + "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; const char linux_proc_banner[] = diff --git a/kernel/printk.c b/kernel/printk.c index 4b213412294b..8a5cc52ac23c 100755 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -2910,7 +2910,7 @@ void dump_stack_print_info(const char *log_lvl) { printk("%sCPU: %d PID: %d Comm: %.20s %s %s %.*s\n", log_lvl, raw_smp_processor_id(), current->pid, current->comm, - print_tainted(), UTS_RELEASE_FULL /*init_utsname()->release*/, + print_tainted(), init_utsname()->release, (int)strcspn(init_utsname()->version, " "), init_utsname()->version); diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index ef2142a61593..f97869f1f09b 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -273,12 +273,6 @@ $(obj)/%.dtb: $(src)/%.dts FORCE dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) -# cat -# --------------------------------------------------------------------------- -# Concatentate multiple files together -quiet_cmd_cat = CAT $@ -cmd_cat = (cat $(filter-out FORCE,$^) > $@) || (rm -f $@; false) - # Bzip2 # --------------------------------------------------------------------------- diff --git a/scripts/amlogic/aml2dts.sh b/scripts/amlogic/aml2dts.sh deleted file mode 100755 index ab2985a78c6a..000000000000 --- a/scripts/amlogic/aml2dts.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -# This shell script will convert the xxx.dtd file to xxx.dtb. -# You should pass two parameters to this shell script, input dtd file path and output dtb file path, -# if the second parameter is not set, the default value is the dtd file path. -# Written by Cai Yun 2013-09-11 - -#debug -print=echo -#print=test - -process_file(){ - $print "process file $1 start" - echo "processing... please wait..." - - sed -i '/\/\/\$\$ ADD/a\\/\{' "$1" # delete //$$ ADD, add "/{" - sed -i '/void/d' "$1" #delete void line - sed -i '/\/\/\//d' "$1" #delete "///" line - sed -i '/\/\/\$\$/d' "$1" #delete "//$$" line - - $print "process file $1 end" - $print "" -} - -#DTD_FILE="arch/arm/boot/meson.dtd" -if [ -z "$1" ]; then - echo "input error: no dtd file, please input a path:" - read DTD_FILE - echo "your input dtd file is $DTD_FILE" -else - DTD_FILE="$1" - echo "DTD_FILE: $DTD_FILE" -fi - -if [ -n "$2" ]; then - DTB_FILE="$2" - DTS_FILE="${DTB_FILE/.dtb/.dts}" - echo "output dtb file: $DTB_FILE" - echo "middle dts file: $DTS_FILE" -else -# DTB_FILE="${DTD_FILE/.dtd/.dtb}" - DTS_FILE="${DTD_FILE/.dtd/.dts}" -# echo "Do not specify the output dtb file" -# echo "use the default dtb file: $DTB_FILE" - echo "the middle dts file: $DTS_FILE" -fi - -#if [ -f $DTB_FILE ] ; then -# rm $DTB_FILE -#fi -if [ -f $DTS_FILE ] ; then - rm $DTS_FILE -fi - -touch "$DTS_FILE" -chmod 777 "$DTS_FILE" -cat "$DTD_FILE" >> "$DTS_FILE" - -process_file $DTS_FILE - -#echo "DTB_FILE is $DTB_FILE" - -#DTB_FILE_NAME=`basename $DTB_FILE` - -#make "$DTB_FILE_NAME" -n -#if [ -f $DTB_FILE ]; then -# echo "dtc compile over, delte middle file $DTS_FILE" -# rm "$DTS_FILE" -# echo "$DTB_FILE is OK!" -#else -# echo "wrong dts file, dtc can not compiler!!!" -#fi diff --git a/scripts/amlogic/aml_dtd.sh b/scripts/amlogic/aml_dtd.sh deleted file mode 100755 index 4f7975a052df..000000000000 --- a/scripts/amlogic/aml_dtd.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash -# This shell script will collect all dtd files for amlogic device tree according to the configuration options. -# You should pass one parameter representing the path of kernel to this shell script. -# meson.dtd file will be created in kernel directory. -# Written by Cai Yun 2013-07-04 - -#debug -#print=echo -print=test - -TMP_DTD="./arch/arm/boot/meson.dtd" -touch "$TMP_DTD" - -copy_fragment(){ - if [ -z "$val_1" ]; then # no "#ifdef" or "#ifndef", is "#else" ? - local val_2=`sed -n -e "s/^#else/else/p" "$TMP_FILE"` - if [ -n "$val_2" ]; then # key word--"#else" - $print "key word--#else" - noelse=1 - else # no key word--"#else" - val_2=`sed -n -e 's/^#endif/END_CONFIG/p' "$TMP_FILE"` - if [ -z "$val_2" ]; then # no key word--"#endif" - total=$[$[$invalidconfig+$nodef+$noelse]%2] - $print "total is $total" - if [ $total -eq 0 ]; then - local val_3=`sed -n -e 's/^sub_file.//p' "$TMP_FILE"` - if [ -z "$val_3" ]; then - local val_4=`sed -n -e '/^#/p' "$TMP_FILE"` - if [ -z "$val_4" ]; then - cat "$TMP_FILE" >> "$TMP_DTD" - #cat "$TMP_FILE" - $print "no #ifdef #ifndef #else" - fi - fi - - if [ -n "$val_3" ]; then - if [[ IFS != $saveIFS ]] ; then - IFS=$saveIFS - fi - process_file "${path}$val_3" - fi - - fi - fi - if [ -n "$val_2" ] ; then # key word--"#endif" - $print "key word-- #endif" - invalidconfig=0 - nodef=0 - noelse=0 - fi - fi - fi # no "#ifdef" or "#ifndef" - - if [ -n "$val_1" ]; then # key word--"#ifdef" or "#ifndef", there is a CONFIG - $print "key word--#ifdef or #ifndef, there is a CONFIG: $val_1" - local CONFIG=`"$path"/scripts/config -s "$1"` - if [[ "$CONFIG" = 'y' ]] || [[ "$CONFIG" = 'm' ]] ; then - $print "CONFIG is y or m" - invalidconfig=0 - else - $print "CONFIG is not define" - invalidconfig=1 - fi - fi -} - - -process_file(){ - echo "process file $1 start" - local invalidconfig=0 - local nodef=0 - local noelse=0 - local total=0 - - line=`sed -n '$=' $1` - - cat $1 | ( saveIFS="$IFS" ; IFS=$'\\n' ; while read linebuf - do - echo "$linebuf" > "$TMP_FILE" - val_1=`sed -n -e "s/^#ifdef.//p" "$TMP_FILE"` - if [ -n "$val_1" ]; then # key word--"#ifdef" - nodef=0 - else - val_1=`sed -n -e "s/^#ifndef.//p" "$TMP_FILE"` - if [ -n "$val_1" ]; then # key word--"#ifndef" - nodef=1 - fi # key word--ifndef - fi # key word--ifdef - - copy_fragment "$val_1" - done) - - if [[ -n $saveIFS ]] ; then - IFS=$saveIFS - fi - - echo "process file $1 end" - $print "" -} - -for f in `ls $1/arch/arm/boot/dts/amlogic/aml_top.dtd`; do - if [ -f $f ] ; then - $print "$f is exsit" - path=$1 - TMP_FILE="$1/aml_dtd_tmp" - touch $TMP_FILE - chmod 777 $TMP_FILE - if [ -f $TMP_DTD ] ; then - rm $TMP_DTD - fi - process_file $f - rm $TMP_FILE - fi -done diff --git a/scripts/amlogic/mk_h15.sh b/scripts/amlogic/mk_h15.sh deleted file mode 100755 index c0f49874e38f..000000000000 --- a/scripts/amlogic/mk_h15.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/bash - -#make meson6tvc_h15_defconfig -#make UIMAGE_COMPRESSION=none uImage -j -make uImage -j12 -#make modules - -make meson6tvc_h15.dtd -make meson6tvc_h15.dtb - -#cd ../root/g18 -#find .| cpio -o -H newc | gzip -9 > ../ramdisk.img - -#rootfs.cpio -- original buildroot rootfs, busybox -#m8rootfs.cpio -- build from buildroot -ROOTFS="rootfs.cpio" - -#cd .. -./mkbootimg --kernel ./arch/arm/boot/uImage --ramdisk ./${ROOTFS} --second ./arch/arm/boot/dts/amlogic/meson6tvc_h15.dtb --output ./m6tvcboot.img -ls -l ./m6tvcboot.img -echo "m6tvcboot.img for h15 is done" diff --git a/scripts/amlogic/mk_m6.sh b/scripts/amlogic/mk_m6.sh deleted file mode 100755 index 82c78b806466..000000000000 --- a/scripts/amlogic/mk_m6.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/bash - -#make UIMAGE_COMPRESSION=none uImage -j -make uImage -j -#make modules - -make meson6_skt.dtd -make meson6_skt.dtb - -#cd ../root/g18 -#find .| cpio -o -H newc | gzip -9 > ../ramdisk.img - -#rootfs.cpio -- original buildroot rootfs, busybox -#m8rootfs.cpio -- build from buildroot -ROOTFS="rootfs.cpio" - -#cd .. -./mkbootimg --kernel ./arch/arm/boot/uImage --ramdisk ./${ROOTFS} --second ./arch/arm/boot/dts/amlogic/meson6_skt.dtb --output ./m6boot.img -ls -l ./m6boot.img -echo "m6boot.img done" diff --git a/scripts/amlogic/mk_m6tv.sh b/scripts/amlogic/mk_m6tv.sh deleted file mode 100755 index a82543721f9e..000000000000 --- a/scripts/amlogic/mk_m6tv.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/bash - -make meson6tv_defconfig -#make UIMAGE_COMPRESSION=none uImage -j -make uImage -j12 -#make modules - -make meson6tv_ref.dtd -make meson6tv_ref.dtb - -#cd ../root/g18 -#find .| cpio -o -H newc | gzip -9 > ../ramdisk.img - -#rootfs.cpio -- original buildroot rootfs, busybox -#m8rootfs.cpio -- build from buildroot -ROOTFS="rootfs.cpio" - -#cd .. -./mkbootimg --kernel ./arch/arm/boot/uImage --ramdisk ./${ROOTFS} --second ./arch/arm/boot/dts/amlogic/meson6tv_ref.dtb --output ./m6tvboot.img -ls -l ./m6tvboot.img -echo "m6tvboot.img done" diff --git a/scripts/amlogic/mk_m6tvd.sh b/scripts/amlogic/mk_m6tvd.sh deleted file mode 100755 index be19035642d6..000000000000 --- a/scripts/amlogic/mk_m6tvd.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/bash - -#make meson6tvd_defconfig -#make UIMAGE_COMPRESSION=none uImage -j -make uImage -j12 -#make modules - -make meson6tvd_ref.dtd -make meson6tvd_ref.dtb - -#cd ../root/g18 -#find .| cpio -o -H newc | gzip -9 > ../ramdisk.img - -#rootfs.cpio -- original buildroot rootfs, busybox -#m8rootfs.cpio -- build from buildroot -ROOTFS="rootfs.cpio" - -#cd .. -./mkbootimg --kernel ./arch/arm/boot/uImage --ramdisk ./${ROOTFS} --second ./arch/arm/boot/dts/amlogic/meson6tvd_ref.dtb --output ./m6tvdboot.img -ls -l ./m6tvdboot.img -echo "m6tvdboot.img done" diff --git a/scripts/amlogic/mk_m8.sh b/scripts/amlogic/mk_m8.sh deleted file mode 100755 index e74711a37a20..000000000000 --- a/scripts/amlogic/mk_m8.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/bash - -#make UIMAGE_COMPRESSION=none uImage -j -make uImage -j -#make modules - -make meson8_skt.dtd -make meson8_skt.dtb - -#cd ../root/g18 -#find .| cpio -o -H newc | gzip -9 > ../ramdisk.img - -#rootfs.cpio -- original buildroot rootfs, busybox -#m8rootfs.cpio -- build from buildroot -ROOTFS="rootfs.cpio" - -#cd .. -./mkbootimg --kernel ./arch/arm/boot/uImage --ramdisk ./${ROOTFS} --second ./arch/arm/boot/dts/amlogic/meson8_skt.dtb --output ./m8boot.img -ls -l ./m8boot.img -echo "m8boot.img done" diff --git a/scripts/amlogic/mk_m8b.sh b/scripts/amlogic/mk_m8b.sh deleted file mode 100755 index fba86cfcfcee..000000000000 --- a/scripts/amlogic/mk_m8b.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/bash - -#make UIMAGE_COMPRESSION=none uImage -j -#make modules -make uImage -j - -make meson8b_skt.dtd -make meson8b_skt.dtb - -#cd ../root/g18 -#find .| cpio -o -H newc | gzip -9 > ../ramdisk.img - -#rootfs.cpio -- original buildroot rootfs, busybox -#m8rootfs.cpio -- build from buildroot -ROOTFS="rootfs.cpio" - -#cd .. -./mkbootimg --kernel ./arch/arm/boot/uImage --ramdisk ./${ROOTFS} --second ./arch/arm/boot/dts/amlogic/meson8b_skt.dtb --output ./m8boot.img -ls -l ./m8boot.img -echo "m8boot.img for m8 baby done" diff --git a/scripts/amlogic/mk_m8m2.sh b/scripts/amlogic/mk_m8m2.sh deleted file mode 100755 index f573f57361fc..000000000000 --- a/scripts/amlogic/mk_m8m2.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/bash - -#make UIMAGE_COMPRESSION=none uImage -j -make uImage -j -#make modules - -make meson8m2_skt.dtd -make meson8m2_skt.dtb - -#cd ../root/g18 -#find .| cpio -o -H newc | gzip -9 > ../ramdisk.img - -#rootfs.cpio -- original buildroot rootfs, busybox -#m8rootfs.cpio -- build from buildroot -ROOTFS="rootfs.cpio" - -#cd .. -./mkbootimg --kernel ./arch/arm/boot/uImage --ramdisk ./${ROOTFS} --second ./arch/arm/boot/dts/amlogic/meson8m2_skt.dtb --output ./m8boot.img -ls -l ./m8boot.img -echo "m8boot.img done" diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 35e0f164ef81..43eda40c3838 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -1083,7 +1083,7 @@ static void randomize_choice_values(struct symbol *csym) csym->flags &= ~(SYMBOL_VALID); } -void set_all_choice_values(struct symbol *csym) +static void set_all_choice_values(struct symbol *csym) { struct property *prop; struct symbol *sym; @@ -1100,7 +1100,7 @@ void set_all_choice_values(struct symbol *csym) } csym->flags |= SYMBOL_DEF_USER; /* clear VALID to get value calculated */ - csym->flags &= ~(SYMBOL_VALID | SYMBOL_NEED_SET_CHOICE_VALUES); + csym->flags &= ~(SYMBOL_VALID); } void conf_set_all_new_symbols(enum conf_def_mode mode) @@ -1202,14 +1202,6 @@ void conf_set_all_new_symbols(enum conf_def_mode mode) * selected in a choice block and we set it to yes, * and the rest to no. */ - if (mode != def_random) { - for_all_symbols(i, csym) { - if ((sym_is_choice(csym) && !sym_has_value(csym)) || - sym_is_choice_value(csym)) - csym->flags |= SYMBOL_NEED_SET_CHOICE_VALUES; - } - } - for_all_symbols(i, csym) { if (sym_has_value(csym) || !sym_is_choice(csym)) continue; @@ -1217,5 +1209,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode) sym_calc_value(csym); if (mode == def_random) randomize_choice_values(csym); + else + set_all_choice_values(csym); } } diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h index df198a5f4822..cdd48600e02a 100644 --- a/scripts/kconfig/expr.h +++ b/scripts/kconfig/expr.h @@ -106,9 +106,6 @@ struct symbol { #define SYMBOL_DEF3 0x40000 /* symbol.def[S_DEF_3] is valid */ #define SYMBOL_DEF4 0x80000 /* symbol.def[S_DEF_4] is valid */ -/* choice values need to be set before calculating this symbol value */ -#define SYMBOL_NEED_SET_CHOICE_VALUES 0x100000 - #define SYMBOL_MAXLENGTH 256 #define SYMBOL_HASHSIZE 9973 diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h index 1a79b354b6db..f8aee5fc6d5e 100644 --- a/scripts/kconfig/lkc.h +++ b/scripts/kconfig/lkc.h @@ -33,7 +33,6 @@ extern "C" { #define LOCALEDIR "/usr/share/locale" - #define _(text) gettext(text) #define N_(text) (text) @@ -88,7 +87,6 @@ char *conf_get_default_confname(void); void sym_set_change_count(int count); void sym_add_change_count(int count); void conf_set_all_new_symbols(enum conf_def_mode mode); -void set_all_choice_values(struct symbol *csym); struct conf_printer { void (*print_symbol)(FILE *, struct symbol *, const char *, void *); @@ -123,7 +121,6 @@ void menu_set_type(int type); /* util.c */ struct file *file_lookup(const char *name); -int file_exist(const char *name); int file_write_dep(const char *name); void *xmalloc(size_t size); void *xcalloc(size_t nmemb, size_t size); diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index ab8f4c835933..ecc5aa5f865d 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -300,14 +300,6 @@ void sym_calc_value(struct symbol *sym) if (sym->flags & SYMBOL_VALID) return; - - if (sym_is_choice_value(sym) && - sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES) { - sym->flags &= ~SYMBOL_NEED_SET_CHOICE_VALUES; - prop = sym_get_choice_prop(sym); - sym_calc_value(prop_get_symbol(prop)); - } - sym->flags |= SYMBOL_VALID; oldval = sym->curr; @@ -433,9 +425,6 @@ void sym_calc_value(struct symbol *sym) if (sym->flags & SYMBOL_AUTO) sym->flags &= ~SYMBOL_WRITE; - - if (sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES) - set_all_choice_values(sym); } void sym_clear_all_valid(void) diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c index e8681cf44b4d..6e7fbf196809 100644 --- a/scripts/kconfig/util.c +++ b/scripts/kconfig/util.c @@ -4,10 +4,7 @@ * * Released under the terms of the GNU GPL v2.0. */ -#include -#include -#include -#include + #include #include #include @@ -34,37 +31,6 @@ struct file *file_lookup(const char *name) return file; } -int file_exist(const char *name) -{ - int ret = 1; - struct stat buf; - const char *file_name = sym_expand_string_value(name); - const char * env; - char fullname[PATH_MAX + 1]; - if (stat(file_name, &buf) == -1) - { - env = getenv(SRCTREE); - if (env) - { - sprintf(fullname, "%s/%s", env, name); - if (stat(fullname, &buf) == -1) - { - ret = 0; - } - } - else - { - ret = 0; - } - } - if (ret) - fprintf(stderr,"%s:%d: note: Open %s\n", zconf_curname(), zconf_lineno(), file_name); - else - fprintf(stderr,"%s:%d: warning: Skip %s\n", zconf_curname(), zconf_lineno(), file_name); - free((void *)file_name); - return ret; -} - /* write a dependency file as used by kbuild to track dependencies */ int file_write_dep(const char *name) { diff --git a/scripts/kconfig/zconf.gperf b/scripts/kconfig/zconf.gperf index 9829ab73788b..f14ab41154b6 100644 --- a/scripts/kconfig/zconf.gperf +++ b/scripts/kconfig/zconf.gperf @@ -44,5 +44,4 @@ on, T_ON, TF_PARAM modules, T_OPT_MODULES, TF_OPTION defconfig_list, T_OPT_DEFCONFIG_LIST,TF_OPTION env, T_OPT_ENV, TF_OPTION -isource, T_ISOURCE, TF_COMMAND %% diff --git a/scripts/kconfig/zconf.hash.c_shipped b/scripts/kconfig/zconf.hash.c_shipped index 5b6270d63feb..40df0005daa9 100644 --- a/scripts/kconfig/zconf.hash.c_shipped +++ b/scripts/kconfig/zconf.hash.c_shipped @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.3 */ +/* ANSI-C code produced by gperf version 3.0.4 */ /* Command-line: gperf -t --output-file scripts/kconfig/zconf.hash.c_shipped -a -C -E -g -k '1,3,$' -p -t scripts/kconfig/zconf.gperf */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ @@ -32,7 +32,7 @@ struct kconf_id; static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len); -/* maximum key range = 76, duplicates = 0 */ +/* maximum key range = 71, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -46,32 +46,32 @@ kconf_id_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 25, 30, - 0, 0, 0, 10, 0, 0, 78, 78, 5, 0, - 10, 10, 45, 78, 0, 25, 0, 20, 15, 78, - 20, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78 + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 25, 25, + 0, 0, 0, 5, 0, 0, 73, 73, 5, 0, + 10, 5, 45, 73, 20, 20, 0, 15, 15, 73, + 20, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73 }; register int hval = len; @@ -99,30 +99,29 @@ struct kconf_id_strings_t char kconf_id_strings_str12[sizeof("def_tristate")]; char kconf_id_strings_str13[sizeof("def_bool")]; char kconf_id_strings_str14[sizeof("defconfig_list")]; - char kconf_id_strings_str15[sizeof("range")]; - char kconf_id_strings_str17[sizeof("isource")]; - char kconf_id_strings_str22[sizeof("on")]; - char kconf_id_strings_str23[sizeof("optional")]; - char kconf_id_strings_str26[sizeof("option")]; - char kconf_id_strings_str27[sizeof("endmenu")]; - char kconf_id_strings_str28[sizeof("mainmenu")]; - char kconf_id_strings_str30[sizeof("menuconfig")]; - char kconf_id_strings_str32[sizeof("modules")]; + char kconf_id_strings_str17[sizeof("on")]; + char kconf_id_strings_str18[sizeof("optional")]; + char kconf_id_strings_str21[sizeof("option")]; + char kconf_id_strings_str22[sizeof("endmenu")]; + char kconf_id_strings_str23[sizeof("mainmenu")]; + char kconf_id_strings_str25[sizeof("menuconfig")]; + char kconf_id_strings_str27[sizeof("modules")]; + char kconf_id_strings_str29[sizeof("menu")]; + char kconf_id_strings_str31[sizeof("select")]; + char kconf_id_strings_str32[sizeof("comment")]; char kconf_id_strings_str33[sizeof("env")]; - char kconf_id_strings_str34[sizeof("menu")]; - char kconf_id_strings_str36[sizeof("select")]; - char kconf_id_strings_str37[sizeof("comment")]; - char kconf_id_strings_str41[sizeof("string")]; + char kconf_id_strings_str35[sizeof("range")]; + char kconf_id_strings_str36[sizeof("choice")]; + char kconf_id_strings_str39[sizeof("bool")]; + char kconf_id_strings_str41[sizeof("source")]; + char kconf_id_strings_str42[sizeof("visible")]; char kconf_id_strings_str43[sizeof("hex")]; - char kconf_id_strings_str44[sizeof("bool")]; - char kconf_id_strings_str46[sizeof("choice")]; - char kconf_id_strings_str47[sizeof("visible")]; - char kconf_id_strings_str51[sizeof("source")]; - char kconf_id_strings_str52[sizeof("boolean")]; + char kconf_id_strings_str46[sizeof("config")]; + char kconf_id_strings_str47[sizeof("boolean")]; + char kconf_id_strings_str51[sizeof("string")]; char kconf_id_strings_str54[sizeof("help")]; - char kconf_id_strings_str56[sizeof("config")]; - char kconf_id_strings_str61[sizeof("prompt")]; - char kconf_id_strings_str77[sizeof("depends")]; + char kconf_id_strings_str56[sizeof("prompt")]; + char kconf_id_strings_str72[sizeof("depends")]; }; static const struct kconf_id_strings_t kconf_id_strings_contents = { @@ -135,8 +134,6 @@ static const struct kconf_id_strings_t kconf_id_strings_contents = "def_tristate", "def_bool", "defconfig_list", - "range", - "isource", "on", "optional", "option", @@ -144,26 +141,27 @@ static const struct kconf_id_strings_t kconf_id_strings_contents = "mainmenu", "menuconfig", "modules", - "env", "menu", "select", "comment", - "string", - "hex", - "bool", + "env", + "range", "choice", - "visible", + "bool", "source", - "boolean", - "help", + "visible", + "hex", "config", + "boolean", + "string", + "help", "prompt", "depends" }; #define kconf_id_strings ((const char *) &kconf_id_strings_contents) #ifdef __GNUC__ __inline -#ifdef __GNUC_STDC_INLINE__ +#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif @@ -172,11 +170,11 @@ kconf_id_lookup (register const char *str, register unsigned int len) { enum { - TOTAL_KEYWORDS = 33, + TOTAL_KEYWORDS = 32, MIN_WORD_LENGTH = 2, MAX_WORD_LENGTH = 14, MIN_HASH_VALUE = 2, - MAX_HASH_VALUE = 77 + MAX_HASH_VALUE = 72 }; static const struct kconf_id wordlist[] = @@ -203,69 +201,67 @@ kconf_id_lookup (register const char *str, register unsigned int len) {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, #line 45 "scripts/kconfig/zconf.gperf" {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_OPT_DEFCONFIG_LIST,TF_OPTION}, -#line 40 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str15, T_RANGE, TF_COMMAND}, - {-1}, -#line 47 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_ISOURCE, TF_COMMAND}, - {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, #line 43 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_ON, TF_PARAM}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_ON, TF_PARAM}, #line 28 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_OPTIONAL, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_OPTIONAL, TF_COMMAND}, {-1}, {-1}, #line 42 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26, T_OPTION, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_OPTION, TF_COMMAND}, #line 17 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_ENDMENU, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_ENDMENU, TF_COMMAND}, #line 15 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_MAINMENU, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_MAINMENU, TF_COMMAND}, {-1}, #line 23 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str30, T_MENUCONFIG, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str25, T_MENUCONFIG, TF_COMMAND}, {-1}, #line 44 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_OPT_MODULES, TF_OPTION}, -#line 46 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_OPT_ENV, TF_OPTION}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION}, + {-1}, #line 16 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str34, T_MENU, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND}, {-1}, #line 39 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_SELECT, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_SELECT, TF_COMMAND}, #line 21 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_COMMENT, TF_COMMAND}, - {-1}, {-1}, {-1}, -#line 38 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_TYPE, TF_COMMAND, S_STRING}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND}, +#line 46 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_OPT_ENV, TF_OPTION}, {-1}, +#line 40 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_RANGE, TF_COMMAND}, +#line 19 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_CHOICE, TF_COMMAND}, + {-1}, {-1}, +#line 33 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str39, T_TYPE, TF_COMMAND, S_BOOLEAN}, + {-1}, +#line 18 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_SOURCE, TF_COMMAND}, +#line 41 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_VISIBLE, TF_COMMAND}, #line 37 "scripts/kconfig/zconf.gperf" {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str43, T_TYPE, TF_COMMAND, S_HEX}, -#line 33 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str44, T_TYPE, TF_COMMAND, S_BOOLEAN}, - {-1}, -#line 19 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_CHOICE, TF_COMMAND}, -#line 41 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_VISIBLE, TF_COMMAND}, - {-1}, {-1}, {-1}, -#line 18 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_SOURCE, TF_COMMAND}, + {-1}, {-1}, +#line 22 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_CONFIG, TF_COMMAND}, #line 34 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str52, T_TYPE, TF_COMMAND, S_BOOLEAN}, - {-1}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN}, + {-1}, {-1}, {-1}, +#line 38 "scripts/kconfig/zconf.gperf" + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_TYPE, TF_COMMAND, S_STRING}, + {-1}, {-1}, #line 24 "scripts/kconfig/zconf.gperf" {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str54, T_HELP, TF_COMMAND}, {-1}, -#line 22 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str56, T_CONFIG, TF_COMMAND}, - {-1}, {-1}, {-1}, {-1}, #line 30 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str61, T_PROMPT, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str56, T_PROMPT, TF_COMMAND}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 27 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str77, T_DEPENDS, TF_COMMAND} + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str72, T_DEPENDS, TF_COMMAND} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) @@ -286,5 +282,5 @@ kconf_id_lookup (register const char *str, register unsigned int len) } return 0; } -#line 48 "scripts/kconfig/zconf.gperf" +#line 47 "scripts/kconfig/zconf.gperf" diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped index 5fb06e8ba7b1..f636141e7bfd 100644 --- a/scripts/kconfig/zconf.tab.c_shipped +++ b/scripts/kconfig/zconf.tab.c_shipped @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 2.5. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ -/* Bison implementation for Yacc-like parsers in C +/* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -44,7 +45,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.5" +#define YYBISON_VERSION "2.4.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -137,36 +138,35 @@ static struct menu *current_menu, *current_entry; T_MENU = 259, T_ENDMENU = 260, T_SOURCE = 261, - T_ISOURCE = 262, - T_CHOICE = 263, - T_ENDCHOICE = 264, - T_COMMENT = 265, - T_CONFIG = 266, - T_MENUCONFIG = 267, - T_HELP = 268, - T_HELPTEXT = 269, - T_IF = 270, - T_ENDIF = 271, - T_DEPENDS = 272, - T_OPTIONAL = 273, - T_PROMPT = 274, - T_TYPE = 275, - T_DEFAULT = 276, - T_SELECT = 277, - T_RANGE = 278, - T_VISIBLE = 279, - T_OPTION = 280, - T_ON = 281, - T_WORD = 282, - T_WORD_QUOTE = 283, - T_UNEQUAL = 284, - T_CLOSE_PAREN = 285, - T_OPEN_PAREN = 286, - T_EOL = 287, - T_OR = 288, - T_AND = 289, - T_EQUAL = 290, - T_NOT = 291 + T_CHOICE = 262, + T_ENDCHOICE = 263, + T_COMMENT = 264, + T_CONFIG = 265, + T_MENUCONFIG = 266, + T_HELP = 267, + T_HELPTEXT = 268, + T_IF = 269, + T_ENDIF = 270, + T_DEPENDS = 271, + T_OPTIONAL = 272, + T_PROMPT = 273, + T_TYPE = 274, + T_DEFAULT = 275, + T_SELECT = 276, + T_RANGE = 277, + T_VISIBLE = 278, + T_OPTION = 279, + T_ON = 280, + T_WORD = 281, + T_WORD_QUOTE = 282, + T_UNEQUAL = 283, + T_CLOSE_PAREN = 284, + T_OPEN_PAREN = 285, + T_EOL = 286, + T_OR = 287, + T_AND = 288, + T_EQUAL = 289, + T_NOT = 290 }; #endif @@ -302,11 +302,11 @@ YYID (yyi) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 +# ifndef _STDLIB_H +# define _STDLIB_H 1 # endif # endif # endif @@ -329,24 +329,24 @@ YYID (yyi) # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif -# if (defined __cplusplus && ! defined EXIT_SUCCESS \ +# if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 +# ifndef _STDLIB_H +# define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif @@ -375,7 +375,23 @@ union yyalloc ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) -# define YYCOPY_NEEDED 1 +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (YYID (0)) +# endif +# endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of @@ -395,43 +411,23 @@ union yyalloc #endif -#if defined YYCOPY_NEEDED && YYCOPY_NEEDED -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif -#endif /* !YYCOPY_NEEDED */ - /* YYFINAL -- State number of the termination state. */ #define YYFINAL 11 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 296 +#define YYLAST 290 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 37 +#define YYNTOKENS 36 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 51 +#define YYNNTS 50 /* YYNRULES -- Number of rules. */ -#define YYNRULES 120 +#define YYNRULES 118 /* YYNRULES -- Number of states. */ -#define YYNSTATES 195 +#define YYNSTATES 191 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 291 +#define YYMAXUTOK 290 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -468,7 +464,7 @@ static const yytype_uint8 yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36 + 35 }; #if YYDEBUG @@ -478,57 +474,56 @@ static const yytype_uint16 yyprhs[] = { 0, 0, 3, 6, 8, 11, 13, 14, 17, 20, 23, 26, 31, 36, 40, 42, 44, 46, 48, 50, - 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, - 74, 77, 81, 84, 88, 91, 92, 95, 98, 101, - 104, 107, 110, 114, 119, 124, 129, 135, 139, 140, - 144, 145, 148, 152, 155, 157, 161, 162, 165, 168, - 171, 174, 177, 182, 186, 189, 194, 195, 198, 202, - 204, 208, 209, 212, 215, 218, 222, 226, 230, 232, - 236, 237, 240, 243, 246, 250, 254, 258, 261, 264, - 267, 268, 271, 274, 277, 282, 283, 286, 289, 292, - 293, 296, 298, 300, 303, 306, 309, 311, 314, 315, - 318, 320, 324, 328, 332, 335, 339, 343, 345, 347, - 348 + 52, 54, 56, 58, 60, 62, 64, 66, 68, 72, + 75, 79, 82, 86, 89, 90, 93, 96, 99, 102, + 105, 108, 112, 117, 122, 127, 133, 137, 138, 142, + 143, 146, 150, 153, 155, 159, 160, 163, 166, 169, + 172, 175, 180, 184, 187, 192, 193, 196, 200, 202, + 206, 207, 210, 213, 216, 220, 224, 228, 230, 234, + 235, 238, 241, 244, 248, 252, 255, 258, 261, 262, + 265, 268, 271, 276, 277, 280, 283, 286, 287, 290, + 292, 294, 297, 300, 303, 305, 308, 309, 312, 314, + 318, 322, 326, 329, 333, 337, 339, 341, 342 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 38, 0, -1, 83, 39, -1, 39, -1, 64, 40, - -1, 40, -1, -1, 40, 42, -1, 40, 56, -1, - 40, 68, -1, 40, 82, -1, 40, 27, 1, 32, - -1, 40, 41, 1, 32, -1, 40, 1, 32, -1, - 17, -1, 19, -1, 20, -1, 22, -1, 18, -1, - 23, -1, 21, -1, 24, -1, 32, -1, 62, -1, - 73, -1, 45, -1, 47, -1, 70, -1, 71, -1, - 27, 1, 32, -1, 1, 32, -1, 11, 27, 32, - -1, 44, 48, -1, 12, 27, 32, -1, 46, 48, - -1, -1, 48, 49, -1, 48, 50, -1, 48, 77, - -1, 48, 75, -1, 48, 43, -1, 48, 32, -1, - 20, 80, 32, -1, 19, 81, 84, 32, -1, 21, - 85, 84, 32, -1, 22, 27, 84, 32, -1, 23, - 86, 86, 84, 32, -1, 25, 51, 32, -1, -1, - 51, 27, 52, -1, -1, 35, 81, -1, 8, 87, - 32, -1, 53, 57, -1, 82, -1, 54, 59, 55, - -1, -1, 57, 58, -1, 57, 77, -1, 57, 75, - -1, 57, 32, -1, 57, 43, -1, 19, 81, 84, - 32, -1, 20, 80, 32, -1, 18, 32, -1, 21, - 27, 84, 32, -1, -1, 59, 42, -1, 15, 85, - 83, -1, 82, -1, 60, 63, 61, -1, -1, 63, - 42, -1, 63, 68, -1, 63, 56, -1, 3, 81, - 83, -1, 4, 81, 32, -1, 65, 78, 76, -1, - 82, -1, 66, 69, 67, -1, -1, 69, 42, -1, - 69, 68, -1, 69, 56, -1, 6, 81, 32, -1, - 7, 81, 32, -1, 10, 81, 32, -1, 72, 76, - -1, 13, 32, -1, 74, 14, -1, -1, 76, 77, - -1, 76, 32, -1, 76, 43, -1, 17, 26, 85, - 32, -1, -1, 78, 79, -1, 78, 32, -1, 24, - 84, -1, -1, 81, 84, -1, 27, -1, 28, -1, - 5, 32, -1, 9, 32, -1, 16, 32, -1, 32, - -1, 83, 32, -1, -1, 15, 85, -1, 86, -1, - 86, 35, 86, -1, 86, 29, 86, -1, 31, 85, - 30, -1, 36, 85, -1, 85, 33, 85, -1, 85, - 34, 85, -1, 27, -1, 28, -1, -1, 27, -1 + 37, 0, -1, 81, 38, -1, 38, -1, 63, 39, + -1, 39, -1, -1, 39, 41, -1, 39, 55, -1, + 39, 67, -1, 39, 80, -1, 39, 26, 1, 31, + -1, 39, 40, 1, 31, -1, 39, 1, 31, -1, + 16, -1, 18, -1, 19, -1, 21, -1, 17, -1, + 22, -1, 20, -1, 23, -1, 31, -1, 61, -1, + 71, -1, 44, -1, 46, -1, 69, -1, 26, 1, + 31, -1, 1, 31, -1, 10, 26, 31, -1, 43, + 47, -1, 11, 26, 31, -1, 45, 47, -1, -1, + 47, 48, -1, 47, 49, -1, 47, 75, -1, 47, + 73, -1, 47, 42, -1, 47, 31, -1, 19, 78, + 31, -1, 18, 79, 82, 31, -1, 20, 83, 82, + 31, -1, 21, 26, 82, 31, -1, 22, 84, 84, + 82, 31, -1, 24, 50, 31, -1, -1, 50, 26, + 51, -1, -1, 34, 79, -1, 7, 85, 31, -1, + 52, 56, -1, 80, -1, 53, 58, 54, -1, -1, + 56, 57, -1, 56, 75, -1, 56, 73, -1, 56, + 31, -1, 56, 42, -1, 18, 79, 82, 31, -1, + 19, 78, 31, -1, 17, 31, -1, 20, 26, 82, + 31, -1, -1, 58, 41, -1, 14, 83, 81, -1, + 80, -1, 59, 62, 60, -1, -1, 62, 41, -1, + 62, 67, -1, 62, 55, -1, 3, 79, 81, -1, + 4, 79, 31, -1, 64, 76, 74, -1, 80, -1, + 65, 68, 66, -1, -1, 68, 41, -1, 68, 67, + -1, 68, 55, -1, 6, 79, 31, -1, 9, 79, + 31, -1, 70, 74, -1, 12, 31, -1, 72, 13, + -1, -1, 74, 75, -1, 74, 31, -1, 74, 42, + -1, 16, 25, 83, 31, -1, -1, 76, 77, -1, + 76, 31, -1, 23, 82, -1, -1, 79, 82, -1, + 26, -1, 27, -1, 5, 31, -1, 8, 31, -1, + 15, 31, -1, 31, -1, 81, 31, -1, -1, 14, + 83, -1, 84, -1, 84, 34, 84, -1, 84, 28, + 84, -1, 30, 83, 29, -1, 35, 83, -1, 83, + 32, 83, -1, 83, 33, 83, -1, 26, -1, 27, + -1, -1, 26, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -536,17 +531,16 @@ static const yytype_uint16 yyrline[] = { 0, 104, 104, 104, 106, 106, 108, 110, 111, 112, 113, 114, 115, 119, 123, 123, 123, 123, 123, 123, - 123, 123, 127, 128, 129, 130, 131, 132, 133, 137, - 138, 144, 152, 158, 166, 176, 178, 179, 180, 181, - 182, 183, 186, 194, 200, 210, 216, 222, 225, 227, - 238, 239, 244, 253, 258, 266, 269, 271, 272, 273, - 274, 275, 278, 284, 295, 301, 311, 313, 318, 326, - 334, 337, 339, 340, 341, 346, 353, 360, 365, 373, - 376, 378, 379, 380, 383, 388, 397, 404, 411, 417, - 424, 426, 427, 428, 431, 439, 441, 442, 445, 452, - 454, 459, 460, 463, 464, 465, 469, 470, 473, 474, - 477, 478, 479, 480, 481, 482, 483, 486, 487, 490, - 491 + 123, 123, 127, 128, 129, 130, 131, 132, 136, 137, + 143, 151, 157, 165, 175, 177, 178, 179, 180, 181, + 182, 185, 193, 199, 209, 215, 221, 224, 226, 237, + 238, 243, 252, 257, 265, 268, 270, 271, 272, 273, + 274, 277, 283, 294, 300, 310, 312, 317, 325, 333, + 336, 338, 339, 340, 345, 352, 359, 364, 372, 375, + 377, 378, 379, 382, 390, 397, 404, 410, 417, 419, + 420, 421, 424, 432, 434, 435, 438, 445, 447, 452, + 453, 456, 457, 458, 462, 463, 466, 467, 470, 471, + 472, 473, 474, 475, 476, 479, 480, 483, 484 }; #endif @@ -556,23 +550,22 @@ static const yytype_uint16 yyrline[] = static const char *const yytname[] = { "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", - "T_SOURCE", "T_ISOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", - "T_CONFIG", "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", - "T_DEPENDS", "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", - "T_RANGE", "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", - "T_UNEQUAL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", - "T_EQUAL", "T_NOT", "$accept", "input", "start", "stmt_list", - "option_name", "common_stmt", "option_error", "config_entry_start", - "config_stmt", "menuconfig_entry_start", "menuconfig_stmt", - "config_option_list", "config_option", "symbol_option", - "symbol_option_list", "symbol_option_arg", "choice", "choice_entry", - "choice_end", "choice_stmt", "choice_option_list", "choice_option", - "choice_block", "if_entry", "if_end", "if_stmt", "if_block", - "mainmenu_stmt", "menu", "menu_entry", "menu_end", "menu_stmt", - "menu_block", "source_stmt", "isource_stmt", "comment", "comment_stmt", - "help_start", "help", "depends_list", "depends", "visibility_list", - "visible", "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr", - "symbol", "word_opt", 0 + "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", + "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", + "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE", + "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", + "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL", + "T_NOT", "$accept", "input", "start", "stmt_list", "option_name", + "common_stmt", "option_error", "config_entry_start", "config_stmt", + "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", + "config_option", "symbol_option", "symbol_option_list", + "symbol_option_arg", "choice", "choice_entry", "choice_end", + "choice_stmt", "choice_option_list", "choice_option", "choice_block", + "if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu", + "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt", + "comment", "comment_stmt", "help_start", "help", "depends_list", + "depends", "visibility_list", "visible", "prompt_stmt_opt", "prompt", + "end", "nl", "if_expr", "expr", "symbol", "word_opt", 0 }; #endif @@ -584,26 +577,25 @@ static const yytype_uint16 yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291 + 285, 286, 287, 288, 289, 290 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 37, 38, 38, 39, 39, 40, 40, 40, 40, - 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, - 41, 41, 42, 42, 42, 42, 42, 42, 42, 43, - 43, 44, 45, 46, 47, 48, 48, 48, 48, 48, - 48, 48, 49, 49, 49, 49, 49, 50, 51, 51, - 52, 52, 53, 54, 55, 56, 57, 57, 57, 57, - 57, 57, 58, 58, 58, 58, 59, 59, 60, 61, - 62, 63, 63, 63, 63, 64, 65, 66, 67, 68, - 69, 69, 69, 69, 70, 71, 72, 73, 74, 75, - 76, 76, 76, 76, 77, 78, 78, 78, 79, 80, - 80, 81, 81, 82, 82, 82, 83, 83, 84, 84, - 85, 85, 85, 85, 85, 85, 85, 86, 86, 87, - 87 + 0, 36, 37, 37, 38, 38, 39, 39, 39, 39, + 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, + 40, 40, 41, 41, 41, 41, 41, 41, 42, 42, + 43, 44, 45, 46, 47, 47, 47, 47, 47, 47, + 47, 48, 48, 48, 48, 48, 49, 50, 50, 51, + 51, 52, 53, 54, 55, 56, 56, 56, 56, 56, + 56, 57, 57, 57, 57, 58, 58, 59, 60, 61, + 62, 62, 62, 62, 63, 64, 65, 66, 67, 68, + 68, 68, 68, 69, 70, 71, 72, 73, 74, 74, + 74, 74, 75, 76, 76, 76, 77, 78, 78, 79, + 79, 80, 80, 80, 81, 81, 82, 82, 83, 83, + 83, 83, 83, 83, 83, 84, 84, 85, 85 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -611,197 +603,189 @@ static const yytype_uint8 yyr2[] = { 0, 2, 2, 1, 2, 1, 0, 2, 2, 2, 2, 4, 4, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 2, 3, 2, 3, 2, 0, 2, 2, 2, 2, - 2, 2, 3, 4, 4, 4, 5, 3, 0, 3, - 0, 2, 3, 2, 1, 3, 0, 2, 2, 2, - 2, 2, 4, 3, 2, 4, 0, 2, 3, 1, - 3, 0, 2, 2, 2, 3, 3, 3, 1, 3, - 0, 2, 2, 2, 3, 3, 3, 2, 2, 2, - 0, 2, 2, 2, 4, 0, 2, 2, 2, 0, - 2, 1, 1, 2, 2, 2, 1, 2, 0, 2, - 1, 3, 3, 3, 2, 3, 3, 1, 1, 0, - 1 + 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, + 3, 2, 3, 2, 0, 2, 2, 2, 2, 2, + 2, 3, 4, 4, 4, 5, 3, 0, 3, 0, + 2, 3, 2, 1, 3, 0, 2, 2, 2, 2, + 2, 4, 3, 2, 4, 0, 2, 3, 1, 3, + 0, 2, 2, 2, 3, 3, 3, 1, 3, 0, + 2, 2, 2, 3, 3, 2, 2, 2, 0, 2, + 2, 2, 4, 0, 2, 2, 2, 0, 2, 1, + 1, 2, 2, 2, 1, 2, 0, 2, 1, 3, + 3, 3, 2, 3, 3, 1, 1, 0, 1 }; -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { - 6, 0, 106, 0, 3, 0, 6, 6, 101, 102, - 0, 1, 0, 0, 0, 0, 0, 119, 0, 0, - 0, 0, 0, 0, 14, 18, 15, 16, 20, 17, - 19, 21, 0, 22, 0, 7, 35, 25, 35, 26, - 56, 66, 8, 71, 23, 95, 80, 9, 27, 28, - 90, 24, 10, 0, 107, 2, 75, 13, 0, 103, - 0, 0, 120, 0, 104, 0, 0, 0, 117, 118, - 0, 0, 0, 110, 105, 0, 0, 0, 0, 0, - 0, 0, 90, 0, 0, 76, 84, 85, 52, 86, - 31, 33, 0, 114, 0, 0, 68, 0, 0, 11, - 12, 0, 0, 0, 0, 99, 0, 0, 0, 48, - 0, 41, 40, 36, 37, 0, 39, 38, 0, 0, - 99, 0, 60, 61, 57, 59, 58, 67, 55, 54, - 72, 74, 70, 73, 69, 108, 97, 0, 96, 81, - 83, 79, 82, 78, 92, 93, 91, 113, 115, 116, - 112, 111, 30, 88, 0, 108, 0, 108, 108, 108, - 0, 0, 0, 89, 64, 108, 0, 108, 0, 98, - 0, 0, 42, 100, 0, 0, 108, 50, 47, 29, - 0, 63, 0, 109, 94, 43, 44, 45, 0, 0, - 49, 62, 65, 46, 51 + 6, 0, 104, 0, 3, 0, 6, 6, 99, 100, + 0, 1, 0, 0, 0, 0, 117, 0, 0, 0, + 0, 0, 0, 14, 18, 15, 16, 20, 17, 19, + 21, 0, 22, 0, 7, 34, 25, 34, 26, 55, + 65, 8, 70, 23, 93, 79, 9, 27, 88, 24, + 10, 0, 105, 2, 74, 13, 0, 101, 0, 118, + 0, 102, 0, 0, 0, 115, 116, 0, 0, 0, + 108, 103, 0, 0, 0, 0, 0, 0, 0, 88, + 0, 0, 75, 83, 51, 84, 30, 32, 0, 112, + 0, 0, 67, 0, 0, 11, 12, 0, 0, 0, + 0, 97, 0, 0, 0, 47, 0, 40, 39, 35, + 36, 0, 38, 37, 0, 0, 97, 0, 59, 60, + 56, 58, 57, 66, 54, 53, 71, 73, 69, 72, + 68, 106, 95, 0, 94, 80, 82, 78, 81, 77, + 90, 91, 89, 111, 113, 114, 110, 109, 29, 86, + 0, 106, 0, 106, 106, 106, 0, 0, 0, 87, + 63, 106, 0, 106, 0, 96, 0, 0, 41, 98, + 0, 0, 106, 49, 46, 28, 0, 62, 0, 107, + 92, 42, 43, 44, 0, 0, 48, 61, 64, 45, + 50 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 3, 4, 5, 34, 35, 112, 36, 37, 38, - 39, 77, 113, 114, 161, 190, 40, 41, 128, 42, - 79, 124, 80, 43, 132, 44, 81, 6, 45, 46, - 141, 47, 83, 48, 49, 50, 51, 115, 116, 84, - 117, 82, 138, 156, 157, 52, 7, 169, 72, 73, - 63 + -1, 3, 4, 5, 33, 34, 108, 35, 36, 37, + 38, 74, 109, 110, 157, 186, 39, 40, 124, 41, + 76, 120, 77, 42, 128, 43, 78, 6, 44, 45, + 137, 46, 80, 47, 48, 49, 111, 112, 81, 113, + 79, 134, 152, 153, 50, 7, 165, 69, 70, 60 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -93 +#define YYPACT_NINF -90 static const yytype_int16 yypact[] = { - 17, 69, -93, 7, -93, 133, -93, 19, -93, -93, - -22, -93, -15, 69, -11, 69, 69, 31, 37, 69, - 57, 103, 59, 100, -93, -93, -93, -93, -93, -93, - -93, -93, 134, -93, 163, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, 162, -93, -93, 143, -93, 144, -93, - 155, 158, -93, 161, -93, 172, 173, 185, -93, -93, - 59, 59, 68, 24, -93, 187, 197, 23, 104, 215, - 256, 244, -13, 244, 191, -93, -93, -93, -93, -93, - -93, -93, 30, -93, 59, 59, 143, 79, 79, -93, - -93, 208, 209, 217, 69, 69, 59, 218, 79, -93, - 243, -93, -93, -93, -93, 232, -93, -93, 225, 69, - 69, 231, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, 249, -93, 66, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, 235, -93, - -93, -93, -93, -93, 59, 249, 238, 249, 46, 249, - 79, 25, 241, -93, -93, 249, 242, 249, 59, -93, - 205, 248, -93, -93, 250, 251, 249, 246, -93, -93, - 252, -93, 254, 113, -93, -93, -93, -93, 257, 69, - -93, -93, -93, -93, -93 + 4, 42, -90, 96, -90, 111, -90, 15, -90, -90, + 75, -90, 82, 42, 104, 42, 110, 107, 42, 115, + 125, -4, 121, -90, -90, -90, -90, -90, -90, -90, + -90, 162, -90, 163, -90, -90, -90, -90, -90, -90, + -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, + -90, 139, -90, -90, 138, -90, 142, -90, 143, -90, + 152, -90, 164, 167, 168, -90, -90, -4, -4, 77, + -18, -90, 177, 185, 33, 71, 195, 247, 236, -2, + 236, 171, -90, -90, -90, -90, -90, -90, 41, -90, + -4, -4, 138, 97, 97, -90, -90, 186, 187, 194, + 42, 42, -4, 196, 97, -90, 219, -90, -90, -90, + -90, 210, -90, -90, 204, 42, 42, 199, -90, -90, + -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, + -90, 222, -90, 223, -90, -90, -90, -90, -90, -90, + -90, -90, -90, -90, 215, -90, -90, -90, -90, -90, + -4, 222, 228, 222, -5, 222, 97, 35, 229, -90, + -90, 222, 232, 222, -4, -90, 135, 233, -90, -90, + 234, 235, 222, 240, -90, -90, 237, -90, 239, -13, + -90, -90, -90, -90, 244, 42, -90, -90, -90, -90, + -90 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -93, -93, 283, 285, -93, 8, -75, -93, -93, -93, - -93, 255, -93, -93, -93, -93, -93, -93, -93, -27, - -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, 11, -93, -93, -93, -93, -93, -93, 213, 212, - -71, -93, -93, 175, -1, 78, -7, 120, -69, -92, - -93 + -90, -90, 269, 271, -90, 23, -70, -90, -90, -90, + -90, 243, -90, -90, -90, -90, -90, -90, -90, -48, + -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, + -90, -20, -90, -90, -90, -90, -90, 206, 205, -68, + -90, -90, 169, -1, 27, -7, 118, -66, -89, -90 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -88 + number is the opposite. If zero, do what YYDEFACT says. + If YYTABLE_NINF, syntax error. */ +#define YYTABLE_NINF -86 static const yytype_int16 yytable[] = { - 10, 92, 93, 56, 123, 150, 151, 11, 126, 145, - 2, 135, 58, 146, 60, 61, 160, 57, 65, 136, - 1, 59, 1, -32, 101, 148, 149, -32, -32, -32, - -32, -32, -32, -32, -32, -32, 102, 158, -32, -32, - 103, -32, 104, 105, 106, 107, 108, -32, 109, 2, - 110, 54, 177, 97, 131, 111, 140, 178, 62, 98, - 147, 168, 145, 94, 95, 96, 146, 101, 176, 64, - -77, -77, -77, -77, -77, -77, -77, -77, -77, 94, - 95, -77, -77, 103, 66, 170, 68, 69, 127, 130, - 70, 139, 133, 110, 142, 71, 8, 9, 144, 183, - 2, 94, 95, 155, -34, 101, 68, 69, -34, -34, - -34, -34, -34, -34, -34, -34, -34, 102, 165, -34, - -34, 103, -34, 104, 105, 106, 107, 108, -34, 109, - 67, 110, 74, -5, 12, 75, 111, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 94, 95, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 129, 134, - 32, 143, -4, 12, 76, 33, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 54, 85, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 86, 194, 32, - 87, -87, 101, 88, 33, -87, -87, -87, -87, -87, - -87, -87, -87, -87, 89, 90, -87, -87, 103, -87, - -87, -87, -87, -87, -87, -87, 101, 91, 110, 99, - -53, -53, -53, 144, -53, -53, -53, -53, 102, 100, - -53, -53, 103, 118, 119, 120, 121, 184, 94, 95, - 152, 153, 110, 154, 162, 159, 163, 122, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 164, 167, 22, - 23, 14, 15, 16, 168, 18, 19, 20, 21, 95, - 172, 22, 23, 179, 181, 171, 33, 173, 174, 175, - 185, 189, 186, 187, 191, 180, 192, 182, 33, 193, - 55, 53, 125, 78, 137, 166, 188 + 10, 88, 89, 54, 146, 147, 119, 1, 122, 164, + 93, 141, 56, 142, 58, 156, 94, 62, 1, 90, + 91, 131, 65, 66, 144, 145, 67, 90, 91, 132, + 127, 68, 136, -31, 97, 2, 154, -31, -31, -31, + -31, -31, -31, -31, -31, 98, 52, -31, -31, 99, + -31, 100, 101, 102, 103, 104, -31, 105, 129, 106, + 138, 173, 92, 141, 107, 142, 174, 172, 8, 9, + 143, -33, 97, 90, 91, -33, -33, -33, -33, -33, + -33, -33, -33, 98, 166, -33, -33, 99, -33, 100, + 101, 102, 103, 104, -33, 105, 11, 106, 179, 151, + 123, 126, 107, 135, 125, 130, 2, 139, 2, 90, + 91, -5, 12, 55, 161, 13, 14, 15, 16, 17, + 18, 19, 20, 65, 66, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 57, 59, 31, 61, -4, + 12, 63, 32, 13, 14, 15, 16, 17, 18, 19, + 20, 64, 71, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 72, 73, 31, 180, 90, 91, 52, + 32, -85, 97, 82, 83, -85, -85, -85, -85, -85, + -85, -85, -85, 84, 190, -85, -85, 99, -85, -85, + -85, -85, -85, -85, -85, 85, 97, 106, 86, 87, + -52, -52, 140, -52, -52, -52, -52, 98, 95, -52, + -52, 99, 114, 115, 116, 117, 96, 148, 149, 150, + 158, 106, 155, 159, 97, 163, 118, -76, -76, -76, + -76, -76, -76, -76, -76, 160, 164, -76, -76, 99, + 13, 14, 15, 16, 17, 18, 19, 20, 91, 106, + 21, 22, 14, 15, 140, 17, 18, 19, 20, 168, + 175, 21, 22, 177, 181, 182, 183, 32, 187, 167, + 188, 169, 170, 171, 185, 189, 53, 51, 32, 176, + 75, 178, 121, 0, 133, 162, 0, 0, 0, 0, + 184 }; -#define yypact_value_is_default(yystate) \ - ((yystate) == (-93)) - -#define yytable_value_is_error(yytable_value) \ - YYID (0) - -static const yytype_uint8 yycheck[] = +static const yytype_int16 yycheck[] = { - 1, 70, 71, 10, 79, 97, 98, 0, 79, 84, - 32, 24, 13, 84, 15, 16, 108, 32, 19, 32, - 3, 32, 3, 0, 1, 94, 95, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 106, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 32, - 27, 32, 27, 29, 81, 32, 83, 32, 27, 35, - 30, 15, 137, 33, 34, 72, 137, 1, 160, 32, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 33, - 34, 15, 16, 17, 27, 154, 27, 28, 80, 81, - 31, 83, 81, 27, 83, 36, 27, 28, 32, 168, - 32, 33, 34, 104, 0, 1, 27, 28, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 119, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 27, 27, 32, 0, 1, 1, 32, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 33, 34, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 80, 81, - 27, 83, 0, 1, 1, 32, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 32, 32, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 32, 189, 27, - 32, 0, 1, 32, 32, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 32, 32, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 1, 32, 27, 32, - 5, 6, 7, 32, 9, 10, 11, 12, 13, 32, - 15, 16, 17, 18, 19, 20, 21, 32, 33, 34, - 32, 32, 27, 26, 1, 27, 14, 32, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 32, 27, 15, - 16, 5, 6, 7, 15, 9, 10, 11, 12, 34, - 32, 15, 16, 32, 32, 155, 32, 157, 158, 159, - 32, 35, 32, 32, 32, 165, 32, 167, 32, 32, - 7, 6, 79, 38, 82, 120, 176 + 1, 67, 68, 10, 93, 94, 76, 3, 76, 14, + 28, 81, 13, 81, 15, 104, 34, 18, 3, 32, + 33, 23, 26, 27, 90, 91, 30, 32, 33, 31, + 78, 35, 80, 0, 1, 31, 102, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 31, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 78, 26, + 80, 26, 69, 133, 31, 133, 31, 156, 26, 27, + 29, 0, 1, 32, 33, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 150, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 0, 26, 164, 100, + 77, 78, 31, 80, 77, 78, 31, 80, 31, 32, + 33, 0, 1, 31, 115, 4, 5, 6, 7, 8, + 9, 10, 11, 26, 27, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 31, 26, 26, 31, 0, + 1, 26, 31, 4, 5, 6, 7, 8, 9, 10, + 11, 26, 31, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 1, 1, 26, 31, 32, 33, 31, + 31, 0, 1, 31, 31, 4, 5, 6, 7, 8, + 9, 10, 11, 31, 185, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 31, 1, 26, 31, 31, + 5, 6, 31, 8, 9, 10, 11, 12, 31, 14, + 15, 16, 17, 18, 19, 20, 31, 31, 31, 25, + 1, 26, 26, 13, 1, 26, 31, 4, 5, 6, + 7, 8, 9, 10, 11, 31, 14, 14, 15, 16, + 4, 5, 6, 7, 8, 9, 10, 11, 33, 26, + 14, 15, 5, 6, 31, 8, 9, 10, 11, 31, + 31, 14, 15, 31, 31, 31, 31, 31, 31, 151, + 31, 153, 154, 155, 34, 31, 7, 6, 31, 161, + 37, 163, 76, -1, 79, 116, -1, -1, -1, -1, + 172 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 3, 32, 38, 39, 40, 64, 83, 27, 28, - 81, 0, 1, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 27, 32, 41, 42, 44, 45, 46, 47, - 53, 54, 56, 60, 62, 65, 66, 68, 70, 71, - 72, 73, 82, 40, 32, 39, 83, 32, 81, 32, - 81, 81, 27, 87, 32, 81, 27, 27, 27, 28, - 31, 36, 85, 86, 32, 1, 1, 48, 48, 57, - 59, 63, 78, 69, 76, 32, 32, 32, 32, 32, - 32, 32, 85, 85, 33, 34, 83, 29, 35, 32, - 32, 1, 13, 17, 19, 20, 21, 22, 23, 25, - 27, 32, 43, 49, 50, 74, 75, 77, 18, 19, - 20, 21, 32, 43, 58, 75, 77, 42, 55, 82, - 42, 56, 61, 68, 82, 24, 32, 76, 79, 42, - 56, 67, 68, 82, 32, 43, 77, 30, 85, 85, - 86, 86, 32, 32, 26, 81, 80, 81, 85, 27, - 86, 51, 1, 14, 32, 81, 80, 27, 15, 84, - 85, 84, 32, 84, 84, 84, 86, 27, 32, 32, - 84, 32, 84, 85, 32, 32, 32, 32, 84, 35, - 52, 32, 32, 32, 81 + 0, 3, 31, 37, 38, 39, 63, 81, 26, 27, + 79, 0, 1, 4, 5, 6, 7, 8, 9, 10, + 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 26, 31, 40, 41, 43, 44, 45, 46, 52, + 53, 55, 59, 61, 64, 65, 67, 69, 70, 71, + 80, 39, 31, 38, 81, 31, 79, 31, 79, 26, + 85, 31, 79, 26, 26, 26, 27, 30, 35, 83, + 84, 31, 1, 1, 47, 47, 56, 58, 62, 76, + 68, 74, 31, 31, 31, 31, 31, 31, 83, 83, + 32, 33, 81, 28, 34, 31, 31, 1, 12, 16, + 18, 19, 20, 21, 22, 24, 26, 31, 42, 48, + 49, 72, 73, 75, 17, 18, 19, 20, 31, 42, + 57, 73, 75, 41, 54, 80, 41, 55, 60, 67, + 80, 23, 31, 74, 77, 41, 55, 66, 67, 80, + 31, 42, 75, 29, 83, 83, 84, 84, 31, 31, + 25, 79, 78, 79, 83, 26, 84, 50, 1, 13, + 31, 79, 78, 26, 14, 82, 83, 82, 31, 82, + 82, 82, 84, 26, 31, 31, 82, 31, 82, 83, + 31, 31, 31, 31, 82, 34, 51, 31, 31, 31, + 79 }; #define yyerrok (yyerrstatus = 0) @@ -837,6 +821,7 @@ do \ { \ yychar = (Token); \ yylval = (Value); \ + yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ @@ -878,10 +863,19 @@ while (YYID (0)) #endif -/* This macro is provided for backward compatibility. */ +/* YY_LOCATION_PRINT -- Print the location on the stream. + This macro was not mandated originally: define only if we know + we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# define YY_LOCATION_PRINT(File, Loc) \ + fprintf (File, "%d.%d-%d.%d", \ + (Loc).first_line, (Loc).first_column, \ + (Loc).last_line, (Loc).last_column) +# else +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# endif #endif @@ -1073,6 +1067,7 @@ int yydebug; # define YYMAXDEPTH 10000 #endif + #if YYERROR_VERBOSE @@ -1175,142 +1170,115 @@ yytnamerr (char *yyres, const char *yystr) } # endif -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return 2 if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, - yytype_int16 *yyssp, int yytoken) +/* Copy into YYRESULT an error message about the unexpected token + YYCHAR while in state YYSTATE. Return the number of bytes copied, + including the terminating null byte. If YYRESULT is null, do not + copy anything; just return the number of bytes that would be + copied. As a special case, return 0 if an ordinary "syntax error" + message will do. Return YYSIZE_MAXIMUM if overflow occurs during + size calculation. */ +static YYSIZE_T +yysyntax_error (char *yyresult, int yystate, int yychar) { - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - /* Internationalized format string. */ - const char *yyformat = 0; - /* Arguments of yyformat. */ - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Number of reported tokens (one for the "unexpected", one per - "expected"). */ - int yycount = 0; + int yyn = yypact[yystate]; - /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - - for details. YYERROR is fine as it does not invoke this - function. - - If this state is a consistent state with a default action, then - the only way this function was invoked is if the default action - is an error action. In that case, don't check for expected - tokens because there are none. - - The only way there can be no lookahead present (in yychar) is if - this state is a consistent state with a default action. Thus, - detecting the absence of a lookahead is sufficient to determine - that there is no unexpected or expected token to report. In that - case, just report a simple "syntax error". - - Don't assume there isn't a lookahead just because this state is a - consistent state with a default action. There might have been a - previous inconsistent state, consistent state with a non-default - action, or user semantic action that manipulated yychar. - - Of course, the expected token list depends on states to have - correct lookahead information, and it depends on the parser not - to perform extra reductions after fetching a lookahead from the - scanner and before detecting a syntax error. Thus, state merging - (from LALR or IELR) and default reductions corrupt the expected - token list. However, the list is correct for canonical LR with - one exception: it will still contain any token that will not be - accepted due to an error action in a later state. - */ - if (yytoken != YYEMPTY) + if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) + return 0; + else { - int yyn = yypact[*yyssp]; - yyarg[yycount++] = yytname[yytoken]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; + int yytype = YYTRANSLATE (yychar); + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + int yysize_overflow = 0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + int yyx; - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - } - } +# if 0 + /* This is so xgettext sees the translatable formats that are + constructed on the fly. */ + YY_("syntax error, unexpected %s"); + YY_("syntax error, unexpected %s, expecting %s"); + YY_("syntax error, unexpected %s, expecting %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); +# endif + char *yyfmt; + char const *yyf; + static char const yyunexpected[] = "syntax error, unexpected %s"; + static char const yyexpecting[] = ", expecting %s"; + static char const yyor[] = " or %s"; + char yyformat[sizeof yyunexpected + + sizeof yyexpecting - 1 + + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) + * (sizeof yyor - 1))]; + char const *yyprefix = yyexpecting; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 1; + + yyarg[0] = yytname[yytype]; + yyfmt = yystpcpy (yyformat, yyunexpected); + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + yyformat[sizeof yyunexpected - 1] = '\0'; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr (0, yytname[yyx]); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + yyfmt = yystpcpy (yyfmt, yyprefix); + yyprefix = yyor; + } + + yyf = YY_(yyformat); + yysize1 = yysize + yystrlen (yyf); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + + if (yysize_overflow) + return YYSIZE_MAXIMUM; + + if (yyresult) + { + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + char *yyp = yyresult; + int yyi = 0; + while ((*yyp = *yyf) != '\0') + { + if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyf += 2; + } + else + { + yyp++; + yyf++; + } + } + } + return yysize; } - - switch (yycount) - { -# define YYCASE_(N, S) \ - case N: \ - yyformat = S; \ - break - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -# undef YYCASE_ - } - - yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - - if (*yymsg_alloc < yysize) - { - *yymsg_alloc = 2 * yysize; - if (! (yysize <= *yymsg_alloc - && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) - *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return 1; - } - - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - { - char *yyp = *yymsg; - int yyi = 0; - while ((*yyp = *yyformat) != '\0') - if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyformat += 2; - } - else - { - yyp++; - yyformat++; - } - } - return 0; } #endif /* YYERROR_VERBOSE */ + /*-----------------------------------------------. | Release the memory associated to this symbol. | @@ -1337,7 +1305,7 @@ yydestruct (yymsg, yytype, yyvaluep) switch (yytype) { - case 54: /* "choice_entry" */ + case 53: /* "choice_entry" */ { fprintf(stderr, "%s:%d: missing end statement for this entry\n", @@ -1347,7 +1315,7 @@ yydestruct (yymsg, yytype, yyvaluep) }; break; - case 60: /* "if_entry" */ + case 59: /* "if_entry" */ { fprintf(stderr, "%s:%d: missing end statement for this entry\n", @@ -1357,7 +1325,7 @@ yydestruct (yymsg, yytype, yyvaluep) }; break; - case 66: /* "menu_entry" */ + case 65: /* "menu_entry" */ { fprintf(stderr, "%s:%d: missing end statement for this entry\n", @@ -1373,7 +1341,6 @@ yydestruct (yymsg, yytype, yyvaluep) } } - /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus @@ -1400,9 +1367,10 @@ YYSTYPE yylval; int yynerrs; -/*----------. -| yyparse. | -`----------*/ + +/*-------------------------. +| yyparse or yypush_parse. | +`-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ @@ -1426,6 +1394,8 @@ yyparse () #endif #endif { + + int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; @@ -1580,7 +1550,7 @@ yybackup: /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yypact_value_is_default (yyn)) + if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ @@ -1611,8 +1581,8 @@ yybackup: yyn = yytable[yyn]; if (yyn <= 0) { - if (yytable_value_is_error (yyn)) - goto yyerrlab; + if (yyn == 0 || yyn == YYTABLE_NINF) + goto yyerrlab; yyn = -yyn; goto yyreduce; } @@ -1667,65 +1637,65 @@ yyreduce: { case 10: - { zconf_error("unexpected end statement"); } + { zconf_error("unexpected end statement"); ;} break; case 11: - { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); } + { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); ;} break; case 12: { zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name); -} +;} break; case 13: - { zconf_error("invalid statement"); } + { zconf_error("invalid statement"); ;} + break; + + case 28: + + { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;} break; case 29: - { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); } + { zconf_error("invalid option"); ;} break; case 30: - { zconf_error("invalid option"); } - break; - - case 31: - { struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); sym->flags |= SYMBOL_OPTIONAL; menu_add_entry(sym); printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); -} +;} break; - case 32: + case 31: { menu_end_entry(); printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 33: + case 32: { struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); sym->flags |= SYMBOL_OPTIONAL; menu_add_entry(sym); printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); -} +;} break; - case 34: + case 33: { if (current_entry->prompt) @@ -1734,28 +1704,28 @@ yyreduce: zconfprint("warning: menuconfig statement without prompt"); menu_end_entry(); printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 42: + case 41: { menu_set_type((yyvsp[(1) - (3)].id)->stype); printd(DEBUG_PARSE, "%s:%d:type(%u)\n", zconf_curname(), zconf_lineno(), (yyvsp[(1) - (3)].id)->stype); -} +;} break; - case 43: + case 42: { menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 44: + case 43: { menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)); @@ -1764,26 +1734,26 @@ yyreduce: printd(DEBUG_PARSE, "%s:%d:default(%u)\n", zconf_curname(), zconf_lineno(), (yyvsp[(1) - (4)].id)->stype); -} +;} + break; + + case 44: + + { + menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr)); + printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); +;} break; case 45: - { - menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr)); - printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); -} - break; - - case 46: - { menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr)); printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 49: + case 48: { const struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string))); @@ -1792,56 +1762,56 @@ yyreduce: else zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string)); free((yyvsp[(2) - (3)].string)); -} +;} + break; + + case 49: + + { (yyval.string) = NULL; ;} break; case 50: - { (yyval.string) = NULL; } + { (yyval.string) = (yyvsp[(2) - (2)].string); ;} break; case 51: - { (yyval.string) = (yyvsp[(2) - (2)].string); } - break; - - case 52: - { struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE); sym->flags |= SYMBOL_AUTO; menu_add_entry(sym); menu_add_expr(P_CHOICE, NULL, NULL); printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 53: + case 52: { (yyval.menu) = menu_add_menu(); -} +;} break; - case 54: + case 53: { if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); } -} +;} break; - case 62: + case 61: { menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 63: + case 62: { if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) { @@ -1851,18 +1821,18 @@ yyreduce: (yyvsp[(1) - (3)].id)->stype); } else YYERROR; -} +;} break; - case 64: + case 63: { current_entry->sym->flags |= SYMBOL_OPTIONAL; printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 65: + case 64: { if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) { @@ -1871,222 +1841,202 @@ yyreduce: zconf_curname(), zconf_lineno()); } else YYERROR; -} +;} break; - case 68: + case 67: { printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); menu_add_entry(NULL); menu_add_dep((yyvsp[(2) - (3)].expr)); (yyval.menu) = menu_add_menu(); -} +;} break; - case 69: + case 68: { if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); } -} +;} + break; + + case 74: + + { + menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); +;} break; case 75: { + menu_add_entry(NULL); menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); -} + printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); +;} break; case 76: { - menu_add_entry(NULL); - menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); - printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); -} + (yyval.menu) = menu_add_menu(); +;} break; case 77: - { - (yyval.menu) = menu_add_menu(); -} - break; - - case 78: - { if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); } -} +;} + break; + + case 83: + + { + printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); + zconf_nextfile((yyvsp[(2) - (3)].string)); +;} break; case 84: { - printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); - zconf_nextfile((yyvsp[(2) - (3)].string)); -} + menu_add_entry(NULL); + menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL); + printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); +;} break; case 85: { - printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); - if(file_exist((yyvsp[(2) - (3)].string))) - zconf_nextfile((yyvsp[(2) - (3)].string)); -} + menu_end_entry(); +;} break; case 86: { - menu_add_entry(NULL); - menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL); - printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); -} + printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); + zconf_starthelp(); +;} break; case 87: - { - menu_end_entry(); -} - break; - - case 88: - - { - printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); - zconf_starthelp(); -} - break; - - case 89: - { current_entry->help = (yyvsp[(2) - (2)].string); -} +;} break; - case 94: + case 92: { menu_add_dep((yyvsp[(3) - (4)].expr)); printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); -} +;} + break; + + case 96: + + { + menu_add_visibility((yyvsp[(2) - (2)].expr)); +;} break; case 98: { - menu_add_visibility((yyvsp[(2) - (2)].expr)); -} + menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr)); +;} break; - case 100: + case 101: - { - menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr)); -} + { (yyval.id) = (yyvsp[(1) - (2)].id); ;} + break; + + case 102: + + { (yyval.id) = (yyvsp[(1) - (2)].id); ;} break; case 103: - { (yyval.id) = (yyvsp[(1) - (2)].id); } + { (yyval.id) = (yyvsp[(1) - (2)].id); ;} break; - case 104: + case 106: - { (yyval.id) = (yyvsp[(1) - (2)].id); } + { (yyval.expr) = NULL; ;} break; - case 105: + case 107: - { (yyval.id) = (yyvsp[(1) - (2)].id); } + { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;} break; case 108: - { (yyval.expr) = NULL; } + { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;} break; case 109: - { (yyval.expr) = (yyvsp[(2) - (2)].expr); } + { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} break; case 110: - { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); } + { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;} break; case 111: - { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); } + { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;} break; case 112: - { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); } + { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;} break; case 113: - { (yyval.expr) = (yyvsp[(2) - (3)].expr); } + { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} break; case 114: - { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); } + { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;} break; case 115: - { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); } + { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;} break; case 116: - { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); } + { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;} break; case 117: - { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); } - break; - - case 118: - - { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); } - break; - - case 119: - - { (yyval.string) = NULL; } + { (yyval.string) = NULL; ;} break; default: break; } - /* User semantic actions sometimes alter yychar, and that requires - that yytoken be updated with the new translation. We take the - approach of translating immediately before every use of yytoken. - One alternative is translating here after every semantic action, - but that translation would be missed if the semantic action invokes - YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or - if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an - incorrect destructor might then be invoked immediately. In the - case of YYERROR or YYBACKUP, subsequent parser actions might lead - to an incorrect destructor call or verbose syntax error message - before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); @@ -2114,10 +2064,6 @@ yyreduce: | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); - /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { @@ -2125,36 +2071,37 @@ yyerrlab: #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else -# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ - yyssp, yytoken) { - char const *yymsgp = YY_("syntax error"); - int yysyntax_error_status; - yysyntax_error_status = YYSYNTAX_ERROR; - if (yysyntax_error_status == 0) - yymsgp = yymsg; - else if (yysyntax_error_status == 1) - { - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); - if (!yymsg) - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = 2; - } - else - { - yysyntax_error_status = YYSYNTAX_ERROR; - yymsgp = yymsg; - } - } - yyerror (yymsgp); - if (yysyntax_error_status == 2) - goto yyexhaustedlab; + YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); + if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) + { + YYSIZE_T yyalloc = 2 * yysize; + if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) + yyalloc = YYSTACK_ALLOC_MAXIMUM; + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yyalloc); + if (yymsg) + yymsg_alloc = yyalloc; + else + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + } + } + + if (0 < yysize && yysize <= yymsg_alloc) + { + (void) yysyntax_error (yymsg, yystate, yychar); + yyerror (yymsg); + } + else + { + yyerror (YY_("syntax error")); + if (yysize != 0) + goto yyexhaustedlab; + } } -# undef YYSYNTAX_ERROR #endif } @@ -2213,7 +2160,7 @@ yyerrlab1: for (;;) { yyn = yypact[yystate]; - if (!yypact_value_is_default (yyn)) + if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) @@ -2272,13 +2219,8 @@ yyexhaustedlab: yyreturn: if (yychar != YYEMPTY) - { - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = YYTRANSLATE (yychar); - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - } + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y index be2aac4ed4b1..864da07ba4aa 100644 --- a/scripts/kconfig/zconf.y +++ b/scripts/kconfig/zconf.y @@ -47,7 +47,6 @@ static struct menu *current_menu, *current_entry; %token T_MENU %token T_ENDMENU %token T_SOURCE -%token T_ISOURCE %token T_CHOICE %token T_ENDCHOICE %token T_COMMENT @@ -130,7 +129,6 @@ common_stmt: | config_stmt | menuconfig_stmt | source_stmt - | isource_stmt ; option_error: @@ -385,12 +383,6 @@ source_stmt: T_SOURCE prompt T_EOL printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2); zconf_nextfile($2); }; -isource_stmt: T_ISOURCE prompt T_EOL -{ - printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2); - if(file_exist($2)) - zconf_nextfile($2); -} /* comment entry */