+
+ * reload.c (find_reloads ): Pass operand_mode to
+ find_reloads_address.
+
+ 2002-09-07 Scott Snyder
+
+ PR target/7374
+ * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
+
+ 2002-09-07 Glen Nakamura
+
+ PR opt/7814
+ * sched-deps.c (sched_analyze_insn): Make sure to add insn
+ to reg_last->sets after flushing the dependency lists to guarantee
+ that subsequent clobbers will be dependent on it.
+
+ 2002-09-07 Alan Modra
+
+ * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+
+ 2002-09-06 Jakub Jelinek
+
+ * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
+ unconditionally when gcc_cv_as_flags64 checks are gone.
+ * configure: Rebuilt.
+
+ 2002-09-04 Eric Botcazou
+
+ PR c/7102
+ * optabs.c (expand_binop): Convert CONST_INTs in all cases.
+
+ 2002-09-04 Jason Thorpe
+
+ * config/sparc/t-netbsd64: Disable multilib for now.
+
+ 2002-09-01 Alexandre Oliva
+
+ * c-tree.h (skip_evaluation): Move declaration...
+ * c-common.h: ... here.
+ * c-typeck.c (build_external_ref): Don't assemble_external nor
+ mark a tree as used if skip_evaluation is set.
+ * c-parse.in (typeof): New non-terminal to set skip_evaluation
+ around TYPEOF.
+ (typespec_nonreserved_nonattr): Use it.
+
+ 2002-09-01 Marek Michalkiewicz
+
+ 2002-08-13 Denis Chertykov
+ * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
+ which can change CC0.
+
+ 2002-08-29 Rodney Brown
+
+ * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
+ memory exhausted" workarounds.
+
+ 2002-08-29 John David Anglin
+
+ * install.texi (hppa64-hp-hpux11*): Document installation procedure.
+
+ 2002-08-28 Jason Merrill
+
+ * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
+ a VAR_DECL with RTL that matches the target, just return that RTL.
+
+ 2002-08-28 Daniel Berlin
+
+ * tree-inline.c (expand_call_inline): Make the statement
+ expression we generate have a COMPOUND_STMT.
+
+ 2002-08-27 Mark Mitchell
+
+ * doc/invoke.texi: Document -Wabi.
+
+ 2002-08-23 David Edelsohn
+
+ * config/rs6000/rs6000.c (rs6000_select_section): Treat
+ DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
+ default.
+ (rs6000_unique_section): Likewise.
+
+ 2002-08-22 Jason Merrill
+
+ * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
+ * langhooks.c (lhd_expr_size): Define default.
+ * langhooks.h (struct lang_hooks): Add expr_size.
+ * explow.c (expr_size): Call it.
+ (int_expr_size): New fn.
+ * expr.h: Declare it.
+ * expr.c (expand_expr) [CONSTRUCTOR]: Use it to calculate how
+ much to store.
+
+ 2002-08-23 Alan Modra
+
+ * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
+ for loading delta with num_insns_constant_wide. Calculate
+ delta_low, delta_high without using a conditional.
+
+ 2002-08-20 Andreas Jaeger
+
+ Merge from trunk:
+ Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka
+
+ * i386.md (prefetch): Fix for 64bit mode.
+ (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
+
+ 2002-08-11 Andreas Jaeger
+ PR target/7531:
+ * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
+
+ 2002-06-24 Jeff Law
+
+ * flow.c (propagate_one_insn): When removing an insn
+ with a REG_LIBCALL note but not the entire libcall sequence,
+ delete the associated REG_RETVAL note.
+
+ 2002-06-04 Jeff Law
+ Michael Matz
+
+ * sched-int.h (struct deps): New field libcall_block_tail_insn.
+ * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
+ * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
+ is set, then mark the current insn as being part of a libcall
+ scheduling group.
+ (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
+
+ * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
+ insns against the issue rate.
+
+ 2002-05-30 Jeff Law
+
+ * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
+ a dead insn with a REG_RETVAL note when the entire libcall is not
+ dead and remove the associated REG_LIBCALL note at the same time.
+
+ 2002-05-29 Jeff Law
+
+ * flow.c (propagate_one_insn): Do not remove a dead insn if it
+ contains a REG_RETVAL note.
+
+ * haifa-sched (sched_analyze): Remove another useless clearing
+ of SCHED_GROUP_P I missed yesterday.
+
+ 2002-05-28 David Edelsohn
+ Jeff Law
+
+ * optabs.c (expand_binop): Fix nwords sign warnings.
+ generate pseudo for add_optab.
+
+ * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
+ * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
+
+ 2002-08-18 Neil Booth
+
+ PR preprocessor/7602
+ * cppinit.c (path_include): Treat the system environment
+ variables as being cxx_aware.
+
+ 2002-08-16 David Edelsohn
+
+ * collect2.c (is_ctor_dtor): Add other possible JOINER values.
+
+ * config/rs6000/rs6000.c (output_mi_thunk): Return to function
+ section on TARGET_ELF.
+
+ * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
+ (Binaries): Update Bull Freeware URL.
+
+ 2002-08-15 Neil Booth
+
+ PR preprocessor/7358
+ PR preprocessor/7357
+ PR preprocessor/7526
+ * cppfiles.c (stack_include_file): Ignore main file if
+ appropriate. Correct test of whether a dependency should
+ be output.
+ * cppinit.c (init_dependency_output): Ignore main file
+ for SUNPRO_DEPENDENCIES.
+ (struct lang_flags): Rename trigraphs std.
+ (set_lang): Update.
+ * cpplib.c (run_directive): Kludge so _Pragma dependency works.
+ * cpplib.h (struct cpp_options): New members.
+ * cppmacro.c (collect_args): Flag whether to swallow a possible
+ future comma pasted with varargs.
+ (replace_args): Use this flag.
+ * doc/cpp.texi: Update varargs extension documentation.
+ * doc/cppenv.texi: Update.
+
2002-08-14 Release Manager
* GCC 3.2 Released.
***************
*** 105,111 ****
instead of gen_rtx_SUBREG.
(arm_reload_out_hi): Use gen_lowpart instead of
gen_rtx_SUBREG to access QImode components.
! * config/arm/arm.md: Disable zero_extend split for QImode
subregs in BIG_ENDIAN mode.
(storehi_bigend): Match use of least significant byte.
(storeinthi): Remove extraneous SUBREG.
--- 1103,1109 ----
instead of gen_rtx_SUBREG.
(arm_reload_out_hi): Use gen_lowpart instead of
gen_rtx_SUBREG to access QImode components.
! * config/arm/arm.md: Disable zero_extend split for QImode
subregs in BIG_ENDIAN mode.
(storehi_bigend): Match use of least significant byte.
(storeinthi): Remove extraneous SUBREG.
***************
*** 191,197 ****
* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
QI mode registers in soft registers.
! ("zero_extendqihi2"): Do not take into account soft registers
for register allocation (use '*' constraint).
2002-07-05 Stephane Carrez
--- 1189,1195 ----
* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
QI mode registers in soft registers.
! ("zero_extendqihi2"): Do not take into account soft registers
for register allocation (use '*' constraint).
2002-07-05 Stephane Carrez
***************
*** 212,218 ****
* dwarfout.c (output_reg_number): Fix warning message.
(output_bound_representation): Check SAVE_EXPR_RTL is not NULL
before using it.
!
2002-07-03 Richard Henderson
* config/i386/i386.md (prologue_get_pc): Issue pop here ...
--- 1210,1216 ----
* dwarfout.c (output_reg_number): Fix warning message.
(output_bound_representation): Check SAVE_EXPR_RTL is not NULL
before using it.
!
2002-07-03 Richard Henderson
* config/i386/i386.md (prologue_get_pc): Issue pop here ...
***************
*** 255,261 ****
* config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
avoid the auto increment addressing modes.
("*subsi3"): Likewise.
! (split for add/sub on address): For 68HC12 push the value on
the stack and do the operation with a pop.
2002-06-28 Stephane Carrez
--- 1253,1259 ----
* config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
avoid the auto increment addressing modes.
("*subsi3"): Likewise.
! (split for add/sub on address): For 68HC12 push the value on
the stack and do the operation with a pop.
2002-06-28 Stephane Carrez
***************
*** 302,308 ****
* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Pass
flag_function_sections as new 3rd arg to resolve_unique_section.
!
2002-06-27 Neil Booth
PR preprocessor/7070
--- 1300,1306 ----
* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Pass
flag_function_sections as new 3rd arg to resolve_unique_section.
!
2002-06-27 Neil Booth
PR preprocessor/7070
***************
*** 318,324 ****
* doc/install.texi: Change ` bit' to `-bit'.
* doc/md.texi: Change `-bits' to `-bit'.
* doc/tm.texi: Change `-bits' to ` bits'.
!
2002-06-24 David S. Miller
* config/sparc/sparc.h (INIT_TARGET_OPTABS): If ARCH64, set the
--- 1316,1322 ----
* doc/install.texi: Change ` bit' to `-bit'.
* doc/md.texi: Change `-bits' to `-bit'.
* doc/tm.texi: Change `-bits' to ` bits'.
!
2002-06-24 David S. Miller
* config/sparc/sparc.h (INIT_TARGET_OPTABS): If ARCH64, set the
diff -Nrc3pad gcc-3.2/gcc/Makefile.in gcc-3.2.1/gcc/Makefile.in
*** gcc-3.2/gcc/Makefile.in Thu May 23 17:57:21 2002
--- gcc-3.2.1/gcc/Makefile.in Mon Oct 14 21:04:16 2002
*************** libgcc.mk: config.status Makefile mklibg
*** 1003,1009 ****
SHLIB_MKMAP_OPTS='$(SHLIB_MKMAP_OPTS)' \
SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \
SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
! SHLIB_SLIBDIR_SUFFIXES='$(SHLIB_SLIBDIR_SUFFIXES)' \
mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \
$(SHELL) mklibgcc > tmp-libgcc.mk
mv tmp-libgcc.mk libgcc.mk
--- 1003,1009 ----
SHLIB_MKMAP_OPTS='$(SHLIB_MKMAP_OPTS)' \
SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \
SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
! MULTILIB_OSDIRNAMES='$(MULTILIB_OSDIRNAMES)' \
mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \
$(SHELL) mklibgcc > tmp-libgcc.mk
mv tmp-libgcc.mk libgcc.mk
*************** libgcc.a: $(LIBGCC_DEPS)
*** 1037,1043 ****
# switches.
multilib.h: s-mlib; @true
s-mlib: $(srcdir)/genmultilib Makefile
! if test @enable_multilib@ = yes; then \
$(SHELL) $(srcdir)/genmultilib \
"$(MULTILIB_OPTIONS)" \
"$(MULTILIB_DIRNAMES)" \
--- 1037,1044 ----
# switches.
multilib.h: s-mlib; @true
s-mlib: $(srcdir)/genmultilib Makefile
! if test @enable_multilib@ = yes \
! || test -n "$(MULTILIB_OSDIRNAMES)"; then \
$(SHELL) $(srcdir)/genmultilib \
"$(MULTILIB_OPTIONS)" \
"$(MULTILIB_DIRNAMES)" \
*************** s-mlib: $(srcdir)/genmultilib Makefile
*** 1045,1053 ****
"$(MULTILIB_EXCEPTIONS)" \
"$(MULTILIB_EXTRA_OPTS)" \
"$(MULTILIB_EXCLUSIONS)" \
> tmp-mlib.h; \
else \
! $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' > tmp-mlib.h; \
fi
$(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h
$(STAMP) s-mlib
--- 1046,1057 ----
"$(MULTILIB_EXCEPTIONS)" \
"$(MULTILIB_EXTRA_OPTS)" \
"$(MULTILIB_EXCLUSIONS)" \
+ "$(MULTILIB_OSDIRNAMES)" \
+ "@enable_multilib@" \
> tmp-mlib.h; \
else \
! $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' no \
! > tmp-mlib.h; \
fi
$(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h
$(STAMP) s-mlib
*************** varasm.o : varasm.c $(CONFIG_H) $(SYSTEM
*** 1379,1385 ****
$(HASHTAB_H) $(TARGET_H) langhooks.h
function.o : function.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
function.h $(EXPR_H) libfuncs.h $(REGS_H) hard-reg-set.h \
! insn-config.h $(RECOG_H) output.h toplev.h except.h hash.h $(GGC_H) $(TM_P_H)
stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h function.h \
insn-config.h hard-reg-set.h $(EXPR_H) libfuncs.h except.h \
$(LOOP_H) $(RECOG_H) toplev.h output.h varray.h $(GGC_H) $(TM_P_H)
--- 1383,1390 ----
$(HASHTAB_H) $(TARGET_H) langhooks.h
function.o : function.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
function.h $(EXPR_H) libfuncs.h $(REGS_H) hard-reg-set.h \
! insn-config.h $(RECOG_H) output.h toplev.h except.h hash.h $(GGC_H) \
! $(TM_P_H) langhooks.h
stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h function.h \
insn-config.h hard-reg-set.h $(EXPR_H) libfuncs.h except.h \
$(LOOP_H) $(RECOG_H) toplev.h output.h varray.h $(GGC_H) $(TM_P_H)
*************** $(docdir)/gcc.info: $(docdir)/gcc.texi $
*** 2273,2279 ****
$(docdir)/invoke.texi $(docdir)/extend.texi $(docdir)/md.texi \
$(docdir)/objc.texi $(docdir)/gcov.texi $(docdir)/trouble.texi \
$(docdir)/bugreport.texi $(docdir)/service.texi \
! $(docdir)/contribute.texi $(docdir)/vms.texi \
$(docdir)/include/funding.texi $(docdir)/gnu.texi \
$(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \
$(docdir)/contrib.texi $(docdir)/cppenv.texi $(docdir)/cppopts.texi
--- 2278,2284 ----
$(docdir)/invoke.texi $(docdir)/extend.texi $(docdir)/md.texi \
$(docdir)/objc.texi $(docdir)/gcov.texi $(docdir)/trouble.texi \
$(docdir)/bugreport.texi $(docdir)/service.texi \
! $(docdir)/contribute.texi $(docdir)/vms.texi $(docdir)/compat.texi \
$(docdir)/include/funding.texi $(docdir)/gnu.texi \
$(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \
$(docdir)/contrib.texi $(docdir)/cppenv.texi $(docdir)/cppopts.texi
diff -Nrc3pad gcc-3.2/gcc/NEWS gcc-3.2.1/gcc/NEWS
*** gcc-3.2/gcc/NEWS Wed Aug 14 09:31:23 2002
--- gcc-3.2.1/gcc/NEWS Tue Nov 19 18:12:06 2002
*************** http://gcc.gnu.org/gcc-3.2/index.html
*** 9,47 ****
GCC 3.2
! August 14, 2002
The [1]GNU project and the GCC developers are pleased to announce the
release of GCC 3.2.
GCC used to stand for the GNU C Compiler, but since the compiler
supports several other languages aside from C, it now stands for the
GNU Compiler Collection.
! A list of [2]successful builds is updated as new information becomes
available.
The GCC developers would like to thank the numerous people that have
! contributed [3]new features, improvements, bug fixes, and other
! changes as well as test results to GCC. This [4]amazing group of
volunteers is what makes GCC successful.
! For additional information about GCC please refer to the [5]GCC
! project web site or contact the [6]GCC development mailing list.
! To obtain GCC please use [7]our mirror sites, one of the [8]GNU mirror
! sites, or [9]our CVS server.
_________________________________________________________________
_________________________________________________________________
! Please send FSF & GNU inquiries & questions to [10]gnu@gnu.org. There
! are also [11]other ways to contact the FSF.
! These pages are maintained by [12]The GCC team.
! Please send comments on these web pages and GCC to [13]gcc@gnu.org
! or [14]gcc@gcc.gnu.org, send other questions to [15]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 9,55 ----
GCC 3.2
! November 19, 2002
The [1]GNU project and the GCC developers are pleased to announce the
+ release of GCC 3.2.1.
+
+ The links below still apply to GCC 3.2.1.
+
+ August 14, 2002
+
+ The [2]GNU project and the GCC developers are pleased to announce the
release of GCC 3.2.
GCC used to stand for the GNU C Compiler, but since the compiler
supports several other languages aside from C, it now stands for the
GNU Compiler Collection.
! A list of [3]successful builds is updated as new information becomes
available.
The GCC developers would like to thank the numerous people that have
! contributed [4]new features, improvements, bug fixes, and other
! changes as well as test results to GCC. This [5]amazing group of
volunteers is what makes GCC successful.
! For additional information about GCC please refer to the [6]GCC
! project web site or contact the [7]GCC development mailing list.
! To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror
! sites, or [10]our CVS server.
_________________________________________________________________
_________________________________________________________________
! Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
! are also [12]other ways to contact the FSF.
! These pages are maintained by [13]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
! questions to [16]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/gcc-3.2/index.html
*** 49,87 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-08-14 [16]Valid XHTML 1.0
References
1. http://www.gnu.org/
! 2. http://gcc.gnu.org/gcc-3.2/buildstat.html
! 3. http://gcc.gnu.org/gcc-3.2/changes.html
! 4. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
! 5. http://gcc.gnu.org/index.html
! 6. mailto:gcc@gcc.gnu.org
! 7. http://gcc.gnu.org/mirrors.html
! 8. http://www.gnu.org/order/ftp.html
! 9. http://gcc.gnu.org/cvs.html
! 10. mailto:gnu@gnu.org
! 11. http://www.gnu.org/home.html#ContactInfo
! 12. http://gcc.gnu.org/about.html
! 13. mailto:gcc@gnu.org
! 14. mailto:gcc@gcc.gnu.org
! 15. mailto:gnu@gnu.org
! 16. http://validator.w3.org/check/referer
======================================================================
http://gcc.gnu.org/gcc-3.2/changes.html
! GCC 3.2 Changes, New Features, and Fixes
! Relase Notes
! See [1]this message for a list of bugs fixed in this released.
Caveats
* This GCC release is based on the GCC 3.1 sourcebase, and thus has
! all the [2]changes in the GCC 3.1 series. In addition, GCC 3.2 has
a number of C++ ABI fixes which make its C++ compiler generate
binary code which is incompatible with the C++ compilers found in
earlier GCC releases, including GCC 3.1 and GCC 3.1.1.
--- 57,144 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-18 [17]Valid XHTML 1.0
References
1. http://www.gnu.org/
! 2. http://www.gnu.org/
! 3. http://gcc.gnu.org/gcc-3.2/buildstat.html
! 4. http://gcc.gnu.org/gcc-3.2/changes.html
! 5. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
! 6. http://gcc.gnu.org/index.html
! 7. mailto:gcc@gcc.gnu.org
! 8. http://gcc.gnu.org/mirrors.html
! 9. http://www.gnu.org/order/ftp.html
! 10. http://gcc.gnu.org/cvs.html
! 11. mailto:gnu@gnu.org
! 12. http://www.gnu.org/home.html#ContactInfo
! 13. http://gcc.gnu.org/about.html
! 14. mailto:gcc@gnu.org
! 15. mailto:gcc@gcc.gnu.org
! 16. mailto:gnu@gnu.org
! 17. http://validator.w3.org/check/referer
======================================================================
http://gcc.gnu.org/gcc-3.2/changes.html
! Changes in GCC 3.2.1
! C/C++/Objective-C
! * The method of constructing the list of directories to be searched
! for header files has been revised. If a directory named by a -I
! option is a standard system include directory, the option is
! ignored to ensure that the default search order for system
! directories and the special treatment of system header files are
! not defeated.
! * The C and Objective-C compilers no longer accept the "Naming
! Types" extension (typedef foo = bar); it was already unavailable
! in C++. Code which uses it will need to be changed to use the
! "typeof" extension instead: typedef typeof(bar) foo. (We have
! removed this extension without a period of deprecation because it
! has caused the compiler to crash since version 3.0 and no one
! noticed until very recently. Thus we conclude it is not in
! widespread use.)
!
! New Targets and Target Specific Improvements
!
! IA-32
!
! * Fixed a number of bugs in SSE and MMX intrinsics.
! * Fixed common compiler crashes with SSE instruction set enabled
! (implied by -march=pentium3, pentium4, athlon-xp)
! * __m128 and __m128i is not 128bit aligned when used in structures.
!
! x86-64
!
! * A bug whereby the compiler could generate bad code for bzero has
! been fixed.
! * ABI fixes (implying ABI incompatibilities with previous version in
! some corner cases)
! * Fixed prefetch code generation
!
! Bug Fixes
!
! See [1]this message for a list of bugs fixed in this release.
!
! Changes in GCC 3.2
!
! Bug Fixes
!
! See [2]this message for a list of bugs fixed in this release.
Caveats
+ * The C++ compiler does not correctly zero-initialize
+ pointers-to-data members. You must explicitly initialize them. For
+ example:
+ int S::*m(0);
+
+ will work, but depending on default-initialization to zero will
+ not work. This bug cannot be fixed in GCC 3.2 without inducing
+ unacceptable risks. It will be fixed in GCC 3.3.
* This GCC release is based on the GCC 3.1 sourcebase, and thus has
! all the [3]changes in the GCC 3.1 series. In addition, GCC 3.2 has
a number of C++ ABI fixes which make its C++ compiler generate
binary code which is incompatible with the C++ compilers found in
earlier GCC releases, including GCC 3.1 and GCC 3.1.1.
*************** New Languages and Language specific impr
*** 99,123 ****
they are necessary for correct compilation of C++, as opposed to
conformance to the ABI documents.
* For details on how to build an ABI compliant compiler for
! GNU/Linux systems, check the [3]common C++ ABI page.
!
! New Targets and Target Specific Improvements
!
! x86-64
!
! * A bug whereby the complier could generated bad code for bzero has
! been fixed.
! *
_________________________________________________________________
! Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There
! are also [5]other ways to contact the FSF.
! These pages are maintained by [6]The GCC team.
! Please send comments on these web pages and GCC to [7]gcc@gnu.org or
! [8]gcc@gcc.gnu.org, send other questions to [9]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 156,173 ----
they are necessary for correct compilation of C++, as opposed to
conformance to the ABI documents.
* For details on how to build an ABI compliant compiler for
! GNU/Linux systems, check the [4]common C++ ABI page.
_________________________________________________________________
! Please send FSF & GNU inquiries & questions to [5]gnu@gnu.org. There
! are also [6]other ways to contact the FSF.
! These pages are maintained by [7]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [8]gcc@gnu.org or [9]gcc@gcc.gnu.org, send other
! questions to [10]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** New Targets and Target Specific Improvem
*** 125,144 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-08-14 [10]Valid XHTML 1.0
References
! 1. http://gcc.gnu.org/ml/gcc/2002-08/msg00405.html
! 2. http://gcc.gnu.org/gcc-3.1/changes.html
! 3. http://gcc.gnu.org/gcc-3.2/c++-abi.html
! 4. mailto:gnu@gnu.org
! 5. http://www.gnu.org/home.html#ContactInfo
! 6. http://gcc.gnu.org/about.html
! 7. mailto:gcc@gnu.org
! 8. mailto:gcc@gcc.gnu.org
! 9. mailto:gnu@gnu.org
! 10. http://validator.w3.org/check/referer
======================================================================
http://gcc.gnu.org/gcc-3.1/index.html
--- 175,195 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-18 [11]Valid XHTML 1.0
References
! 1. http://gcc.gnu.org/ml/gcc/2002-11/msg00445.html
! 2. http://gcc.gnu.org/ml/gcc/2002-08/msg00405.html
! 3. http://gcc.gnu.org/gcc-3.1/changes.html
! 4. http://gcc.gnu.org/gcc-3.2/c++-abi.html
! 5. mailto:gnu@gnu.org
! 6. http://www.gnu.org/home.html#ContactInfo
! 7. http://gcc.gnu.org/about.html
! 8. mailto:gcc@gnu.org
! 9. mailto:gcc@gcc.gnu.org
! 10. mailto:gnu@gnu.org
! 11. http://validator.w3.org/check/referer
======================================================================
http://gcc.gnu.org/gcc-3.1/index.html
*************** http://gcc.gnu.org/gcc-3.1/index.html
*** 182,189 ****
These pages are maintained by [13]The GCC team.
! Please send comments on these web pages and GCC to [14]gcc@gnu.org
! or [15]gcc@gcc.gnu.org, send other questions to [16]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 233,241 ----
These pages are maintained by [13]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
! questions to [16]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/gcc-3.1/index.html
*** 191,197 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-28 [17]Valid XHTML 1.0
References
--- 243,249 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [17]Valid XHTML 1.0
References
*************** Documentation improvements
*** 544,551 ****
These pages are maintained by [21]The GCC team.
! Please send comments on these web pages and GCC to [22]gcc@gnu.org
! or [23]gcc@gcc.gnu.org, send other questions to [24]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 596,604 ----
These pages are maintained by [21]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [22]gcc@gnu.org or [23]gcc@gcc.gnu.org, send other
! questions to [24]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** Documentation improvements
*** 553,559 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-26 [25]Valid XHTML 1.0
References
--- 606,612 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [25]Valid XHTML 1.0
References
*************** References
*** 565,571 ****
6. http://www.codesourcery.com/
7. http://gcc.gnu.org/gcc-3.1/c99status.html
8. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1
! 9. http://gcc.gnu.org/onlinedocs/g77_news.html
10. http://www.gnat.com/
11. http://www-cs-faculty.stanford.edu/~knuth/mmix.html
12. http://www.axis.com/
--- 618,624 ----
6. http://www.codesourcery.com/
7. http://gcc.gnu.org/gcc-3.1/c99status.html
8. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1
! 9. http://gcc.gnu.org/onlinedocs/g77/News.html
10. http://www.gnat.com/
11. http://www-cs-faculty.stanford.edu/~knuth/mmix.html
12. http://www.axis.com/
*************** Previous 3.0.x Releases
*** 632,639 ****
These pages are maintained by [13]The GCC team.
! Please send comments on these web pages and GCC to [14]gcc@gnu.org
! or [15]gcc@gcc.gnu.org, send other questions to [16]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 685,693 ----
These pages are maintained by [13]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
! questions to [16]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** Previous 3.0.x Releases
*** 641,647 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [17]Valid XHTML 1.0
References
--- 695,701 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [17]Valid XHTML 1.0
References
*************** Other significant improvements
*** 832,839 ****
These pages are maintained by [16]The GCC team.
! Please send comments on these web pages and GCC to [17]gcc@gnu.org
! or [18]gcc@gcc.gnu.org, send other questions to [19]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 886,894 ----
These pages are maintained by [16]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org, send other
! questions to [19]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** Other significant improvements
*** 841,847 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [20]Valid XHTML 1.0
References
--- 896,902 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [20]Valid XHTML 1.0
References
*************** References
*** 855,861 ****
8. http://gcc.gnu.org/news/inlining.html
9. http://gcc.gnu.org/news/dependencies.html
10. http://gcc.gnu.org/gcc-3.0/c99status.html
! 11. http://gcc.gnu.org/onlinedocs/g77_news.html
12. http://gcc.gnu.org/gcc-3.0/libgcc.html
13. http://gcc.gnu.org/gcc-2.95/features.html
14. mailto:gnu@gnu.org
--- 910,916 ----
8. http://gcc.gnu.org/news/inlining.html
9. http://gcc.gnu.org/news/dependencies.html
10. http://gcc.gnu.org/gcc-3.0/c99status.html
! 11. http://gcc.gnu.org/onlinedocs/g77/News.html
12. http://gcc.gnu.org/gcc-3.0/libgcc.html
13. http://gcc.gnu.org/gcc-2.95/features.html
14. mailto:gnu@gnu.org
*************** http://gcc.gnu.org/gcc-3.0/caveats.html
*** 910,917 ****
These pages are maintained by [6]The GCC team.
! Please send comments on these web pages and GCC to [7]gcc@gnu.org or
! [8]gcc@gcc.gnu.org, send other questions to [9]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 965,973 ----
These pages are maintained by [6]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other
! questions to [9]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/gcc-3.0/caveats.html
*** 919,925 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-08-14 [10]Valid XHTML 1.0
References
--- 975,981 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [10]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/gcc-2.95/index.html
*** 988,995 ****
These pages are maintained by [15]The GCC team.
! Please send comments on these web pages and GCC to [16]gcc@gnu.org
! or [17]gcc@gcc.gnu.org, send other questions to [18]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 1044,1052 ----
These pages are maintained by [15]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other
! questions to [18]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/gcc-2.95/index.html
*** 997,1003 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [19]Valid XHTML 1.0
References
--- 1054,1060 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [19]Valid XHTML 1.0
References
*************** Additional Changes in GCC 2.95.3
*** 1261,1268 ****
These pages are maintained by [20]The GCC team.
! Please send comments on these web pages and GCC to [21]gcc@gnu.org
! or [22]gcc@gcc.gnu.org, send other questions to [23]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 1318,1326 ----
These pages are maintained by [20]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [21]gcc@gnu.org or [22]gcc@gcc.gnu.org, send other
! questions to [23]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** Additional Changes in GCC 2.95.3
*** 1270,1276 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [24]Valid XHTML 1.0
References
--- 1328,1334 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [24]Valid XHTML 1.0
References
*************** References
*** 1283,1289 ****
7. http://gcc.gnu.org/news/alias.html
8. http://gcc.gnu.org/fom_serv/cache/24.html
9. http://gcc.gnu.org/gcc-2.95/c++features.html
! 10. http://gcc.gnu.org/onlinedocs/g77_news.html
11. http://gcc.gnu.org/java/gcj-announce.txt
12. http://gcc.gnu.org/news/javaannounce.html
13. http://gcc.gnu.org/c99status.html
--- 1341,1347 ----
7. http://gcc.gnu.org/news/alias.html
8. http://gcc.gnu.org/fom_serv/cache/24.html
9. http://gcc.gnu.org/gcc-2.95/c++features.html
! 10. http://gcc.gnu.org/onlinedocs/g77/News.html
11. http://gcc.gnu.org/java/gcj-announce.txt
12. http://gcc.gnu.org/news/javaannounce.html
13. http://gcc.gnu.org/c99status.html
*************** http://gcc.gnu.org/gcc-2.95/caveats.html
*** 1350,1357 ****
These pages are maintained by [6]The GCC team.
! Please send comments on these web pages and GCC to [7]gcc@gnu.org or
! [8]gcc@gcc.gnu.org, send other questions to [9]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 1408,1416 ----
These pages are maintained by [6]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other
! questions to [9]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/gcc-2.95/caveats.html
*** 1359,1365 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [10]Valid XHTML 1.0
References
--- 1418,1424 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [10]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.1/index.html
*** 1578,1585 ****
These pages are maintained by [13]The GCC team.
! Please send comments on these web pages and GCC to [14]gcc@gnu.org
! or [15]gcc@gcc.gnu.org, send other questions to [16]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 1637,1645 ----
These pages are maintained by [13]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
! questions to [16]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.1/index.html
*** 1587,1593 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [17]Valid XHTML 1.0
References
--- 1647,1653 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [17]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.1/features.htm
*** 1684,1691 ****
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to [9]gcc@gnu.org or
! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 1744,1752 ----
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
! questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.1/features.htm
*** 1693,1703 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [12]Valid XHTML 1.0
References
! 1. http://gcc.gnu.org/onlinedocs/g77_news.html
2. http://gcc.gnu.org/egcs-1.1/c++features.html
3. http://gcc.gnu.org/news/gcse.html
4. http://gcc.gnu.org/news/alias.html
--- 1754,1764 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [12]Valid XHTML 1.0
References
! 1. http://gcc.gnu.org/onlinedocs/g77/News.html
2. http://gcc.gnu.org/egcs-1.1/c++features.html
3. http://gcc.gnu.org/news/gcse.html
4. http://gcc.gnu.org/news/alias.html
*************** http://gcc.gnu.org/egcs-1.1/caveats.html
*** 1744,1751 ****
These pages are maintained by [4]The GCC team.
! Please send comments on these web pages and GCC to [5]gcc@gnu.org or
! [6]gcc@gcc.gnu.org, send other questions to [7]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 1805,1813 ----
These pages are maintained by [4]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other
! questions to [7]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.1/caveats.html
*** 1753,1759 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [8]Valid XHTML 1.0
References
--- 1815,1821 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [8]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h
*** 1848,1855 ****
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to [9]gcc@gnu.org or
! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 1910,1918 ----
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
! questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h
*** 1857,1863 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [12]Valid XHTML 1.0
References
--- 1920,1926 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [12]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h
*** 1987,1994 ****
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to [9]gcc@gnu.org or
! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 2050,2058 ----
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
! questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h
*** 1996,2002 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [12]Valid XHTML 1.0
References
--- 2060,2066 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [12]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h
*** 2126,2133 ****
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to [9]gcc@gnu.org or
! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 2190,2198 ----
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
! questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h
*** 2135,2141 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [12]Valid XHTML 1.0
References
--- 2200,2206 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [12]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm
*** 2222,2229 ****
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to [9]gcc@gnu.org or
! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 2287,2295 ----
These pages are maintained by [8]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
! questions to [11]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm
*** 2231,2237 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [12]Valid XHTML 1.0
References
--- 2297,2303 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [12]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.0/features.htm
*** 2295,2302 ****
These pages are maintained by [5]The GCC team.
! Please send comments on these web pages and GCC to [6]gcc@gnu.org or
! [7]gcc@gcc.gnu.org, send other questions to [8]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 2361,2369 ----
These pages are maintained by [5]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [6]gcc@gnu.org or [7]gcc@gcc.gnu.org, send other
! questions to [8]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.0/features.htm
*** 2304,2310 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [9]Valid XHTML 1.0
References
--- 2371,2377 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [9]Valid XHTML 1.0
References
*************** http://gcc.gnu.org/egcs-1.0/caveats.html
*** 2354,2361 ****
These pages are maintained by [4]The GCC team.
! Please send comments on these web pages and GCC to [5]gcc@gnu.org or
! [6]gcc@gcc.gnu.org, send other questions to [7]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
--- 2421,2429 ----
These pages are maintained by [4]The GCC team.
! Please send comments on these web pages and GCC to our public
! mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other
! questions to [7]gnu@gnu.org.
Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA.
*************** http://gcc.gnu.org/egcs-1.0/caveats.html
*** 2363,2369 ****
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-07-17 [8]Valid XHTML 1.0
References
--- 2431,2437 ----
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.
! Last modified 2002-11-11 [8]Valid XHTML 1.0
References
diff -Nrc3pad gcc-3.2/gcc/ada/ChangeLog gcc-3.2.1/gcc/ada/ChangeLog
*** gcc-3.2/gcc/ada/ChangeLog Wed Aug 14 08:59:09 2002
--- gcc-3.2.1/gcc/ada/ChangeLog Tue Nov 19 17:48:10 2002
***************
*** 1,3 ****
--- 1,20 ----
+ 2002-11-19 Release Manager
+
+ * GCC 3.2.1 Released.
+
+ 2002-11-19 Release Manager
+
+ * GCC 3.2.1 Released.
+
+ 2002-11-18 Release Manager
+
+ * GCC 3.2.1 Released.
+
+ 2002-08-25 Andre Leis
+ David Billinghurst (David.Billinghurst@riotinto.com>
+
+ * sysdep.c (__gnat_ttyname): include on cygwin
+
2002-08-14 Release Manager
* GCC 3.2 Released.
diff -Nrc3pad gcc-3.2/gcc/ada/gnatvsn.ads gcc-3.2.1/gcc/ada/gnatvsn.ads
*** gcc-3.2/gcc/ada/gnatvsn.ads Wed Aug 14 09:01:19 2002
--- gcc-3.2.1/gcc/ada/gnatvsn.ads Tue Nov 19 08:16:36 2002
***************
*** 6,12 ****
-- --
-- S p e c --
-- --
! -- $Revision: 1.2.12.65.2.20 $
-- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
--- 6,12 ----
-- --
-- S p e c --
-- --
! -- $Revision: 1.2.12.65.2.119 $
-- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
***************
*** 38,44 ****
package Gnatvsn is
! Gnat_Version_String : constant String := "3.2 20020814 (release)";
-- Version output when GNAT (compiler), or its related tools, including
-- GNATBIND, GNATCHOP, GNATFIND, GNATLINK, GNATMAKE, GNATXREF, are run
-- (with appropriate verbose option switch set).
--- 38,44 ----
package Gnatvsn is
! Gnat_Version_String : constant String := "3.2.1 20021119 (release)";
-- Version output when GNAT (compiler), or its related tools, including
-- GNATBIND, GNATCHOP, GNATFIND, GNATLINK, GNATMAKE, GNATXREF, are run
-- (with appropriate verbose option switch set).
diff -Nrc3pad gcc-3.2/gcc/ada/sysdep.c gcc-3.2.1/gcc/ada/sysdep.c
*** gcc-3.2/gcc/ada/sysdep.c Sat May 4 03:29:22 2002
--- gcc-3.2.1/gcc/ada/sysdep.c Mon Aug 26 07:11:39 2002
***************
*** 6,12 ****
* *
* C Implementation File *
* *
! * $Revision: 1.5.10.1 $
* *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
--- 6,12 ----
* *
* C Implementation File *
* *
! * $Revision: 1.5.10.1.4.1 $
* *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
*************** __gnat_ttyname (filedes)
*** 292,298 ****
#if defined (linux) || defined (sun) || defined (sgi) || defined (__EMX__) \
|| (defined (__osf__) && ! defined (__alpha_vxworks)) || defined (WINNT) \
! || defined (__MACHTEN__)
#include
#else
--- 292,298 ----
#if defined (linux) || defined (sun) || defined (sgi) || defined (__EMX__) \
|| (defined (__osf__) && ! defined (__alpha_vxworks)) || defined (WINNT) \
! || defined (__MACHTEN__) || defined (__CYGWIN__)
#include
#else
*************** getc_immediate_common (stream, ch, end_o
*** 347,353 ****
{
#if defined (linux) || defined (sun) || defined (sgi) || defined (__EMX__) \
|| (defined (__osf__) && ! defined (__alpha_vxworks)) \
! || defined (__CYGWIN32__) || defined (__MACHTEN__)
char c;
int nread;
int good_one = 0;
--- 347,353 ----
{
#if defined (linux) || defined (sun) || defined (sgi) || defined (__EMX__) \
|| (defined (__osf__) && ! defined (__alpha_vxworks)) \
! || defined (__CYGWIN__) || defined (__MACHTEN__)
char c;
int nread;
int good_one = 0;
diff -Nrc3pad gcc-3.2/gcc/alias.c gcc-3.2.1/gcc/alias.c
*** gcc-3.2/gcc/alias.c Thu Jun 20 07:35:41 2002
--- gcc-3.2.1/gcc/alias.c Mon Oct 14 21:04:16 2002
***************
*** 1,5 ****
/* Alias analysis for GNU C
! Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GCC.
--- 1,5 ----
/* Alias analysis for GNU C
! Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GCC.
*************** objects_must_conflict_p (t1, t2)
*** 321,328 ****
then they may not conflict. */
if ((t1 != 0 && readonly_fields_p (t1))
|| (t2 != 0 && readonly_fields_p (t2))
! || (t1 != 0 && TYPE_READONLY (t1))
! || (t2 != 0 && TYPE_READONLY (t2)))
return 0;
/* If they are the same type, they must conflict. */
--- 321,328 ----
then they may not conflict. */
if ((t1 != 0 && readonly_fields_p (t1))
|| (t2 != 0 && readonly_fields_p (t2))
! || (t1 != 0 && lang_hooks.honor_readonly && TYPE_READONLY (t1))
! || (t2 != 0 && lang_hooks.honor_readonly && TYPE_READONLY (t2)))
return 0;
/* If they are the same type, they must conflict. */
diff -Nrc3pad gcc-3.2/gcc/c-common.c gcc-3.2.1/gcc/c-common.c
*** gcc-3.2/gcc/c-common.c Thu Jun 20 07:35:43 2002
--- gcc-3.2.1/gcc/c-common.c Wed Aug 28 21:17:12 2002
*************** c_expand_expr (exp, target, tmode, modif
*** 3564,3569 ****
--- 3564,3570 ----
tree rtl_expr;
rtx result;
bool preserve_result = false;
+ bool return_target = false;
/* Since expand_expr_stmt calls free_temp_slots after every
expression statement, we must call push_temp_slots here.
*************** c_expand_expr (exp, target, tmode, modif
*** 3591,3598 ****
if (TREE_CODE (last) == SCOPE_STMT
&& TREE_CODE (expr) == EXPR_STMT)
{
! TREE_ADDRESSABLE (expr) = 1;
! preserve_result = true;
}
}
--- 3592,3611 ----
if (TREE_CODE (last) == SCOPE_STMT
&& TREE_CODE (expr) == EXPR_STMT)
{
! if (target && TREE_CODE (EXPR_STMT_EXPR (expr)) == VAR_DECL
! && DECL_RTL_IF_SET (EXPR_STMT_EXPR (expr)) == target)
! /* If the last expression is a variable whose RTL is the
! same as our target, just return the target; if it
! isn't valid expanding the decl would produce different
! RTL, and store_expr would try to do a copy. */
! return_target = true;
! else
! {
! /* Otherwise, note that we want the value from the last
! expression. */
! TREE_ADDRESSABLE (expr) = 1;
! preserve_result = true;
! }
}
}
*************** c_expand_expr (exp, target, tmode, modif
*** 3600,3606 ****
expand_end_stmt_expr (rtl_expr);
result = expand_expr (rtl_expr, target, tmode, modifier);
! if (preserve_result && GET_CODE (result) == MEM)
{
if (GET_MODE (result) != BLKmode)
result = copy_to_reg (result);
--- 3613,3621 ----
expand_end_stmt_expr (rtl_expr);
result = expand_expr (rtl_expr, target, tmode, modifier);
! if (return_target)
! result = target;
! else if (preserve_result && GET_CODE (result) == MEM)
{
if (GET_MODE (result) != BLKmode)
result = copy_to_reg (result);
diff -Nrc3pad gcc-3.2/gcc/c-common.h gcc-3.2.1/gcc/c-common.h
*** gcc-3.2/gcc/c-common.h Wed Apr 17 01:43:56 2002
--- gcc-3.2.1/gcc/c-common.h Sun Sep 1 20:11:06 2002
*************** extern int warn_conversion;
*** 464,469 ****
--- 464,474 ----
extern int warn_long_long;
+ /* Nonzero means the expression being parsed will never be evaluated.
+ This is a count, since unevaluated expressions can nest. */
+
+ extern int skip_evaluation;
+
/* C types are partitioned into three subsets: object, function, and
incomplete types. */
#define C_TYPE_OBJECT_P(type) \
diff -Nrc3pad gcc-3.2/gcc/c-decl.c gcc-3.2.1/gcc/c-decl.c
*** gcc-3.2/gcc/c-decl.c Fri Jul 26 23:23:03 2002
--- gcc-3.2.1/gcc/c-decl.c Sat Oct 19 03:17:39 2002
*************** start_decl (declarator, declspecs, initi
*** 3485,3499 ****
switch (TREE_CODE (decl))
{
case TYPE_DECL:
! /* typedef foo = bar means give foo the same type as bar.
! We haven't parsed bar yet, so `finish_decl' will fix that up.
! Any other case of an initialization in a TYPE_DECL is an error. */
! if (pedantic || list_length (declspecs) > 1)
! {
! error ("typedef `%s' is initialized",
! IDENTIFIER_POINTER (DECL_NAME (decl)));
! initialized = 0;
! }
break;
case FUNCTION_DECL:
--- 3485,3493 ----
switch (TREE_CODE (decl))
{
case TYPE_DECL:
! error ("typedef `%s' is initialized (use __typeof__ instead)",
! IDENTIFIER_POINTER (DECL_NAME (decl)));
! initialized = 0;
break;
case FUNCTION_DECL:
*************** finish_decl (decl, init, asmspec_tree)
*** 3642,3657 ****
init = 0;
if (init)
! {
! if (TREE_CODE (decl) != TYPE_DECL)
! store_init_value (decl, init);
! else
! {
! /* typedef foo = bar; store the type of bar as the type of foo. */
! TREE_TYPE (decl) = TREE_TYPE (init);
! DECL_INITIAL (decl) = init = 0;
! }
! }
/* Deduce size of array from initialization, if not already known */
if (TREE_CODE (type) == ARRAY_TYPE
--- 3636,3642 ----
init = 0;
if (init)
! store_init_value (decl, init);
/* Deduce size of array from initialization, if not already known */
if (TREE_CODE (type) == ARRAY_TYPE
diff -Nrc3pad gcc-3.2/gcc/c-objc-common.c gcc-3.2.1/gcc/c-objc-common.c
*** gcc-3.2/gcc/c-objc-common.c Thu Mar 28 18:49:58 2002
--- gcc-3.2.1/gcc/c-objc-common.c Fri Oct 25 22:11:08 2002
*************** inline_forbidden_p (nodep, walk_subtrees
*** 131,136 ****
--- 131,152 ----
break;
+ case RECORD_TYPE:
+ case UNION_TYPE:
+ /* We cannot inline a function of the form
+
+ void F (int i) { struct S { int ar[i]; } s; }
+
+ Attempting to do so produces a catch-22 in tree-inline.c.
+ If walk_tree examines the TYPE_FIELDS chain of RECORD_TYPE/
+ UNION_TYPE nodes, then it goes into infinite recursion on a
+ structure containing a pointer to its own type. If it doesn't,
+ then the type node for S doesn't get adjusted properly when
+ F is inlined, and we abort in find_function_data. */
+ for (t = TYPE_FIELDS (node); t; t = TREE_CHAIN (t))
+ if (variably_modified_type_p (TREE_TYPE (t)))
+ return node;
+
default:
break;
}
*************** c_cannot_inline_tree_fn (fnp)
*** 149,154 ****
--- 165,178 ----
&& lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) == NULL)
return 1;
+ /* Don't auto-inline anything that might not be bound within
+ this unit of translation. */
+ if (!DECL_DECLARED_INLINE_P (fn) && flag_pic && TREE_PUBLIC (fn))
+ {
+ DECL_UNINLINABLE (fn) = 1;
+ return 1;
+ }
+
if (! function_attribute_inlinable_p (fn))
{
DECL_UNINLINABLE (fn) = 1;
diff -Nrc3pad gcc-3.2/gcc/c-parse.c gcc-3.2.1/gcc/c-parse.c
*** gcc-3.2/gcc/c-parse.c Wed Aug 14 09:32:35 2002
--- gcc-3.2.1/gcc/c-parse.c Tue Nov 19 18:13:17 2002
*************** c_parse_init ()
*** 199,209 ****
! #define YYFINAL 900
#define YYFLAG -32768
#define YYNTBASE 91
! #define YYTRANSLATE(x) ((unsigned)(x) <= 322 ? yytranslate[x] : 289)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
--- 199,209 ----
! #define YYFINAL 901
#define YYFLAG -32768
#define YYNTBASE 91
! #define YYTRANSLATE(x) ((unsigned)(x) <= 322 ? yytranslate[x] : 290)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
*************** static const short yyprhs[] = { 0,
*** 248,480 ****
62, 67, 68, 69, 79, 84, 85, 86, 95, 99,
101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
120, 122, 124, 128, 130, 133, 136, 139, 142, 145,
! 150, 153, 158, 161, 164, 166, 168, 170, 175, 177,
! 181, 185, 189, 193, 197, 201, 205, 209, 213, 217,
! 221, 225, 226, 231, 232, 237, 238, 239, 247, 248,
! 254, 258, 262, 264, 266, 268, 270, 271, 279, 283,
! 287, 291, 295, 300, 307, 316, 323, 328, 332, 336,
! 339, 342, 344, 347, 348, 350, 353, 357, 359, 361,
! 364, 367, 372, 377, 380, 383, 387, 388, 390, 395,
! 400, 404, 408, 411, 414, 416, 419, 422, 425, 428,
! 431, 433, 436, 438, 441, 444, 447, 450, 453, 456,
! 458, 461, 464, 467, 470, 473, 476, 479, 482, 485,
! 488, 491, 494, 497, 500, 503, 506, 508, 511, 514,
! 517, 520, 523, 526, 529, 532, 535, 538, 541, 544,
! 547, 550, 553, 556, 559, 562, 565, 568, 571, 574,
! 577, 580, 583, 586, 589, 592, 595, 598, 601, 604,
! 607, 610, 613, 616, 619, 622, 625, 628, 631, 634,
! 637, 640, 642, 644, 646, 648, 650, 652, 654, 656,
658, 660, 662, 664, 666, 668, 670, 672, 674, 676,
678, 680, 682, 684, 686, 688, 690, 692, 694, 696,
698, 700, 702, 704, 706, 708, 710, 712, 714, 716,
718, 720, 722, 724, 726, 728, 730, 732, 734, 736,
! 738, 740, 742, 744, 746, 748, 750, 752, 753, 755,
! 757, 759, 761, 763, 765, 767, 769, 774, 779, 781,
! 786, 788, 793, 794, 799, 800, 807, 811, 812, 819,
! 823, 824, 826, 828, 831, 838, 840, 844, 845, 847,
! 852, 859, 864, 866, 868, 870, 872, 874, 875, 880,
! 882, 883, 886, 888, 892, 896, 899, 900, 905, 907,
! 908, 913, 915, 917, 919, 922, 925, 931, 935, 936,
! 937, 945, 946, 947, 955, 957, 959, 964, 968, 971,
! 975, 977, 979, 981, 985, 988, 990, 994, 997, 1001,
! 1005, 1010, 1014, 1019, 1023, 1026, 1028, 1030, 1033, 1035,
! 1038, 1040, 1043, 1044, 1052, 1058, 1059, 1067, 1073, 1074,
! 1083, 1084, 1092, 1095, 1098, 1101, 1102, 1104, 1105, 1107,
! 1109, 1112, 1113, 1117, 1120, 1124, 1129, 1133, 1135, 1137,
! 1140, 1142, 1147, 1149, 1154, 1159, 1166, 1172, 1177, 1184,
! 1190, 1192, 1196, 1198, 1200, 1204, 1205, 1209, 1210, 1212,
! 1213, 1215, 1218, 1220, 1222, 1224, 1228, 1231, 1235, 1240,
! 1244, 1247, 1250, 1252, 1256, 1261, 1264, 1268, 1272, 1277,
! 1282, 1288, 1294, 1296, 1298, 1300, 1302, 1304, 1307, 1310,
! 1313, 1316, 1318, 1321, 1324, 1327, 1329, 1332, 1335, 1338,
! 1341, 1343, 1346, 1348, 1350, 1352, 1354, 1357, 1358, 1359,
! 1360, 1361, 1362, 1364, 1366, 1369, 1373, 1375, 1378, 1380,
! 1382, 1388, 1390, 1392, 1395, 1398, 1401, 1404, 1405, 1411,
! 1412, 1417, 1418, 1419, 1421, 1424, 1428, 1432, 1436, 1437,
! 1442, 1444, 1448, 1449, 1450, 1458, 1464, 1467, 1468, 1469,
! 1470, 1471, 1484, 1485, 1492, 1495, 1497, 1499, 1502, 1506,
! 1509, 1512, 1515, 1519, 1526, 1535, 1546, 1559, 1563, 1568,
! 1570, 1574, 1580, 1583, 1589, 1590, 1592, 1593, 1595, 1596,
! 1598, 1600, 1604, 1609, 1617, 1619, 1623, 1624, 1628, 1631,
! 1632, 1633, 1640, 1643, 1644, 1646, 1648, 1652, 1654, 1658,
! 1663, 1668, 1672, 1677, 1681, 1686, 1691, 1695, 1700, 1704,
! 1706, 1707, 1711, 1713, 1716, 1718, 1722, 1724, 1728
};
static const short yyrhs[] = { -1,
92, 0, 0, 93, 95, 0, 0, 92, 94, 95,
0, 97, 0, 96, 0, 27, 67, 106, 83, 84,
! 0, 288, 95, 0, 127, 161, 84, 0, 147, 127,
! 161, 84, 0, 146, 127, 160, 84, 0, 153, 84,
0, 1, 84, 0, 1, 85, 0, 84, 0, 0,
! 0, 146, 127, 189, 98, 122, 99, 249, 250, 238,
! 0, 146, 127, 189, 1, 0, 0, 0, 147, 127,
! 194, 100, 122, 101, 249, 250, 238, 0, 147, 127,
! 194, 1, 0, 0, 0, 127, 194, 102, 122, 103,
! 249, 250, 238, 0, 127, 194, 1, 0, 3, 0,
4, 0, 51, 0, 57, 0, 56, 0, 62, 0,
63, 0, 86, 0, 87, 0, 108, 0, 0, 108,
! 0, 113, 0, 108, 88, 113, 0, 119, 0, 58,
! 112, 0, 288, 112, 0, 105, 112, 0, 48, 104,
! 0, 110, 109, 0, 110, 67, 215, 83, 0, 111,
! 109, 0, 111, 67, 215, 83, 0, 33, 112, 0,
! 34, 112, 0, 11, 0, 29, 0, 109, 0, 67,
! 215, 83, 112, 0, 112, 0, 113, 56, 113, 0,
! 113, 57, 113, 0, 113, 58, 113, 0, 113, 59,
! 113, 0, 113, 60, 113, 0, 113, 54, 113, 0,
! 113, 55, 113, 0, 113, 53, 113, 0, 113, 52,
! 113, 0, 113, 51, 113, 0, 113, 49, 113, 0,
! 113, 50, 113, 0, 0, 113, 48, 114, 113, 0,
! 0, 113, 47, 115, 113, 0, 0, 0, 113, 45,
! 116, 106, 46, 117, 113, 0, 0, 113, 45, 118,
! 46, 113, 0, 113, 44, 113, 0, 113, 43, 113,
! 0, 3, 0, 8, 0, 121, 0, 42, 0, 0,
! 67, 215, 83, 89, 120, 175, 85, 0, 67, 106,
! 83, 0, 67, 1, 83, 0, 242, 240, 83, 0,
! 242, 1, 83, 0, 119, 67, 107, 83, 0, 35,
! 67, 113, 88, 215, 83, 0, 36, 67, 113, 88,
! 113, 88, 113, 83, 0, 37, 67, 215, 88, 215,
! 83, 0, 119, 68, 106, 90, 0, 119, 66, 104,
! 0, 119, 65, 104, 0, 119, 62, 0, 119, 63,
! 0, 9, 0, 121, 9, 0, 0, 124, 0, 124,
! 10, 0, 249, 250, 125, 0, 123, 0, 230, 0,
! 124, 123, 0, 123, 230, 0, 148, 127, 160, 84,
! 0, 149, 127, 161, 84, 0, 148, 84, 0, 149,
! 84, 0, 249, 250, 129, 0, 0, 167, 0, 146,
! 127, 160, 84, 0, 147, 127, 161, 84, 0, 146,
! 127, 183, 0, 147, 127, 186, 0, 153, 84, 0,
! 288, 129, 0, 7, 0, 130, 7, 0, 131, 7,
! 0, 130, 168, 0, 132, 7, 0, 133, 7, 0,
! 168, 0, 132, 168, 0, 155, 0, 134, 7, 0,
! 135, 7, 0, 134, 157, 0, 135, 157, 0, 130,
! 155, 0, 131, 155, 0, 156, 0, 134, 168, 0,
! 134, 158, 0, 135, 158, 0, 130, 156, 0, 131,
! 156, 0, 136, 7, 0, 137, 7, 0, 136, 157,
! 0, 137, 157, 0, 132, 155, 0, 133, 155, 0,
! 136, 168, 0, 136, 158, 0, 137, 158, 0, 132,
! 156, 0, 133, 156, 0, 5, 0, 138, 7, 0,
! 139, 7, 0, 130, 5, 0, 131, 5, 0, 138,
! 5, 0, 139, 5, 0, 138, 168, 0, 140, 7,
! 0, 141, 7, 0, 132, 5, 0, 133, 5, 0,
! 140, 5, 0, 141, 5, 0, 140, 168, 0, 142,
! 7, 0, 143, 7, 0, 142, 157, 0, 143, 157,
! 0, 138, 155, 0, 139, 155, 0, 134, 5, 0,
! 135, 5, 0, 142, 5, 0, 143, 5, 0, 142,
! 168, 0, 142, 158, 0, 143, 158, 0, 138, 156,
! 0, 139, 156, 0, 144, 7, 0, 145, 7, 0,
! 144, 157, 0, 145, 157, 0, 140, 155, 0, 141,
! 155, 0, 136, 5, 0, 137, 5, 0, 144, 5,
! 0, 145, 5, 0, 144, 168, 0, 144, 158, 0,
! 145, 158, 0, 140, 156, 0, 141, 156, 0, 134,
! 0, 135, 0, 136, 0, 137, 0, 142, 0, 143,
! 0, 144, 0, 145, 0, 130, 0, 131, 0, 132,
! 0, 133, 0, 138, 0, 139, 0, 140, 0, 141,
! 0, 134, 0, 135, 0, 142, 0, 143, 0, 130,
! 0, 131, 0, 138, 0, 139, 0, 134, 0, 135,
! 0, 136, 0, 137, 0, 130, 0, 131, 0, 132,
0, 133, 0, 134, 0, 135, 0, 136, 0, 137,
! 0, 130, 0, 131, 0, 132, 0, 133, 0, 130,
0, 131, 0, 132, 0, 133, 0, 134, 0, 135,
0, 136, 0, 137, 0, 138, 0, 139, 0, 140,
0, 141, 0, 142, 0, 143, 0, 144, 0, 145,
! 0, 0, 151, 0, 157, 0, 159, 0, 158, 0,
! 6, 0, 203, 0, 198, 0, 4, 0, 28, 67,
! 106, 83, 0, 28, 67, 215, 83, 0, 163, 0,
! 160, 88, 128, 163, 0, 165, 0, 161, 88, 128,
! 165, 0, 0, 27, 67, 121, 83, 0, 0, 189,
! 162, 167, 44, 164, 173, 0, 189, 162, 167, 0,
! 0, 194, 162, 167, 44, 166, 173, 0, 194, 162,
! 167, 0, 0, 168, 0, 169, 0, 168, 169, 0,
! 30, 67, 67, 170, 83, 83, 0, 171, 0, 170,
! 88, 171, 0, 0, 172, 0, 172, 67, 3, 83,
! 0, 172, 67, 3, 88, 108, 83, 0, 172, 67,
! 107, 83, 0, 104, 0, 5, 0, 6, 0, 7,
! 0, 113, 0, 0, 89, 174, 175, 85, 0, 1,
! 0, 0, 176, 204, 0, 177, 0, 176, 88, 177,
! 0, 181, 44, 179, 0, 182, 179, 0, 0, 104,
! 46, 178, 179, 0, 179, 0, 0, 89, 180, 175,
! 85, 0, 113, 0, 1, 0, 182, 0, 181, 182,
! 0, 66, 104, 0, 68, 113, 10, 113, 90, 0,
! 68, 113, 90, 0, 0, 0, 189, 184, 122, 185,
! 249, 250, 243, 0, 0, 0, 194, 187, 122, 188,
! 249, 250, 243, 0, 190, 0, 194, 0, 67, 167,
! 190, 83, 0, 190, 67, 283, 0, 190, 223, 0,
! 58, 154, 190, 0, 4, 0, 192, 0, 193, 0,
! 192, 67, 283, 0, 192, 223, 0, 4, 0, 193,
! 67, 283, 0, 193, 223, 0, 58, 154, 192, 0,
! 58, 154, 193, 0, 67, 167, 193, 83, 0, 194,
! 67, 283, 0, 67, 167, 194, 83, 0, 58, 154,
! 194, 0, 194, 223, 0, 3, 0, 13, 0, 13,
! 168, 0, 14, 0, 14, 168, 0, 12, 0, 12,
! 168, 0, 0, 195, 104, 89, 199, 206, 85, 167,
! 0, 195, 89, 206, 85, 167, 0, 0, 196, 104,
! 89, 200, 206, 85, 167, 0, 196, 89, 206, 85,
! 167, 0, 0, 197, 104, 89, 201, 213, 205, 85,
! 167, 0, 0, 197, 89, 202, 213, 205, 85, 167,
! 0, 195, 104, 0, 196, 104, 0, 197, 104, 0,
! 0, 88, 0, 0, 88, 0, 207, 0, 207, 208,
! 0, 0, 207, 208, 84, 0, 207, 84, 0, 150,
! 127, 209, 0, 150, 127, 249, 250, 0, 151, 127,
! 210, 0, 151, 0, 1, 0, 288, 208, 0, 211,
! 0, 209, 88, 128, 211, 0, 212, 0, 210, 88,
! 128, 212, 0, 249, 250, 189, 167, 0, 249, 250,
! 189, 46, 113, 167, 0, 249, 250, 46, 113, 167,
! 0, 249, 250, 194, 167, 0, 249, 250, 194, 46,
! 113, 167, 0, 249, 250, 46, 113, 167, 0, 214,
! 0, 213, 88, 214, 0, 1, 0, 104, 0, 104,
! 44, 113, 0, 0, 152, 216, 217, 0, 0, 219,
! 0, 0, 219, 0, 220, 168, 0, 221, 0, 220,
! 0, 222, 0, 58, 154, 220, 0, 58, 154, 0,
! 58, 154, 221, 0, 67, 167, 219, 83, 0, 222,
! 67, 273, 0, 222, 223, 0, 67, 273, 0, 223,
! 0, 68, 106, 90, 0, 68, 152, 106, 90, 0,
! 68, 90, 0, 68, 152, 90, 0, 68, 58, 90,
! 0, 68, 152, 58, 90, 0, 68, 5, 106, 90,
! 0, 68, 5, 152, 106, 90, 0, 68, 152, 5,
! 106, 90, 0, 225, 0, 226, 0, 227, 0, 228,
! 0, 253, 0, 225, 253, 0, 226, 253, 0, 227,
! 253, 0, 228, 253, 0, 126, 0, 225, 126, 0,
! 226, 126, 0, 228, 126, 0, 254, 0, 225, 254,
! 0, 226, 254, 0, 227, 254, 0, 228, 254, 0,
! 230, 0, 229, 230, 0, 225, 0, 226, 0, 227,
! 0, 228, 0, 1, 84, 0, 0, 0, 0, 0,
! 0, 236, 0, 237, 0, 236, 237, 0, 32, 287,
! 84, 0, 243, 0, 1, 243, 0, 89, 0, 85,
! 0, 231, 235, 241, 85, 232, 0, 224, 0, 1,
! 0, 67, 89, 0, 239, 240, 0, 245, 252, 0,
! 245, 1, 0, 0, 15, 246, 67, 106, 83, 0,
! 0, 18, 248, 252, 17, 0, 0, 0, 253, 0,
! 254, 251, 0, 233, 251, 234, 0, 249, 250, 265,
! 0, 249, 250, 266, 0, 0, 244, 16, 256, 252,
! 0, 244, 0, 244, 16, 1, 0, 0, 0, 17,
! 257, 67, 106, 83, 258, 252, 0, 247, 67, 106,
! 83, 84, 0, 247, 1, 0, 0, 0, 0, 0,
! 19, 259, 67, 264, 260, 268, 84, 261, 268, 83,
! 262, 252, 0, 0, 20, 67, 106, 83, 263, 252,
! 0, 268, 84, 0, 129, 0, 243, 0, 106, 84,
! 0, 233, 255, 234, 0, 23, 84, 0, 24, 84,
! 0, 25, 84, 0, 25, 106, 84, 0, 27, 267,
! 67, 106, 83, 84, 0, 27, 267, 67, 106, 46,
! 269, 83, 84, 0, 27, 267, 67, 106, 46, 269,
! 46, 269, 83, 84, 0, 27, 267, 67, 106, 46,
! 269, 46, 269, 46, 272, 83, 84, 0, 26, 104,
! 84, 0, 26, 58, 106, 84, 0, 84, 0, 21,
! 113, 46, 0, 21, 113, 10, 113, 46, 0, 22,
! 46, 0, 104, 249, 250, 46, 167, 0, 0, 7,
! 0, 0, 106, 0, 0, 270, 0, 271, 0, 270,
! 88, 271, 0, 9, 67, 106, 83, 0, 68, 104,
! 90, 9, 67, 106, 83, 0, 121, 0, 272, 88,
! 121, 0, 0, 167, 274, 275, 0, 278, 83, 0,
! 0, 0, 279, 84, 276, 167, 277, 275, 0, 1,
! 83, 0, 0, 10, 0, 279, 0, 279, 88, 10,
! 0, 281, 0, 279, 88, 280, 0, 146, 127, 191,
! 167, 0, 146, 127, 194, 167, 0, 146, 127, 218,
! 0, 147, 127, 194, 167, 0, 147, 127, 218, 0,
! 148, 282, 191, 167, 0, 148, 282, 194, 167, 0,
! 148, 282, 218, 0, 149, 282, 194, 167, 0, 149,
! 282, 218, 0, 127, 0, 0, 167, 284, 285, 0,
! 275, 0, 286, 83, 0, 3, 0, 286, 88, 3,
! 0, 104, 0, 287, 88, 104, 0, 31, 0
};
#endif
--- 248,481 ----
62, 67, 68, 69, 79, 84, 85, 86, 95, 99,
101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
120, 122, 124, 128, 130, 133, 136, 139, 142, 145,
! 150, 153, 158, 161, 164, 166, 168, 170, 172, 177,
! 179, 183, 187, 191, 195, 199, 203, 207, 211, 215,
! 219, 223, 227, 228, 233, 234, 239, 240, 241, 249,
! 250, 256, 260, 264, 266, 268, 270, 272, 273, 281,
! 285, 289, 293, 297, 302, 309, 318, 325, 330, 334,
! 338, 341, 344, 346, 349, 350, 352, 355, 359, 361,
! 363, 366, 369, 374, 379, 382, 385, 389, 390, 392,
! 397, 402, 406, 410, 413, 416, 418, 421, 424, 427,
! 430, 433, 435, 438, 440, 443, 446, 449, 452, 455,
! 458, 460, 463, 466, 469, 472, 475, 478, 481, 484,
! 487, 490, 493, 496, 499, 502, 505, 508, 510, 513,
! 516, 519, 522, 525, 528, 531, 534, 537, 540, 543,
! 546, 549, 552, 555, 558, 561, 564, 567, 570, 573,
! 576, 579, 582, 585, 588, 591, 594, 597, 600, 603,
! 606, 609, 612, 615, 618, 621, 624, 627, 630, 633,
! 636, 639, 642, 644, 646, 648, 650, 652, 654, 656,
658, 660, 662, 664, 666, 668, 670, 672, 674, 676,
678, 680, 682, 684, 686, 688, 690, 692, 694, 696,
698, 700, 702, 704, 706, 708, 710, 712, 714, 716,
718, 720, 722, 724, 726, 728, 730, 732, 734, 736,
! 738, 740, 742, 744, 746, 748, 750, 752, 754, 755,
! 757, 759, 761, 763, 765, 767, 769, 771, 776, 781,
! 783, 788, 790, 795, 796, 801, 802, 809, 813, 814,
! 821, 825, 826, 828, 830, 833, 840, 842, 846, 847,
! 849, 854, 861, 866, 868, 870, 872, 874, 876, 877,
! 882, 884, 885, 888, 890, 894, 898, 901, 902, 907,
! 909, 910, 915, 917, 919, 921, 924, 927, 933, 937,
! 938, 939, 947, 948, 949, 957, 959, 961, 966, 970,
! 973, 977, 979, 981, 983, 987, 990, 992, 996, 999,
! 1003, 1007, 1012, 1016, 1021, 1025, 1028, 1030, 1032, 1035,
! 1037, 1040, 1042, 1045, 1046, 1054, 1060, 1061, 1069, 1075,
! 1076, 1085, 1086, 1094, 1097, 1100, 1103, 1104, 1106, 1107,
! 1109, 1111, 1114, 1115, 1119, 1122, 1126, 1131, 1135, 1137,
! 1139, 1142, 1144, 1149, 1151, 1156, 1161, 1168, 1174, 1179,
! 1186, 1192, 1194, 1198, 1200, 1202, 1206, 1207, 1211, 1212,
! 1214, 1215, 1217, 1220, 1222, 1224, 1226, 1230, 1233, 1237,
! 1242, 1246, 1249, 1252, 1254, 1258, 1263, 1266, 1270, 1274,
! 1279, 1284, 1290, 1296, 1298, 1300, 1302, 1304, 1306, 1309,
! 1312, 1315, 1318, 1320, 1323, 1326, 1329, 1331, 1334, 1337,
! 1340, 1343, 1345, 1348, 1350, 1352, 1354, 1356, 1359, 1360,
! 1361, 1362, 1363, 1364, 1366, 1368, 1371, 1375, 1377, 1380,
! 1382, 1384, 1390, 1392, 1394, 1397, 1400, 1403, 1406, 1407,
! 1413, 1414, 1419, 1420, 1421, 1423, 1426, 1430, 1434, 1438,
! 1439, 1444, 1446, 1450, 1451, 1452, 1460, 1466, 1469, 1470,
! 1471, 1472, 1473, 1486, 1487, 1494, 1497, 1499, 1501, 1504,
! 1508, 1511, 1514, 1517, 1521, 1528, 1537, 1548, 1561, 1565,
! 1570, 1572, 1576, 1582, 1585, 1591, 1592, 1594, 1595, 1597,
! 1598, 1600, 1602, 1606, 1611, 1619, 1621, 1625, 1626, 1630,
! 1633, 1634, 1635, 1642, 1645, 1646, 1648, 1650, 1654, 1656,
! 1660, 1665, 1670, 1674, 1679, 1683, 1688, 1693, 1697, 1702,
! 1706, 1708, 1709, 1713, 1715, 1718, 1720, 1724, 1726, 1730
};
static const short yyrhs[] = { -1,
92, 0, 0, 93, 95, 0, 0, 92, 94, 95,
0, 97, 0, 96, 0, 27, 67, 106, 83, 84,
! 0, 289, 95, 0, 128, 162, 84, 0, 148, 128,
! 162, 84, 0, 147, 128, 161, 84, 0, 154, 84,
0, 1, 84, 0, 1, 85, 0, 84, 0, 0,
! 0, 147, 128, 190, 98, 123, 99, 250, 251, 239,
! 0, 147, 128, 190, 1, 0, 0, 0, 148, 128,
! 195, 100, 123, 101, 250, 251, 239, 0, 148, 128,
! 195, 1, 0, 0, 0, 128, 195, 102, 123, 103,
! 250, 251, 239, 0, 128, 195, 1, 0, 3, 0,
4, 0, 51, 0, 57, 0, 56, 0, 62, 0,
63, 0, 86, 0, 87, 0, 108, 0, 0, 108,
! 0, 114, 0, 108, 88, 114, 0, 120, 0, 58,
! 113, 0, 289, 113, 0, 105, 113, 0, 48, 104,
! 0, 110, 109, 0, 110, 67, 216, 83, 0, 111,
! 109, 0, 111, 67, 216, 83, 0, 33, 113, 0,
! 34, 113, 0, 11, 0, 29, 0, 28, 0, 109,
! 0, 67, 216, 83, 113, 0, 113, 0, 114, 56,
! 114, 0, 114, 57, 114, 0, 114, 58, 114, 0,
! 114, 59, 114, 0, 114, 60, 114, 0, 114, 54,
! 114, 0, 114, 55, 114, 0, 114, 53, 114, 0,
! 114, 52, 114, 0, 114, 51, 114, 0, 114, 49,
! 114, 0, 114, 50, 114, 0, 0, 114, 48, 115,
! 114, 0, 0, 114, 47, 116, 114, 0, 0, 0,
! 114, 45, 117, 106, 46, 118, 114, 0, 0, 114,
! 45, 119, 46, 114, 0, 114, 44, 114, 0, 114,
! 43, 114, 0, 3, 0, 8, 0, 122, 0, 42,
! 0, 0, 67, 216, 83, 89, 121, 176, 85, 0,
! 67, 106, 83, 0, 67, 1, 83, 0, 243, 241,
! 83, 0, 243, 1, 83, 0, 120, 67, 107, 83,
! 0, 35, 67, 114, 88, 216, 83, 0, 36, 67,
! 114, 88, 114, 88, 114, 83, 0, 37, 67, 216,
! 88, 216, 83, 0, 120, 68, 106, 90, 0, 120,
! 66, 104, 0, 120, 65, 104, 0, 120, 62, 0,
! 120, 63, 0, 9, 0, 122, 9, 0, 0, 125,
! 0, 125, 10, 0, 250, 251, 126, 0, 124, 0,
! 231, 0, 125, 124, 0, 124, 231, 0, 149, 128,
! 161, 84, 0, 150, 128, 162, 84, 0, 149, 84,
! 0, 150, 84, 0, 250, 251, 130, 0, 0, 168,
! 0, 147, 128, 161, 84, 0, 148, 128, 162, 84,
! 0, 147, 128, 184, 0, 148, 128, 187, 0, 154,
! 84, 0, 289, 130, 0, 7, 0, 131, 7, 0,
! 132, 7, 0, 131, 169, 0, 133, 7, 0, 134,
! 7, 0, 169, 0, 133, 169, 0, 156, 0, 135,
! 7, 0, 136, 7, 0, 135, 158, 0, 136, 158,
! 0, 131, 156, 0, 132, 156, 0, 157, 0, 135,
! 169, 0, 135, 159, 0, 136, 159, 0, 131, 157,
! 0, 132, 157, 0, 137, 7, 0, 138, 7, 0,
! 137, 158, 0, 138, 158, 0, 133, 156, 0, 134,
! 156, 0, 137, 169, 0, 137, 159, 0, 138, 159,
! 0, 133, 157, 0, 134, 157, 0, 5, 0, 139,
! 7, 0, 140, 7, 0, 131, 5, 0, 132, 5,
! 0, 139, 5, 0, 140, 5, 0, 139, 169, 0,
! 141, 7, 0, 142, 7, 0, 133, 5, 0, 134,
! 5, 0, 141, 5, 0, 142, 5, 0, 141, 169,
! 0, 143, 7, 0, 144, 7, 0, 143, 158, 0,
! 144, 158, 0, 139, 156, 0, 140, 156, 0, 135,
! 5, 0, 136, 5, 0, 143, 5, 0, 144, 5,
! 0, 143, 169, 0, 143, 159, 0, 144, 159, 0,
! 139, 157, 0, 140, 157, 0, 145, 7, 0, 146,
! 7, 0, 145, 158, 0, 146, 158, 0, 141, 156,
! 0, 142, 156, 0, 137, 5, 0, 138, 5, 0,
! 145, 5, 0, 146, 5, 0, 145, 169, 0, 145,
! 159, 0, 146, 159, 0, 141, 157, 0, 142, 157,
! 0, 135, 0, 136, 0, 137, 0, 138, 0, 143,
! 0, 144, 0, 145, 0, 146, 0, 131, 0, 132,
! 0, 133, 0, 134, 0, 139, 0, 140, 0, 141,
! 0, 142, 0, 135, 0, 136, 0, 143, 0, 144,
! 0, 131, 0, 132, 0, 139, 0, 140, 0, 135,
! 0, 136, 0, 137, 0, 138, 0, 131, 0, 132,
0, 133, 0, 134, 0, 135, 0, 136, 0, 137,
! 0, 138, 0, 131, 0, 132, 0, 133, 0, 134,
0, 131, 0, 132, 0, 133, 0, 134, 0, 135,
0, 136, 0, 137, 0, 138, 0, 139, 0, 140,
0, 141, 0, 142, 0, 143, 0, 144, 0, 145,
! 0, 146, 0, 0, 152, 0, 158, 0, 160, 0,
! 159, 0, 6, 0, 204, 0, 199, 0, 4, 0,
! 112, 67, 106, 83, 0, 112, 67, 216, 83, 0,
! 164, 0, 161, 88, 129, 164, 0, 166, 0, 162,
! 88, 129, 166, 0, 0, 27, 67, 122, 83, 0,
! 0, 190, 163, 168, 44, 165, 174, 0, 190, 163,
! 168, 0, 0, 195, 163, 168, 44, 167, 174, 0,
! 195, 163, 168, 0, 0, 169, 0, 170, 0, 169,
! 170, 0, 30, 67, 67, 171, 83, 83, 0, 172,
! 0, 171, 88, 172, 0, 0, 173, 0, 173, 67,
! 3, 83, 0, 173, 67, 3, 88, 108, 83, 0,
! 173, 67, 107, 83, 0, 104, 0, 5, 0, 6,
! 0, 7, 0, 114, 0, 0, 89, 175, 176, 85,
! 0, 1, 0, 0, 177, 205, 0, 178, 0, 177,
! 88, 178, 0, 182, 44, 180, 0, 183, 180, 0,
! 0, 104, 46, 179, 180, 0, 180, 0, 0, 89,
! 181, 176, 85, 0, 114, 0, 1, 0, 183, 0,
! 182, 183, 0, 66, 104, 0, 68, 114, 10, 114,
! 90, 0, 68, 114, 90, 0, 0, 0, 190, 185,
! 123, 186, 250, 251, 244, 0, 0, 0, 195, 188,
! 123, 189, 250, 251, 244, 0, 191, 0, 195, 0,
! 67, 168, 191, 83, 0, 191, 67, 284, 0, 191,
! 224, 0, 58, 155, 191, 0, 4, 0, 193, 0,
! 194, 0, 193, 67, 284, 0, 193, 224, 0, 4,
! 0, 194, 67, 284, 0, 194, 224, 0, 58, 155,
! 193, 0, 58, 155, 194, 0, 67, 168, 194, 83,
! 0, 195, 67, 284, 0, 67, 168, 195, 83, 0,
! 58, 155, 195, 0, 195, 224, 0, 3, 0, 13,
! 0, 13, 169, 0, 14, 0, 14, 169, 0, 12,
! 0, 12, 169, 0, 0, 196, 104, 89, 200, 207,
! 85, 168, 0, 196, 89, 207, 85, 168, 0, 0,
! 197, 104, 89, 201, 207, 85, 168, 0, 197, 89,
! 207, 85, 168, 0, 0, 198, 104, 89, 202, 214,
! 206, 85, 168, 0, 0, 198, 89, 203, 214, 206,
! 85, 168, 0, 196, 104, 0, 197, 104, 0, 198,
! 104, 0, 0, 88, 0, 0, 88, 0, 208, 0,
! 208, 209, 0, 0, 208, 209, 84, 0, 208, 84,
! 0, 151, 128, 210, 0, 151, 128, 250, 251, 0,
! 152, 128, 211, 0, 152, 0, 1, 0, 289, 209,
! 0, 212, 0, 210, 88, 129, 212, 0, 213, 0,
! 211, 88, 129, 213, 0, 250, 251, 190, 168, 0,
! 250, 251, 190, 46, 114, 168, 0, 250, 251, 46,
! 114, 168, 0, 250, 251, 195, 168, 0, 250, 251,
! 195, 46, 114, 168, 0, 250, 251, 46, 114, 168,
! 0, 215, 0, 214, 88, 215, 0, 1, 0, 104,
! 0, 104, 44, 114, 0, 0, 153, 217, 218, 0,
! 0, 220, 0, 0, 220, 0, 221, 169, 0, 222,
! 0, 221, 0, 223, 0, 58, 155, 221, 0, 58,
! 155, 0, 58, 155, 222, 0, 67, 168, 220, 83,
! 0, 223, 67, 274, 0, 223, 224, 0, 67, 274,
! 0, 224, 0, 68, 106, 90, 0, 68, 153, 106,
! 90, 0, 68, 90, 0, 68, 153, 90, 0, 68,
! 58, 90, 0, 68, 153, 58, 90, 0, 68, 5,
! 106, 90, 0, 68, 5, 153, 106, 90, 0, 68,
! 153, 5, 106, 90, 0, 226, 0, 227, 0, 228,
! 0, 229, 0, 254, 0, 226, 254, 0, 227, 254,
! 0, 228, 254, 0, 229, 254, 0, 127, 0, 226,
! 127, 0, 227, 127, 0, 229, 127, 0, 255, 0,
! 226, 255, 0, 227, 255, 0, 228, 255, 0, 229,
! 255, 0, 231, 0, 230, 231, 0, 226, 0, 227,
! 0, 228, 0, 229, 0, 1, 84, 0, 0, 0,
! 0, 0, 0, 237, 0, 238, 0, 237, 238, 0,
! 32, 288, 84, 0, 244, 0, 1, 244, 0, 89,
! 0, 85, 0, 232, 236, 242, 85, 233, 0, 225,
! 0, 1, 0, 67, 89, 0, 240, 241, 0, 246,
! 253, 0, 246, 1, 0, 0, 15, 247, 67, 106,
! 83, 0, 0, 18, 249, 253, 17, 0, 0, 0,
! 254, 0, 255, 252, 0, 234, 252, 235, 0, 250,
! 251, 266, 0, 250, 251, 267, 0, 0, 245, 16,
! 257, 253, 0, 245, 0, 245, 16, 1, 0, 0,
! 0, 17, 258, 67, 106, 83, 259, 253, 0, 248,
! 67, 106, 83, 84, 0, 248, 1, 0, 0, 0,
! 0, 0, 19, 260, 67, 265, 261, 269, 84, 262,
! 269, 83, 263, 253, 0, 0, 20, 67, 106, 83,
! 264, 253, 0, 269, 84, 0, 130, 0, 244, 0,
! 106, 84, 0, 234, 256, 235, 0, 23, 84, 0,
! 24, 84, 0, 25, 84, 0, 25, 106, 84, 0,
! 27, 268, 67, 106, 83, 84, 0, 27, 268, 67,
! 106, 46, 270, 83, 84, 0, 27, 268, 67, 106,
! 46, 270, 46, 270, 83, 84, 0, 27, 268, 67,
! 106, 46, 270, 46, 270, 46, 273, 83, 84, 0,
! 26, 104, 84, 0, 26, 58, 106, 84, 0, 84,
! 0, 21, 114, 46, 0, 21, 114, 10, 114, 46,
! 0, 22, 46, 0, 104, 250, 251, 46, 168, 0,
! 0, 7, 0, 0, 106, 0, 0, 271, 0, 272,
! 0, 271, 88, 272, 0, 9, 67, 106, 83, 0,
! 68, 104, 90, 9, 67, 106, 83, 0, 122, 0,
! 273, 88, 122, 0, 0, 168, 275, 276, 0, 279,
! 83, 0, 0, 0, 280, 84, 277, 168, 278, 276,
! 0, 1, 83, 0, 0, 10, 0, 280, 0, 280,
! 88, 10, 0, 282, 0, 280, 88, 281, 0, 147,
! 128, 192, 168, 0, 147, 128, 195, 168, 0, 147,
! 128, 219, 0, 148, 128, 195, 168, 0, 148, 128,
! 219, 0, 149, 283, 192, 168, 0, 149, 283, 195,
! 168, 0, 149, 283, 219, 0, 150, 283, 195, 168,
! 0, 150, 283, 219, 0, 128, 0, 0, 168, 285,
! 286, 0, 276, 0, 287, 83, 0, 3, 0, 287,
! 88, 3, 0, 104, 0, 288, 88, 104, 0, 31,
! 0
};
#endif
*************** static const short yyrline[] = { 0,
*** 486,542 ****
360, 362, 368, 369, 374, 376, 382, 383, 388, 392,
394, 397, 399, 401, 406, 408, 410, 412, 416, 420,
423, 426, 429, 433, 435, 438, 441, 445, 462, 468,
! 471, 474, 477, 479, 483, 487, 491, 493, 497, 499,
! 501, 503, 505, 507, 509, 511, 513, 515, 517, 519,
! 521, 523, 527, 529, 533, 535, 538, 542, 544, 551,
! 554, 561, 571, 578, 579, 581, 583, 587, 596, 601,
! 603, 619, 626, 628, 631, 641, 651, 653, 657, 663,
! 665, 670, 672, 689, 691, 692, 702, 707, 709, 710,
! 711, 718, 721, 723, 726, 734, 743, 753, 758, 761,
! 763, 765, 767, 769, 825, 829, 832, 837, 843, 847,
! 852, 856, 861, 865, 868, 871, 874, 877, 880, 885,
! 889, 892, 895, 898, 901, 906, 910, 913, 916, 919,
! 922, 927, 931, 934, 937, 940, 945, 949, 952, 955,
! 961, 967, 973, 981, 987, 991, 994, 1000, 1006, 1012,
! 1020, 1026, 1030, 1033, 1036, 1039, 1042, 1045, 1051, 1057,
! 1063, 1071, 1075, 1078, 1081, 1084, 1089, 1093, 1096, 1099,
! 1102, 1105, 1108, 1114, 1120, 1126, 1134, 1138, 1141, 1144,
! 1147, 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1164,
! 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1175, 1177, 1178,
! 1179, 1182, 1184, 1185, 1186, 1189, 1191, 1192, 1193, 1196,
! 1198, 1199, 1200, 1203, 1205, 1206, 1207, 1208, 1209, 1210,
! 1211, 1214, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223,
! 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1234, 1237, 1262,
! 1264, 1267, 1271, 1274, 1277, 1281, 1286, 1288, 1294, 1296,
! 1299, 1301, 1304, 1307, 1313, 1320, 1322, 1329, 1336, 1338,
! 1345, 1348, 1352, 1355, 1359, 1364, 1367, 1371, 1374, 1376,
! 1378, 1380, 1387, 1389, 1390, 1391, 1396, 1398, 1400, 1402,
! 1407, 1411, 1414, 1416, 1421, 1425, 1428, 1433, 1433, 1436,
! 1439, 1441, 1443, 1446, 1448, 1451, 1457, 1461, 1465, 1479,
! 1486, 1495, 1509, 1516, 1528, 1530, 1535, 1538, 1543, 1545,
! 1547, 1554, 1556, 1559, 1565, 1567, 1570, 1576, 1578, 1580,
! 1582, 1589, 1595, 1597, 1599, 1601, 1604, 1607, 1611, 1614,
! 1618, 1621, 1631, 1636, 1638, 1642, 1644, 1646, 1650, 1652,
! 1655, 1657, 1662, 1665, 1667, 1675, 1677, 1680, 1682, 1687,
! 1690, 1695, 1697, 1699, 1704, 1708, 1718, 1721, 1726, 1728,
! 1733, 1735, 1739, 1741, 1745, 1749, 1753, 1758, 1762, 1766,
! 1776, 1778, 1783, 1788, 1791, 1795, 1800, 1803, 1806, 1809,
! 1814, 1818, 1824, 1826, 1829, 1831, 1835, 1838, 1842, 1845,
! 1847, 1849, 1851, 1857, 1860, 1862, 1864, 1866, 1868, 1870,
! 1874, 1878, 1890, 1892, 1893, 1897, 1900, 1902, 1903, 1904,
! 1905, 1908, 1910, 1913, 1914, 1917, 1919, 1920, 1921, 1922,
! 1925, 1927, 1930, 1932, 1933, 1934, 1937, 1940, 1947, 1952,
! 1968, 1983, 1985, 1990, 1992, 1995, 2009, 2012, 2015, 2019,
! 2021, 2028, 2030, 2033, 2051, 2058, 2064, 2067, 2078, 2089,
! 2101, 2109, 2115, 2121, 2123, 2127, 2133, 2147, 2156, 2161,
! 2165, 2177, 2187, 2190, 2196, 2197, 2200, 2202, 2206, 2209,
! 2212, 2215, 2216, 2220, 2223, 2226, 2231, 2234, 2237, 2241,
! 2244, 2247, 2250, 2253, 2257, 2261, 2266, 2270, 2282, 2288,
! 2296, 2299, 2302, 2305, 2320, 2324, 2328, 2331, 2336, 2338,
! 2341, 2343, 2347, 2350, 2354, 2357, 2366, 2372, 2377, 2379,
! 2388, 2391, 2392, 2398, 2400, 2410, 2412, 2416, 2419, 2425,
! 2431, 2436, 2439, 2445, 2452, 2458, 2463, 2466, 2472, 2477,
! 2486, 2492, 2497, 2499, 2516, 2519, 2524, 2527, 2531
};
#endif
--- 487,543 ----
360, 362, 368, 369, 374, 376, 382, 383, 388, 392,
394, 397, 399, 401, 406, 408, 410, 412, 416, 420,
423, 426, 429, 433, 435, 438, 441, 445, 462, 468,
! 471, 474, 477, 479, 483, 487, 491, 495, 497, 501,
! 503, 505, 507, 509, 511, 513, 515, 517, 519, 521,
! 523, 525, 527, 531, 533, 537, 539, 542, 546, 548,
! 555, 558, 565, 575, 582, 583, 585, 587, 591, 600,
! 605, 607, 623, 630, 632, 635, 645, 655, 657, 661,
! 667, 669, 674, 676, 693, 695, 696, 706, 711, 713,
! 714, 715, 722, 725, 727, 730, 738, 747, 757, 762,
! 765, 767, 769, 771, 773, 829, 833, 836, 841, 847,
! 851, 856, 860, 865, 869, 872, 875, 878, 881, 884,
! 889, 893, 896, 899, 902, 905, 910, 914, 917, 920,
! 923, 926, 931, 935, 938, 941, 944, 949, 953, 956,
! 959, 965, 971, 977, 985, 991, 995, 998, 1004, 1010,
! 1016, 1024, 1030, 1034, 1037, 1040, 1043, 1046, 1049, 1055,
! 1061, 1067, 1075, 1079, 1082, 1085, 1088, 1093, 1097, 1100,
! 1103, 1106, 1109, 1112, 1118, 1124, 1130, 1138, 1142, 1145,
! 1148, 1151, 1157, 1159, 1160, 1161, 1162, 1163, 1164, 1165,
! 1168, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1179, 1181,
! 1182, 1183, 1186, 1188, 1189, 1190, 1193, 1195, 1196, 1197,
! 1200, 1202, 1203, 1204, 1207, 1209, 1210, 1211, 1212, 1213,
! 1214, 1215, 1218, 1220, 1221, 1222, 1223, 1224, 1225, 1226,
! 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1238, 1241,
! 1266, 1268, 1271, 1275, 1278, 1281, 1285, 1290, 1292, 1298,
! 1300, 1303, 1305, 1308, 1311, 1317, 1324, 1326, 1333, 1340,
! 1342, 1349, 1352, 1356, 1359, 1363, 1368, 1371, 1375, 1378,
! 1380, 1382, 1384, 1391, 1393, 1394, 1395, 1400, 1402, 1404,
! 1406, 1411, 1415, 1418, 1420, 1425, 1429, 1432, 1437, 1438,
! 1441, 1444, 1446, 1448, 1451, 1453, 1456, 1462, 1466, 1470,
! 1484, 1491, 1500, 1514, 1521, 1533, 1535, 1540, 1543, 1548,
! 1550, 1552, 1559, 1561, 1564, 1570, 1572, 1575, 1581, 1583,
! 1585, 1587, 1594, 1600, 1602, 1604, 1606, 1609, 1612, 1616,
! 1619, 1623, 1626, 1636, 1641, 1643, 1647, 1649, 1651, 1655,
! 1657, 1660, 1662, 1667, 1670, 1672, 1680, 1682, 1685, 1687,
! 1692, 1695, 1700, 1702, 1704, 1709, 1713, 1723, 1726, 1731,
! 1733, 1738, 1740, 1744, 1746, 1750, 1754, 1758, 1763, 1767,
! 1771, 1781, 1783, 1788, 1793, 1796, 1800, 1805, 1808, 1811,
! 1814, 1819, 1823, 1829, 1831, 1834, 1836, 1840, 1843, 1847,
! 1850, 1852, 1854, 1856, 1862, 1865, 1867, 1869, 1871, 1873,
! 1875, 1879, 1883, 1895, 1897, 1898, 1902, 1905, 1907, 1908,
! 1909, 1910, 1913, 1915, 1918, 1919, 1922, 1924, 1925, 1926,
! 1927, 1930, 1932, 1935, 1937, 1938, 1939, 1942, 1945, 1952,
! 1957, 1973, 1988, 1990, 1995, 1997, 2000, 2014, 2017, 2020,
! 2024, 2026, 2033, 2035, 2038, 2056, 2063, 2069, 2072, 2083,
! 2094, 2106, 2114, 2120, 2126, 2128, 2132, 2138, 2152, 2161,
! 2166, 2170, 2182, 2192, 2195, 2201, 2202, 2205, 2207, 2211,
! 2214, 2217, 2220, 2221, 2225, 2228, 2231, 2236, 2239, 2242,
! 2246, 2249, 2252, 2255, 2258, 2262, 2266, 2271, 2275, 2287,
! 2293, 2301, 2304, 2307, 2310, 2325, 2329, 2333, 2336, 2341,
! 2343, 2346, 2348, 2352, 2355, 2359, 2362, 2371, 2377, 2382,
! 2384, 2393, 2396, 2397, 2403, 2405, 2415, 2417, 2421, 2424,
! 2430, 2436, 2441, 2444, 2450, 2457, 2463, 2468, 2471, 2477,
! 2482, 2491, 2497, 2502, 2504, 2521, 2524, 2529, 2532, 2536
};
#endif
*************** static const char * const yytname[] = {
*** 556,563 ****
"OBJECTNAME","CLASS","ALIAS","')'","';'","'}'","'~'","'!'","','","'{'","']'",
"program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6",
"@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr",
! "sizeof","alignof","cast_expr","expr_no_commas","@9","@10","@11","@12","@13",
! "primary","@14","string","old_style_parm_decls","lineno_datadecl","datadecls",
"datadecl","lineno_decl","setspecs","maybe_resetattrs","decl","declspecs_nosc_nots_nosa_noea",
"declspecs_nosc_nots_nosa_ea","declspecs_nosc_nots_sa_noea","declspecs_nosc_nots_sa_ea",
"declspecs_nosc_ts_nosa_noea","declspecs_nosc_ts_nosa_ea","declspecs_nosc_ts_sa_noea",
--- 557,564 ----
"OBJECTNAME","CLASS","ALIAS","')'","';'","'}'","'~'","'!'","','","'{'","']'",
"program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6",
"@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr",
! "sizeof","alignof","typeof","cast_expr","expr_no_commas","@9","@10","@11","@12",
! "@13","primary","@14","string","old_style_parm_decls","lineno_datadecl","datadecls",
"datadecl","lineno_decl","setspecs","maybe_resetattrs","decl","declspecs_nosc_nots_nosa_noea",
"declspecs_nosc_nots_nosa_ea","declspecs_nosc_nots_sa_noea","declspecs_nosc_nots_sa_ea",
"declspecs_nosc_ts_nosa_noea","declspecs_nosc_ts_nosa_ea","declspecs_nosc_ts_sa_noea",
*************** static const short yyr1[] = { 0,
*** 600,656 ****
97, 100, 101, 97, 97, 102, 103, 97, 97, 104,
104, 105, 105, 105, 105, 105, 105, 105, 106, 107,
107, 108, 108, 109, 109, 109, 109, 109, 109, 109,
! 109, 109, 109, 109, 110, 111, 112, 112, 113, 113,
! 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
! 113, 114, 113, 115, 113, 116, 117, 113, 118, 113,
! 113, 113, 119, 119, 119, 119, 120, 119, 119, 119,
! 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
! 119, 121, 121, 122, 122, 122, 123, 124, 124, 124,
! 124, 125, 125, 125, 125, 126, 127, 128, 129, 129,
! 129, 129, 129, 129, 130, 130, 130, 131, 132, 132,
! 133, 133, 134, 134, 134, 134, 134, 134, 134, 135,
! 135, 135, 135, 135, 135, 136, 136, 136, 136, 136,
! 136, 137, 137, 137, 137, 137, 138, 138, 138, 138,
! 138, 138, 138, 139, 140, 140, 140, 140, 140, 140,
! 141, 142, 142, 142, 142, 142, 142, 142, 142, 142,
! 142, 143, 143, 143, 143, 143, 144, 144, 144, 144,
! 144, 144, 144, 144, 144, 144, 145, 145, 145, 145,
! 145, 146, 146, 146, 146, 146, 146, 146, 146, 147,
! 147, 147, 147, 147, 147, 147, 147, 148, 148, 148,
! 148, 149, 149, 149, 149, 150, 150, 150, 150, 151,
! 151, 151, 151, 152, 152, 152, 152, 152, 152, 152,
! 152, 153, 153, 153, 153, 153, 153, 153, 153, 153,
! 153, 153, 153, 153, 153, 153, 153, 154, 154, 155,
! 155, 156, 157, 157, 158, 159, 159, 159, 160, 160,
! 161, 161, 162, 162, 164, 163, 163, 166, 165, 165,
! 167, 167, 168, 168, 169, 170, 170, 171, 171, 171,
! 171, 171, 172, 172, 172, 172, 173, 174, 173, 173,
! 175, 175, 176, 176, 177, 177, 178, 177, 177, 180,
! 179, 179, 179, 181, 181, 182, 182, 182, 184, 185,
! 183, 187, 188, 186, 189, 189, 190, 190, 190, 190,
! 190, 191, 191, 192, 192, 192, 193, 193, 193, 193,
! 193, 194, 194, 194, 194, 194, 195, 195, 196, 196,
! 197, 197, 199, 198, 198, 200, 198, 198, 201, 198,
! 202, 198, 203, 203, 203, 204, 204, 205, 205, 206,
! 206, 207, 207, 207, 208, 208, 208, 208, 208, 208,
! 209, 209, 210, 210, 211, 211, 211, 212, 212, 212,
! 213, 213, 213, 214, 214, 216, 215, 217, 217, 218,
! 218, 218, 219, 219, 220, 220, 221, 221, 222, 222,
! 222, 222, 222, 223, 223, 223, 223, 223, 223, 223,
! 223, 223, 224, 224, 224, 224, 225, 225, 225, 225,
! 225, 226, 226, 226, 226, 227, 227, 227, 227, 227,
! 228, 228, 229, 229, 229, 229, 230, 231, 232, 233,
! 234, 235, 235, 236, 236, 237, 238, 238, 239, 240,
! 240, 241, 241, 242, 243, 244, 244, 246, 245, 248,
! 247, 249, 250, 251, 251, 252, 253, 254, 256, 255,
! 255, 255, 257, 258, 255, 255, 255, 259, 260, 261,
! 262, 255, 263, 255, 264, 264, 265, 265, 265, 265,
! 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
! 266, 266, 266, 266, 267, 267, 268, 268, 269, 269,
! 270, 270, 271, 271, 272, 272, 274, 273, 275, 276,
! 277, 275, 275, 278, 278, 278, 278, 279, 279, 280,
! 280, 280, 280, 280, 281, 281, 281, 281, 281, 282,
! 284, 283, 285, 285, 286, 286, 287, 287, 288
};
static const short yyr2[] = { 0,
--- 601,657 ----
97, 100, 101, 97, 97, 102, 103, 97, 97, 104,
104, 105, 105, 105, 105, 105, 105, 105, 106, 107,
107, 108, 108, 109, 109, 109, 109, 109, 109, 109,
! 109, 109, 109, 109, 110, 111, 112, 113, 113, 114,
! 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
! 114, 114, 115, 114, 116, 114, 117, 118, 114, 119,
! 114, 114, 114, 120, 120, 120, 120, 121, 120, 120,
! 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
! 120, 120, 122, 122, 123, 123, 123, 124, 125, 125,
! 125, 125, 126, 126, 126, 126, 127, 128, 129, 130,
! 130, 130, 130, 130, 130, 131, 131, 131, 132, 133,
! 133, 134, 134, 135, 135, 135, 135, 135, 135, 135,
! 136, 136, 136, 136, 136, 136, 137, 137, 137, 137,
! 137, 137, 138, 138, 138, 138, 138, 139, 139, 139,
! 139, 139, 139, 139, 140, 141, 141, 141, 141, 141,
! 141, 142, 143, 143, 143, 143, 143, 143, 143, 143,
! 143, 143, 144, 144, 144, 144, 144, 145, 145, 145,
! 145, 145, 145, 145, 145, 145, 145, 146, 146, 146,
! 146, 146, 147, 147, 147, 147, 147, 147, 147, 147,
! 148, 148, 148, 148, 148, 148, 148, 148, 149, 149,
! 149, 149, 150, 150, 150, 150, 151, 151, 151, 151,
! 152, 152, 152, 152, 153, 153, 153, 153, 153, 153,
! 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
! 154, 154, 154, 154, 154, 154, 154, 154, 155, 155,
! 156, 156, 157, 158, 158, 159, 160, 160, 160, 161,
! 161, 162, 162, 163, 163, 165, 164, 164, 167, 166,
! 166, 168, 168, 169, 169, 170, 171, 171, 172, 172,
! 172, 172, 172, 173, 173, 173, 173, 174, 175, 174,
! 174, 176, 176, 177, 177, 178, 178, 179, 178, 178,
! 181, 180, 180, 180, 182, 182, 183, 183, 183, 185,
! 186, 184, 188, 189, 187, 190, 190, 191, 191, 191,
! 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
! 194, 194, 195, 195, 195, 195, 195, 196, 196, 197,
! 197, 198, 198, 200, 199, 199, 201, 199, 199, 202,
! 199, 203, 199, 204, 204, 204, 205, 205, 206, 206,
! 207, 207, 208, 208, 208, 209, 209, 209, 209, 209,
! 209, 210, 210, 211, 211, 212, 212, 212, 213, 213,
! 213, 214, 214, 214, 215, 215, 217, 216, 218, 218,
! 219, 219, 219, 220, 220, 221, 221, 222, 222, 223,
! 223, 223, 223, 223, 224, 224, 224, 224, 224, 224,
! 224, 224, 224, 225, 225, 225, 225, 226, 226, 226,
! 226, 226, 227, 227, 227, 227, 228, 228, 228, 228,
! 228, 229, 229, 230, 230, 230, 230, 231, 232, 233,
! 234, 235, 236, 236, 237, 237, 238, 239, 239, 240,
! 241, 241, 242, 242, 243, 244, 245, 245, 247, 246,
! 249, 248, 250, 251, 252, 252, 253, 254, 255, 257,
! 256, 256, 256, 258, 259, 256, 256, 256, 260, 261,
! 262, 263, 256, 264, 256, 265, 265, 266, 266, 266,
! 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
! 266, 267, 267, 267, 267, 268, 268, 269, 269, 270,
! 270, 271, 271, 272, 272, 273, 273, 275, 274, 276,
! 277, 278, 276, 276, 279, 279, 279, 279, 280, 280,
! 281, 281, 281, 281, 281, 282, 282, 282, 282, 282,
! 283, 285, 284, 286, 286, 287, 287, 288, 288, 289
};
static const short yyr2[] = { 0,
*************** static const short yyr2[] = { 0,
*** 659,1552 ****
4, 0, 0, 9, 4, 0, 0, 8, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 3, 1, 2, 2, 2, 2, 2, 4,
! 2, 4, 2, 2, 1, 1, 1, 4, 1, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
! 3, 0, 4, 0, 4, 0, 0, 7, 0, 5,
! 3, 3, 1, 1, 1, 1, 0, 7, 3, 3,
! 3, 3, 4, 6, 8, 6, 4, 3, 3, 2,
! 2, 1, 2, 0, 1, 2, 3, 1, 1, 2,
! 2, 4, 4, 2, 2, 3, 0, 1, 4, 4,
! 3, 3, 2, 2, 1, 2, 2, 2, 2, 2,
! 1, 2, 1, 2, 2, 2, 2, 2, 2, 1,
! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
! 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
! 1, 1, 1, 1, 1, 1, 4, 4, 1, 4,
! 1, 4, 0, 4, 0, 6, 3, 0, 6, 3,
! 0, 1, 1, 2, 6, 1, 3, 0, 1, 4,
! 6, 4, 1, 1, 1, 1, 1, 0, 4, 1,
! 0, 2, 1, 3, 3, 2, 0, 4, 1, 0,
! 4, 1, 1, 1, 2, 2, 5, 3, 0, 0,
! 7, 0, 0, 7, 1, 1, 4, 3, 2, 3,
! 1, 1, 1, 3, 2, 1, 3, 2, 3, 3,
! 4, 3, 4, 3, 2, 1, 1, 2, 1, 2,
! 1, 2, 0, 7, 5, 0, 7, 5, 0, 8,
! 0, 7, 2, 2, 2, 0, 1, 0, 1, 1,
! 2, 0, 3, 2, 3, 4, 3, 1, 1, 2,
! 1, 4, 1, 4, 4, 6, 5, 4, 6, 5,
! 1, 3, 1, 1, 3, 0, 3, 0, 1, 0,
! 1, 2, 1, 1, 1, 3, 2, 3, 4, 3,
! 2, 2, 1, 3, 4, 2, 3, 3, 4, 4,
! 5, 5, 1, 1, 1, 1, 1, 2, 2, 2,
! 2, 1, 2, 2, 2, 1, 2, 2, 2, 2,
! 1, 2, 1, 1, 1, 1, 2, 0, 0, 0,
! 0, 0, 1, 1, 2, 3, 1, 2, 1, 1,
! 5, 1, 1, 2, 2, 2, 2, 0, 5, 0,
! 4, 0, 0, 1, 2, 3, 3, 3, 0, 4,
! 1, 3, 0, 0, 7, 5, 2, 0, 0, 0,
! 0, 12, 0, 6, 2, 1, 1, 2, 3, 2,
! 2, 2, 3, 6, 8, 10, 12, 3, 4, 1,
! 3, 5, 2, 5, 0, 1, 0, 1, 0, 1,
! 1, 3, 4, 7, 1, 3, 0, 3, 2, 0,
! 0, 6, 2, 0, 1, 1, 3, 1, 3, 4,
! 4, 3, 4, 3, 4, 4, 3, 4, 3, 1,
! 0, 3, 1, 2, 1, 3, 1, 3, 1
};
static const short yydefact[] = { 3,
! 5, 0, 0, 0, 266, 157, 263, 125, 351, 347,
! 349, 0, 0, 0, 559, 17, 4, 8, 7, 0,
! 210, 211, 212, 213, 202, 203, 204, 205, 214, 215,
! 216, 217, 206, 207, 208, 209, 117, 117, 0, 133,
! 140, 260, 262, 261, 131, 283, 0, 0, 0, 265,
! 264, 0, 6, 15, 16, 352, 348, 350, 0, 0,
! 0, 346, 258, 281, 0, 271, 0, 160, 126, 138,
! 144, 128, 161, 127, 139, 145, 167, 129, 150, 155,
! 132, 168, 130, 151, 156, 178, 134, 136, 142, 141,
! 179, 135, 137, 143, 193, 146, 148, 153, 152, 194,
! 147, 149, 154, 162, 158, 176, 185, 164, 163, 159,
! 177, 186, 169, 165, 191, 200, 171, 170, 166, 192,
! 201, 180, 172, 174, 183, 182, 181, 173, 175, 184,
! 195, 187, 189, 198, 197, 196, 188, 190, 199, 0,
! 0, 14, 284, 30, 31, 372, 363, 372, 364, 361,
! 365, 10, 83, 84, 102, 55, 56, 0, 0, 0,
! 0, 0, 86, 0, 32, 34, 33, 0, 35, 36,
! 0, 37, 38, 0, 0, 39, 57, 0, 0, 59,
! 42, 44, 85, 0, 0, 0, 238, 239, 240, 241,
! 234, 235, 236, 237, 396, 0, 288, 230, 231, 232,
! 233, 259, 0, 0, 282, 11, 281, 29, 0, 281,
! 0, 0, 281, 345, 331, 258, 281, 0, 269, 0,
! 325, 326, 0, 0, 0, 0, 353, 0, 356, 0,
! 359, 53, 54, 0, 0, 0, 48, 45, 0, 464,
! 0, 0, 47, 0, 0, 0, 49, 0, 51, 0,
! 0, 76, 74, 72, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 100, 101, 0, 0,
! 40, 0, 103, 0, 460, 452, 0, 46, 267, 398,
! 268, 294, 295, 296, 293, 0, 286, 289, 344, 0,
! 0, 118, 0, 551, 342, 0, 0, 416, 0, 0,
! 0, 27, 0, 472, 109, 473, 280, 0, 0, 13,
! 281, 21, 0, 281, 281, 329, 12, 25, 0, 281,
! 379, 374, 230, 231, 232, 233, 226, 227, 228, 229,
! 117, 117, 371, 0, 372, 281, 372, 393, 394, 368,
! 391, 0, 0, 0, 0, 90, 89, 0, 9, 43,
! 0, 0, 82, 81, 0, 0, 0, 0, 70, 71,
! 69, 68, 67, 65, 66, 60, 61, 62, 63, 64,
! 99, 98, 0, 41, 0, 92, 0, 0, 453, 454,
! 91, 258, 281, 397, 399, 404, 403, 405, 413, 0,
! 288, 40, 343, 272, 273, 0, 0, 0, 0, 418,
! 414, 0, 0, 417, 0, 447, 472, 111, 106, 110,
! 0, 278, 330, 0, 0, 19, 277, 328, 23, 355,
! 472, 472, 373, 380, 0, 358, 0, 0, 369, 0,
! 368, 0, 0, 0, 87, 58, 50, 52, 0, 0,
! 75, 73, 93, 97, 557, 0, 463, 432, 462, 472,
! 472, 472, 472, 0, 441, 0, 473, 427, 436, 455,
! 407, 527, 412, 281, 411, 285, 287, 83, 0, 274,
! 0, 555, 535, 222, 223, 218, 219, 224, 225, 220,
! 221, 117, 117, 553, 0, 536, 538, 552, 0, 420,
! 0, 0, 419, 415, 473, 107, 117, 117, 0, 327,
! 270, 273, 472, 275, 472, 375, 381, 473, 377, 383,
! 473, 281, 281, 395, 392, 281, 0, 0, 0, 0,
! 0, 77, 80, 456, 0, 433, 428, 437, 434, 429,
! 438, 473, 430, 439, 435, 431, 440, 442, 449, 450,
! 406, 408, 0, 0, 527, 410, 290, 0, 292, 533,
! 550, 400, 400, 529, 530, 0, 554, 0, 421, 422,
! 0, 114, 0, 115, 0, 300, 298, 297, 279, 473,
! 0, 473, 281, 376, 281, 0, 354, 357, 362, 281,
! 94, 0, 96, 313, 83, 0, 0, 310, 0, 312,
! 0, 366, 303, 309, 0, 0, 0, 558, 450, 461,
! 266, 0, 0, 0, 0, 0, 0, 515, 510, 459,
! 472, 0, 116, 117, 117, 0, 0, 448, 497, 477,
! 478, 0, 409, 528, 0, 336, 258, 281, 281, 332,
! 333, 281, 547, 401, 404, 258, 281, 281, 549, 281,
! 537, 210, 211, 212, 213, 202, 203, 204, 205, 214,
! 215, 216, 217, 206, 207, 208, 209, 117, 117, 539,
! 556, 0, 28, 457, 0, 0, 0, 0, 276, 0,
! 472, 0, 281, 472, 0, 281, 360, 0, 316, 0,
! 0, 307, 88, 0, 302, 0, 315, 306, 78, 0,
! 513, 500, 501, 502, 0, 0, 0, 516, 0, 473,
! 498, 0, 0, 123, 468, 483, 470, 488, 0, 481,
! 0, 0, 451, 465, 124, 291, 407, 527, 545, 281,
! 335, 281, 338, 546, 402, 407, 527, 548, 531, 400,
! 400, 458, 112, 113, 0, 20, 24, 382, 473, 281,
! 0, 385, 384, 281, 0, 388, 95, 0, 318, 0,
! 0, 304, 305, 0, 511, 503, 0, 508, 0, 0,
! 0, 121, 319, 0, 122, 322, 0, 0, 450, 0,
! 0, 0, 467, 472, 466, 487, 0, 499, 339, 340,
! 0, 334, 337, 0, 281, 281, 542, 281, 544, 299,
! 0, 387, 281, 390, 281, 0, 311, 308, 0, 509,
! 0, 281, 119, 0, 120, 0, 0, 0, 0, 517,
! 0, 482, 450, 451, 474, 472, 0, 341, 532, 540,
! 541, 543, 386, 389, 317, 512, 519, 0, 514, 320,
! 323, 0, 0, 471, 518, 496, 489, 0, 493, 480,
! 476, 475, 0, 0, 0, 0, 520, 521, 504, 472,
! 472, 469, 484, 517, 495, 450, 486, 0, 0, 519,
! 0, 0, 473, 473, 450, 0, 494, 0, 0, 0,
! 505, 522, 0, 0, 485, 490, 523, 0, 0, 0,
! 321, 324, 517, 0, 525, 0, 506, 0, 0, 0,
! 0, 491, 524, 507, 526, 450, 492, 0, 0, 0
};
! static const short yydefgoto[] = { 898,
! 1, 2, 3, 17, 18, 19, 313, 503, 319, 505,
! 212, 407, 589, 174, 241, 373, 176, 177, 178, 179,
! 180, 181, 358, 357, 355, 597, 356, 182, 521, 183,
! 302, 303, 304, 496, 448, 20, 291, 613, 187, 188,
! 189, 190, 191, 192, 193, 194, 29, 30, 31, 32,
! 33, 34, 35, 36, 37, 38, 482, 483, 331, 202,
! 195, 39, 203, 40, 41, 42, 43, 44, 218, 65,
! 213, 219, 571, 66, 499, 292, 205, 46, 286, 287,
! 288, 569, 667, 591, 592, 593, 751, 594, 681, 595,
! 596, 762, 804, 850, 765, 806, 851, 502, 221, 629,
! 630, 631, 222, 47, 48, 49, 50, 335, 337, 342,
! 230, 51, 685, 430, 225, 226, 333, 506, 509, 507,
! 510, 340, 341, 196, 280, 384, 633, 634, 386, 387,
! 388, 214, 449, 450, 451, 452, 453, 454, 305, 276,
! 600, 774, 778, 378, 379, 380, 663, 618, 277, 456,
! 184, 664, 710, 711, 767, 712, 769, 306, 411, 814,
! 775, 815, 816, 713, 813, 768, 865, 770, 854, 883,
! 896, 856, 837, 620, 621, 699, 838, 846, 847, 848,
! 886, 463, 544, 484, 640, 784, 485, 486, 660, 487,
! 552, 295, 397, 488, 489, 446, 185
};
! static const short yypact[] = { 131,
! 137, 2099, 2099, 229,-32768,-32768,-32768,-32768, 129, 129,
! 129, 101, 123, 147,-32768,-32768,-32768,-32768,-32768, 263,
! 1218, 731, 1314, 941, 390, 303, 525, 827, 1631, 1037,
! 2396, 1360, 696, 917, 716, 1008,-32768,-32768, 138,-32768,
! -32768,-32768,-32768,-32768, 129,-32768, 83, 85, 107,-32768,
! -32768, 2099,-32768,-32768,-32768, 129, 129, 129, 2695, 2613,
! 165,-32768, 112, 129, 170,-32768, 914,-32768,-32768,-32768,
! -32768, 129,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 129,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 129,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 129,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 129,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 129,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768, 129,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768, 129,-32768,-32768,-32768,-32768, 290,
! 263,-32768,-32768,-32768,-32768,-32768, 146,-32768, 149,-32768,
! 159,-32768,-32768,-32768,-32768,-32768,-32768, 2695, 2695, 205,
! 212, 214,-32768, 377,-32768,-32768,-32768, 2695,-32768,-32768,
! 1719,-32768,-32768, 2695, 204, 235,-32768, 2736, 2777,-32768,
! 3116, 1771, 317, 1480, 2695, 224, 1413, 859, 3041, 1050,
! 1230, 784, 1694, 1227,-32768, 249, 684, 136, 328, 219,
! 358,-32768, 263, 263, 129,-32768, 129,-32768, 307, 129,
! 2142, 357, 129,-32768,-32768, 112, 129, 257,-32768, 2080,
! 401, 454, 284, 2052, 293, 855,-32768, 306,-32768, 298,
! -32768,-32768,-32768, 2695, 2695, 3066,-32768,-32768, 305,-32768,
! 323, 346,-32768, 316, 2695, 1719,-32768, 1719,-32768, 2695,
! 2695, 393,-32768,-32768, 2695, 2695, 2695, 2695, 2695, 2695,
! 2695, 2695, 2695, 2695, 2695, 2695,-32768,-32768, 377, 377,
! 2695, 2695,-32768, 366,-32768, 409, 372,-32768,-32768, 425,
! -32768,-32768,-32768,-32768,-32768, 197,-32768, 399, 454, 215,
! 263,-32768, 470,-32768,-32768, 2613, 2245,-32768, 398, 2183,
! 445,-32768, 759, 65,-32768,-32768, 497, 290, 290,-32768,
! 129,-32768, 357, 129, 129,-32768,-32768,-32768, 357, 129,
! -32768,-32768, 1413, 859, 3041, 1050, 1230, 784, 1694, 1227,
! -32768, 330, 459, 1417,-32768, 129,-32768,-32768, 529, 488,
! -32768, 298, 2883, 2901, 490,-32768,-32768, 2486,-32768, 3116,
! 501, 503, 3116, 3116, 2695, 534, 2695, 2695, 2448, 3077,
! 2576, 2961, 1820, 818, 818, 452, 452,-32768,-32768,-32768,
! -32768,-32768, 515, 235, 513,-32768, 377, 1567, 409,-32768,
! -32768, 112, 129,-32768,-32768,-32768,-32768, 456,-32768, 522,
! 684, 2818,-32768,-32768, 209, 87, 1090, 516, 2695,-32768,
! -32768, 2695, 2286,-32768, 517,-32768,-32768,-32768,-32768,-32768,
! 2465,-32768, 401, 251, 290,-32768, 564,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768, 527,-32768, 528, 2695, 377, 530,
! 488, 3066, 2695, 3066,-32768,-32768, 532, 532, 576, 2695,
! 3145, 2208,-32768,-32768,-32768, 324, 445,-32768,-32768, 78,
! 116, 121, 134, 624,-32768, 542,-32768,-32768,-32768,-32768,
! 425, 425,-32768, 129,-32768,-32768,-32768, 339, 545,-32768,
! 549,-32768,-32768, 1797, 3070, 1146, 1600, 1998, 3095, 1185,
! 1614,-32768,-32768,-32768, 553, 347,-32768,-32768, 374,-32768,
! 552, 555,-32768,-32768,-32768,-32768, 563, 565, 1348,-32768,
! -32768, 626,-32768,-32768,-32768, 567,-32768,-32768, 569,-32768,
! -32768, 129, 129, 3116,-32768, 129, 566, 579, 2925, 581,
! 1784,-32768, 3132,-32768, 377,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2356,
! -32768,-32768, 586, 1207,-32768,-32768,-32768, 2695,-32768,-32768,
! -32768, 175, 325,-32768,-32768, 1520,-32768, 673,-32768,-32768,
! 76,-32768, 290,-32768, 263,-32768,-32768, 3116,-32768,-32768,
! 1348,-32768, 129, 343, 129, 431,-32768,-32768,-32768, 129,
! -32768, 2695,-32768,-32768, 632, 377, 2695,-32768, 633, 3116,
! 595, 593,-32768,-32768, 185, 1920, 2695,-32768, 2425,-32768,
! 646, 2695, 649, 612, 614, 2654, 158, 699,-32768,-32768,
! -32768, 623,-32768,-32768,-32768, 627, 482, 628,-32768,-32768,
! -32768, 2551,-32768,-32768, 407,-32768, 112, 129, 129, 468,
! 483, 238,-32768,-32768, 129, 112, 129, 238,-32768, 129,
! -32768, 1797, 3070, 2564, 3099, 1146, 1600, 1547, 1752, 1998,
! 3095, 3037, 3112, 1185, 1614, 1634, 1766,-32768,-32768,-32768,
! -32768, 625,-32768,-32768, 478, 479, 1784, 76,-32768, 76,
! -32768, 2695, 109,-32768, 2695, 418,-32768, 2943,-32768, 1406,
! 1784,-32768,-32768, 1852,-32768, 1988,-32768,-32768, 3132, 2863,
! -32768,-32768,-32768,-32768, 640, 2695, 641,-32768, 650,-32768,
! -32768, 290, 263,-32768,-32768,-32768,-32768,-32768, 660, 700,
! 1250, 97,-32768,-32768,-32768,-32768, 175, 349,-32768, 129,
! -32768, 129,-32768,-32768, 129, 325, 325,-32768,-32768, 175,
! 325,-32768,-32768,-32768, 662,-32768,-32768,-32768,-32768, 2980,
! 2695,-32768,-32768, 2980, 2695,-32768,-32768, 2695,-32768, 665,
! 1988,-32768,-32768, 2695,-32768,-32768, 674,-32768, 2695, 711,
! 484,-32768, 403, 487,-32768, 1087, 701, 703,-32768, 707,
! 2695, 1654,-32768,-32768,-32768,-32768, 2695,-32768, 468, 483,
! 466,-32768,-32768, 1207, 129, 238,-32768, 238,-32768,-32768,
! 343,-32768, 2980,-32768, 2980, 2839,-32768,-32768, 3098,-32768,
! 62, 129,-32768, 357,-32768, 357, 2695, 2695, 750, 2551,
! 694,-32768,-32768,-32768,-32768,-32768, 695,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 31, 697,-32768,-32768,
! -32768, 718, 719,-32768,-32768,-32768,-32768, 698,-32768,-32768,
! -32768,-32768, 710, 712, 377, 127, 715,-32768,-32768,-32768,
! -32768,-32768,-32768, 2695,-32768,-32768,-32768, 2695, 693, 31,
! 720, 31,-32768,-32768,-32768, 722,-32768, 730, 802, 163,
! -32768,-32768, 625, 625,-32768,-32768,-32768, 749, 470, 733,
! -32768,-32768, 2695, 2695, 317, 421,-32768, 740, 743, 744,
! 470,-32768,-32768,-32768, 317,-32768,-32768, 829, 830,-32768
};
static const short yypgoto[] = {-32768,
! -32768,-32768,-32768, 98,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768, 34,-32768, -59, 443, -259, 378,-32768,-32768,
! -53, 728,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -277,
! -310, 538,-32768,-32768, -97, 222, -283, -565, 2, 8,
! 39, 41, 21, 43, 45, 48, -375, -339, 288, 289,
! -317, -281, 291, 294, -488, -466, 427, 435,-32768, -177,
! -119, -519, -199, 429, 496, 480, 706,-32768, -510, -121,
! -218, 437,-32768, 591,-32768, 379, 4, 68,-32768, 463,
! -32768, 286,-32768, -411,-32768, 176,-32768, -526,-32768,-32768,
! 299,-32768,-32768,-32768,-32768,-32768,-32768, -132, 282, 154,
! 171, -124, 58,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768, 462, -114,-32768, 562,-32768,-32768, 230,
! 228, 568, 477, -95,-32768,-32768, -523, -262, -406, -429,
! -32768, 476,-32768,-32768,-32768,-32768,-32768,-32768, -242,-32768,
! -32768, -481, 91,-32768,-32768, 533, -541,-32768, 295,-32768,
! -32768, -514,-32768,-32768,-32768,-32768,-32768, 617, -388, 93,
! -685, -264, 20,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, -745, 54,-32768, 55,
! -32768, 461,-32768, -506,-32768,-32768,-32768,-32768,-32768,-32768,
! 433, -296,-32768,-32768,-32768,-32768, 60
};
! #define YYLAST 3205
! static const short yytable[] = { 175,
! 186, 314, 416, 21, 21, 45, 45, 220, 419, 22,
! 22, 374, 56, 57, 58, 396, 308, 385, 418, 223,
! 616, 478, 25, 25, 72, 619, 81, 415, 90, 639,
! 99, 542, 108, 228, 117, 478, 126, 624, 135, 844,
! 23, 23, 24, 24, 26, 26, 27, 27, 332, 28,
! 28, 614, 665, 21, 541, 45, 715, 479, 617, 22,
! 408, 52, 52, 45, 198, -105, 45, 658, 540, 688,
! 199, 479, 25, 615, 409, 242, 662, 67, -443, 480,
! 147, 149, 151, 809, 619, 144, 145, 144, 145, 659,
! 23, 300, 24, 480, 26, 273, 27, 776, 845, 28,
! 53, 200, 616, 201, 232, 233, 561, 827, 866, 144,
! 145, 52, 143, 458, 238, 481, -444, 617, 8, 574,
! 243, -445, 576, 143, 143, 143, 736, 840, 737, 481,
! -1, 278, 374, 614, -446, 455, -2, 888, 14, 143,
! 345, 14, 69, 599, 828, 635, 635, 732, 143, 152,
! 351, 299, 352, -105, 741, 615, 332, 143, 14, 753,
! 144, 145, -423, 777, 610, 14, 143, 59, 478, 470,
! 867, 146, 860, 148, 45, 143, 399, 62, 626, 875,
! 650, 668, 461, 670, 143, 527, 530, 533, 536, 60,
! 72, 761, 81, 143, 90, 150, 99, 237, 224, 543,
! -424, 72, 143, 81, 479, -425, 787, 789, 879, 861,
! 897, 538, 375, 61, 45, 696, 651, 198, -426, 45,
! 425, 142, 427, 199, 798, 78, 480, 323, 686, 45,
! 285, 197, 627, 324, 227, 209, 398, 229, 654, 45,
! 405, 628, 211, 238, 836, 880, 327, 231, 14, 45,
! 586, 45, 587, 206, 200, 735, 201, 207, 140, 141,
! 289, 290, 481, 339, 325, 62, 326, 14, 328, 750,
! 329, 234, 143, 330, 655, 210, 211, 819, 235, 390,
! 236, 210, 211, 314, 391, 334, 244, 542, 625, 671,
! 616, 674, 62, 215, 436, 439, 542, 393, 338, 45,
! 144, 145, 371, 372, 210, 211, 279, 91, 7, 92,
! 541, 760, 54, 55, 9, 10, 11, 315, 211, 541,
! 63, 614, 245, 635, 635, 273, 72, 62, 81, 64,
! 90, 281, 99, 500, 74, 323, 518, 45, 520, 491,
! 310, 324, 492, 615, 311, 62, 215, 216, 395, 238,
! 791, 62, 526, 529, 327, 535, 217, 301, 881, 882,
! -472, -472, -472, -472, 83, 289, 290, 317, -472, -472,
! -472, 207, 325, 293, 326, 339, 328, 320, 329, 144,
! 145, 330, 636, 198, -472, 45, -247, 346, 672, 199,
! 336, 637, 211, 334, 86, 7, 87, 459, 474, 349,
! 216, 9, 10, 11, 475, 347, 627, 524, 478, 217,
! 445, 525, 474, -378, -378, 628, 211, 476, 475, 14,
! 200, 547, 201, 782, 285, 783, 548, 717, 348, 209,
! 555, 476, -273, 62, 556, 45, 726, 45, -79, 477,
! 377, 673, 204, 666, 479, -104, -273, 14, 376, 70,
! 75, 79, 84, 477, 381, 543, 557, 106, 111, 115,
! 120, 558, 339, 745, 543, 392, 480, 315, 211, 528,
! 531, 534, 537, -246, 873, 874, 675, 72, 155, 90,
! 612, 108, 382, 126, 210, 211, -273, 401, 63, 716,
! -273, 383, 211, 830, 245, 831, 705, 64, 706, 707,
! 708, 709, 481, 890, 88, 93, 97, 102, 891, 264,
! 265, 266, 124, 129, 133, 138, 71, 76, 80, 85,
! 210, 211, 464, 211, 107, 112, 116, 121, 406, 95,
! 7, 96, 722, 211, 720, 211, 9, 10, 11, 612,
! 412, 21, 423, 45, 314, 474, 695, 22, 818, 722,
! 211, 475, 421, 422, 14, 247, 249, 642, 598, 45,
! 25, 733, 734, 643, 476, 311, 207, 803, 278, 763,
! 805, 311, 428, 611, 207, 429, 646, 434, 23, 440,
! 24, 764, 26, 437, 27, 438, 477, 28, 294, 413,
! 414, 307, 780, 781, 644, 309, 645, 443, 647, 622,
! 648, 885, 444, 649, 466, 490, 494, 504, -248, 632,
! 638, 512, 513, 895, 516, 70, 75, 79, 84, 679,
! 435, 522, 395, 21, 301, 45, 539, 549, 198, 22,
! 45, 550, 611, 676, 199, 554, 757, 198, 725, 45,
! 697, 559, 25, 199, 560, 72, 562, 81, 564, 90,
! 580, 99, 209, 108, 573, 117, 575, 126, 673, 135,
! 23, 581, 24, 583, 26, 200, 27, 201, 623, 28,
! 88, 93, 97, 102, 200, 661, 201, -30, 682, 683,
! 684, 622, 71, 76, 80, 85, 144, 145, 282, 283,
! 284, -31, 417, 294, 691, 692, 316, 693, 420, 801,
! 122, 7, 123, 551, 551, 698, 701, 9, 10, 11,
! 704, 811, 275, 610, 426, 772, 759, 817, 563, 565,
! 131, 7, 132, 756, 758, 14, 771, 9, 10, 11,
! 89, 94, 98, 103, 5, 73, 7, 74, 125, 130,
! 134, 139, 9, 10, 11, 14, 790, 832, 833, 797,
! 835, 70, 75, 79, 84, 389, 802, 800, 13, 301,
! 766, 462, -108, -108, -108, -108, 834, 807, -108, 808,
! -108, -108, -108, 810, 289, 290, 839, 843, 858, -254,
! 849, 855, 869, 289, 290, 474, -108, 786, 788, 7,
! 92, 475, 143, 857, 835, 9, 10, 11, 868, -256,
! 852, 853, 862, 871, 476, 876, 88, 93, 97, 102,
! 878, 21, 877, 45, -243, 884, 887, 22, 71, 76,
! 80, 85, 892, 835, 889, 893, 477, 894, 899, 900,
! 25, 100, 7, 101, 469, 702, 703, 497, 9, 10,
! 11, 410, 545, 652, 653, 498, 656, -108, 23, 657,
! 24, 501, 26, 467, 27, 321, 669, 28, 5, 752,
! 7, 8, 5, 465, 7, 74, 9, 10, 11, 622,
! 9, 10, 11, 262, 263, 264, 265, 266, 859, 730,
! 731, 394, 13, 785, 14, 15, 13, 779, 316, 316,
! 577, 578, 517, 687, 579, 424, 89, 94, 98, 103,
! 738, 743, 70, 75, 841, 515, 106, 111, 842, 431,
! -249, 460, 714, 870, 208, 553, 872, -26, -26, -26,
! -26, 127, 7, 128, 546, -26, -26, -26, 9, 10,
! 11, 0, 0, 0, 0, 0, 389, 389, 322, -370,
! 209, -26, 0, -273, 5, 82, 7, 83, 0, 0,
! 0, 0, 9, 10, 11, 88, 93, -273, 677, 124,
! 129, 343, 344, 0, 0, 0, 0, 0, 13, 71,
! 76, 0, 350, 107, 112, 0, 0, 353, 354, 0,
! 210, 211, 359, 360, 361, 362, 363, 364, 365, 366,
! 367, 368, 369, 370, 457, 0, 0, -273, 0, 0,
! -255, -273, -26, 0, 0, 0, 718, 719, 0, 0,
! 724, 0, 136, 7, 137, 727, 728, 0, 729, 9,
! 10, 11, 0, 495, -245, 0, 0, 389, 389, 0,
! 0, 0, 89, 94, 98, 103, 0, 508, 511, 0,
! 5, 109, 7, 110, 0, 0, 0, 0, 9, 10,
! 11, 742, 0, 5, 746, 7, 83, 0, 0, 0,
! 0, 9, 10, 11, 13, 0, 457, 457, 532, 457,
! 70, 75, 79, 84, 0, 0, 0, 13, 106, 111,
! 115, 120, 0, 0, 441, 442, 0, 0, 0, 0,
! 471, -257, 472, 5, 6, 7, 8, 0, 294, 473,
! 294, 9, 10, 11, 0, 721, 723, 0, 0, 0,
! 0, 0, 0, 209, 0, 0, -273, 13, 792, 570,
! -251, 572, 794, 0, 0, 88, 93, 97, 102, 0,
! -273, 0, 0, 124, 129, 133, 138, 71, 76, 80,
! 85, 0, 0, 0, 0, 107, 112, 116, 121, 0,
! 86, 7, 87, 210, 211, 514, 0, 9, 10, 11,
! 519, 0, 0, 820, 821, 0, 822, 523, 0, 0,
! -273, 823, -534, 824, -273, 14, 0, 0, 0, 0,
! 829, 89, 94, 0, 0, 125, 130, 0, 0, 122,
! 7, 123, 389, 389, 0, 0, 9, 10, 11, 0,
! 0, 389, 389, 0, 0, 389, 389, 471, 0, 0,
! 5, 6, 7, 8, 14, 0, 473, 0, 9, 10,
! 11, 5, 68, 7, 69, 0, 568, 700, 0, 9,
! 10, 11, 7, 101, 13, 7, 87, 0, 9, 10,
! 11, 9, 10, 11, 0, 13, 0, 14, 590, 0,
! 773, 0, -450, -450, 721, 723, 723, -450, -450, 14,
! -450, 0, 0, 0, -450, 0, -450, -450, -450, -450,
! -450, -450, -450, -450, -450, -450, -450, 0, -450, 0,
! -450, 0, -450, -450, -450, -450, -450, 739, 0, -534,
! 511, -450, 0, 0, 0, 0, 0, -450, 568, 0,
! -450, -242, 0, 0, 0, -450, -450, -450, 0, 678,
! 0, -450, -450, 0, 680, 0, -450, 5, 77, 7,
! 78, 0, 0, 590, 689, 9, 10, 11, 0, 690,
! 0, 0, 0, -450, 0, -450, -450, 0, -450, 0,
! 0, 13, 0, 14, 0, 0, 0, 0, 566, 0,
! 153, 89, 94, 98, 103, 154, 155, 0, 156, 125,
! 130, 134, 139, 5, 118, 7, 119, 0, 0, 0,
! 0, 9, 10, 11, 0, 0, 157, 0, 15, 0,
! 158, 159, 160, 161, 162, 0, 0, 13, 0, 163,
! 532, 0, 0, 0, 590, 164, 0, -244, 165, 740,
! 0, 0, 744, 166, 167, 168, 0, 0, 590, 169,
! 170, 590, 0, 590, 171, 748, 5, 321, 7, 69,
! 5, 0, 7, 8, 9, 10, 11, 0, 9, 10,
! 11, 0, 532, 172, 173, 0, 567, 0, 0, 0,
! 13, 0, 14, -253, 13, 0, 14, 15, 250, 251,
! 252, 0, 253, 254, 255, 256, 257, 258, 259, 260,
! 261, 262, 263, 264, 265, 266, 863, 864, 793, 0,
! 0, 0, 795, 0, 0, 796, 0, 0, 590, 0,
! 274, 799, -448, -448, -448, -448, -448, -448, -448, 0,
! -448, -448, -448, -448, -448, 749, -448, -448, -448, -448,
! -448, -448, -448, -448, -448, -448, -448, -448, -448, -448,
! -448, -448, -448, -448, -448, -448, -448, 0, 0, 0,
! 0, -448, 0, 5, 6, 7, 8, -448, 0, 641,
! -448, 9, 10, 11, 0, -448, -448, -448, 0, 0,
! 0, -448, -448, 0, 0, 0, -448, 13, 0, 14,
! 0, 95, 7, 96, 0, 0, 0, 0, 9, 10,
! 11, 0, 0, -448, 275, -448, -448, 447, -448, -472,
! -472, -472, -472, -472, -472, -472, 14, -472, -472, -472,
! -472, -472, 0, -472, -472, -472, -472, -472, -472, -472,
! -472, -472, -472, -472, -472, -472, -472, -472, 0, -472,
! -472, -472, -472, -472, 91, 7, 92, 0, -472, 0,
! 0, 9, 10, 11, -472, 0, 0, -472, 127, 7,
! 128, 0, -472, -472, -472, 9, 10, 11, -472, -472,
! 0, 0, 0, -472, 5, 104, 7, 105, 131, 7,
! 132, 0, 9, 10, 11, 9, 10, 11, 0, 0,
! -472, 0, -472, -472, 812, -472, -479, -479, 13, 0,
! 14, -479, -479, 14, -479, 0, 0, 0, -479, 0,
! -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
! -479, 0, -479, 0, -479, 0, -479, -479, -479, -479,
! -479, 0, 0, 0, 0, -479, 0, 0, 0, 7,
! 96, -479, 0, 0, -479, 9, 10, 11, 0, -479,
! -479, -479, 0, 0, -250, -479, -479, 0, 0, 239,
! -479, 153, 5, 14, 7, 8, 154, 155, 0, 156,
! 9, 10, 11, 0, 0, 0, 0, -479, 0, -479,
! -479, 0, -479, 0, 0, 0, 13, 157, 14, 15,
! 0, 158, 159, 160, 161, 162, 100, 7, 101, 0,
! 163, 0, 0, 9, 10, 11, 164, 0, 0, 165,
! 136, 7, 137, 0, 166, 167, 168, 9, 10, 11,
! 169, 170, 0, 0, 584, 171, 585, 145, 0, 0,
! 0, 154, 155, 0, 156, 0, 0, 0, 0, 0,
! 5, 68, 7, 69, 172, 173, 0, 240, 9, 10,
! 11, 0, 157, 0, 15, 0, 158, 159, 160, 161,
! 162, 0, 0, 0, 13, 163, 14, 0, 0, 0,
! 0, 164, 267, 268, 165, 269, 270, 271, 272, 166,
! 167, 168, 0, 0, 0, 169, 170, 0, 0, 586,
! 171, 587, 584, 0, 585, 145, 0, 0, 0, 154,
! 155, 0, 156, 0, 0, 0, 0, 0, -301, 172,
! 173, 0, 588, 260, 261, 262, 263, 264, 265, 266,
! 157, 0, 15, 0, 158, 159, 160, 161, 162, 0,
! 0, 0, 0, 163, 0, 0, 0, 0, 0, 164,
! 0, 0, 165, 0, 0, 0, 0, 166, 167, 168,
! 0, 0, 0, 169, 170, 0, 0, 586, 171, 587,
! 584, 0, 153, 0, 0, 0, 0, 154, 155, 0,
! 156, 0, 0, 0, 0, 0, -367, 172, 173, 0,
! 588, 0, 0, 0, 0, 0, 0, 0, 157, 0,
! 15, 0, 158, 159, 160, 161, 162, 0, 0, 0,
! 0, 163, 0, -314, 0, 0, 0, 164, 0, 0,
! 165, 0, 0, 0, 0, 166, 167, 168, 0, 0,
! 0, 169, 170, 0, 0, -314, 171, -314, 584, 0,
! 153, 0, 0, 0, 0, 154, 155, 0, 156, 0,
! 0, 5, 104, 7, 105, 172, 173, 0, 588, 9,
! 10, 11, 0, 0, 0, 0, 157, 0, 15, 0,
! 158, 159, 160, 161, 162, 13, 0, 14, 0, 163,
! 0, 0, 0, 0, 0, 164, 0, 0, 165, 0,
! 0, 0, 0, 166, 167, 168, 0, 0, 0, 169,
! 170, 0, 318, 0, 171, -22, -22, -22, -22, 0,
! 0, 0, 0, -22, -22, -22, 0, 0, 0, 0,
! 0, 0, 0, 172, 173, 0, 588, 0, 209, -22,
! 312, -273, 0, -18, -18, -18, -18, 0, 0, 0,
! 0, -18, -18, -18, 0, -273, 0, 0, 0, 4,
! 0, -117, 5, 6, 7, 8, 209, -18, 0, -273,
! 9, 10, 11, 0, 0, 0, 0, 0, 210, 211,
! 0, 0, 0, -273, 0, 12, 13, 0, 14, 15,
! 0, 0, 0, 0, 0, -273, 0, 0, 0, -273,
! -22, 0, 0, 0, 153, 5, 296, 7, 8, 154,
! 155, 0, 156, 9, 10, 11, -117, 0, 0, 0,
! 0, 0, 0, -273, 0, -117, 0, -273, -18, 13,
! 157, 14, 15, 0, 158, 159, 160, 161, 162, 0,
! 0, 0, 16, 163, 0, 153, 0, 402, 0, 164,
! 154, 155, 165, 156, 0, 0, 0, 166, 167, 297,
! 0, 0, 0, 169, 170, 0, 0, 0, 171, 0,
! 0, 157, 0, 15, 0, 158, 159, 160, 161, 162,
! 0, 0, 0, 0, 163, 0, 0, 172, 173, 0,
! 164, 298, 0, 165, 0, 0, 0, 0, 166, 167,
! 403, 0, 0, 0, 169, 170, 0, 153, 0, 171,
! 0, 0, 154, 155, 0, 156, 255, 256, 257, 258,
! 259, 260, 261, 262, 263, 264, 265, 266, 172, 173,
! 0, 0, 404, 157, 0, 15, 0, 158, 159, 160,
! 161, 162, 0, 0, 0, 0, 163, 0, 153, 0,
! 0, 0, 164, 154, 155, 165, 156, 0, 0, 0,
! 166, 167, 168, 0, 0, 0, 169, 170, 0, 0,
! 0, 171, 0, 0, 157, 0, 15, 0, 158, 159,
! 160, 161, 162, 0, 0, 0, 0, 163, 0, 0,
! 172, 173, 0, 164, 400, 0, 165, 0, 0, 0,
! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0,
! 0, 0, 171, 0, 0, 0, 0, 0, 585, 601,
! 6, 7, 8, 154, 155, 0, 156, 9, 10, 11,
! 0, 172, 173, 0, 0, 493, 602, 603, 604, 605,
! 606, 607, 608, 13, 157, 14, 15, 0, 158, 159,
! 160, 161, 162, 0, 0, 0, 0, 163, 0, 5,
! 113, 7, 114, 164, 0, 0, 165, 9, 10, 11,
! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0,
! 0, 0, 171, 13, 0, 14, 0, 585, 145, 0,
! 0, 0, 154, 155, 0, 156, 0, 0, 0, 609,
! 0, 172, 173, 0, 610, 602, 603, 604, 605, 606,
! 607, 608, 0, 157, 0, 15, 0, 158, 159, 160,
! 161, 162, 0, 0, 0, 0, 163, 0, 5, 6,
! 7, 8, 164, 0, 0, 165, 9, 10, 11, -252,
! 166, 167, 168, 0, 0, 0, 169, 170, 153, 0,
! 0, 171, 13, 154, 155, 0, 156, 256, 257, 258,
! 259, 260, 261, 262, 263, 264, 265, 266, 609, 0,
! 172, 173, 0, 610, 157, 0, 15, 0, 158, 159,
! 160, 161, 162, 0, 0, 0, 0, 163, 0, 0,
! 0, 0, 0, 164, 0, 0, 165, 0, 0, 0,
! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0,
! 0, 0, 171, 153, 5, 6, 7, 8, 154, 155,
! 0, 156, 9, 10, 11, 0, 0, 5, 77, 7,
! 78, 172, 173, 0, 435, 9, 10, 11, 13, 157,
! 14, 15, 0, 158, 159, 160, 161, 162, 0, 0,
! 0, 13, 163, 14, 0, 0, 0, 0, 164, 0,
! 0, 165, 0, 0, 0, 0, 166, 167, 168, 0,
! 0, 0, 169, 170, 0, 153, 5, 171, 7, 8,
! 154, 155, 0, 156, 9, 10, 11, 258, 259, 260,
! 261, 262, 263, 264, 265, 266, 172, 173, 0, 0,
! 13, 157, 14, 15, 0, 158, 159, 160, 161, 162,
! 0, 0, 0, 0, 163, 0, 153, 0, 0, 0,
! 164, 154, 155, 165, 156, 0, 0, 0, 166, 167,
! 168, 0, 0, 0, 169, 170, 0, 0, 0, 171,
! 0, 0, 157, 0, 15, 0, 158, 159, 160, 161,
! 162, 0, 0, 0, 0, 163, 0, 153, 172, 173,
! 0, 164, 154, 155, 165, 156, 0, 0, 0, 166,
! 167, 168, 0, 0, 0, 169, 170, 0, 0, 0,
! 171, 0, 0, 157, 0, 15, 0, 158, 159, 160,
! 161, 162, 0, 0, 0, 0, 163, 694, 153, 172,
! 173, 0, 164, 154, 155, 165, 156, 0, 0, 0,
! 166, 167, 168, 0, 0, 0, 169, 170, 0, 0,
! 0, 171, 0, 0, 157, 0, 15, 0, 158, 159,
! 160, 161, 162, 0, 0, 0, 0, 163, 0, 153,
! 172, 173, 0, 164, 154, 155, 165, 156, 0, 0,
! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0,
! 0, 0, 246, 0, 0, 157, 0, 15, 0, 158,
! 159, 160, 161, 162, 0, 0, 0, 0, 163, 0,
! 468, 172, 173, 0, 164, 154, 155, 165, 156, 0,
! 0, 0, 166, 167, 168, 0, 0, 0, 169, 170,
! 0, 0, 0, 248, 0, 0, 157, 0, 15, 0,
! 158, 159, 160, 161, 162, 0, 0, 0, 0, 163,
! 0, 0, 172, 173, 0, 164, 0, 0, 165, 0,
! 0, 0, 754, 166, 167, 168, 0, 0, 0, 169,
! 170, 250, 251, 252, 171, 253, 254, 255, 256, 257,
! 258, 259, 260, 261, 262, 263, 264, 265, 266, 0,
! 0, 0, 0, 172, 173, 250, 251, 252, 755, 253,
! 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
! 264, 265, 266, 0, 0, 250, 251, 252, 825, 253,
! 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
! 264, 265, 266, 250, 251, 252, 0, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
! 266, 0, 0, 0, 0, 0, 0, 250, 251, 252,
! 432, 253, 254, 255, 256, 257, 258, 259, 260, 261,
! 262, 263, 264, 265, 266, 250, 251, 252, 433, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
! 264, 265, 266, 0, 0, 0, 0, 0, 0, 14,
! 0, 0, 582, 259, 260, 261, 262, 263, 264, 265,
! 266, 0, 250, 251, 252, 747, 253, 254, 255, 256,
! 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
! 5, 113, 7, 114, 5, 0, 7, 78, 9, 10,
! 11, 0, 9, 10, 11, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 13, 0, 14, 0, 13, 5,
! 14, 7, 8, 5, 73, 7, 74, 9, 10, 11,
0, 9, 10, 11, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 13, 0, 14, 0, 13, 5, 109,
! 7, 110, 5, 82, 7, 83, 9, 10, 11, 0,
! 9, 10, 11, 0, 0, 5, 118, 7, 119, 0,
! 0, 0, 13, 9, 10, 11, 13, 257, 258, 259,
! 260, 261, 262, 263, 264, 265, 266, 0, 0, 13,
! 250, 251, 252, 826, 253, 254, 255, 256, 257, 258,
! 259, 260, 261, 262, 263, 264, 265, 266, 250, 251,
! 252, 0, 253, 254, 255, 256, 257, 258, 259, 260,
! 261, 262, 263, 264, 265, 266, 252, 0, 253, 254,
! 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
! 265, 266, 254, 255, 256, 257, 258, 259, 260, 261,
! 262, 263, 264, 265, 266
};
! static const short yycheck[] = { 59,
! 60, 220, 313, 2, 3, 2, 3, 140, 319, 2,
! 3, 271, 9, 10, 11, 293, 216, 280, 315, 141,
! 540, 397, 2, 3, 21, 540, 23, 311, 25, 553,
! 27, 461, 29, 148, 31, 411, 33, 544, 35, 9,
! 2, 3, 2, 3, 2, 3, 2, 3, 226, 2,
! 3, 540, 563, 52, 461, 52, 622, 397, 540, 52,
! 303, 2, 3, 60, 63, 1, 63, 556, 457, 596,
! 63, 411, 52, 540, 10, 171, 1, 20, 1, 397,
! 47, 48, 49, 769, 599, 3, 4, 3, 4, 556,
! 52, 211, 52, 411, 52, 9, 52, 1, 68, 52,
! 3, 63, 622, 63, 158, 159, 495, 46, 854, 3,
! 4, 52, 45, 378, 168, 397, 1, 599, 7, 508,
! 174, 1, 511, 56, 57, 58, 668, 813, 670, 411,
! 0, 185, 392, 622, 1, 378, 0, 883, 30, 72,
! 236, 30, 7, 532, 83, 552, 553, 662, 81, 52,
! 246, 211, 248, 89, 46, 622, 334, 90, 30, 686,
! 3, 4, 85, 67, 89, 30, 99, 67, 544, 83,
! 856, 89, 46, 89, 171, 108, 296, 3, 4, 865,
! 556, 570, 382, 572, 117, 450, 451, 452, 453, 67,
! 187, 702, 189, 126, 191, 89, 193, 164, 141, 462,
! 85, 198, 135, 200, 544, 85, 730, 731, 46, 83,
! 896, 454, 272, 67, 211, 58, 556, 216, 85, 216,
! 335, 84, 337, 216, 751, 7, 544, 226, 44, 226,
! 197, 67, 58, 226, 89, 27, 296, 89, 556, 236,
! 300, 67, 68, 297, 810, 83, 226, 89, 30, 246,
! 66, 248, 68, 84, 216, 667, 216, 88, 37, 38,
! 203, 204, 544, 230, 226, 3, 226, 30, 226, 681,
! 226, 67, 205, 226, 556, 67, 68, 784, 67, 83,
! 67, 67, 68, 502, 88, 226, 83, 717, 548, 573,
! 810, 575, 3, 4, 348, 355, 726, 83, 1, 296,
! 3, 4, 269, 270, 67, 68, 83, 5, 6, 7,
! 717, 700, 84, 85, 12, 13, 14, 67, 68, 726,
! 58, 810, 88, 730, 731, 9, 323, 3, 325, 67,
! 327, 83, 329, 83, 7, 334, 432, 334, 434, 399,
! 84, 334, 402, 810, 88, 3, 4, 58, 291, 403,
! 739, 3, 450, 451, 334, 453, 67, 1, 873, 874,
! 4, 5, 6, 7, 7, 308, 309, 84, 12, 13,
! 14, 88, 334, 67, 334, 342, 334, 85, 334, 3,
! 4, 334, 58, 382, 28, 382, 84, 83, 46, 382,
! 85, 67, 68, 334, 5, 6, 7, 378, 397, 84,
! 58, 12, 13, 14, 397, 83, 58, 84, 784, 67,
! 377, 88, 411, 84, 85, 67, 68, 397, 411, 30,
! 382, 83, 382, 720, 391, 722, 88, 627, 83, 27,
! 84, 411, 30, 3, 88, 432, 636, 434, 46, 397,
! 32, 574, 64, 565, 784, 89, 44, 30, 83, 21,
! 22, 23, 24, 411, 83, 718, 83, 29, 30, 31,
! 32, 88, 429, 46, 727, 67, 784, 67, 68, 450,
! 451, 452, 453, 84, 863, 864, 46, 474, 9, 476,
! 540, 478, 58, 480, 67, 68, 84, 90, 58, 83,
! 88, 67, 68, 804, 88, 806, 15, 67, 17, 18,
! 19, 20, 784, 83, 25, 26, 27, 28, 88, 58,
! 59, 60, 33, 34, 35, 36, 21, 22, 23, 24,
! 67, 68, 67, 68, 29, 30, 31, 32, 84, 5,
! 6, 7, 67, 68, 67, 68, 12, 13, 14, 599,
! 44, 540, 84, 540, 763, 544, 606, 540, 83, 67,
! 68, 544, 331, 332, 30, 178, 179, 556, 525, 556,
! 540, 84, 84, 556, 544, 88, 88, 84, 622, 702,
! 84, 88, 44, 540, 88, 88, 556, 88, 540, 46,
! 540, 703, 540, 83, 540, 83, 544, 540, 210, 308,
! 309, 213, 717, 718, 556, 217, 556, 83, 556, 540,
! 556, 879, 90, 556, 83, 90, 90, 44, 84, 552,
! 553, 85, 85, 891, 85, 187, 188, 189, 190, 586,
! 89, 46, 565, 622, 1, 622, 85, 83, 627, 622,
! 627, 83, 599, 576, 627, 83, 696, 636, 635, 636,
! 607, 90, 622, 636, 90, 642, 84, 644, 84, 646,
! 85, 648, 27, 650, 88, 652, 88, 654, 791, 656,
! 622, 83, 622, 83, 622, 627, 622, 627, 83, 622,
! 191, 192, 193, 194, 636, 3, 636, 46, 46, 85,
! 88, 622, 187, 188, 189, 190, 3, 4, 5, 6,
! 7, 46, 314, 315, 46, 84, 221, 84, 320, 759,
! 5, 6, 7, 482, 483, 7, 84, 12, 13, 14,
! 84, 771, 85, 89, 336, 16, 67, 777, 497, 498,
! 5, 6, 7, 84, 84, 30, 67, 12, 13, 14,
! 25, 26, 27, 28, 4, 5, 6, 7, 33, 34,
! 35, 36, 12, 13, 14, 30, 85, 807, 808, 85,
! 810, 323, 324, 325, 326, 280, 46, 84, 28, 1,
! 703, 383, 4, 5, 6, 7, 17, 67, 10, 67,
! 12, 13, 14, 67, 717, 718, 83, 83, 67, 84,
! 84, 84, 90, 726, 727, 784, 28, 730, 731, 6,
! 7, 784, 725, 84, 854, 12, 13, 14, 858, 84,
! 83, 83, 88, 84, 784, 84, 327, 328, 329, 330,
! 9, 810, 83, 810, 84, 67, 84, 810, 323, 324,
! 325, 326, 83, 883, 884, 83, 784, 84, 0, 0,
! 810, 5, 6, 7, 392, 614, 615, 411, 12, 13,
! 14, 304, 464, 556, 556, 411, 556, 89, 810, 556,
! 810, 415, 810, 391, 810, 1, 571, 810, 4, 684,
! 6, 7, 4, 388, 6, 7, 12, 13, 14, 810,
! 12, 13, 14, 56, 57, 58, 59, 60, 845, 658,
! 659, 291, 28, 730, 30, 31, 28, 717, 413, 414,
! 512, 513, 431, 595, 516, 334, 191, 192, 193, 194,
! 671, 674, 474, 475, 814, 429, 478, 479, 816, 342,
! 84, 379, 618, 860, 1, 483, 862, 4, 5, 6,
! 7, 5, 6, 7, 464, 12, 13, 14, 12, 13,
! 14, -1, -1, -1, -1, -1, 461, 462, 84, 85,
! 27, 28, -1, 30, 4, 5, 6, 7, -1, -1,
! -1, -1, 12, 13, 14, 476, 477, 44, 580, 480,
! 481, 234, 235, -1, -1, -1, -1, -1, 28, 474,
! 475, -1, 245, 478, 479, -1, -1, 250, 251, -1,
! 67, 68, 255, 256, 257, 258, 259, 260, 261, 262,
! 263, 264, 265, 266, 378, -1, -1, 84, -1, -1,
! 84, 88, 89, -1, -1, -1, 628, 629, -1, -1,
! 632, -1, 5, 6, 7, 637, 638, -1, 640, 12,
! 13, 14, -1, 407, 84, -1, -1, 552, 553, -1,
! -1, -1, 327, 328, 329, 330, -1, 421, 422, -1,
! 4, 5, 6, 7, -1, -1, -1, -1, 12, 13,
! 14, 673, -1, 4, 676, 6, 7, -1, -1, -1,
! -1, 12, 13, 14, 28, -1, 450, 451, 452, 453,
! 642, 643, 644, 645, -1, -1, -1, 28, 650, 651,
! 652, 653, -1, -1, 357, 358, -1, -1, -1, -1,
! 1, 84, 3, 4, 5, 6, 7, -1, 720, 10,
! 722, 12, 13, 14, -1, 630, 631, -1, -1, -1,
! -1, -1, -1, 27, -1, -1, 30, 28, 740, 503,
! 84, 505, 744, -1, -1, 646, 647, 648, 649, -1,
! 44, -1, -1, 654, 655, 656, 657, 642, 643, 644,
! 645, -1, -1, -1, -1, 650, 651, 652, 653, -1,
! 5, 6, 7, 67, 68, 428, -1, 12, 13, 14,
! 433, -1, -1, 785, 786, -1, 788, 440, -1, -1,
! 84, 793, 83, 795, 88, 30, -1, -1, -1, -1,
! 802, 476, 477, -1, -1, 480, 481, -1, -1, 5,
! 6, 7, 717, 718, -1, -1, 12, 13, 14, -1,
! -1, 726, 727, -1, -1, 730, 731, 1, -1, -1,
! 4, 5, 6, 7, 30, -1, 10, -1, 12, 13,
! 14, 4, 5, 6, 7, -1, 499, 611, -1, 12,
! 13, 14, 6, 7, 28, 6, 7, -1, 12, 13,
! 14, 12, 13, 14, -1, 28, -1, 30, 521, -1,
! 1, -1, 3, 4, 779, 780, 781, 8, 9, 30,
! 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
! 21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
! 31, -1, 33, 34, 35, 36, 37, 671, -1, 83,
! 674, 42, -1, -1, -1, -1, -1, 48, 571, -1,
! 51, 84, -1, -1, -1, 56, 57, 58, -1, 582,
! -1, 62, 63, -1, 587, -1, 67, 4, 5, 6,
! 7, -1, -1, 596, 597, 12, 13, 14, -1, 602,
! -1, -1, -1, 84, -1, 86, 87, -1, 89, -1,
! -1, 28, -1, 30, -1, -1, -1, -1, 1, -1,
! 3, 646, 647, 648, 649, 8, 9, -1, 11, 654,
! 655, 656, 657, 4, 5, 6, 7, -1, -1, -1,
! -1, 12, 13, 14, -1, -1, 29, -1, 31, -1,
! 33, 34, 35, 36, 37, -1, -1, 28, -1, 42,
! 774, -1, -1, -1, 667, 48, -1, 84, 51, 672,
! -1, -1, 675, 56, 57, 58, -1, -1, 681, 62,
! 63, 684, -1, 686, 67, 10, 4, 1, 6, 7,
! 4, -1, 6, 7, 12, 13, 14, -1, 12, 13,
! 14, -1, 816, 86, 87, -1, 89, -1, -1, -1,
! 28, -1, 30, 84, 28, -1, 30, 31, 43, 44,
! 45, -1, 47, 48, 49, 50, 51, 52, 53, 54,
! 55, 56, 57, 58, 59, 60, 850, 851, 741, -1,
! -1, -1, 745, -1, -1, 748, -1, -1, 751, -1,
! 1, 754, 3, 4, 5, 6, 7, 8, 9, -1,
! 11, 12, 13, 14, 15, 90, 17, 18, 19, 20,
! 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
! 31, 32, 33, 34, 35, 36, 37, -1, -1, -1,
! -1, 42, -1, 4, 5, 6, 7, 48, -1, 10,
! 51, 12, 13, 14, -1, 56, 57, 58, -1, -1,
! -1, 62, 63, -1, -1, -1, 67, 28, -1, 30,
! -1, 5, 6, 7, -1, -1, -1, -1, 12, 13,
! 14, -1, -1, 84, 85, 86, 87, 1, 89, 3,
! 4, 5, 6, 7, 8, 9, 30, 11, 12, 13,
! 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
! 24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
! 34, 35, 36, 37, 5, 6, 7, -1, 42, -1,
! -1, 12, 13, 14, 48, -1, -1, 51, 5, 6,
! 7, -1, 56, 57, 58, 12, 13, 14, 62, 63,
! -1, -1, -1, 67, 4, 5, 6, 7, 5, 6,
! 7, -1, 12, 13, 14, 12, 13, 14, -1, -1,
! 84, -1, 86, 87, 1, 89, 3, 4, 28, -1,
! 30, 8, 9, 30, 11, -1, -1, -1, 15, -1,
! 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
! 27, -1, 29, -1, 31, -1, 33, 34, 35, 36,
! 37, -1, -1, -1, -1, 42, -1, -1, -1, 6,
! 7, 48, -1, -1, 51, 12, 13, 14, -1, 56,
! 57, 58, -1, -1, 84, 62, 63, -1, -1, 1,
! 67, 3, 4, 30, 6, 7, 8, 9, -1, 11,
! 12, 13, 14, -1, -1, -1, -1, 84, -1, 86,
! 87, -1, 89, -1, -1, -1, 28, 29, 30, 31,
! -1, 33, 34, 35, 36, 37, 5, 6, 7, -1,
! 42, -1, -1, 12, 13, 14, 48, -1, -1, 51,
! 5, 6, 7, -1, 56, 57, 58, 12, 13, 14,
! 62, 63, -1, -1, 1, 67, 3, 4, -1, -1,
! -1, 8, 9, -1, 11, -1, -1, -1, -1, -1,
! 4, 5, 6, 7, 86, 87, -1, 89, 12, 13,
! 14, -1, 29, -1, 31, -1, 33, 34, 35, 36,
! 37, -1, -1, -1, 28, 42, 30, -1, -1, -1,
! -1, 48, 62, 63, 51, 65, 66, 67, 68, 56,
! 57, 58, -1, -1, -1, 62, 63, -1, -1, 66,
! 67, 68, 1, -1, 3, 4, -1, -1, -1, 8,
! 9, -1, 11, -1, -1, -1, -1, -1, 85, 86,
! 87, -1, 89, 54, 55, 56, 57, 58, 59, 60,
29, -1, 31, -1, 33, 34, 35, 36, 37, -1,
! -1, -1, -1, 42, -1, -1, -1, -1, -1, 48,
-1, -1, 51, -1, -1, -1, -1, 56, 57, 58,
-1, -1, -1, 62, 63, -1, -1, 66, 67, 68,
! 1, -1, 3, -1, -1, -1, -1, 8, 9, -1,
11, -1, -1, -1, -1, -1, 85, 86, 87, -1,
89, -1, -1, -1, -1, -1, -1, -1, 29, -1,
31, -1, 33, 34, 35, 36, 37, -1, -1, -1,
! -1, 42, -1, 44, -1, -1, -1, 48, -1, -1,
51, -1, -1, -1, -1, 56, 57, 58, -1, -1,
-1, 62, 63, -1, -1, 66, 67, 68, 1, -1,
3, -1, -1, -1, -1, 8, 9, -1, 11, -1,
! -1, 4, 5, 6, 7, 86, 87, -1, 89, 12,
! 13, 14, -1, -1, -1, -1, 29, -1, 31, -1,
! 33, 34, 35, 36, 37, 28, -1, 30, -1, 42,
! -1, -1, -1, -1, -1, 48, -1, -1, 51, -1,
-1, -1, -1, 56, 57, 58, -1, -1, -1, 62,
! 63, -1, 1, -1, 67, 4, 5, 6, 7, -1,
! -1, -1, -1, 12, 13, 14, -1, -1, -1, -1,
! -1, -1, -1, 86, 87, -1, 89, -1, 27, 28,
! 1, 30, -1, 4, 5, 6, 7, -1, -1, -1,
! -1, 12, 13, 14, -1, 44, -1, -1, -1, 1,
! -1, 3, 4, 5, 6, 7, 27, 28, -1, 30,
! 12, 13, 14, -1, -1, -1, -1, -1, 67, 68,
! -1, -1, -1, 44, -1, 27, 28, -1, 30, 31,
! -1, -1, -1, -1, -1, 84, -1, -1, -1, 88,
! 89, -1, -1, -1, 3, 4, 5, 6, 7, 8,
! 9, -1, 11, 12, 13, 14, 58, -1, -1, -1,
! -1, -1, -1, 84, -1, 67, -1, 88, 89, 28,
! 29, 30, 31, -1, 33, 34, 35, 36, 37, -1,
! -1, -1, 84, 42, -1, 3, -1, 5, -1, 48,
! 8, 9, 51, 11, -1, -1, -1, 56, 57, 58,
! -1, -1, -1, 62, 63, -1, -1, -1, 67, -1,
! -1, 29, -1, 31, -1, 33, 34, 35, 36, 37,
! -1, -1, -1, -1, 42, -1, -1, 86, 87, -1,
! 48, 90, -1, 51, -1, -1, -1, -1, 56, 57,
! 58, -1, -1, -1, 62, 63, -1, 3, -1, 67,
! -1, -1, 8, 9, -1, 11, 49, 50, 51, 52,
! 53, 54, 55, 56, 57, 58, 59, 60, 86, 87,
! -1, -1, 90, 29, -1, 31, -1, 33, 34, 35,
! 36, 37, -1, -1, -1, -1, 42, -1, 3, -1,
! -1, -1, 48, 8, 9, 51, 11, -1, -1, -1,
! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1,
! -1, 67, -1, -1, 29, -1, 31, -1, 33, 34,
! 35, 36, 37, -1, -1, -1, -1, 42, -1, -1,
! 86, 87, -1, 48, 90, -1, 51, -1, -1, -1,
! -1, 56, 57, 58, -1, -1, -1, 62, 63, -1,
! -1, -1, 67, -1, -1, -1, -1, -1, 3, 4,
! 5, 6, 7, 8, 9, -1, 11, 12, 13, 14,
! -1, 86, 87, -1, -1, 90, 21, 22, 23, 24,
! 25, 26, 27, 28, 29, 30, 31, -1, 33, 34,
! 35, 36, 37, -1, -1, -1, -1, 42, -1, 4,
! 5, 6, 7, 48, -1, -1, 51, 12, 13, 14,
! -1, 56, 57, 58, -1, -1, -1, 62, 63, -1,
! -1, -1, 67, 28, -1, 30, -1, 3, 4, -1,
! -1, -1, 8, 9, -1, 11, -1, -1, -1, 84,
! -1, 86, 87, -1, 89, 21, 22, 23, 24, 25,
! 26, 27, -1, 29, -1, 31, -1, 33, 34, 35,
! 36, 37, -1, -1, -1, -1, 42, -1, 4, 5,
! 6, 7, 48, -1, -1, 51, 12, 13, 14, 84,
! 56, 57, 58, -1, -1, -1, 62, 63, 3, -1,
! -1, 67, 28, 8, 9, -1, 11, 50, 51, 52,
! 53, 54, 55, 56, 57, 58, 59, 60, 84, -1,
! 86, 87, -1, 89, 29, -1, 31, -1, 33, 34,
! 35, 36, 37, -1, -1, -1, -1, 42, -1, -1,
-1, -1, -1, 48, -1, -1, 51, -1, -1, -1,
-1, 56, 57, 58, -1, -1, -1, 62, 63, -1,
-1, -1, 67, 3, 4, 5, 6, 7, 8, 9,
-1, 11, 12, 13, 14, -1, -1, 4, 5, 6,
7, 86, 87, -1, 89, 12, 13, 14, 28, 29,
30, 31, -1, 33, 34, 35, 36, 37, -1, -1,
! -1, 28, 42, 30, -1, -1, -1, -1, 48, -1,
! -1, 51, -1, -1, -1, -1, 56, 57, 58, -1,
! -1, -1, 62, 63, -1, 3, 4, 67, 6, 7,
! 8, 9, -1, 11, 12, 13, 14, 52, 53, 54,
! 55, 56, 57, 58, 59, 60, 86, 87, -1, -1,
! 28, 29, 30, 31, -1, 33, 34, 35, 36, 37,
! -1, -1, -1, -1, 42, -1, 3, -1, -1, -1,
48, 8, 9, 51, 11, -1, -1, -1, 56, 57,
58, -1, -1, -1, 62, 63, -1, -1, -1, 67,
-1, -1, 29, -1, 31, -1, 33, 34, 35, 36,
! 37, -1, -1, -1, -1, 42, -1, 3, 86, 87,
-1, 48, 8, 9, 51, 11, -1, -1, -1, 56,
57, 58, -1, -1, -1, 62, 63, -1, -1, -1,
67, -1, -1, 29, -1, 31, -1, 33, 34, 35,
! 36, 37, -1, -1, -1, -1, 42, 84, 3, 86,
87, -1, 48, 8, 9, 51, 11, -1, -1, -1,
56, 57, 58, -1, -1, -1, 62, 63, -1, -1,
-1, 67, -1, -1, 29, -1, 31, -1, 33, 34,
--- 660,1556 ----
4, 0, 0, 9, 4, 0, 0, 8, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 3, 1, 2, 2, 2, 2, 2, 4,
! 2, 4, 2, 2, 1, 1, 1, 1, 4, 1,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
! 3, 3, 0, 4, 0, 4, 0, 0, 7, 0,
! 5, 3, 3, 1, 1, 1, 1, 0, 7, 3,
! 3, 3, 3, 4, 6, 8, 6, 4, 3, 3,
! 2, 2, 1, 2, 0, 1, 2, 3, 1, 1,
! 2, 2, 4, 4, 2, 2, 3, 0, 1, 4,
! 4, 3, 3, 2, 2, 1, 2, 2, 2, 2,
! 2, 1, 2, 1, 2, 2, 2, 2, 2, 2,
! 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
! 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
! 1, 1, 1, 1, 1, 1, 1, 4, 4, 1,
! 4, 1, 4, 0, 4, 0, 6, 3, 0, 6,
! 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
! 4, 6, 4, 1, 1, 1, 1, 1, 0, 4,
! 1, 0, 2, 1, 3, 3, 2, 0, 4, 1,
! 0, 4, 1, 1, 1, 2, 2, 5, 3, 0,
! 0, 7, 0, 0, 7, 1, 1, 4, 3, 2,
! 3, 1, 1, 1, 3, 2, 1, 3, 2, 3,
! 3, 4, 3, 4, 3, 2, 1, 1, 2, 1,
! 2, 1, 2, 0, 7, 5, 0, 7, 5, 0,
! 8, 0, 7, 2, 2, 2, 0, 1, 0, 1,
! 1, 2, 0, 3, 2, 3, 4, 3, 1, 1,
! 2, 1, 4, 1, 4, 4, 6, 5, 4, 6,
! 5, 1, 3, 1, 1, 3, 0, 3, 0, 1,
! 0, 1, 2, 1, 1, 1, 3, 2, 3, 4,
! 3, 2, 2, 1, 3, 4, 2, 3, 3, 4,
! 4, 5, 5, 1, 1, 1, 1, 1, 2, 2,
! 2, 2, 1, 2, 2, 2, 1, 2, 2, 2,
! 2, 1, 2, 1, 1, 1, 1, 2, 0, 0,
! 0, 0, 0, 1, 1, 2, 3, 1, 2, 1,
! 1, 5, 1, 1, 2, 2, 2, 2, 0, 5,
! 0, 4, 0, 0, 1, 2, 3, 3, 3, 0,
! 4, 1, 3, 0, 0, 7, 5, 2, 0, 0,
! 0, 0, 12, 0, 6, 2, 1, 1, 2, 3,
! 2, 2, 2, 3, 6, 8, 10, 12, 3, 4,
! 1, 3, 5, 2, 5, 0, 1, 0, 1, 0,
! 1, 1, 3, 4, 7, 1, 3, 0, 3, 2,
! 0, 0, 6, 2, 0, 1, 1, 3, 1, 3,
! 4, 4, 3, 4, 3, 4, 4, 3, 4, 3,
! 1, 0, 3, 1, 2, 1, 3, 1, 3, 1
};
static const short yydefact[] = { 3,
! 5, 0, 0, 0, 267, 158, 264, 126, 352, 348,
! 350, 0, 57, 0, 560, 17, 4, 8, 7, 0,
! 0, 211, 212, 213, 214, 203, 204, 205, 206, 215,
! 216, 217, 218, 207, 208, 209, 210, 118, 118, 0,
! 134, 141, 261, 263, 262, 132, 284, 0, 0, 0,
! 266, 265, 0, 6, 15, 16, 353, 349, 351, 0,
! 0, 0, 347, 259, 282, 0, 272, 0, 161, 127,
! 139, 145, 129, 162, 128, 140, 146, 168, 130, 151,
! 156, 133, 169, 131, 152, 157, 179, 135, 137, 143,
! 142, 180, 136, 138, 144, 194, 147, 149, 154, 153,
! 195, 148, 150, 155, 163, 159, 177, 186, 165, 164,
! 160, 178, 187, 170, 166, 192, 201, 172, 171, 167,
! 193, 202, 181, 173, 175, 184, 183, 182, 174, 176,
! 185, 196, 188, 190, 199, 198, 197, 189, 191, 200,
! 0, 0, 14, 285, 30, 31, 373, 364, 373, 365,
! 362, 366, 10, 84, 85, 103, 55, 56, 0, 0,
! 0, 0, 0, 87, 0, 32, 34, 33, 0, 35,
! 36, 0, 37, 38, 0, 0, 39, 58, 0, 0,
! 60, 42, 44, 86, 0, 0, 289, 0, 239, 240,
! 241, 242, 235, 236, 237, 238, 397, 0, 231, 232,
! 233, 234, 260, 0, 0, 283, 11, 282, 29, 0,
! 282, 0, 0, 282, 346, 332, 259, 282, 0, 270,
! 0, 326, 327, 0, 0, 0, 0, 354, 0, 357,
! 0, 360, 53, 54, 0, 0, 0, 48, 45, 0,
! 465, 0, 0, 47, 0, 0, 0, 49, 0, 51,
! 0, 0, 77, 75, 73, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 101, 102, 0,
! 0, 40, 0, 104, 0, 461, 453, 0, 46, 295,
! 296, 297, 294, 0, 287, 290, 268, 399, 269, 345,
! 0, 0, 119, 0, 552, 343, 0, 0, 417, 0,
! 0, 0, 27, 0, 473, 110, 474, 281, 0, 0,
! 13, 282, 21, 0, 282, 282, 330, 12, 25, 0,
! 282, 380, 375, 231, 232, 233, 234, 227, 228, 229,
! 230, 118, 118, 372, 0, 373, 282, 373, 394, 395,
! 369, 392, 0, 0, 0, 0, 91, 90, 0, 9,
! 43, 0, 0, 83, 82, 0, 0, 0, 0, 71,
! 72, 70, 69, 68, 66, 67, 61, 62, 63, 64,
! 65, 100, 99, 0, 41, 0, 93, 0, 0, 454,
! 455, 92, 0, 289, 40, 259, 282, 398, 400, 405,
! 404, 406, 414, 344, 273, 274, 0, 0, 0, 0,
! 419, 415, 0, 0, 418, 0, 448, 473, 112, 107,
! 111, 0, 279, 331, 0, 0, 19, 278, 329, 23,
! 356, 473, 473, 374, 381, 0, 359, 0, 0, 370,
! 0, 369, 0, 0, 0, 88, 59, 50, 52, 0,
! 0, 76, 74, 94, 98, 558, 0, 464, 433, 463,
! 473, 473, 473, 473, 0, 442, 0, 474, 428, 437,
! 456, 286, 288, 84, 0, 408, 528, 413, 282, 412,
! 275, 0, 556, 536, 223, 224, 219, 220, 225, 226,
! 221, 222, 118, 118, 554, 0, 537, 539, 553, 0,
! 421, 0, 0, 420, 416, 474, 108, 118, 118, 0,
! 328, 271, 274, 473, 276, 473, 376, 382, 474, 378,
! 384, 474, 282, 282, 396, 393, 282, 0, 0, 0,
! 0, 0, 78, 81, 457, 0, 434, 429, 438, 435,
! 430, 439, 474, 431, 440, 436, 432, 441, 443, 450,
! 451, 291, 0, 293, 407, 409, 0, 0, 528, 411,
! 534, 551, 401, 401, 530, 531, 0, 555, 0, 422,
! 423, 0, 115, 0, 116, 0, 301, 299, 298, 280,
! 474, 0, 474, 282, 377, 282, 0, 355, 358, 363,
! 282, 95, 0, 97, 314, 84, 0, 0, 311, 0,
! 313, 0, 367, 304, 310, 0, 0, 0, 559, 451,
! 462, 267, 0, 0, 0, 0, 0, 0, 516, 511,
! 460, 473, 0, 117, 118, 118, 0, 0, 449, 498,
! 478, 479, 0, 0, 410, 529, 337, 259, 282, 282,
! 333, 334, 282, 548, 402, 405, 259, 282, 282, 550,
! 282, 538, 211, 212, 213, 214, 203, 204, 205, 206,
! 215, 216, 217, 218, 207, 208, 209, 210, 118, 118,
! 540, 557, 0, 28, 458, 0, 0, 0, 0, 277,
! 0, 473, 0, 282, 473, 0, 282, 361, 0, 317,
! 0, 0, 308, 89, 0, 303, 0, 316, 307, 79,
! 0, 514, 501, 502, 503, 0, 0, 0, 517, 0,
! 474, 499, 0, 0, 124, 469, 484, 471, 489, 0,
! 482, 0, 0, 452, 466, 125, 292, 408, 528, 546,
! 282, 336, 282, 339, 547, 403, 408, 528, 549, 532,
! 401, 401, 459, 113, 114, 0, 20, 24, 383, 474,
! 282, 0, 386, 385, 282, 0, 389, 96, 0, 319,
! 0, 0, 305, 306, 0, 512, 504, 0, 509, 0,
! 0, 0, 122, 320, 0, 123, 323, 0, 0, 451,
! 0, 0, 0, 468, 473, 467, 488, 0, 500, 340,
! 341, 0, 335, 338, 0, 282, 282, 543, 282, 545,
! 300, 0, 388, 282, 391, 282, 0, 312, 309, 0,
! 510, 0, 282, 120, 0, 121, 0, 0, 0, 0,
! 518, 0, 483, 451, 452, 475, 473, 0, 342, 533,
! 541, 542, 544, 387, 390, 318, 513, 520, 0, 515,
! 321, 324, 0, 0, 472, 519, 497, 490, 0, 494,
! 481, 477, 476, 0, 0, 0, 0, 521, 522, 505,
! 473, 473, 470, 485, 518, 496, 451, 487, 0, 0,
! 520, 0, 0, 474, 474, 451, 0, 495, 0, 0,
! 0, 506, 523, 0, 0, 486, 491, 524, 0, 0,
! 0, 322, 325, 518, 0, 526, 0, 507, 0, 0,
! 0, 0, 492, 525, 508, 527, 451, 493, 0, 0,
! 0
};
! static const short yydefgoto[] = { 899,
! 1, 2, 3, 17, 18, 19, 314, 504, 320, 506,
! 213, 408, 590, 175, 242, 374, 177, 178, 179, 180,
! 20, 181, 182, 359, 358, 356, 598, 357, 183, 522,
! 184, 303, 304, 305, 497, 449, 21, 292, 614, 189,
! 190, 191, 192, 193, 194, 195, 196, 30, 31, 32,
! 33, 34, 35, 36, 37, 38, 39, 483, 484, 332,
! 203, 197, 40, 204, 41, 42, 43, 44, 45, 219,
! 66, 214, 220, 572, 67, 500, 293, 206, 47, 284,
! 285, 286, 570, 668, 592, 593, 594, 752, 595, 682,
! 596, 597, 763, 805, 851, 766, 807, 852, 503, 222,
! 630, 631, 632, 223, 48, 49, 50, 51, 336, 338,
! 343, 231, 52, 686, 431, 226, 227, 334, 507, 510,
! 508, 511, 341, 342, 198, 288, 388, 634, 635, 390,
! 391, 392, 215, 450, 451, 452, 453, 454, 455, 306,
! 277, 601, 775, 779, 379, 380, 381, 664, 619, 278,
! 457, 185, 665, 711, 712, 768, 713, 770, 307, 412,
! 815, 776, 816, 817, 714, 814, 769, 866, 771, 855,
! 884, 897, 857, 838, 621, 622, 700, 839, 847, 848,
! 849, 887, 468, 548, 485, 641, 785, 486, 487, 661,
! 488, 553, 296, 398, 489, 490, 447, 186
};
! static const short yypact[] = { 57,
! 92, 986, 986, 379,-32768,-32768,-32768,-32768, 109, 109,
! 109, 105,-32768, 123,-32768,-32768,-32768,-32768,-32768, 165,
! 316, 509, 1138, 1295, 1166, 311, 1055, 833, 1206, 1326,
! 1453, 1379, 1540, 1605, 1298, 1625, 1591,-32768,-32768, 63,
! -32768,-32768,-32768,-32768,-32768, 109,-32768, 71, 80, 125,
! -32768,-32768, 986,-32768,-32768,-32768, 109, 109, 109, 2684,
! 176, 2602,-32768, 129, 109, 203,-32768, 896,-32768,-32768,
! -32768,-32768, 109,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768, 109,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 109,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 109,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 109,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 109,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 109,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768, 109,-32768,-32768,-32768,-32768,
! 206, 316,-32768,-32768,-32768,-32768,-32768, 42,-32768, 162,
! -32768, 189,-32768,-32768,-32768,-32768,-32768,-32768, 2684, 2684,
! 230, 238, 246,-32768, 483,-32768,-32768,-32768, 2684,-32768,
! -32768, 1797,-32768,-32768, 2684, 254, 270,-32768, 2725, 2766,
! -32768, 3099, 1053, 355, 1471, 2684, 908, 284, 2385, 3084,
! 2553, 3095, 690, 485, 732, 605,-32768, 295, 242, 373,
! 279, 409,-32768, 316, 316, 109,-32768, 109,-32768, 323,
! 109, 2131, 461, 109,-32768,-32768, 129, 109, 293,-32768,
! 1080, 504, 513, 304, 1045, 349, 489,-32768, 358,-32768,
! 542,-32768,-32768,-32768, 2684, 2684, 3026,-32768,-32768, 363,
! -32768, 369, 371,-32768, 387, 2684, 1797,-32768, 1797,-32768,
! 2684, 2684, 464,-32768,-32768, 2684, 2684, 2684, 2684, 2684,
! 2684, 2684, 2684, 2684, 2684, 2684, 2684,-32768,-32768, 483,
! 483, 2684, 2684,-32768, 405,-32768, 486, 424,-32768,-32768,
! -32768,-32768,-32768, 201,-32768, 457,-32768, 390,-32768, 513,
! 186, 316,-32768, 529,-32768,-32768, 2602, 2234,-32768, 466,
! 2172, 478,-32768, 356, 114,-32768,-32768, 532, 206, 206,
! -32768, 109,-32768, 461, 109, 109,-32768,-32768,-32768, 461,
! 109,-32768,-32768, 2385, 3084, 2553, 3095, 690, 485, 732,
! 605,-32768, 499, 502, 1413,-32768, 109,-32768,-32768, 546,
! 506,-32768, 542, 2872, 2890, 508,-32768,-32768, 2475,-32768,
! 3099, 517, 525, 3099, 3099, 2684, 568, 2684, 2684, 2437,
! 3062, 1208, 2564, 983, 879, 879, 288, 288,-32768,-32768,
! -32768,-32768,-32768, 555, 270, 551,-32768, 483, 1558, 486,
! -32768,-32768, 562, 908, 2807, 129, 109,-32768,-32768,-32768,
! -32768, 535,-32768,-32768,-32768, 99, 33, 1230, 557, 2684,
! -32768,-32768, 2684, 2275,-32768, 559,-32768,-32768,-32768,-32768,
! -32768, 2454,-32768, 504, 192, 206,-32768, 581,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768, 566,-32768, 570, 2684, 483,
! 572, 506, 3026, 2684, 3026,-32768,-32768, 564, 564, 616,
! 2684, 3128, 2197,-32768,-32768,-32768, 314, 478,-32768,-32768,
! 94, 98, 112, 132, 662,-32768, 580,-32768,-32768,-32768,
! -32768,-32768,-32768, 326, 585, 390, 390,-32768, 109,-32768,
! -32768, 588,-32768,-32768, 1709, 3030, 1194, 864, 1875, 3055,
! 1712, 989,-32768,-32768,-32768, 591, 338,-32768,-32768, 327,
! -32768, 586, 590,-32768,-32768,-32768,-32768, 598, 601, 1313,
! -32768,-32768, 659,-32768,-32768,-32768, 602,-32768,-32768, 603,
! -32768,-32768, 109, 109, 3099,-32768, 109, 604, 615, 2914,
! 627, 1862,-32768, 3115,-32768, 483,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 2345,-32768, 2684,-32768,-32768,-32768, 628, 753,-32768,-32768,
! -32768,-32768, 383, 178,-32768,-32768, 945,-32768, 696,-32768,
! -32768, 69,-32768, 206,-32768, 316,-32768,-32768, 3099,-32768,
! -32768, 1313,-32768, 109, 253, 109, 362,-32768,-32768,-32768,
! 109,-32768, 2684,-32768,-32768, 671, 483, 2684,-32768, 684,
! 3099, 646, 644,-32768,-32768, 167, 1998, 2684,-32768, 2414,
! -32768, 687, 2684, 694, 652, 657, 2643, 141, 735,-32768,
! -32768,-32768, 663,-32768,-32768,-32768, 666, 704, 658,-32768,
! -32768,-32768, 2540, 352,-32768,-32768,-32768, 129, 109, 109,
! 538, 553, 158,-32768,-32768, 109, 129, 109, 158,-32768,
! 109,-32768, 1709, 3030, 2076, 3059, 1194, 864, 1772, 1536,
! 1875, 3055, 2144, 3072, 1712, 989, 1837, 1678,-32768,-32768,
! -32768,-32768, 672,-32768,-32768, 416, 421, 1862, 69,-32768,
! 69,-32768, 2684, 88,-32768, 2684, 329,-32768, 2932,-32768,
! 1228, 1862,-32768,-32768, 1930,-32768, 2066,-32768,-32768, 3115,
! 2852,-32768,-32768,-32768,-32768, 668, 2684, 680,-32768, 702,
! -32768,-32768, 206, 316,-32768,-32768,-32768,-32768,-32768, 705,
! 755, 1645, 118,-32768,-32768,-32768,-32768, 383, 336,-32768,
! 109,-32768, 109,-32768,-32768, 109, 178, 178,-32768,-32768,
! 383, 178,-32768,-32768,-32768, 693,-32768,-32768,-32768,-32768,
! 2969, 2684,-32768,-32768, 2969, 2684,-32768,-32768, 2684,-32768,
! 695, 2066,-32768,-32768, 2684,-32768,-32768, 703,-32768, 2684,
! 742, 469,-32768, 268, 475,-32768, 548, 722, 724,-32768,
! 726, 2684, 1732,-32768,-32768,-32768,-32768, 2684,-32768, 538,
! 553, 393,-32768,-32768, 753, 109, 158,-32768, 158,-32768,
! -32768, 253,-32768, 2969,-32768, 2969, 2828,-32768,-32768, 3081,
! -32768, 52, 109,-32768, 461,-32768, 461, 2684, 2684, 777,
! 2540, 713,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 121, 720,-32768,
! -32768,-32768, 715, 723,-32768,-32768,-32768,-32768, 729,-32768,
! -32768,-32768,-32768, 731, 740, 483, 97, 728,-32768,-32768,
! -32768,-32768,-32768,-32768, 2684,-32768,-32768,-32768, 2684, 730,
! 121, 738, 121,-32768,-32768,-32768, 739,-32768, 749, 824,
! 155,-32768,-32768, 672, 672,-32768,-32768,-32768, 767, 529,
! 751,-32768,-32768, 2684, 2684, 355, 389,-32768, 759, 760,
! 764, 529,-32768,-32768,-32768, 355,-32768,-32768, 844, 851,
! -32768
};
static const short yypgoto[] = {-32768,
! -32768,-32768,-32768, 87,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768, 101,-32768, -60, 468, -253, 443,-32768,-32768,
! -32768, -82, 769,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -293, -299, 549,-32768,-32768, 78, 68, -282, -572, 7,
! 41, 38, 44, 1, 20, 47, 50, -364, -336, 299,
! 302, -330, -326, 303, 305, -496, -461, 454, 456,-32768,
! -161, -127, -503, -200, 503, 683, 748, 774,-32768, -532,
! -135, -210, 470,-32768, 589,-32768, 96, 3, 64,-32768,
! 500,-32768, 315,-32768, -420,-32768, 204,-32768, -533,-32768,
! -32768, 292,-32768,-32768,-32768,-32768,-32768,-32768, -133, 319,
! 160, 180, -85, 202,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768, 472, -94,-32768, 583,-32768,-32768,
! 233, 232, 573, 492, -84,-32768,-32768, -526, -272, -397,
! -442,-32768, 465,-32768,-32768,-32768,-32768,-32768,-32768, -268,
! -32768,-32768, -452, 104,-32768,-32768, 545, -343,-32768, 308,
! -32768,-32768, -521,-32768,-32768,-32768,-32768,-32768, 442, -395,
! 111, -689, -172, -150,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768, -743, 84,-32768,
! 90,-32768, 487,-32768, -522,-32768,-32768,-32768,-32768,-32768,
! -32768, 476, -298,-32768,-32768,-32768,-32768, 56
};
! #define YYLAST 3188
! static const short yytable[] = { 176,
! 397, 188, 26, 26, 46, 46, 224, 221, 22, 22,
! 315, 57, 58, 59, 417, 389, 309, 419, 375, 620,
! 420, 27, 27, 546, 73, 626, 82, 640, 91, 416,
! 100, 666, 109, 479, 118, 409, 127, 617, 136, 24,
! 24, 274, 23, 23, 615, 25, 25, 479, 28, 28,
! 716, 29, 29, 26, 229, 46, -1, 53, 53, 22,
! 659, 480, 541, 689, 46, 333, 46, 481, 545, 663,
! 199, 482, 27, 145, 146, 480, 233, 234, 620, 616,
! 810, 481, 145, 146, 301, 482, 239, 243, 618, 54,
! 24, -2, 244, 23, -444, 660, 25, 828, -445, 28,
! 562, 201, 29, 279, 200, 141, 142, 202, 53, 144,
! 456, 867, -446, 575, -106, 471, 577, 14, 777, 617,
! 144, 144, 144, 410, 841, 210, 615, 145, 146, 845,
! 228, 375, -447, 742, 829, 8, 144, 600, 14, 153,
! 889, 733, 861, 145, 146, 144, 143, 618, 148, 150,
! 152, 300, 346, 754, 144, 636, 636, 611, 14, 147,
! 205, 616, 352, 144, 353, 211, 212, 868, 149, 400,
! 762, 60, 144, 333, 46, 669, 876, 671, -424, 862,
! 63, 144, -425, 479, 778, 466, 539, 14, 846, 61,
! 144, 73, 651, 82, 547, 91, -426, 100, 697, 144,
! 880, 73, -106, 82, 788, 790, 459, 898, 63, 216,
! 687, 480, 376, 151, 46, 239, -427, 481, 799, 46,
! 652, 482, 68, 199, 211, 212, 655, 328, 460, 46,
! 656, 62, 587, 324, 588, 637, 399, 881, 837, 46,
! 406, 426, 187, 428, 638, 212, 329, 736, 70, 46,
! 230, 46, 211, 212, 201, 63, 216, 200, 316, 212,
! 202, 751, 820, 217, 326, 238, 437, 325, 394, 144,
! 327, 14, 218, 330, 501, 546, 331, 232, 528, 531,
! 534, 537, 335, 383, 546, 79, 207, 283, 384, 624,
! 208, 672, 315, 675, 210, 440, 235, -274, 673, 46,
! 529, 532, 535, 538, 236, 761, 295, 617, 14, 308,
! 217, -274, 237, 310, 615, 87, 7, 88, 63, 218,
! 545, 239, 9, 10, 11, 737, 73, 738, 82, 545,
! 91, 340, 100, 636, 636, 328, 245, 46, 63, 492,
! 14, 324, 493, 225, 792, 265, 266, 267, 519, 616,
! 521, -274, 882, 883, 329, -274, 302, 246, 14, -109,
! -109, -109, -109, 274, 63, -109, 287, -109, -109, -109,
! 372, 373, 326, 64, 746, 325, 311, 289, 327, 75,
! 312, 330, 65, -109, 331, 63, 627, 318, 46, 294,
! 335, 208, 199, 628, -247, 211, 212, 525, 477, 422,
! 423, 526, 629, 212, 475, 290, 291, 676, 542, 558,
! 418, 295, 477, 543, 559, 84, 421, 478, 475, 64,
! 479, 556, 783, 201, 784, 557, 200, 718, 65, 202,
! 667, 478, 427, 321, 717, 46, 727, 46, 476, 246,
! 628, 674, 337, 340, -109, 347, 547, 386, 480, 629,
! 212, 348, 476, 349, 481, 547, 387, 212, 482, 723,
! 212, 302, 55, 56, -473, -473, -473, -473, 874, 875,
! 350, 891, -473, -473, -473, 819, 892, 73, 446, 91,
! 613, 109, 467, 127, 283, 145, 146, 377, -473, 322,
! 7, 93, 5, 396, 7, 8, 9, 10, 11, 734,
! 9, 10, 11, 312, 735, 831, 382, 832, 208, -80,
! 290, 291, 5, 69, 7, 70, 13, 378, 14, 15,
! 9, 10, 11, 385, 71, 76, 80, 85, 527, 530,
! 340, 536, 107, 112, 116, 121, 13, 156, 14, 613,
! 279, 26, 339, 46, 145, 146, 696, 22, 477, -105,
! 552, 552, 804, 315, 475, 402, 312, 647, 806, 46,
! 27, 407, 208, 643, 549, 564, 566, 478, 765, 764,
! 316, 212, 323, -371, 210, 413, 648, -274, 24, 211,
! 212, 23, -379, -379, 25, 424, 886, 28, 476, 429,
! 29, -274, -243, 430, 645, 435, 623, 644, 896, 438,
! 646, 469, 212, 649, 721, 212, 650, 439, 578, 579,
! 7, 102, 580, 441, 211, 212, 9, 10, 11, 723,
! 212, 248, 250, 26, 505, 46, 599, 414, 415, 22,
! 46, -274, 781, 782, 199, -274, 758, 444, 726, 46,
! 445, 612, 27, 199, 462, 73, 491, 82, 495, 91,
! 513, 100, 436, 109, 514, 118, 517, 127, 674, 136,
! 24, 523, 302, 23, 540, 201, 25, 544, 200, 28,
! 551, 202, 29, 555, 201, 560, 678, 200, 623, 561,
! 202, 563, 703, 704, 565, 210, 317, 680, 581, 574,
! 576, 71, 76, 80, 85, 7, 88, 582, 662, 802,
! 612, 9, 10, 11, 72, 77, 81, 86, 698, 584,
! 625, 812, 108, 113, 117, 122, -30, 818, 706, 14,
! 707, 708, 709, 710, 719, 720, 731, 732, 725, 683,
! 684, 685, -31, 728, 729, 693, 730, 7, 97, 692,
! 694, 699, 276, 9, 10, 11, 702, 833, 834, 705,
! 836, 757, 393, 472, 633, 639, 5, 6, 7, 8,
! 611, 14, 474, 759, 9, 10, 11, 396, 760, 743,
! 773, 772, 747, 89, 94, 98, 103, 791, 677, 798,
! 13, 125, 130, 134, 139, 477, 801, 803, 808, 144,
! 809, 475, 811, 835, 836, 840, 844, 853, 869, 90,
! 95, 99, 104, 850, 478, 854, 859, 126, 131, 135,
! 140, 26, 856, 46, 858, 863, 295, 22, 295, 870,
! 458, 872, 877, 836, 890, 476, 71, 76, 80, 85,
! 27, 878, 879, 885, 888, -535, 793, 96, 7, 97,
! 795, 893, 894, 900, 9, 10, 11, 895, 24, 496,
! 901, 23, 465, 411, 25, 653, 470, 28, 654, 657,
! 29, 658, 14, 509, 512, 498, 623, 499, 92, 7,
! 93, 72, 77, 81, 86, 9, 10, 11, 317, 317,
! 395, 821, 822, 463, 823, 502, 670, 688, 753, 824,
! 786, 825, 458, 458, 533, 458, 209, 780, 830, -26,
! -26, -26, -26, 518, 739, 767, 744, -26, -26, -26,
! 145, 146, 280, 281, 282, 432, -249, 425, 842, 290,
! 291, 516, 210, -26, 461, -274, 715, 843, 290, 291,
! 393, 393, 787, 789, 263, 264, 265, 266, 267, -274,
! 89, 94, 98, 103, 871, 571, 860, 573, 5, 6,
! 7, 8, 873, 0, 642, 550, 9, 10, 11, 554,
! 0, 0, 211, 212, 0, 0, 90, 95, 99, 104,
! 0, 0, 13, 0, 14, 0, 0, 71, 76, -274,
! 0, 107, 112, -274, -26, 0, 4, 0, -118, 5,
! 6, 7, 8, 128, 7, 129, 0, 9, 10, 11,
! 9, 10, 11, 344, 345, 0, 72, 77, 81, 86,
! 0, 0, 12, 13, 351, 14, 15, 393, 393, 354,
! 355, 0, 0, 0, 360, 361, 362, 363, 364, 365,
! 366, 367, 368, 369, 370, 371, 261, 262, 263, 264,
! 265, 266, 267, -118, 0, 319, 0, 0, -22, -22,
! -22, -22, -118, 701, 0, 0, -22, -22, -22, 92,
! 7, 93, 0, 0, 0, 0, 9, 10, 11, 16,
! 0, 210, -22, 0, -274, 89, 94, 98, 103, 0,
! 313, 0, 0, -18, -18, -18, -18, 0, -274, 0,
! 0, -18, -18, -18, 0, 722, 724, 0, 0, 0,
! 0, 90, 95, 99, 104, 0, 210, -18, 0, -274,
! 0, 211, 212, 740, 268, 269, 512, 270, 271, 272,
! 273, 0, 0, -274, 0, 0, 442, 443, -274, 0,
! 0, 0, -274, -22, 0, 0, 0, 0, -248, 0,
! 0, 5, 74, 7, 75, 71, 76, 80, 85, 9,
! 10, 11, 0, 107, 112, 116, 121, 72, 77, 0,
! 0, 108, 113, -274, 0, 13, 0, -274, -18, 5,
! 83, 7, 84, 0, 0, 0, 0, 9, 10, 11,
! 0, 0, 393, 393, 0, 0, 0, 0, 0, 0,
! 0, 393, 393, 13, 0, 393, 393, 515, 87, 7,
! 88, 0, 520, 0, 0, 9, 10, 11, 0, 524,
! 101, 7, 102, 0, 0, 0, 533, 9, 10, 11,
! 0, -244, 0, 14, 89, 94, 0, 0, 125, 130,
! 472, 0, 473, 5, 6, 7, 8, 749, 0, 474,
! 0, 9, 10, 11, 722, 724, 724, 0, 0, -246,
! 90, 95, 0, 0, 126, 131, 0, 13, 533, 259,
! 260, 261, 262, 263, 264, 265, 266, 267, 569, 0,
! 251, 252, 253, 0, 254, 255, 256, 257, 258, 259,
! 260, 261, 262, 263, 264, 265, 266, 267, 0, -250,
! 591, 0, 864, 865, 0, 0, 0, 0, 5, 78,
! 7, 79, 128, 7, 129, 0, 9, 10, 11, 9,
! 10, 11, -535, 567, 0, 154, 0, 750, 0, 0,
! 155, 156, 13, 157, 14, 72, 77, 81, 86, 5,
! 105, 7, 106, 108, 113, 117, 122, 9, 10, 11,
! 569, 158, 0, 15, 0, 159, 160, 161, 162, 163,
! 0, 679, 0, 13, 164, 14, 681, 0, 0, 0,
! 165, 0, 0, 166, 0, 591, 690, 0, 167, 168,
! 169, 691, 0, 0, 170, 171, 0, 0, -245, 172,
! 0, -256, 5, 114, 7, 115, 0, 0, 0, 0,
! 9, 10, 11, 0, 89, 94, 98, 103, 173, 174,
! 0, 568, 125, 130, 134, 139, 13, 0, 14, -251,
! 0, 0, 0, 322, 0, 0, 5, 0, 7, 8,
! 90, 95, 99, 104, 9, 10, 11, 0, 126, 131,
! 135, 140, 0, 0, 0, 0, 591, 0, 0, 0,
! 13, 741, 14, 15, 745, 0, 0, 0, 0, 0,
! 591, 0, 0, 591, 0, 591, 5, 110, 7, 111,
! 0, 0, -253, 0, 9, 10, 11, 0, 0, 0,
! 0, 275, 0, -449, -449, -449, -449, -449, -449, -449,
! 13, -449, -449, -449, -449, -449, 0, -449, -449, -449,
! -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
! -449, -449, -449, -449, -449, -449, -449, -449, 0, 0,
! 794, 0, -449, 0, 796, 0, 0, 797, -449, 0,
! 591, -449, 0, 800, 0, 0, -449, -449, -449, 0,
! 0, 0, -449, -449, 0, 0, -252, -449, 0, 0,
! 101, 7, 102, 5, 119, 7, 120, 9, 10, 11,
! 0, 9, 10, 11, -449, 276, -449, -449, 448, -449,
! -473, -473, -473, -473, -473, -473, -473, 13, -473, -473,
! -473, -473, -473, 0, -473, -473, -473, -473, -473, -473,
! -473, -473, -473, -473, -473, -473, -473, -473, -473, 0,
! -473, -473, -473, -473, -473, 137, 7, 138, 0, -473,
! 0, 0, 9, 10, 11, -473, 0, 0, -473, 123,
! 7, 124, 0, -473, -473, -473, 9, 10, 11, -473,
! -473, 0, 0, -254, -473, 0, 0, 0, 0, 132,
! 7, 133, 0, 0, 14, 0, 9, 10, 11, 0,
! 0, -473, 0, -473, -473, 774, -473, -451, -451, 0,
! 0, 0, -451, -451, 14, -451, 0, 0, 0, -451,
! 0, -451, -451, -451, -451, -451, -451, -451, -451, -451,
! -451, -451, 0, -451, -258, -451, 0, -451, -451, -451,
! -451, -451, 137, 7, 138, 0, -451, 0, -255, 9,
! 10, 11, -451, 0, 0, -451, 0, 0, 0, 0,
! -451, -451, -451, 0, 0, 0, -451, -451, -257, 0,
! 0, -451, 5, 69, 7, 70, 123, 7, 124, 0,
! 9, 10, 11, 9, 10, 11, 0, 0, -451, 0,
! -451, -451, 813, -451, -480, -480, 13, 0, 14, -480,
! -480, 14, -480, 0, 0, 0, -480, 0, -480, -480,
! -480, -480, -480, -480, -480, -480, -480, -480, -480, 0,
! -480, 0, -480, 0, -480, -480, -480, -480, -480, 0,
! 0, 0, 0, -480, 0, 0, 96, 7, 97, -480,
! 0, 0, -480, 9, 10, 11, 0, -480, -480, -480,
! 0, 0, 0, -480, -480, 0, 0, 240, -480, 154,
! 5, 14, 7, 8, 155, 156, 0, 157, 9, 10,
! 11, 0, 0, 0, 0, -480, 0, -480, -480, 0,
! -480, 0, 0, 0, 13, 158, 14, 15, 0, 159,
! 160, 161, 162, 163, 0, 0, 0, 0, 164, 0,
! 0, 132, 7, 133, 165, 0, 0, 166, 9, 10,
! 11, 0, 167, 168, 169, 0, 0, 0, 170, 171,
! 0, 0, 585, 172, 586, 146, 14, 0, 0, 155,
! 156, 0, 157, 0, 0, 0, 0, 0, 5, 105,
! 7, 106, 173, 174, 0, 241, 9, 10, 11, 0,
! 158, 0, 15, 0, 159, 160, 161, 162, 163, 0,
! 0, 0, 13, 164, 14, 0, 0, 0, 0, 165,
! 0, 0, 166, 0, 0, 0, 0, 167, 168, 169,
! 0, 0, 0, 170, 171, 0, 0, 587, 172, 588,
! 585, 0, 586, 146, 0, 0, 0, 155, 156, 0,
! 157, 0, 0, 0, 0, 0, -302, 173, 174, 0,
! 589, 0, 0, 0, 0, 0, 0, 0, 158, 0,
! 15, 0, 159, 160, 161, 162, 163, 0, 0, 0,
! 0, 164, 0, 0, 0, 0, 0, 165, 0, 0,
! 166, 0, 0, 0, 0, 167, 168, 169, 0, 0,
! 0, 170, 171, 0, 0, 587, 172, 588, 585, 0,
! 154, 0, 0, 0, 0, 155, 156, 0, 157, 0,
! 0, 0, 0, 0, -368, 173, 174, 0, 589, 0,
! 0, 0, 0, 0, 0, 0, 158, 0, 15, 0,
! 159, 160, 161, 162, 163, 0, 0, 0, 0, 164,
! 0, -315, 0, 0, 0, 165, 0, 0, 166, 0,
! 0, 0, 0, 167, 168, 169, 0, 0, 0, 170,
! 171, 0, 0, -315, 172, -315, 585, 0, 154, 0,
! 0, 0, 0, 155, 156, 0, 157, 0, 0, 5,
! 78, 7, 79, 173, 174, 0, 589, 9, 10, 11,
! 0, 0, 0, 0, 158, 0, 15, 0, 159, 160,
! 161, 162, 163, 13, 0, 14, 0, 164, 0, 0,
! 0, 0, 0, 165, 0, 0, 166, 0, 0, 0,
! 0, 167, 168, 169, 0, 0, 0, 170, 171, 0,
! 0, 0, 172, 154, 5, 297, 7, 8, 155, 156,
! 0, 157, 9, 10, 11, 0, 0, 5, 114, 7,
! 115, 173, 174, 0, 589, 9, 10, 11, 13, 158,
! 14, 15, 0, 159, 160, 161, 162, 163, 0, 0,
! 0, 13, 164, 14, 154, 0, 403, 0, 165, 155,
! 156, 166, 157, 0, 0, 0, 167, 168, 298, 0,
! 0, 0, 170, 171, 0, 0, 0, 172, 0, 0,
! 158, 0, 15, 0, 159, 160, 161, 162, 163, 0,
! 0, 0, 0, 164, 0, 0, 173, 174, 0, 165,
! 299, 0, 166, 0, 0, 0, 0, 167, 168, 404,
! 0, 0, 0, 170, 171, 0, 154, 0, 172, 0,
! 0, 155, 156, 0, 157, 256, 257, 258, 259, 260,
! 261, 262, 263, 264, 265, 266, 267, 173, 174, 0,
! 0, 405, 158, 0, 15, 0, 159, 160, 161, 162,
! 163, 0, 0, 0, 0, 164, 0, 154, 0, 0,
! 0, 165, 155, 156, 166, 157, 0, 0, 0, 167,
! 168, 169, 0, 0, 0, 170, 171, 0, 0, 0,
! 172, 0, 0, 158, 0, 15, 0, 159, 160, 161,
! 162, 163, 0, 0, 0, 0, 164, 0, 0, 173,
! 174, 0, 165, 401, 0, 166, 0, 0, 0, 0,
! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0,
! 0, 172, 0, 0, 0, 0, 0, 586, 602, 6,
! 7, 8, 155, 156, 0, 157, 9, 10, 11, 0,
! 173, 174, 0, 0, 494, 603, 604, 605, 606, 607,
! 608, 609, 13, 158, 14, 15, 0, 159, 160, 161,
! 162, 163, 0, 0, 0, 0, 164, 0, 5, 0,
! 7, 70, 165, 0, 0, 166, 9, 10, 11, 0,
! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0,
! 0, 172, 13, 0, 14, 0, 586, 146, 0, 0,
! 0, 155, 156, 0, 157, 0, 0, 0, 610, 0,
! 173, 174, 0, 611, 603, 604, 605, 606, 607, 608,
! 609, 0, 158, 0, 15, 0, 159, 160, 161, 162,
! 163, 0, 0, 0, 0, 164, 0, 5, 6, 7,
! 8, 165, 0, 0, 166, 9, 10, 11, 0, 167,
! 168, 169, 0, 0, 0, 170, 171, 154, 0, 0,
! 172, 13, 155, 156, 0, 157, 257, 258, 259, 260,
! 261, 262, 263, 264, 265, 266, 267, 610, 0, 173,
! 174, 0, 611, 158, 0, 15, 0, 159, 160, 161,
! 162, 163, 0, 0, 0, 0, 164, 0, 0, 0,
! 0, 0, 165, 0, 0, 166, 0, 0, 0, 0,
! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0,
! 0, 172, 154, 5, 6, 7, 8, 155, 156, 0,
! 157, 9, 10, 11, 0, 0, 5, 0, 7, 79,
! 173, 174, 0, 436, 9, 10, 11, 13, 158, 14,
! 15, 0, 159, 160, 161, 162, 163, 0, 0, 0,
! 13, 164, 14, 0, 0, 0, 0, 165, 0, 0,
! 166, 0, 0, 0, 0, 167, 168, 169, 0, 0,
! 0, 170, 171, 0, 154, 5, 172, 7, 8, 155,
! 156, 0, 157, 9, 10, 11, 260, 261, 262, 263,
! 264, 265, 266, 267, 0, 173, 174, 0, 0, 13,
! 158, 14, 15, 0, 159, 160, 161, 162, 163, 0,
! 0, 0, 0, 164, 0, 154, 0, 0, 0, 165,
! 155, 156, 166, 157, 0, 0, 0, 167, 168, 169,
! 0, 0, 0, 170, 171, 0, 0, 0, 172, 0,
! 0, 158, 0, 15, 0, 159, 160, 161, 162, 163,
! 0, 0, 0, 0, 164, 0, 154, 173, 174, 0,
! 165, 155, 156, 166, 157, 0, 0, 0, 167, 168,
! 169, 0, 0, 0, 170, 171, 0, 0, 0, 172,
! 0, 0, 158, 0, 15, 0, 159, 160, 161, 162,
! 163, 0, 0, 0, 0, 164, 695, 154, 173, 174,
! 0, 165, 155, 156, 166, 157, 0, 0, 0, 167,
! 168, 169, 0, 0, 0, 170, 171, 0, 0, 0,
! 172, 0, 0, 158, 0, 15, 0, 159, 160, 161,
! 162, 163, 0, 0, 0, 0, 164, 0, 154, 173,
! 174, 0, 165, 155, 156, 166, 157, 0, 0, 0,
! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0,
! 0, 247, 0, 0, 158, 0, 15, 0, 159, 160,
! 161, 162, 163, 0, 0, 0, 0, 164, 0, 464,
! 173, 174, 0, 165, 155, 156, 166, 157, 0, 0,
! 0, 167, 168, 169, 0, 0, 0, 170, 171, 0,
! 0, 0, 249, 0, 0, 158, 0, 15, 0, 159,
! 160, 161, 162, 163, 0, 0, 0, 0, 164, 0,
! 0, 173, 174, 0, 165, 0, 0, 166, 0, 0,
! 0, 755, 167, 168, 169, 0, 0, 0, 170, 171,
! 251, 252, 253, 172, 254, 255, 256, 257, 258, 259,
! 260, 261, 262, 263, 264, 265, 266, 267, 0, 0,
! 0, 0, 173, 174, 251, 252, 253, 756, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
! 266, 267, 0, 0, 251, 252, 253, 826, 254, 255,
! 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
! 266, 267, 251, 252, 253, 0, 254, 255, 256, 257,
! 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
! 0, 0, 0, 0, 0, 0, 251, 252, 253, 433,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
! 264, 265, 266, 267, 251, 252, 253, 434, 254, 255,
! 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
! 266, 267, 0, 0, 0, 0, 0, 0, 14, 0,
! 0, 583, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 251, 252, 253, 748, 254, 255, 256, 257, 258,
! 259, 260, 261, 262, 263, 264, 265, 266, 267, 5,
! 0, 7, 8, 5, 74, 7, 75, 9, 10, 11,
0, 9, 10, 11, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 13, 0, 14, 0, 13, 5, 110,
! 7, 111, 5, 83, 7, 84, 9, 10, 11, 0,
! 9, 10, 11, 0, 0, 5, 119, 7, 120, 0,
! 0, 0, 13, 9, 10, 11, 13, 5, 0, 7,
! 75, 0, 0, 0, 0, 9, 10, 11, 5, 13,
! 7, 84, 0, 0, 0, 0, 9, 10, 11, 0,
! 0, 13, 258, 259, 260, 261, 262, 263, 264, 265,
! 266, 267, 13, 251, 252, 253, 827, 254, 255, 256,
! 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
! 267, 251, 252, 253, 0, 254, 255, 256, 257, 258,
! 259, 260, 261, 262, 263, 264, 265, 266, 267, 253,
! 0, 254, 255, 256, 257, 258, 259, 260, 261, 262,
! 263, 264, 265, 266, 267, 255, 256, 257, 258, 259,
! 260, 261, 262, 263, 264, 265, 266, 267
};
! static const short yycheck[] = { 60,
! 294, 62, 2, 3, 2, 3, 142, 141, 2, 3,
! 221, 9, 10, 11, 314, 288, 217, 316, 272, 541,
! 320, 2, 3, 466, 22, 548, 24, 554, 26, 312,
! 28, 564, 30, 398, 32, 304, 34, 541, 36, 2,
! 3, 9, 2, 3, 541, 2, 3, 412, 2, 3,
! 623, 2, 3, 53, 149, 53, 0, 2, 3, 53,
! 557, 398, 458, 597, 62, 227, 64, 398, 466, 1,
! 64, 398, 53, 3, 4, 412, 159, 160, 600, 541,
! 770, 412, 3, 4, 212, 412, 169, 172, 541, 3,
! 53, 0, 175, 53, 1, 557, 53, 46, 1, 53,
! 496, 64, 53, 186, 64, 38, 39, 64, 53, 46,
! 379, 855, 1, 509, 1, 83, 512, 30, 1, 623,
! 57, 58, 59, 10, 814, 27, 623, 3, 4, 9,
! 89, 385, 1, 46, 83, 7, 73, 533, 30, 53,
! 884, 663, 46, 3, 4, 82, 84, 600, 48, 49,
! 50, 212, 237, 687, 91, 553, 554, 89, 30, 89,
! 65, 623, 247, 100, 249, 67, 68, 857, 89, 297,
! 703, 67, 109, 335, 172, 571, 866, 573, 85, 83,
! 3, 118, 85, 548, 67, 386, 455, 30, 68, 67,
! 127, 189, 557, 191, 467, 193, 85, 195, 58, 136,
! 46, 199, 89, 201, 731, 732, 379, 897, 3, 4,
! 44, 548, 273, 89, 212, 298, 85, 548, 752, 217,
! 557, 548, 21, 217, 67, 68, 557, 227, 379, 227,
! 557, 67, 66, 227, 68, 58, 297, 83, 811, 237,
! 301, 336, 67, 338, 67, 68, 227, 668, 7, 247,
! 89, 249, 67, 68, 217, 3, 4, 217, 67, 68,
! 217, 682, 785, 58, 227, 165, 349, 227, 83, 206,
! 227, 30, 67, 227, 83, 718, 227, 89, 451, 452,
! 453, 454, 227, 83, 727, 7, 84, 187, 88, 543,
! 88, 574, 503, 576, 27, 356, 67, 30, 46, 297,
! 451, 452, 453, 454, 67, 701, 211, 811, 30, 214,
! 58, 44, 67, 218, 811, 5, 6, 7, 3, 67,
! 718, 404, 12, 13, 14, 669, 324, 671, 326, 727,
! 328, 231, 330, 731, 732, 335, 83, 335, 3, 400,
! 30, 335, 403, 142, 740, 58, 59, 60, 433, 811,
! 435, 84, 874, 875, 335, 88, 1, 88, 30, 4,
! 5, 6, 7, 9, 3, 10, 83, 12, 13, 14,
! 270, 271, 335, 58, 46, 335, 84, 83, 335, 7,
! 88, 335, 67, 28, 335, 3, 4, 84, 386, 67,
! 335, 88, 386, 58, 84, 67, 68, 84, 398, 332,
! 333, 88, 67, 68, 398, 204, 205, 46, 83, 83,
! 315, 316, 412, 88, 88, 7, 321, 398, 412, 58,
! 785, 84, 721, 386, 723, 88, 386, 628, 67, 386,
! 566, 412, 337, 85, 83, 433, 637, 435, 398, 88,
! 58, 575, 85, 343, 89, 83, 719, 58, 785, 67,
! 68, 83, 412, 83, 785, 728, 67, 68, 785, 67,
! 68, 1, 84, 85, 4, 5, 6, 7, 864, 865,
! 84, 83, 12, 13, 14, 83, 88, 475, 378, 477,
! 541, 479, 387, 481, 384, 3, 4, 83, 28, 1,
! 6, 7, 4, 292, 6, 7, 12, 13, 14, 84,
! 12, 13, 14, 88, 84, 805, 83, 807, 88, 46,
! 309, 310, 4, 5, 6, 7, 28, 32, 30, 31,
! 12, 13, 14, 67, 22, 23, 24, 25, 451, 452,
! 430, 454, 30, 31, 32, 33, 28, 9, 30, 600,
! 623, 541, 1, 541, 3, 4, 607, 541, 548, 89,
! 483, 484, 84, 764, 548, 90, 88, 557, 84, 557,
! 541, 84, 88, 557, 469, 498, 499, 548, 704, 703,
! 67, 68, 84, 85, 27, 44, 557, 30, 541, 67,
! 68, 541, 84, 85, 541, 84, 880, 541, 548, 44,
! 541, 44, 84, 88, 557, 88, 541, 557, 892, 83,
! 557, 67, 68, 557, 67, 68, 557, 83, 513, 514,
! 6, 7, 517, 46, 67, 68, 12, 13, 14, 67,
! 68, 179, 180, 623, 44, 623, 526, 309, 310, 623,
! 628, 84, 718, 719, 628, 88, 697, 83, 636, 637,
! 90, 541, 623, 637, 83, 643, 90, 645, 90, 647,
! 85, 649, 89, 651, 85, 653, 85, 655, 792, 657,
! 623, 46, 1, 623, 85, 628, 623, 83, 628, 623,
! 83, 628, 623, 83, 637, 90, 581, 637, 623, 90,
! 637, 84, 615, 616, 84, 27, 222, 587, 85, 88,
! 88, 189, 190, 191, 192, 6, 7, 83, 3, 760,
! 600, 12, 13, 14, 22, 23, 24, 25, 608, 83,
! 83, 772, 30, 31, 32, 33, 46, 778, 15, 30,
! 17, 18, 19, 20, 629, 630, 659, 660, 633, 46,
! 85, 88, 46, 638, 639, 84, 641, 6, 7, 46,
! 84, 7, 85, 12, 13, 14, 84, 808, 809, 84,
! 811, 84, 288, 1, 553, 554, 4, 5, 6, 7,
! 89, 30, 10, 84, 12, 13, 14, 566, 67, 674,
! 16, 67, 677, 26, 27, 28, 29, 85, 577, 85,
! 28, 34, 35, 36, 37, 785, 84, 46, 67, 726,
! 67, 785, 67, 17, 855, 83, 83, 83, 859, 26,
! 27, 28, 29, 84, 785, 83, 67, 34, 35, 36,
! 37, 811, 84, 811, 84, 88, 721, 811, 723, 90,
! 379, 84, 84, 884, 885, 785, 324, 325, 326, 327,
! 811, 83, 9, 67, 84, 83, 741, 5, 6, 7,
! 745, 83, 83, 0, 12, 13, 14, 84, 811, 408,
! 0, 811, 385, 305, 811, 557, 392, 811, 557, 557,
! 811, 557, 30, 422, 423, 412, 811, 412, 5, 6,
! 7, 189, 190, 191, 192, 12, 13, 14, 414, 415,
! 292, 786, 787, 384, 789, 416, 572, 596, 685, 794,
! 731, 796, 451, 452, 453, 454, 1, 718, 803, 4,
! 5, 6, 7, 432, 672, 704, 675, 12, 13, 14,
! 3, 4, 5, 6, 7, 343, 84, 335, 815, 718,
! 719, 430, 27, 28, 380, 30, 619, 817, 727, 728,
! 466, 467, 731, 732, 56, 57, 58, 59, 60, 44,
! 193, 194, 195, 196, 861, 504, 846, 506, 4, 5,
! 6, 7, 863, -1, 10, 469, 12, 13, 14, 484,
! -1, -1, 67, 68, -1, -1, 193, 194, 195, 196,
! -1, -1, 28, -1, 30, -1, -1, 475, 476, 84,
! -1, 479, 480, 88, 89, -1, 1, -1, 3, 4,
! 5, 6, 7, 5, 6, 7, -1, 12, 13, 14,
! 12, 13, 14, 235, 236, -1, 324, 325, 326, 327,
! -1, -1, 27, 28, 246, 30, 31, 553, 554, 251,
! 252, -1, -1, -1, 256, 257, 258, 259, 260, 261,
! 262, 263, 264, 265, 266, 267, 54, 55, 56, 57,
! 58, 59, 60, 58, -1, 1, -1, -1, 4, 5,
! 6, 7, 67, 612, -1, -1, 12, 13, 14, 5,
! 6, 7, -1, -1, -1, -1, 12, 13, 14, 84,
! -1, 27, 28, -1, 30, 328, 329, 330, 331, -1,
! 1, -1, -1, 4, 5, 6, 7, -1, 44, -1,
! -1, 12, 13, 14, -1, 631, 632, -1, -1, -1,
! -1, 328, 329, 330, 331, -1, 27, 28, -1, 30,
! -1, 67, 68, 672, 62, 63, 675, 65, 66, 67,
! 68, -1, -1, 44, -1, -1, 358, 359, 84, -1,
! -1, -1, 88, 89, -1, -1, -1, -1, 84, -1,
! -1, 4, 5, 6, 7, 643, 644, 645, 646, 12,
! 13, 14, -1, 651, 652, 653, 654, 475, 476, -1,
! -1, 479, 480, 84, -1, 28, -1, 88, 89, 4,
! 5, 6, 7, -1, -1, -1, -1, 12, 13, 14,
! -1, -1, 718, 719, -1, -1, -1, -1, -1, -1,
! -1, 727, 728, 28, -1, 731, 732, 429, 5, 6,
! 7, -1, 434, -1, -1, 12, 13, 14, -1, 441,
! 5, 6, 7, -1, -1, -1, 775, 12, 13, 14,
! -1, 84, -1, 30, 477, 478, -1, -1, 481, 482,
! 1, -1, 3, 4, 5, 6, 7, 10, -1, 10,
! -1, 12, 13, 14, 780, 781, 782, -1, -1, 84,
! 477, 478, -1, -1, 481, 482, -1, 28, 817, 52,
! 53, 54, 55, 56, 57, 58, 59, 60, 500, -1,
! 43, 44, 45, -1, 47, 48, 49, 50, 51, 52,
! 53, 54, 55, 56, 57, 58, 59, 60, -1, 84,
! 522, -1, 851, 852, -1, -1, -1, -1, 4, 5,
! 6, 7, 5, 6, 7, -1, 12, 13, 14, 12,
! 13, 14, 83, 1, -1, 3, -1, 90, -1, -1,
! 8, 9, 28, 11, 30, 643, 644, 645, 646, 4,
! 5, 6, 7, 651, 652, 653, 654, 12, 13, 14,
! 572, 29, -1, 31, -1, 33, 34, 35, 36, 37,
! -1, 583, -1, 28, 42, 30, 588, -1, -1, -1,
! 48, -1, -1, 51, -1, 597, 598, -1, 56, 57,
! 58, 603, -1, -1, 62, 63, -1, -1, 84, 67,
! -1, 84, 4, 5, 6, 7, -1, -1, -1, -1,
! 12, 13, 14, -1, 647, 648, 649, 650, 86, 87,
! -1, 89, 655, 656, 657, 658, 28, -1, 30, 84,
! -1, -1, -1, 1, -1, -1, 4, -1, 6, 7,
! 647, 648, 649, 650, 12, 13, 14, -1, 655, 656,
! 657, 658, -1, -1, -1, -1, 668, -1, -1, -1,
! 28, 673, 30, 31, 676, -1, -1, -1, -1, -1,
! 682, -1, -1, 685, -1, 687, 4, 5, 6, 7,
! -1, -1, 84, -1, 12, 13, 14, -1, -1, -1,
! -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
! 28, 11, 12, 13, 14, 15, -1, 17, 18, 19,
! 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
! 30, 31, 32, 33, 34, 35, 36, 37, -1, -1,
! 742, -1, 42, -1, 746, -1, -1, 749, 48, -1,
! 752, 51, -1, 755, -1, -1, 56, 57, 58, -1,
! -1, -1, 62, 63, -1, -1, 84, 67, -1, -1,
! 5, 6, 7, 4, 5, 6, 7, 12, 13, 14,
! -1, 12, 13, 14, 84, 85, 86, 87, 1, 89,
! 3, 4, 5, 6, 7, 8, 9, 28, 11, 12,
! 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
! 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
! 33, 34, 35, 36, 37, 5, 6, 7, -1, 42,
! -1, -1, 12, 13, 14, 48, -1, -1, 51, 5,
! 6, 7, -1, 56, 57, 58, 12, 13, 14, 62,
! 63, -1, -1, 84, 67, -1, -1, -1, -1, 5,
! 6, 7, -1, -1, 30, -1, 12, 13, 14, -1,
! -1, 84, -1, 86, 87, 1, 89, 3, 4, -1,
! -1, -1, 8, 9, 30, 11, -1, -1, -1, 15,
! -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
! 26, 27, -1, 29, 84, 31, -1, 33, 34, 35,
! 36, 37, 5, 6, 7, -1, 42, -1, 84, 12,
! 13, 14, 48, -1, -1, 51, -1, -1, -1, -1,
! 56, 57, 58, -1, -1, -1, 62, 63, 84, -1,
! -1, 67, 4, 5, 6, 7, 5, 6, 7, -1,
! 12, 13, 14, 12, 13, 14, -1, -1, 84, -1,
! 86, 87, 1, 89, 3, 4, 28, -1, 30, 8,
! 9, 30, 11, -1, -1, -1, 15, -1, 17, 18,
! 19, 20, 21, 22, 23, 24, 25, 26, 27, -1,
29, -1, 31, -1, 33, 34, 35, 36, 37, -1,
! -1, -1, -1, 42, -1, -1, 5, 6, 7, 48,
! -1, -1, 51, 12, 13, 14, -1, 56, 57, 58,
! -1, -1, -1, 62, 63, -1, -1, 1, 67, 3,
! 4, 30, 6, 7, 8, 9, -1, 11, 12, 13,
! 14, -1, -1, -1, -1, 84, -1, 86, 87, -1,
! 89, -1, -1, -1, 28, 29, 30, 31, -1, 33,
! 34, 35, 36, 37, -1, -1, -1, -1, 42, -1,
! -1, 5, 6, 7, 48, -1, -1, 51, 12, 13,
! 14, -1, 56, 57, 58, -1, -1, -1, 62, 63,
! -1, -1, 1, 67, 3, 4, 30, -1, -1, 8,
! 9, -1, 11, -1, -1, -1, -1, -1, 4, 5,
! 6, 7, 86, 87, -1, 89, 12, 13, 14, -1,
! 29, -1, 31, -1, 33, 34, 35, 36, 37, -1,
! -1, -1, 28, 42, 30, -1, -1, -1, -1, 48,
-1, -1, 51, -1, -1, -1, -1, 56, 57, 58,
-1, -1, -1, 62, 63, -1, -1, 66, 67, 68,
! 1, -1, 3, 4, -1, -1, -1, 8, 9, -1,
11, -1, -1, -1, -1, -1, 85, 86, 87, -1,
89, -1, -1, -1, -1, -1, -1, -1, 29, -1,
31, -1, 33, 34, 35, 36, 37, -1, -1, -1,
! -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
51, -1, -1, -1, -1, 56, 57, 58, -1, -1,
-1, 62, 63, -1, -1, 66, 67, 68, 1, -1,
3, -1, -1, -1, -1, 8, 9, -1, 11, -1,
! -1, -1, -1, -1, 85, 86, 87, -1, 89, -1,
! -1, -1, -1, -1, -1, -1, 29, -1, 31, -1,
! 33, 34, 35, 36, 37, -1, -1, -1, -1, 42,
! -1, 44, -1, -1, -1, 48, -1, -1, 51, -1,
-1, -1, -1, 56, 57, 58, -1, -1, -1, 62,
! 63, -1, -1, 66, 67, 68, 1, -1, 3, -1,
! -1, -1, -1, 8, 9, -1, 11, -1, -1, 4,
! 5, 6, 7, 86, 87, -1, 89, 12, 13, 14,
! -1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
! 35, 36, 37, 28, -1, 30, -1, 42, -1, -1,
-1, -1, -1, 48, -1, -1, 51, -1, -1, -1,
-1, 56, 57, 58, -1, -1, -1, 62, 63, -1,
-1, -1, 67, 3, 4, 5, 6, 7, 8, 9,
-1, 11, 12, 13, 14, -1, -1, 4, 5, 6,
7, 86, 87, -1, 89, 12, 13, 14, 28, 29,
30, 31, -1, 33, 34, 35, 36, 37, -1, -1,
! -1, 28, 42, 30, 3, -1, 5, -1, 48, 8,
! 9, 51, 11, -1, -1, -1, 56, 57, 58, -1,
! -1, -1, 62, 63, -1, -1, -1, 67, -1, -1,
! 29, -1, 31, -1, 33, 34, 35, 36, 37, -1,
! -1, -1, -1, 42, -1, -1, 86, 87, -1, 48,
! 90, -1, 51, -1, -1, -1, -1, 56, 57, 58,
! -1, -1, -1, 62, 63, -1, 3, -1, 67, -1,
! -1, 8, 9, -1, 11, 49, 50, 51, 52, 53,
! 54, 55, 56, 57, 58, 59, 60, 86, 87, -1,
! -1, 90, 29, -1, 31, -1, 33, 34, 35, 36,
! 37, -1, -1, -1, -1, 42, -1, 3, -1, -1,
! -1, 48, 8, 9, 51, 11, -1, -1, -1, 56,
! 57, 58, -1, -1, -1, 62, 63, -1, -1, -1,
! 67, -1, -1, 29, -1, 31, -1, 33, 34, 35,
! 36, 37, -1, -1, -1, -1, 42, -1, -1, 86,
! 87, -1, 48, 90, -1, 51, -1, -1, -1, -1,
! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1,
! -1, 67, -1, -1, -1, -1, -1, 3, 4, 5,
! 6, 7, 8, 9, -1, 11, 12, 13, 14, -1,
! 86, 87, -1, -1, 90, 21, 22, 23, 24, 25,
! 26, 27, 28, 29, 30, 31, -1, 33, 34, 35,
! 36, 37, -1, -1, -1, -1, 42, -1, 4, -1,
! 6, 7, 48, -1, -1, 51, 12, 13, 14, -1,
! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1,
! -1, 67, 28, -1, 30, -1, 3, 4, -1, -1,
! -1, 8, 9, -1, 11, -1, -1, -1, 84, -1,
! 86, 87, -1, 89, 21, 22, 23, 24, 25, 26,
! 27, -1, 29, -1, 31, -1, 33, 34, 35, 36,
! 37, -1, -1, -1, -1, 42, -1, 4, 5, 6,
! 7, 48, -1, -1, 51, 12, 13, 14, -1, 56,
! 57, 58, -1, -1, -1, 62, 63, 3, -1, -1,
! 67, 28, 8, 9, -1, 11, 50, 51, 52, 53,
! 54, 55, 56, 57, 58, 59, 60, 84, -1, 86,
! 87, -1, 89, 29, -1, 31, -1, 33, 34, 35,
! 36, 37, -1, -1, -1, -1, 42, -1, -1, -1,
! -1, -1, 48, -1, -1, 51, -1, -1, -1, -1,
! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1,
! -1, 67, 3, 4, 5, 6, 7, 8, 9, -1,
! 11, 12, 13, 14, -1, -1, 4, -1, 6, 7,
! 86, 87, -1, 89, 12, 13, 14, 28, 29, 30,
! 31, -1, 33, 34, 35, 36, 37, -1, -1, -1,
! 28, 42, 30, -1, -1, -1, -1, 48, -1, -1,
! 51, -1, -1, -1, -1, 56, 57, 58, -1, -1,
! -1, 62, 63, -1, 3, 4, 67, 6, 7, 8,
! 9, -1, 11, 12, 13, 14, 53, 54, 55, 56,
! 57, 58, 59, 60, -1, 86, 87, -1, -1, 28,
! 29, 30, 31, -1, 33, 34, 35, 36, 37, -1,
! -1, -1, -1, 42, -1, 3, -1, -1, -1, 48,
! 8, 9, 51, 11, -1, -1, -1, 56, 57, 58,
! -1, -1, -1, 62, 63, -1, -1, -1, 67, -1,
! -1, 29, -1, 31, -1, 33, 34, 35, 36, 37,
! -1, -1, -1, -1, 42, -1, 3, 86, 87, -1,
48, 8, 9, 51, 11, -1, -1, -1, 56, 57,
58, -1, -1, -1, 62, 63, -1, -1, -1, 67,
-1, -1, 29, -1, 31, -1, 33, 34, 35, 36,
! 37, -1, -1, -1, -1, 42, 84, 3, 86, 87,
-1, 48, 8, 9, 51, 11, -1, -1, -1, 56,
57, 58, -1, -1, -1, 62, 63, -1, -1, -1,
67, -1, -1, 29, -1, 31, -1, 33, 34, 35,
! 36, 37, -1, -1, -1, -1, 42, -1, 3, 86,
87, -1, 48, 8, 9, 51, 11, -1, -1, -1,
56, 57, 58, -1, -1, -1, 62, 63, -1, -1,
-1, 67, -1, -1, 29, -1, 31, -1, 33, 34,
*************** static const short yycheck[] = { 59,
*** 1555,1599 ****
-1, 56, 57, 58, -1, -1, -1, 62, 63, -1,
-1, -1, 67, -1, -1, 29, -1, 31, -1, 33,
34, 35, 36, 37, -1, -1, -1, -1, 42, -1,
! 3, 86, 87, -1, 48, 8, 9, 51, 11, -1,
! -1, -1, 56, 57, 58, -1, -1, -1, 62, 63,
! -1, -1, -1, 67, -1, -1, 29, -1, 31, -1,
! 33, 34, 35, 36, 37, -1, -1, -1, -1, 42,
! -1, -1, 86, 87, -1, 48, -1, -1, 51, -1,
! -1, -1, 10, 56, 57, 58, -1, -1, -1, 62,
! 63, 43, 44, 45, 67, 47, 48, 49, 50, 51,
! 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
! -1, -1, -1, 86, 87, 43, 44, 45, 46, 47,
! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
! 58, 59, 60, -1, -1, 43, 44, 45, 90, 47,
! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
! 58, 59, 60, 43, 44, 45, -1, 47, 48, 49,
! 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
! 60, -1, -1, -1, -1, -1, -1, 43, 44, 45,
! 88, 47, 48, 49, 50, 51, 52, 53, 54, 55,
! 56, 57, 58, 59, 60, 43, 44, 45, 88, 47,
! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
! 58, 59, 60, -1, -1, -1, -1, -1, -1, 30,
! -1, -1, 88, 53, 54, 55, 56, 57, 58, 59,
! 60, -1, 43, 44, 45, 83, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
! 4, 5, 6, 7, 4, -1, 6, 7, 12, 13,
! 14, -1, 12, 13, 14, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 28, -1, 30, -1, 28, 4,
! 30, 6, 7, 4, 5, 6, 7, 12, 13, 14,
-1, 12, 13, 14, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 28, -1, 30, -1, 28, 4, 5,
6, 7, 4, 5, 6, 7, 12, 13, 14, -1,
12, 13, 14, -1, -1, 4, 5, 6, 7, -1,
! -1, -1, 28, 12, 13, 14, 28, 51, 52, 53,
! 54, 55, 56, 57, 58, 59, 60, -1, -1, 28,
! 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
! 53, 54, 55, 56, 57, 58, 59, 60, 43, 44,
! 45, -1, 47, 48, 49, 50, 51, 52, 53, 54,
! 55, 56, 57, 58, 59, 60, 45, -1, 47, 48,
! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
! 59, 60, 48, 49, 50, 51, 52, 53, 54, 55,
! 56, 57, 58, 59, 60
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/lib/bison.simple"
--- 1559,1598 ----
-1, 56, 57, 58, -1, -1, -1, 62, 63, -1,
-1, -1, 67, -1, -1, 29, -1, 31, -1, 33,
34, 35, 36, 37, -1, -1, -1, -1, 42, -1,
! -1, 86, 87, -1, 48, -1, -1, 51, -1, -1,
! -1, 10, 56, 57, 58, -1, -1, -1, 62, 63,
! 43, 44, 45, 67, 47, 48, 49, 50, 51, 52,
! 53, 54, 55, 56, 57, 58, 59, 60, -1, -1,
! -1, -1, 86, 87, 43, 44, 45, 46, 47, 48,
! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
! 59, 60, -1, -1, 43, 44, 45, 90, 47, 48,
! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
! 59, 60, 43, 44, 45, -1, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
! -1, -1, -1, -1, -1, -1, 43, 44, 45, 88,
! 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
! 57, 58, 59, 60, 43, 44, 45, 88, 47, 48,
! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
! 59, 60, -1, -1, -1, -1, -1, -1, 30, -1,
! -1, 88, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 43, 44, 45, 83, 47, 48, 49, 50, 51,
! 52, 53, 54, 55, 56, 57, 58, 59, 60, 4,
! -1, 6, 7, 4, 5, 6, 7, 12, 13, 14,
-1, 12, 13, 14, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 28, -1, 30, -1, 28, 4, 5,
6, 7, 4, 5, 6, 7, 12, 13, 14, -1,
12, 13, 14, -1, -1, 4, 5, 6, 7, -1,
! -1, -1, 28, 12, 13, 14, 28, 4, -1, 6,
! 7, -1, -1, -1, -1, 12, 13, 14, 4, 28,
! 6, 7, -1, -1, -1, -1, 12, 13, 14, -1,
! -1, 28, 51, 52, 53, 54, 55, 56, 57, 58,
! 59, 60, 28, 43, 44, 45, 46, 47, 48, 49,
! 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
! 60, 43, 44, 45, -1, 47, 48, 49, 50, 51,
! 52, 53, 54, 55, 56, 57, 58, 59, 60, 45,
! -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
! 56, 57, 58, 59, 60, 48, 49, 50, 51, 52,
! 53, 54, 55, 56, 57, 58, 59, 60
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/lib/bison.simple"
*************** case 56:
*** 2374,2468 ****
#line 488 "c-parse.y"
{ skip_evaluation++; ;
break;}
! case 58:
! #line 494 "c-parse.y"
! { yyval.ttype = c_cast_expr (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 60:
! #line 500 "c-parse.y"
! { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 61:
! #line 502 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 62:
! #line 504 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 63:
! #line 506 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 64:
! #line 508 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 65:
! #line 510 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 66:
! #line 512 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 67:
! #line 514 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 68:
! #line 516 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 69:
! #line 518 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 70:
! #line 520 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 71:
! #line 522 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 72:
! #line 524 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
! case 73:
! #line 527 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 74:
! #line 530 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
! case 75:
! #line 533 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 76:
! #line 536 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
! case 77:
! #line 539 "c-parse.y"
{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- (yyvsp[-4].ttype == boolean_false_node)); ;
break;}
! case 78:
! #line 542 "c-parse.y"
{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 79:
! #line 545 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids omitting the middle term of a ?: expression");
/* Make sure first operand is calculated only once. */
--- 2373,2471 ----
#line 488 "c-parse.y"
{ skip_evaluation++; ;
break;}
! case 57:
! #line 492 "c-parse.y"
! { skip_evaluation++; ;
break;}
! case 59:
! #line 498 "c-parse.y"
! { yyval.ttype = c_cast_expr (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 61:
! #line 504 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 62:
! #line 506 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 63:
! #line 508 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 64:
! #line 510 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 65:
! #line 512 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 66:
! #line 514 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 67:
! #line 516 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 68:
! #line 518 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 69:
! #line 520 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 70:
! #line 522 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 71:
! #line 524 "c-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 72:
! #line 526 "c-parse.y"
! { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
! break;}
! case 73:
! #line 528 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
! case 74:
! #line 531 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 75:
! #line 534 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
! case 76:
! #line 537 "c-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 77:
! #line 540 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
! case 78:
! #line 543 "c-parse.y"
{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- (yyvsp[-4].ttype == boolean_false_node)); ;
break;}
! case 79:
! #line 546 "c-parse.y"
{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 80:
! #line 549 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids omitting the middle term of a ?: expression");
/* Make sure first operand is calculated only once. */
*************** case 79:
*** 2470,2482 ****
yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
! case 80:
! #line 552 "c-parse.y"
{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 81:
! #line 555 "c-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
--- 2473,2485 ----
yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
! case 81:
! #line 556 "c-parse.y"
{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
! case 82:
! #line 559 "c-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
*************** case 81:
*** 2484,2491 ****
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
;
break;}
! case 82:
! #line 562 "c-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
/* This inhibits warnings in truthvalue_conversion. */
--- 2487,2494 ----
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
;
break;}
! case 83:
! #line 566 "c-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
/* This inhibits warnings in truthvalue_conversion. */
*************** case 82:
*** 2494,2523 ****
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
;
break;}
! case 83:
! #line 573 "c-parse.y"
{
if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '(');
;
break;}
! case 85:
! #line 580 "c-parse.y"
{ yyval.ttype = combine_strings (yyvsp[0].ttype); ;
break;}
! case 86:
! #line 582 "c-parse.y"
{ yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); ;
break;}
! case 87:
! #line 584 "c-parse.y"
{ start_init (NULL_TREE, NULL, 0);
yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
really_start_incremental_init (yyvsp[-2].ttype); ;
break;}
! case 88:
! #line 588 "c-parse.y"
{ tree constructor = pop_init_level (0);
tree type = yyvsp[-5].ttype;
finish_init ();
--- 2497,2526 ----
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
;
break;}
! case 84:
! #line 577 "c-parse.y"
{
if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '(');
;
break;}
! case 86:
! #line 584 "c-parse.y"
{ yyval.ttype = combine_strings (yyvsp[0].ttype); ;
break;}
! case 87:
! #line 586 "c-parse.y"
{ yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); ;
break;}
! case 88:
! #line 588 "c-parse.y"
{ start_init (NULL_TREE, NULL, 0);
yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
really_start_incremental_init (yyvsp[-2].ttype); ;
break;}
! case 89:
! #line 592 "c-parse.y"
{ tree constructor = pop_init_level (0);
tree type = yyvsp[-5].ttype;
finish_init ();
*************** case 88:
*** 2527,2545 ****
yyval.ttype = build_compound_literal (type, constructor);
;
break;}
! case 89:
! #line 597 "c-parse.y"
{ char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
if (IS_EXPR_CODE_CLASS (class))
C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 90:
! #line 602 "c-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
! case 91:
! #line 604 "c-parse.y"
{ tree saved_last_tree;
if (pedantic)
--- 2530,2548 ----
yyval.ttype = build_compound_literal (type, constructor);
;
break;}
! case 90:
! #line 601 "c-parse.y"
{ char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
if (IS_EXPR_CODE_CLASS (class))
C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 91:
! #line 606 "c-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
! case 92:
! #line 608 "c-parse.y"
{ tree saved_last_tree;
if (pedantic)
*************** case 91:
*** 2556,2563 ****
TREE_SIDE_EFFECTS (yyval.ttype) = 1;
;
break;}
! case 92:
! #line 620 "c-parse.y"
{
pop_label_level ();
last_tree = COMPOUND_BODY (yyvsp[-2].ttype);
--- 2559,2566 ----
TREE_SIDE_EFFECTS (yyval.ttype) = 1;
;
break;}
! case 93:
! #line 624 "c-parse.y"
{
pop_label_level ();
last_tree = COMPOUND_BODY (yyvsp[-2].ttype);
*************** case 92:
*** 2565,2580 ****
yyval.ttype = error_mark_node;
;
break;}
! case 93:
! #line 627 "c-parse.y"
{ yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 94:
! #line 629 "c-parse.y"
{ yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
break;}
! case 95:
! #line 632 "c-parse.y"
{
tree c;
--- 2568,2583 ----
yyval.ttype = error_mark_node;
;
break;}
! case 94:
! #line 631 "c-parse.y"
{ yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 95:
! #line 633 "c-parse.y"
{ yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
break;}
! case 96:
! #line 636 "c-parse.y"
{
tree c;
*************** case 95:
*** 2585,2592 ****
yyval.ttype = integer_zerop (c) ? yyvsp[-1].ttype : yyvsp[-3].ttype;
;
break;}
! case 96:
! #line 642 "c-parse.y"
{
tree e1, e2;
--- 2588,2595 ----
yyval.ttype = integer_zerop (c) ? yyvsp[-1].ttype : yyvsp[-3].ttype;
;
break;}
! case 97:
! #line 646 "c-parse.y"
{
tree e1, e2;
*************** case 96:
*** 2597,2630 ****
? build_int_2 (1, 0) : build_int_2 (0, 0);
;
break;}
! case 97:
! #line 652 "c-parse.y"
{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 98:
! #line 654 "c-parse.y"
{
yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
! case 99:
! #line 658 "c-parse.y"
{
tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
;
break;}
! case 100:
! #line 664 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
! case 101:
! #line 666 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
! case 103:
! #line 673 "c-parse.y"
{
static int last_lineno = 0;
static const char *last_input_filename = 0;
--- 2600,2633 ----
? build_int_2 (1, 0) : build_int_2 (0, 0);
;
break;}
! case 98:
! #line 656 "c-parse.y"
{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 99:
! #line 658 "c-parse.y"
{
yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
! case 100:
! #line 662 "c-parse.y"
{
tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
;
break;}
! case 101:
! #line 668 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
! case 102:
! #line 670 "c-parse.y"
{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
! case 104:
! #line 677 "c-parse.y"
{
static int last_lineno = 0;
static const char *last_input_filename = 0;
*************** case 103:
*** 2639,3010 ****
}
;
break;}
! case 106:
! #line 694 "c-parse.y"
{ c_mark_varargs ();
if (pedantic)
pedwarn ("ISO C does not permit use of `varargs.h'"); ;
break;}
! case 107:
! #line 704 "c-parse.y"
{ ;
break;}
- case 112:
- #line 720 "c-parse.y"
- { POP_DECLSPEC_STACK; ;
- break;}
case 113:
! #line 722 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 114:
! #line 724 "c-parse.y"
{ shadow_tag_warned (yyvsp[-1].ttype, 1);
pedwarn ("empty declaration"); ;
break;}
! case 115:
! #line 727 "c-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
! case 116:
! #line 736 "c-parse.y"
{ ;
break;}
! case 117:
! #line 744 "c-parse.y"
{ pending_xref_error ();
PUSH_DECLSPEC_STACK;
split_specs_attrs (yyvsp[0].ttype,
¤t_declspecs, &prefix_attributes);
all_prefix_attributes = prefix_attributes; ;
break;}
- case 118:
- #line 755 "c-parse.y"
- { all_prefix_attributes = chainon (yyvsp[0].ttype, prefix_attributes); ;
- break;}
case 119:
! #line 760 "c-parse.y"
! { POP_DECLSPEC_STACK; ;
break;}
case 120:
! #line 762 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 121:
! #line 764 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 122:
! #line 766 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 123:
! #line 768 "c-parse.y"
! { shadow_tag (yyvsp[-1].ttype); ;
break;}
case 124:
! #line 770 "c-parse.y"
! { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;}
case 125:
! #line 827 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 126:
! #line 830 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 127:
! #line 833 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 128:
! #line 839 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 129:
! #line 845 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 130:
! #line 848 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 131:
! #line 854 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
TREE_STATIC (yyval.ttype) = 0; ;
break;}
! case 132:
! #line 857 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
- case 133:
- #line 863 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
case 134:
! #line 866 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 135:
! #line 869 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 136:
! #line 872 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 137:
! #line 875 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 138:
! #line 878 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 139:
! #line 881 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 140:
! #line 887 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 141:
! #line 890 "c-parse.y"
! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 142:
! #line 893 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 143:
! #line 896 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 144:
! #line 899 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 145:
! #line 902 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 146:
! #line 908 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 147:
! #line 911 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 148:
! #line 914 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 149:
! #line 917 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 150:
! #line 920 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 151:
! #line 923 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 152:
! #line 929 "c-parse.y"
! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
! break;}
! case 153:
! #line 932 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 154:
! #line 935 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 155:
! #line 938 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 156:
! #line 941 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 157:
! #line 947 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 0; ;
break;}
! case 158:
! #line 950 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 159:
! #line 953 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 160:
! #line 956 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 161:
! #line 962 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 162:
! #line 968 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 163:
! #line 974 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 164:
! #line 983 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 165:
! #line 989 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 166:
! #line 992 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 167:
! #line 995 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 168:
! #line 1001 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 169:
! #line 1007 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 170:
! #line 1013 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 171:
! #line 1022 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
- case 172:
- #line 1028 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
case 173:
! #line 1031 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 174:
! #line 1034 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 175:
! #line 1037 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 176:
! #line 1040 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 177:
! #line 1043 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 178:
! #line 1046 "c-parse.y"
! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
! warning ("`%s' is not at beginning of declaration",
! IDENTIFIER_POINTER (yyvsp[0].ttype));
! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 179:
! #line 1052 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
--- 2642,3005 ----
}
;
break;}
! case 107:
! #line 698 "c-parse.y"
{ c_mark_varargs ();
if (pedantic)
pedwarn ("ISO C does not permit use of `varargs.h'"); ;
break;}
! case 108:
! #line 708 "c-parse.y"
{ ;
break;}
case 113:
! #line 724 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 114:
! #line 726 "c-parse.y"
! { POP_DECLSPEC_STACK; ;
! break;}
! case 115:
! #line 728 "c-parse.y"
{ shadow_tag_warned (yyvsp[-1].ttype, 1);
pedwarn ("empty declaration"); ;
break;}
! case 116:
! #line 731 "c-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
! case 117:
! #line 740 "c-parse.y"
{ ;
break;}
! case 118:
! #line 748 "c-parse.y"
{ pending_xref_error ();
PUSH_DECLSPEC_STACK;
split_specs_attrs (yyvsp[0].ttype,
¤t_declspecs, &prefix_attributes);
all_prefix_attributes = prefix_attributes; ;
break;}
case 119:
! #line 759 "c-parse.y"
! { all_prefix_attributes = chainon (yyvsp[0].ttype, prefix_attributes); ;
break;}
case 120:
! #line 764 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 121:
! #line 766 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 122:
! #line 768 "c-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 123:
! #line 770 "c-parse.y"
! { POP_DECLSPEC_STACK; ;
break;}
case 124:
! #line 772 "c-parse.y"
! { shadow_tag (yyvsp[-1].ttype); ;
break;}
case 125:
! #line 774 "c-parse.y"
! { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;}
case 126:
! #line 831 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 127:
! #line 834 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 128:
! #line 837 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
! break;}
! case 129:
! #line 843 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 130:
! #line 849 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 131:
! #line 852 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 132:
! #line 858 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
TREE_STATIC (yyval.ttype) = 0; ;
break;}
! case 133:
! #line 861 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 134:
! #line 867 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 135:
! #line 870 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 136:
! #line 873 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 137:
! #line 876 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 138:
! #line 879 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 139:
! #line 882 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 140:
! #line 885 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 141:
! #line 891 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 142:
! #line 894 "c-parse.y"
! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 143:
! #line 897 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 144:
! #line 900 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 145:
! #line 903 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 146:
! #line 906 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 147:
! #line 912 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 148:
! #line 915 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 149:
! #line 918 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 150:
! #line 921 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 151:
! #line 924 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 152:
! #line 927 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
+ case 153:
+ #line 933 "c-parse.y"
+ { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
+ TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
+ break;}
case 154:
! #line 936 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 155:
! #line 939 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 156:
! #line 942 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 157:
! #line 945 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
! break;}
! case 158:
! #line 951 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 0; ;
break;}
! case 159:
! #line 954 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 160:
! #line 957 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 161:
! #line 960 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 162:
! #line 966 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 163:
! #line 972 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 164:
! #line 978 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 165:
! #line 987 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 166:
! #line 993 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 167:
! #line 996 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 168:
! #line 999 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 169:
! #line 1005 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 170:
! #line 1011 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 171:
! #line 1017 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
! case 172:
! #line 1026 "c-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 173:
! #line 1032 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 174:
! #line 1035 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 175:
! #line 1038 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 176:
! #line 1041 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 177:
! #line 1044 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 178:
! #line 1047 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 179:
! #line 1050 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
*************** case 179:
*** 3012,3018 ****
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 180:
! #line 1058 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
--- 3007,3013 ----
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 180:
! #line 1056 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
*************** case 180:
*** 3020,3026 ****
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 181:
! #line 1064 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
--- 3015,3021 ----
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 181:
! #line 1062 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
*************** case 181:
*** 3028,3097 ****
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 182:
! #line 1073 "c-parse.y"
! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 183:
! #line 1076 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 184:
! #line 1079 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 185:
! #line 1082 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 186:
! #line 1085 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 187:
! #line 1091 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 188:
! #line 1094 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 189:
! #line 1097 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 190:
! #line 1100 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 191:
! #line 1103 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 192:
! #line 1106 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 193:
! #line 1109 "c-parse.y"
! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
! warning ("`%s' is not at beginning of declaration",
! IDENTIFIER_POINTER (yyvsp[0].ttype));
! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 194:
! #line 1115 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
--- 3023,3092 ----
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 182:
! #line 1068 "c-parse.y"
! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
! warning ("`%s' is not at beginning of declaration",
! IDENTIFIER_POINTER (yyvsp[0].ttype));
! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 183:
! #line 1077 "c-parse.y"
! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 184:
! #line 1080 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 185:
! #line 1083 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 186:
! #line 1086 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 187:
! #line 1089 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 188:
! #line 1095 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 189:
! #line 1098 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 190:
! #line 1101 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 191:
! #line 1104 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 192:
! #line 1107 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 193:
! #line 1110 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 194:
! #line 1113 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
*************** case 194:
*** 3099,3105 ****
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 195:
! #line 1121 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
--- 3094,3100 ----
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 195:
! #line 1119 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
*************** case 195:
*** 3107,3113 ****
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 196:
! #line 1127 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
--- 3102,3108 ----
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 196:
! #line 1125 "c-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
*************** case 196:
*** 3115,3324 ****
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 197:
! #line 1136 "c-parse.y"
! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 198:
! #line 1139 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 199:
! #line 1142 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 200:
! #line 1145 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 201:
! #line 1148 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 258:
! #line 1236 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 259:
! #line 1238 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 263:
! #line 1273 "c-parse.y"
{ OBJC_NEED_RAW_IDENTIFIER (1); ;
break;}
! case 266:
! #line 1283 "c-parse.y"
{ /* For a typedef name, record the meaning, not the name.
In case of `foo foo, bar;'. */
yyval.ttype = lookup_name (yyvsp[0].ttype); ;
break;}
- case 267:
- #line 1287 "c-parse.y"
- { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
- break;}
case 268:
! #line 1289 "c-parse.y"
! { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
break;}
! case 273:
! #line 1306 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 274:
! #line 1308 "c-parse.y"
{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
yyval.ttype = yyvsp[-1].ttype;
;
break;}
! case 275:
! #line 1315 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
chainon (yyvsp[-1].ttype, all_prefix_attributes));
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
! case 276:
! #line 1320 "c-parse.y"
{ finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 277:
! #line 1323 "c-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
chainon (yyvsp[0].ttype, all_prefix_attributes));
finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
;
break;}
! case 278:
! #line 1331 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
chainon (yyvsp[-1].ttype, all_prefix_attributes));
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
! case 279:
! #line 1336 "c-parse.y"
{ finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 280:
! #line 1339 "c-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
chainon (yyvsp[0].ttype, all_prefix_attributes));
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
- case 281:
- #line 1347 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
case 282:
! #line 1349 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 283:
! #line 1354 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 284:
! #line 1356 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 285:
! #line 1361 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype; ;
break;}
case 286:
! #line 1366 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 287:
! #line 1368 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 288:
! #line 1373 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 289:
! #line 1375 "c-parse.y"
! { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 290:
! #line 1377 "c-parse.y"
! { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
case 291:
! #line 1379 "c-parse.y"
! { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;}
case 292:
! #line 1381 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 298:
! #line 1399 "c-parse.y"
{ really_start_incremental_init (NULL_TREE); ;
break;}
! case 299:
! #line 1401 "c-parse.y"
{ yyval.ttype = pop_init_level (0); ;
break;}
! case 300:
! #line 1403 "c-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
! case 301:
! #line 1409 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids empty initializer braces"); ;
break;}
! case 305:
! #line 1423 "c-parse.y"
{ if (pedantic && ! flag_isoc99)
pedwarn ("ISO C89 forbids specifying subobject to initialize"); ;
break;}
! case 306:
! #line 1426 "c-parse.y"
{ if (pedantic)
pedwarn ("obsolete use of designated initializer without `='"); ;
break;}
! case 307:
! #line 1429 "c-parse.y"
{ set_init_label (yyvsp[-1].ttype);
if (pedantic)
pedwarn ("obsolete use of designated initializer with `:'"); ;
break;}
! case 310:
! #line 1438 "c-parse.y"
! { push_init_level (0); ;
break;}
case 311:
! #line 1440 "c-parse.y"
! { process_init_element (pop_init_level (0)); ;
break;}
case 312:
! #line 1442 "c-parse.y"
! { process_init_element (yyvsp[0].ttype); ;
break;}
! case 316:
! #line 1453 "c-parse.y"
! { set_init_label (yyvsp[0].ttype); ;
break;}
case 317:
#line 1458 "c-parse.y"
{ set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype);
if (pedantic)
pedwarn ("ISO C forbids specifying range of elements to initialize"); ;
break;}
- case 318:
- #line 1462 "c-parse.y"
- { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
- break;}
case 319:
#line 1467 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids nested functions");
--- 3110,3331 ----
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 197:
! #line 1131 "c-parse.y"
! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
! warning ("`%s' is not at beginning of declaration",
! IDENTIFIER_POINTER (yyvsp[0].ttype));
! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 198:
! #line 1140 "c-parse.y"
! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 199:
! #line 1143 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 200:
! #line 1146 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 201:
! #line 1149 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
! case 202:
! #line 1152 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
! TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 259:
! #line 1240 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
! break;}
! case 260:
! #line 1242 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 264:
! #line 1277 "c-parse.y"
{ OBJC_NEED_RAW_IDENTIFIER (1); ;
break;}
! case 267:
! #line 1287 "c-parse.y"
{ /* For a typedef name, record the meaning, not the name.
In case of `foo foo, bar;'. */
yyval.ttype = lookup_name (yyvsp[0].ttype); ;
break;}
case 268:
! #line 1291 "c-parse.y"
! { skip_evaluation--; yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
break;}
! case 269:
! #line 1293 "c-parse.y"
! { skip_evaluation--; yyval.ttype = groktypename (yyvsp[-1].ttype); ;
break;}
case 274:
! #line 1310 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
! break;}
! case 275:
! #line 1312 "c-parse.y"
{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
yyval.ttype = yyvsp[-1].ttype;
;
break;}
! case 276:
! #line 1319 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
chainon (yyvsp[-1].ttype, all_prefix_attributes));
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
! case 277:
! #line 1324 "c-parse.y"
{ finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 278:
! #line 1327 "c-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
chainon (yyvsp[0].ttype, all_prefix_attributes));
finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
;
break;}
! case 279:
! #line 1335 "c-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
chainon (yyvsp[-1].ttype, all_prefix_attributes));
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
! case 280:
! #line 1340 "c-parse.y"
{ finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 281:
! #line 1343 "c-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
chainon (yyvsp[0].ttype, all_prefix_attributes));
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 282:
! #line 1351 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 283:
! #line 1353 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 284:
! #line 1358 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 285:
! #line 1360 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 286:
! #line 1365 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype; ;
break;}
case 287:
! #line 1370 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 288:
! #line 1372 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 289:
! #line 1377 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 290:
! #line 1379 "c-parse.y"
! { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 291:
! #line 1381 "c-parse.y"
! { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
case 292:
! #line 1383 "c-parse.y"
! { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
! break;}
! case 293:
! #line 1385 "c-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 299:
! #line 1403 "c-parse.y"
{ really_start_incremental_init (NULL_TREE); ;
break;}
! case 300:
! #line 1405 "c-parse.y"
{ yyval.ttype = pop_init_level (0); ;
break;}
! case 301:
! #line 1407 "c-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
! case 302:
! #line 1413 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids empty initializer braces"); ;
break;}
! case 306:
! #line 1427 "c-parse.y"
{ if (pedantic && ! flag_isoc99)
pedwarn ("ISO C89 forbids specifying subobject to initialize"); ;
break;}
! case 307:
! #line 1430 "c-parse.y"
{ if (pedantic)
pedwarn ("obsolete use of designated initializer without `='"); ;
break;}
! case 308:
! #line 1433 "c-parse.y"
{ set_init_label (yyvsp[-1].ttype);
if (pedantic)
pedwarn ("obsolete use of designated initializer with `:'"); ;
break;}
! case 309:
! #line 1437 "c-parse.y"
! {;
break;}
case 311:
! #line 1443 "c-parse.y"
! { push_init_level (0); ;
break;}
case 312:
! #line 1445 "c-parse.y"
! { process_init_element (pop_init_level (0)); ;
break;}
! case 313:
! #line 1447 "c-parse.y"
! { process_init_element (yyvsp[0].ttype); ;
break;}
case 317:
#line 1458 "c-parse.y"
+ { set_init_label (yyvsp[0].ttype); ;
+ break;}
+ case 318:
+ #line 1463 "c-parse.y"
{ set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype);
if (pedantic)
pedwarn ("ISO C forbids specifying range of elements to initialize"); ;
break;}
case 319:
#line 1467 "c-parse.y"
+ { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
+ break;}
+ case 320:
+ #line 1472 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids nested functions");
*************** case 319:
*** 3331,3342 ****
}
;
break;}
! case 320:
! #line 1479 "c-parse.y"
{ store_parm_decls (); ;
break;}
! case 321:
! #line 1487 "c-parse.y"
{ tree decl = current_function_decl;
DECL_SOURCE_FILE (decl) = yyvsp[-2].filename;
DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno;
--- 3338,3349 ----
}
;
break;}
! case 321:
! #line 1484 "c-parse.y"
{ store_parm_decls (); ;
break;}
! case 322:
! #line 1492 "c-parse.y"
{ tree decl = current_function_decl;
DECL_SOURCE_FILE (decl) = yyvsp[-2].filename;
DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno;
*************** case 321:
*** 3344,3351 ****
pop_function_context ();
add_decl_stmt (decl); ;
break;}
! case 322:
! #line 1497 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids nested functions");
--- 3351,3358 ----
pop_function_context ();
add_decl_stmt (decl); ;
break;}
! case 323:
! #line 1502 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids nested functions");
*************** case 322:
*** 3358,3369 ****
}
;
break;}
! case 323:
! #line 1509 "c-parse.y"
{ store_parm_decls (); ;
break;}
! case 324:
! #line 1517 "c-parse.y"
{ tree decl = current_function_decl;
DECL_SOURCE_FILE (decl) = yyvsp[-2].filename;
DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno;
--- 3365,3376 ----
}
;
break;}
! case 324:
! #line 1514 "c-parse.y"
{ store_parm_decls (); ;
break;}
! case 325:
! #line 1522 "c-parse.y"
{ tree decl = current_function_decl;
DECL_SOURCE_FILE (decl) = yyvsp[-2].filename;
DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno;
*************** case 324:
*** 3371,3558 ****
pop_function_context ();
add_decl_stmt (decl); ;
break;}
- case 327:
- #line 1537 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
- break;}
case 328:
! #line 1539 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 329:
#line 1544 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
break;}
case 330:
! #line 1546 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 334:
! #line 1561 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 335:
#line 1566 "c-parse.y"
- { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
- break;}
- case 337:
- #line 1572 "c-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 338:
#line 1577 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
break;}
case 339:
! #line 1579 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 340:
! #line 1581 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 341:
! #line 1583 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
break;}
case 342:
! #line 1591 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 343:
#line 1596 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
break;}
case 344:
! #line 1598 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 345:
! #line 1600 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
break;}
! case 347:
! #line 1606 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 348:
! #line 1608 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 349:
#line 1613 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 350:
! #line 1615 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 351:
#line 1620 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 352:
! #line 1622 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 353:
! #line 1633 "c-parse.y"
{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
/* Start scope of tag before parsing components. */
;
break;}
! case 354:
! #line 1637 "c-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
! case 355:
! #line 1639 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
! case 356:
! #line 1643 "c-parse.y"
{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
break;}
! case 357:
! #line 1645 "c-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
! case 358:
! #line 1647 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
! case 359:
! #line 1651 "c-parse.y"
{ yyval.ttype = start_enum (yyvsp[-1].ttype); ;
break;}
! case 360:
! #line 1653 "c-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
break;}
! case 361:
! #line 1656 "c-parse.y"
{ yyval.ttype = start_enum (NULL_TREE); ;
break;}
! case 362:
! #line 1658 "c-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
! case 363:
! #line 1664 "c-parse.y"
{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
break;}
! case 364:
! #line 1666 "c-parse.y"
{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
break;}
! case 365:
! #line 1668 "c-parse.y"
{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype);
/* In ISO C, enumerated types can be referred to
only if already defined. */
if (pedantic && !COMPLETE_TYPE_P (yyval.ttype))
pedwarn ("ISO C forbids forward references to `enum' types"); ;
break;}
! case 369:
! #line 1683 "c-parse.y"
{ if (pedantic && ! flag_isoc99)
pedwarn ("comma at end of enumerator list"); ;
break;}
! case 370:
! #line 1689 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 371:
! #line 1691 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
pedwarn ("no semicolon at end of struct or union"); ;
break;}
! case 372:
! #line 1696 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 373:
! #line 1698 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 374:
! #line 1700 "c-parse.y"
{ if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); ;
break;}
! case 375:
! #line 1706 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 376:
! #line 1709 "c-parse.y"
{
/* Support for unnamed structs or unions as members of
structs or unions (which is [a] useful and [b] supports
--- 3378,3565 ----
pop_function_context ();
add_decl_stmt (decl); ;
break;}
case 328:
! #line 1542 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
break;}
case 329:
#line 1544 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 330:
! #line 1549 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
break;}
! case 331:
! #line 1551 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 335:
#line 1566 "c-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
+ case 336:
+ #line 1571 "c-parse.y"
+ { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
+ break;}
case 338:
#line 1577 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 339:
! #line 1582 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
break;}
case 340:
! #line 1584 "c-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 341:
! #line 1586 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 342:
! #line 1588 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
break;}
case 343:
#line 1596 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 344:
! #line 1601 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
break;}
case 345:
! #line 1603 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 346:
! #line 1605 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;
break;}
case 348:
! #line 1611 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 349:
#line 1613 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 350:
! #line 1618 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 351:
#line 1620 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
break;}
case 352:
! #line 1625 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 353:
! #line 1627 "c-parse.y"
! { yyval.ttype = yyvsp[0].ttype; ;
! break;}
! case 354:
! #line 1638 "c-parse.y"
{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
/* Start scope of tag before parsing components. */
;
break;}
! case 355:
! #line 1642 "c-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
! case 356:
! #line 1644 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
! case 357:
! #line 1648 "c-parse.y"
{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
break;}
! case 358:
! #line 1650 "c-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
! case 359:
! #line 1652 "c-parse.y"
{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
! case 360:
! #line 1656 "c-parse.y"
{ yyval.ttype = start_enum (yyvsp[-1].ttype); ;
break;}
! case 361:
! #line 1658 "c-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
break;}
! case 362:
! #line 1661 "c-parse.y"
{ yyval.ttype = start_enum (NULL_TREE); ;
break;}
! case 363:
! #line 1663 "c-parse.y"
{ yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
! case 364:
! #line 1669 "c-parse.y"
{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
break;}
! case 365:
! #line 1671 "c-parse.y"
{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
break;}
! case 366:
! #line 1673 "c-parse.y"
{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype);
/* In ISO C, enumerated types can be referred to
only if already defined. */
if (pedantic && !COMPLETE_TYPE_P (yyval.ttype))
pedwarn ("ISO C forbids forward references to `enum' types"); ;
break;}
! case 370:
! #line 1688 "c-parse.y"
{ if (pedantic && ! flag_isoc99)
pedwarn ("comma at end of enumerator list"); ;
break;}
! case 371:
! #line 1694 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 372:
! #line 1696 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
pedwarn ("no semicolon at end of struct or union"); ;
break;}
! case 373:
! #line 1701 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 374:
! #line 1703 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 375:
! #line 1705 "c-parse.y"
{ if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); ;
break;}
! case 376:
! #line 1711 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 377:
! #line 1714 "c-parse.y"
{
/* Support for unnamed structs or unions as members of
structs or unions (which is [a] useful and [b] supports
*************** case 376:
*** 3563,3775 ****
yyval.ttype = grokfield(yyvsp[-1].filename, yyvsp[0].lineno, NULL, current_declspecs, NULL_TREE);
POP_DECLSPEC_STACK; ;
break;}
! case 377:
! #line 1719 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 378:
! #line 1722 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
! case 379:
! #line 1727 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 380:
! #line 1729 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;}
! case 382:
! #line 1736 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;
! break;}
! case 384:
! #line 1742 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 385:
#line 1747 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 386:
! #line 1751 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 387:
! #line 1754 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 388:
! #line 1760 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 389:
! #line 1764 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 390:
! #line 1767 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 392:
! #line 1779 "c-parse.y"
{ if (yyvsp[-2].ttype == error_mark_node)
yyval.ttype = yyvsp[-2].ttype;
else
yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
break;}
- case 393:
- #line 1784 "c-parse.y"
- { yyval.ttype = error_mark_node; ;
- break;}
case 394:
! #line 1790 "c-parse.y"
! { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 395:
! #line 1792 "c-parse.y"
! { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 396:
#line 1797 "c-parse.y"
! { pending_xref_error ();
! yyval.ttype = yyvsp[0].ttype; ;
break;}
case 397:
! #line 1800 "c-parse.y"
! { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 398:
#line 1805 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 400:
! #line 1811 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
NULL_TREE),
all_prefix_attributes); ;
break;}
! case 401:
! #line 1815 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[0].ttype),
all_prefix_attributes); ;
break;}
! case 402:
! #line 1819 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes)); ;
break;}
- case 406:
- #line 1832 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
case 407:
#line 1837 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 408:
! #line 1839 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 409:
#line 1844 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
break;}
case 410:
! #line 1846 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 411:
! #line 1848 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 1); ;
break;}
case 412:
! #line 1850 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 413:
! #line 1852 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, NULL_TREE, 1); ;
break;}
case 414:
! #line 1859 "c-parse.y"
! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 0, 0); ;
break;}
case 415:
! #line 1861 "c-parse.y"
! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, 0); ;
break;}
case 416:
! #line 1863 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 0); ;
break;}
case 417:
! #line 1865 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-1].ttype, 0, 0); ;
break;}
case 418:
! #line 1867 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 1); ;
break;}
case 419:
! #line 1869 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-2].ttype, 0, 1); ;
break;}
case 420:
! #line 1871 "c-parse.y"
{ if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC)
error ("storage class specifier in array declarator");
yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 1, 0); ;
break;}
! case 421:
! #line 1875 "c-parse.y"
{ if (C_RID_CODE (yyvsp[-3].ttype) != RID_STATIC)
error ("storage class specifier in array declarator");
yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 1, 0); ;
break;}
! case 422:
! #line 1879 "c-parse.y"
{ if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC)
error ("storage class specifier in array declarator");
yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-3].ttype, 1, 0); ;
break;}
! case 425:
! #line 1894 "c-parse.y"
{
pedwarn ("deprecated use of label at end of compound statement");
;
break;}
! case 433:
! #line 1911 "c-parse.y"
{ if (pedantic && !flag_isoc99)
pedwarn ("ISO C89 forbids mixed declarations and code"); ;
break;}
! case 448:
! #line 1941 "c-parse.y"
{ pushlevel (0);
clear_last_expr ();
add_scope_stmt (/*begin_p=*/1, /*partial_p=*/0);
;
break;}
- case 449:
- #line 1948 "c-parse.y"
- { yyval.ttype = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); ;
- break;}
case 450:
#line 1953 "c-parse.y"
{ if (flag_isoc99)
{
yyval.ttype = c_begin_compound_stmt ();
--- 3570,3782 ----
yyval.ttype = grokfield(yyvsp[-1].filename, yyvsp[0].lineno, NULL, current_declspecs, NULL_TREE);
POP_DECLSPEC_STACK; ;
break;}
! case 378:
! #line 1724 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 379:
! #line 1727 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
! case 380:
! #line 1732 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 381:
! #line 1734 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
break;}
! case 383:
! #line 1741 "c-parse.y"
{ yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 385:
#line 1747 "c-parse.y"
+ { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;
+ break;}
+ case 386:
+ #line 1752 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 387:
! #line 1756 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 388:
! #line 1759 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 389:
! #line 1765 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 390:
! #line 1769 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 391:
! #line 1772 "c-parse.y"
{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
! case 393:
! #line 1784 "c-parse.y"
{ if (yyvsp[-2].ttype == error_mark_node)
yyval.ttype = yyvsp[-2].ttype;
else
yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
break;}
case 394:
! #line 1789 "c-parse.y"
! { yyval.ttype = error_mark_node; ;
break;}
case 395:
! #line 1795 "c-parse.y"
! { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 396:
#line 1797 "c-parse.y"
! { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 397:
! #line 1802 "c-parse.y"
! { pending_xref_error ();
! yyval.ttype = yyvsp[0].ttype; ;
break;}
case 398:
#line 1805 "c-parse.y"
+ { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
+ break;}
+ case 399:
+ #line 1810 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 401:
! #line 1816 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
NULL_TREE),
all_prefix_attributes); ;
break;}
! case 402:
! #line 1820 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[0].ttype),
all_prefix_attributes); ;
break;}
! case 403:
! #line 1824 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes)); ;
break;}
case 407:
#line 1837 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 408:
! #line 1842 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 409:
#line 1844 "c-parse.y"
! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 410:
! #line 1849 "c-parse.y"
! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ;
break;}
case 411:
! #line 1851 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 412:
! #line 1853 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 1); ;
break;}
case 413:
! #line 1855 "c-parse.y"
! { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 414:
! #line 1857 "c-parse.y"
! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, NULL_TREE, 1); ;
break;}
case 415:
! #line 1864 "c-parse.y"
! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 0, 0); ;
break;}
case 416:
! #line 1866 "c-parse.y"
! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, 0); ;
break;}
case 417:
! #line 1868 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 0); ;
break;}
case 418:
! #line 1870 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-1].ttype, 0, 0); ;
break;}
case 419:
! #line 1872 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 1); ;
break;}
case 420:
! #line 1874 "c-parse.y"
! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-2].ttype, 0, 1); ;
! break;}
! case 421:
! #line 1876 "c-parse.y"
{ if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC)
error ("storage class specifier in array declarator");
yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 1, 0); ;
break;}
! case 422:
! #line 1880 "c-parse.y"
{ if (C_RID_CODE (yyvsp[-3].ttype) != RID_STATIC)
error ("storage class specifier in array declarator");
yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 1, 0); ;
break;}
! case 423:
! #line 1884 "c-parse.y"
{ if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC)
error ("storage class specifier in array declarator");
yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-3].ttype, 1, 0); ;
break;}
! case 426:
! #line 1899 "c-parse.y"
{
pedwarn ("deprecated use of label at end of compound statement");
;
break;}
! case 434:
! #line 1916 "c-parse.y"
{ if (pedantic && !flag_isoc99)
pedwarn ("ISO C89 forbids mixed declarations and code"); ;
break;}
! case 449:
! #line 1946 "c-parse.y"
{ pushlevel (0);
clear_last_expr ();
add_scope_stmt (/*begin_p=*/1, /*partial_p=*/0);
;
break;}
case 450:
#line 1953 "c-parse.y"
+ { yyval.ttype = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); ;
+ break;}
+ case 451:
+ #line 1958 "c-parse.y"
{ if (flag_isoc99)
{
yyval.ttype = c_begin_compound_stmt ();
*************** case 450:
*** 3781,3788 ****
yyval.ttype = NULL_TREE;
;
break;}
! case 451:
! #line 1969 "c-parse.y"
{ if (flag_isoc99)
{
tree scope_stmt = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0);
--- 3788,3795 ----
yyval.ttype = NULL_TREE;
;
break;}
! case 452:
! #line 1974 "c-parse.y"
{ if (flag_isoc99)
{
tree scope_stmt = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0);
*************** case 451:
*** 3794,3806 ****
else
yyval.ttype = NULL_TREE; ;
break;}
! case 453:
! #line 1986 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids label declarations"); ;
break;}
! case 456:
! #line 1997 "c-parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
--- 3801,3813 ----
else
yyval.ttype = NULL_TREE; ;
break;}
! case 454:
! #line 1991 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids label declarations"); ;
break;}
! case 457:
! #line 2002 "c-parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
*************** case 456:
*** 3810,3837 ****
}
;
break;}
! case 457:
! #line 2011 "c-parse.y"
{;
break;}
! case 459:
! #line 2015 "c-parse.y"
{ compstmt_count++;
yyval.ttype = c_begin_compound_stmt (); ;
break;}
! case 460:
! #line 2020 "c-parse.y"
{ yyval.ttype = convert (void_type_node, integer_zero_node); ;
break;}
! case 461:
! #line 2022 "c-parse.y"
{ yyval.ttype = poplevel (kept_level_p (), 1, 0);
SCOPE_STMT_BLOCK (TREE_PURPOSE (yyvsp[0].ttype))
= SCOPE_STMT_BLOCK (TREE_VALUE (yyvsp[0].ttype))
= yyval.ttype; ;
break;}
! case 464:
! #line 2035 "c-parse.y"
{ if (current_function_decl == 0)
{
error ("braced-group within expression allowed only inside a function");
--- 3817,3844 ----
}
;
break;}
! case 458:
! #line 2016 "c-parse.y"
{;
break;}
! case 460:
! #line 2020 "c-parse.y"
{ compstmt_count++;
yyval.ttype = c_begin_compound_stmt (); ;
break;}
! case 461:
! #line 2025 "c-parse.y"
{ yyval.ttype = convert (void_type_node, integer_zero_node); ;
break;}
! case 462:
! #line 2027 "c-parse.y"
{ yyval.ttype = poplevel (kept_level_p (), 1, 0);
SCOPE_STMT_BLOCK (TREE_PURPOSE (yyvsp[0].ttype))
= SCOPE_STMT_BLOCK (TREE_VALUE (yyvsp[0].ttype))
= yyval.ttype; ;
break;}
! case 465:
! #line 2040 "c-parse.y"
{ if (current_function_decl == 0)
{
error ("braced-group within expression allowed only inside a function");
*************** case 464:
*** 3847,3876 ****
yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree));
;
break;}
! case 465:
! #line 2052 "c-parse.y"
{ RECHAIN_STMTS (yyvsp[-1].ttype, COMPOUND_BODY (yyvsp[-1].ttype));
last_expr_type = NULL_TREE;
yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 466:
! #line 2060 "c-parse.y"
{ c_finish_then (); ;
break;}
! case 468:
! #line 2077 "c-parse.y"
{ yyval.ttype = c_begin_if_stmt (); ;
break;}
! case 469:
! #line 2079 "c-parse.y"
{ c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype),
compstmt_count,yyvsp[-3].ttype);
yyval.itype = stmt_count;
if_stmt_file = yyvsp[-7].filename;
if_stmt_line = yyvsp[-6].lineno; ;
break;}
! case 470:
! #line 2091 "c-parse.y"
{ stmt_count++;
compstmt_count++;
yyval.ttype
--- 3854,3883 ----
yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree));
;
break;}
! case 466:
! #line 2057 "c-parse.y"
{ RECHAIN_STMTS (yyvsp[-1].ttype, COMPOUND_BODY (yyvsp[-1].ttype));
last_expr_type = NULL_TREE;
yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 467:
! #line 2065 "c-parse.y"
{ c_finish_then (); ;
break;}
! case 469:
! #line 2082 "c-parse.y"
{ yyval.ttype = c_begin_if_stmt (); ;
break;}
! case 470:
! #line 2084 "c-parse.y"
{ c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype),
compstmt_count,yyvsp[-3].ttype);
yyval.itype = stmt_count;
if_stmt_file = yyvsp[-7].filename;
if_stmt_line = yyvsp[-6].lineno; ;
break;}
! case 471:
! #line 2096 "c-parse.y"
{ stmt_count++;
compstmt_count++;
yyval.ttype
*************** case 470:
*** 3882,3911 ****
RTL-generation time. */
DO_COND (yyval.ttype) = error_mark_node; ;
break;}
! case 471:
! #line 2102 "c-parse.y"
{ yyval.ttype = yyvsp[-2].ttype;
RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); ;
break;}
! case 472:
! #line 2110 "c-parse.y"
{ if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.filename = input_filename; ;
break;}
! case 473:
! #line 2116 "c-parse.y"
{ if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.lineno = lineno; ;
break;}
! case 476:
! #line 2129 "c-parse.y"
{ if (flag_isoc99)
RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ;
break;}
! case 477:
! #line 2135 "c-parse.y"
{ if (yyvsp[0].ttype)
{
STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno;
--- 3889,3918 ----
RTL-generation time. */
DO_COND (yyval.ttype) = error_mark_node; ;
break;}
! case 472:
! #line 2107 "c-parse.y"
{ yyval.ttype = yyvsp[-2].ttype;
RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); ;
break;}
! case 473:
! #line 2115 "c-parse.y"
{ if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.filename = input_filename; ;
break;}
! case 474:
! #line 2121 "c-parse.y"
{ if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.lineno = lineno; ;
break;}
! case 477:
! #line 2134 "c-parse.y"
{ if (flag_isoc99)
RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ;
break;}
! case 478:
! #line 2140 "c-parse.y"
{ if (yyvsp[0].ttype)
{
STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno;
*************** case 477:
*** 3917,3944 ****
}
;
break;}
! case 478:
! #line 2149 "c-parse.y"
{ if (yyvsp[0].ttype)
{
STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno;
}
;
break;}
! case 479:
! #line 2158 "c-parse.y"
{ c_expand_start_else ();
yyvsp[-1].itype = stmt_count; ;
break;}
! case 480:
! #line 2161 "c-parse.y"
{ c_finish_else ();
c_expand_end_cond ();
if (extra_warnings && stmt_count == yyvsp[-3].itype)
warning ("empty body in an else-statement"); ;
break;}
! case 481:
! #line 2166 "c-parse.y"
{ c_expand_end_cond ();
/* This warning is here instead of in simple_if, because we
do not want a warning if an empty if is followed by an
--- 3924,3951 ----
}
;
break;}
! case 479:
! #line 2154 "c-parse.y"
{ if (yyvsp[0].ttype)
{
STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno;
}
;
break;}
! case 480:
! #line 2163 "c-parse.y"
{ c_expand_start_else ();
yyvsp[-1].itype = stmt_count; ;
break;}
! case 481:
! #line 2166 "c-parse.y"
{ c_finish_else ();
c_expand_end_cond ();
if (extra_warnings && stmt_count == yyvsp[-3].itype)
warning ("empty body in an else-statement"); ;
break;}
! case 482:
! #line 2171 "c-parse.y"
{ c_expand_end_cond ();
/* This warning is here instead of in simple_if, because we
do not want a warning if an empty if is followed by an
*************** case 481:
*** 3948,4079 ****
warning_with_file_and_line (if_stmt_file, if_stmt_line,
"empty body in an if-statement"); ;
break;}
! case 482:
! #line 2178 "c-parse.y"
{ c_expand_end_cond (); ;
break;}
! case 483:
! #line 2188 "c-parse.y"
{ stmt_count++;
yyval.ttype = c_begin_while_stmt (); ;
break;}
! case 484:
! #line 2191 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (yyvsp[-1].ttype);
c_finish_while_stmt_cond (truthvalue_conversion (yyvsp[-1].ttype),
yyvsp[-3].ttype);
yyval.ttype = add_stmt (yyvsp[-3].ttype); ;
break;}
! case 485:
! #line 2196 "c-parse.y"
{ RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ;
break;}
! case 486:
! #line 2199 "c-parse.y"
{ DO_COND (yyvsp[-4].ttype) = truthvalue_conversion (yyvsp[-2].ttype); ;
break;}
! case 487:
! #line 2201 "c-parse.y"
{ ;
break;}
! case 488:
! #line 2203 "c-parse.y"
{ yyval.ttype = build_stmt (FOR_STMT, NULL_TREE, NULL_TREE,
NULL_TREE, NULL_TREE);
add_stmt (yyval.ttype); ;
break;}
! case 489:
! #line 2207 "c-parse.y"
{ stmt_count++;
RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ;
break;}
! case 490:
! #line 2210 "c-parse.y"
{ if (yyvsp[-1].ttype)
FOR_COND (yyvsp[-5].ttype) = truthvalue_conversion (yyvsp[-1].ttype); ;
break;}
! case 491:
! #line 2213 "c-parse.y"
{ FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ;
break;}
! case 492:
! #line 2215 "c-parse.y"
{ RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); ;
break;}
! case 493:
! #line 2217 "c-parse.y"
{ stmt_count++;
yyval.ttype = c_start_case (yyvsp[-1].ttype); ;
break;}
- case 494:
- #line 2220 "c-parse.y"
- { c_finish_case (); ;
- break;}
case 495:
#line 2225 "c-parse.y"
! { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ;
break;}
case 496:
! #line 2227 "c-parse.y"
! { check_for_loop_decls (); ;
break;}
case 497:
! #line 2233 "c-parse.y"
! { stmt_count++; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 498:
! #line 2235 "c-parse.y"
{ stmt_count++;
yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ;
break;}
! case 499:
! #line 2238 "c-parse.y"
{ if (flag_isoc99)
RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype));
yyval.ttype = NULL_TREE; ;
break;}
- case 500:
- #line 2242 "c-parse.y"
- { stmt_count++;
- yyval.ttype = add_stmt (build_break_stmt ()); ;
- break;}
case 501:
! #line 2245 "c-parse.y"
{ stmt_count++;
! yyval.ttype = add_stmt (build_continue_stmt ()); ;
break;}
case 502:
! #line 2248 "c-parse.y"
{ stmt_count++;
! yyval.ttype = c_expand_return (NULL_TREE); ;
break;}
case 503:
! #line 2251 "c-parse.y"
{ stmt_count++;
! yyval.ttype = c_expand_return (yyvsp[-1].ttype); ;
break;}
case 504:
! #line 2254 "c-parse.y"
{ stmt_count++;
! yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ;
break;}
case 505:
! #line 2258 "c-parse.y"
{ stmt_count++;
! yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 506:
#line 2263 "c-parse.y"
{ stmt_count++;
! yyval.ttype = build_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 507:
#line 2268 "c-parse.y"
{ stmt_count++;
! yyval.ttype = build_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
case 508:
! #line 2271 "c-parse.y"
{ tree decl;
stmt_count++;
decl = lookup_label (yyvsp[-1].ttype);
--- 3955,4086 ----
warning_with_file_and_line (if_stmt_file, if_stmt_line,
"empty body in an if-statement"); ;
break;}
! case 483:
! #line 2183 "c-parse.y"
{ c_expand_end_cond (); ;
break;}
! case 484:
! #line 2193 "c-parse.y"
{ stmt_count++;
yyval.ttype = c_begin_while_stmt (); ;
break;}
! case 485:
! #line 2196 "c-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (yyvsp[-1].ttype);
c_finish_while_stmt_cond (truthvalue_conversion (yyvsp[-1].ttype),
yyvsp[-3].ttype);
yyval.ttype = add_stmt (yyvsp[-3].ttype); ;
break;}
! case 486:
! #line 2201 "c-parse.y"
{ RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ;
break;}
! case 487:
! #line 2204 "c-parse.y"
{ DO_COND (yyvsp[-4].ttype) = truthvalue_conversion (yyvsp[-2].ttype); ;
break;}
! case 488:
! #line 2206 "c-parse.y"
{ ;
break;}
! case 489:
! #line 2208 "c-parse.y"
{ yyval.ttype = build_stmt (FOR_STMT, NULL_TREE, NULL_TREE,
NULL_TREE, NULL_TREE);
add_stmt (yyval.ttype); ;
break;}
! case 490:
! #line 2212 "c-parse.y"
{ stmt_count++;
RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ;
break;}
! case 491:
! #line 2215 "c-parse.y"
{ if (yyvsp[-1].ttype)
FOR_COND (yyvsp[-5].ttype) = truthvalue_conversion (yyvsp[-1].ttype); ;
break;}
! case 492:
! #line 2218 "c-parse.y"
{ FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ;
break;}
! case 493:
! #line 2220 "c-parse.y"
{ RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); ;
break;}
! case 494:
! #line 2222 "c-parse.y"
{ stmt_count++;
yyval.ttype = c_start_case (yyvsp[-1].ttype); ;
break;}
case 495:
#line 2225 "c-parse.y"
! { c_finish_case (); ;
break;}
case 496:
! #line 2230 "c-parse.y"
! { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ;
break;}
case 497:
! #line 2232 "c-parse.y"
! { check_for_loop_decls (); ;
break;}
case 498:
! #line 2238 "c-parse.y"
! { stmt_count++; yyval.ttype = yyvsp[0].ttype; ;
! break;}
! case 499:
! #line 2240 "c-parse.y"
{ stmt_count++;
yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ;
break;}
! case 500:
! #line 2243 "c-parse.y"
{ if (flag_isoc99)
RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype));
yyval.ttype = NULL_TREE; ;
break;}
case 501:
! #line 2247 "c-parse.y"
{ stmt_count++;
! yyval.ttype = add_stmt (build_break_stmt ()); ;
break;}
case 502:
! #line 2250 "c-parse.y"
{ stmt_count++;
! yyval.ttype = add_stmt (build_continue_stmt ()); ;
break;}
case 503:
! #line 2253 "c-parse.y"
{ stmt_count++;
! yyval.ttype = c_expand_return (NULL_TREE); ;
break;}
case 504:
! #line 2256 "c-parse.y"
{ stmt_count++;
! yyval.ttype = c_expand_return (yyvsp[-1].ttype); ;
break;}
case 505:
! #line 2259 "c-parse.y"
{ stmt_count++;
! yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ;
break;}
case 506:
#line 2263 "c-parse.y"
{ stmt_count++;
! yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 507:
#line 2268 "c-parse.y"
{ stmt_count++;
! yyval.ttype = build_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 508:
! #line 2273 "c-parse.y"
! { stmt_count++;
! yyval.ttype = build_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
! break;}
! case 509:
! #line 2276 "c-parse.y"
{ tree decl;
stmt_count++;
decl = lookup_label (yyvsp[-1].ttype);
*************** case 508:
*** 4086,4120 ****
yyval.ttype = NULL_TREE;
;
break;}
! case 509:
! #line 2283 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids `goto *expr;'");
stmt_count++;
yyvsp[-1].ttype = convert (ptr_type_node, yyvsp[-1].ttype);
yyval.ttype = add_stmt (build_stmt (GOTO_STMT, yyvsp[-1].ttype)); ;
break;}
! case 510:
! #line 2289 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 511:
! #line 2297 "c-parse.y"
{ stmt_count++;
yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ;
break;}
! case 512:
! #line 2300 "c-parse.y"
{ stmt_count++;
yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 513:
! #line 2303 "c-parse.y"
{ stmt_count++;
yyval.ttype = do_case (NULL_TREE, NULL_TREE); ;
break;}
! case 514:
! #line 2306 "c-parse.y"
{ tree label = define_label (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-4].ttype);
stmt_count++;
if (label)
--- 4093,4127 ----
yyval.ttype = NULL_TREE;
;
break;}
! case 510:
! #line 2288 "c-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids `goto *expr;'");
stmt_count++;
yyvsp[-1].ttype = convert (ptr_type_node, yyvsp[-1].ttype);
yyval.ttype = add_stmt (build_stmt (GOTO_STMT, yyvsp[-1].ttype)); ;
break;}
! case 511:
! #line 2294 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 512:
! #line 2302 "c-parse.y"
{ stmt_count++;
yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ;
break;}
! case 513:
! #line 2305 "c-parse.y"
{ stmt_count++;
yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 514:
! #line 2308 "c-parse.y"
{ stmt_count++;
yyval.ttype = do_case (NULL_TREE, NULL_TREE); ;
break;}
! case 515:
! #line 2311 "c-parse.y"
{ tree label = define_label (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-4].ttype);
stmt_count++;
if (label)
*************** case 514:
*** 4126,4182 ****
yyval.ttype = NULL_TREE;
;
break;}
! case 515:
! #line 2322 "c-parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
- case 516:
- #line 2325 "c-parse.y"
- { emit_line_note (input_filename, lineno); ;
- break;}
case 517:
#line 2330 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
! case 519:
! #line 2337 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 522:
! #line 2344 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 523:
#line 2349 "c-parse.y"
! { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
case 524:
! #line 2351 "c-parse.y"
! { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
case 525:
#line 2356 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
break;}
case 526:
! #line 2358 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
break;}
case 527:
! #line 2368 "c-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (0); ;
break;}
! case 528:
! #line 2372 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
! case 530:
! #line 2380 "c-parse.y"
{ tree parm;
if (pedantic)
pedwarn ("ISO C forbids forward parameter declarations");
--- 4133,4189 ----
yyval.ttype = NULL_TREE;
;
break;}
! case 516:
! #line 2327 "c-parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
case 517:
#line 2330 "c-parse.y"
! { emit_line_note (input_filename, lineno); ;
break;}
! case 518:
! #line 2335 "c-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 520:
! #line 2342 "c-parse.y"
! { yyval.ttype = NULL_TREE; ;
break;}
case 523:
#line 2349 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 524:
! #line 2354 "c-parse.y"
! { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
case 525:
#line 2356 "c-parse.y"
! { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
case 526:
! #line 2361 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
break;}
case 527:
! #line 2363 "c-parse.y"
! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
! break;}
! case 528:
! #line 2373 "c-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (0); ;
break;}
! case 529:
! #line 2377 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
! case 531:
! #line 2385 "c-parse.y"
{ tree parm;
if (pedantic)
pedwarn ("ISO C forbids forward parameter declarations");
*************** case 530:
*** 4185,4209 ****
TREE_ASM_WRITTEN (parm) = 1;
clear_parm_order (); ;
break;}
! case 531:
! #line 2388 "c-parse.y"
{ /* Dummy action so attributes are in known place
on parser stack. */ ;
break;}
! case 532:
! #line 2391 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 533:
! #line 2393 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
break;}
! case 534:
! #line 2399 "c-parse.y"
{ yyval.ttype = get_parm_info (0); ;
break;}
! case 535:
! #line 2401 "c-parse.y"
{ yyval.ttype = get_parm_info (0);
/* Gcc used to allow this as an extension. However, it does
not work for all targets, and thus has been disabled.
--- 4192,4216 ----
TREE_ASM_WRITTEN (parm) = 1;
clear_parm_order (); ;
break;}
! case 532:
! #line 2393 "c-parse.y"
{ /* Dummy action so attributes are in known place
on parser stack. */ ;
break;}
! case 533:
! #line 2396 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 534:
! #line 2398 "c-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
break;}
! case 535:
! #line 2404 "c-parse.y"
{ yyval.ttype = get_parm_info (0); ;
break;}
! case 536:
! #line 2406 "c-parse.y"
{ yyval.ttype = get_parm_info (0);
/* Gcc used to allow this as an extension. However, it does
not work for all targets, and thus has been disabled.
*************** case 535:
*** 4214,4316 ****
error ("ISO C requires a named argument before `...'");
;
break;}
- case 536:
- #line 2411 "c-parse.y"
- { yyval.ttype = get_parm_info (1); ;
- break;}
case 537:
! #line 2413 "c-parse.y"
! { yyval.ttype = get_parm_info (0); ;
break;}
case 538:
#line 2418 "c-parse.y"
! { push_parm_decl (yyvsp[0].ttype); ;
break;}
case 539:
! #line 2420 "c-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 540:
! #line 2427 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 541:
! #line 2432 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 542:
! #line 2437 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 543:
! #line 2440 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 544:
! #line 2446 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 545:
! #line 2454 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 546:
! #line 2459 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 547:
! #line 2464 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 548:
! #line 2467 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 549:
! #line 2473 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 550:
! #line 2479 "c-parse.y"
{ prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype);
all_prefix_attributes = prefix_attributes; ;
break;}
! case 551:
! #line 2488 "c-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (1); ;
break;}
! case 552:
! #line 2492 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
! case 554:
! #line 2500 "c-parse.y"
{ tree t;
for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
if (TREE_VALUE (t) == NULL_TREE)
--- 4221,4323 ----
error ("ISO C requires a named argument before `...'");
;
break;}
case 537:
! #line 2416 "c-parse.y"
! { yyval.ttype = get_parm_info (1); ;
break;}
case 538:
#line 2418 "c-parse.y"
! { yyval.ttype = get_parm_info (0); ;
break;}
case 539:
! #line 2423 "c-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 540:
! #line 2425 "c-parse.y"
! { push_parm_decl (yyvsp[0].ttype); ;
! break;}
! case 541:
! #line 2432 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 542:
! #line 2437 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 543:
! #line 2442 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 544:
! #line 2445 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 545:
! #line 2451 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 546:
! #line 2459 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 547:
! #line 2464 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 548:
! #line 2469 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 549:
! #line 2472 "c-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
chainon (yyvsp[0].ttype, all_prefix_attributes));
POP_DECLSPEC_STACK; ;
break;}
! case 550:
! #line 2478 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
! case 551:
! #line 2484 "c-parse.y"
{ prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype);
all_prefix_attributes = prefix_attributes; ;
break;}
! case 552:
! #line 2493 "c-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (1); ;
break;}
! case 553:
! #line 2497 "c-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
! case 555:
! #line 2505 "c-parse.y"
{ tree t;
for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
if (TREE_VALUE (t) == NULL_TREE)
*************** case 554:
*** 4325,4348 ****
YYERROR1;
;
break;}
- case 555:
- #line 2518 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
case 556:
! #line 2520 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 557:
! #line 2526 "c-parse.y"
! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 558:
! #line 2528 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 559:
#line 2533 "c-parse.y"
{ yyval.ttype = SAVE_WARN_FLAGS();
pedantic = 0;
warn_pointer_arith = 0;
--- 4332,4355 ----
YYERROR1;
;
break;}
case 556:
! #line 2523 "c-parse.y"
! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 557:
! #line 2525 "c-parse.y"
! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 558:
! #line 2531 "c-parse.y"
! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 559:
#line 2533 "c-parse.y"
+ { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
+ break;}
+ case 560:
+ #line 2538 "c-parse.y"
{ yyval.ttype = SAVE_WARN_FLAGS();
pedantic = 0;
warn_pointer_arith = 0;
*************** yyerrhandle:
*** 4570,4576 ****
}
return 1;
}
! #line 2539 "c-parse.y"
/* yylex() is a thin wrapper around c_lex(), all it does is translate
--- 4577,4583 ----
}
return 1;
}
! #line 2544 "c-parse.y"
/* yylex() is a thin wrapper around c_lex(), all it does is translate
diff -Nrc3pad gcc-3.2/gcc/c-parse.in gcc-3.2.1/gcc/c-parse.in
*** gcc-3.2/gcc/c-parse.in Tue Apr 16 22:05:54 2002
--- gcc-3.2.1/gcc/c-parse.in Mon Oct 21 18:37:41 2002
*************** alignof:
*** 534,539 ****
--- 534,543 ----
ALIGNOF { skip_evaluation++; }
;
+ typeof:
+ TYPEOF { skip_evaluation++; }
+ ;
+
cast_expr:
unary_expr
| '(' typename ')' cast_expr %prec UNARY
*************** ifobjc
*** 1376,1385 ****
| non_empty_protocolrefs
{ $$ = get_object_reference ($1); }
end ifobjc
! | TYPEOF '(' expr ')'
! { $$ = TREE_TYPE ($3); }
! | TYPEOF '(' typename ')'
! { $$ = groktypename ($3); }
;
/* typespec_nonreserved_attr does not exist. */
--- 1380,1389 ----
| non_empty_protocolrefs
{ $$ = get_object_reference ($1); }
end ifobjc
! | typeof '(' expr ')'
! { skip_evaluation--; $$ = TREE_TYPE ($3); }
! | typeof '(' typename ')'
! { skip_evaluation--; $$ = groktypename ($3); }
;
/* typespec_nonreserved_attr does not exist. */
*************** initelt:
*** 1523,1528 ****
--- 1527,1533 ----
if (pedantic)
pedwarn ("obsolete use of designated initializer with `:'"); }
initval
+ {}
| initval
;
*************** classdecl:
*** 2696,2707 ****
--- 2701,2714 ----
{
objc_declare_class ($2);
}
+ ;
aliasdecl:
ALIAS identifier identifier ';'
{
objc_declare_alias ($2, $3);
}
+ ;
classdef:
INTERFACE identifier protocolrefs '{'
diff -Nrc3pad gcc-3.2/gcc/c-parse.y gcc-3.2.1/gcc/c-parse.y
*** gcc-3.2/gcc/c-parse.y Wed Aug 14 09:32:35 2002
--- gcc-3.2.1/gcc/c-parse.y Tue Nov 19 18:13:17 2002
*************** alignof:
*** 488,493 ****
--- 488,497 ----
ALIGNOF { skip_evaluation++; }
;
+ typeof:
+ TYPEOF { skip_evaluation++; }
+ ;
+
cast_expr:
unary_expr
| '(' typename ')' cast_expr %prec UNARY
*************** typespec_nonreserved_nonattr:
*** 1283,1292 ****
{ /* For a typedef name, record the meaning, not the name.
In case of `foo foo, bar;'. */
$$ = lookup_name ($1); }
! | TYPEOF '(' expr ')'
! { $$ = TREE_TYPE ($3); }
! | TYPEOF '(' typename ')'
! { $$ = groktypename ($3); }
;
/* typespec_nonreserved_attr does not exist. */
--- 1287,1296 ----
{ /* For a typedef name, record the meaning, not the name.
In case of `foo foo, bar;'. */
$$ = lookup_name ($1); }
! | typeof '(' expr ')'
! { skip_evaluation--; $$ = TREE_TYPE ($3); }
! | typeof '(' typename ')'
! { skip_evaluation--; $$ = groktypename ($3); }
;
/* typespec_nonreserved_attr does not exist. */
*************** initelt:
*** 1430,1435 ****
--- 1434,1440 ----
if (pedantic)
pedwarn ("obsolete use of designated initializer with `:'"); }
initval
+ {}
| initval
;
diff -Nrc3pad gcc-3.2/gcc/c-tree.h gcc-3.2.1/gcc/c-tree.h
*** gcc-3.2/gcc/c-tree.h Thu Mar 28 18:49:58 2002
--- gcc-3.2.1/gcc/c-tree.h Sun Sep 1 20:11:07 2002
*************** extern int current_function_returns_null
*** 287,297 ****
extern int current_function_returns_abnormally;
- /* Nonzero means the expression being parsed will never be evaluated.
- This is a count, since unevaluated expressions can nest. */
-
- extern int skip_evaluation;
-
/* Nonzero means `$' can be in an identifier. */
extern int dollars_in_ident;
--- 287,292 ----
diff -Nrc3pad gcc-3.2/gcc/c-typeck.c gcc-3.2.1/gcc/c-typeck.c
*** gcc-3.2/gcc/c-typeck.c Fri Mar 22 01:53:39 2002
--- gcc-3.2.1/gcc/c-typeck.c Sun Sep 1 20:11:07 2002
*************** build_external_ref (id, fun)
*** 1493,1499 ****
if (TREE_TYPE (ref) == error_mark_node)
return error_mark_node;
! assemble_external (ref);
TREE_USED (ref) = 1;
if (TREE_CODE (ref) == CONST_DECL)
--- 1493,1500 ----
if (TREE_TYPE (ref) == error_mark_node)
return error_mark_node;
! if (!skip_evaluation)
! assemble_external (ref);
TREE_USED (ref) = 1;
if (TREE_CODE (ref) == CONST_DECL)
diff -Nrc3pad gcc-3.2/gcc/calls.c gcc-3.2.1/gcc/calls.c
*** gcc-3.2/gcc/calls.c Thu Apr 4 23:28:47 2002
--- gcc-3.2.1/gcc/calls.c Fri Nov 8 22:12:37 2002
*************** Software Foundation, 59 Temple Place - S
*** 46,54 ****
--- 46,56 ----
#ifdef PUSH_ROUNDING
+ #ifndef PUSH_ARGS_REVERSED
#if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
#define PUSH_ARGS_REVERSED PUSH_ARGS
#endif
+ #endif
#endif
*************** expand_call (exp, target, ignore)
*** 2708,2713 ****
--- 2710,2721 ----
if (pass == 0)
{
argblock = virtual_incoming_args_rtx;
+ argblock
+ #ifdef STACK_GROWS_DOWNWARD
+ = plus_constant (argblock, current_function_pretend_args_size);
+ #else
+ = plus_constant (argblock, -current_function_pretend_args_size);
+ #endif
stored_args_map = sbitmap_alloc (args_size.constant);
sbitmap_zero (stored_args_map);
}
*************** emit_library_call_value_1 (retval, orgfu
*** 3666,3671 ****
--- 3674,3687 ----
#endif
;
+ /* If this was a CONST function, it is now PURE since
+ it now reads memory. */
+ if (flags & ECF_CONST)
+ {
+ flags &= ~ECF_CONST;
+ flags |= ECF_PURE;
+ }
+
if (GET_MODE (val) == MEM && ! must_copy)
slot = val;
else if (must_copy)
*************** store_one_arg (arg, argblock, flags, var
*** 4268,4274 ****
struct arg_data *arg;
rtx argblock;
int flags;
! int variable_size ATTRIBUTE_UNUSED;
int reg_parm_stack_space;
{
tree pval = arg->tree_value;
--- 4284,4290 ----
struct arg_data *arg;
rtx argblock;
int flags;
! int variable_size;
int reg_parm_stack_space;
{
tree pval = arg->tree_value;
*************** store_one_arg (arg, argblock, flags, var
*** 4343,4356 ****
emit_move_insn (arg->save_area, stack_area);
}
}
}
- /* Now that we have saved any slots that will be overwritten by this
- store, mark all slots this store will use. We must do this before
- we actually expand the argument since the expansion itself may
- trigger library calls which might need to use the same stack slot. */
- if (argblock && ! variable_size && arg->stack)
- for (i = lower_bound; i < upper_bound; i++)
- stack_usage_map[i] = 1;
}
/* If this isn't going to be placed on both the stack and in registers,
--- 4359,4380 ----
emit_move_insn (arg->save_area, stack_area);
}
}
+
+ /* Now that we have saved any slots that will be overwritten
+ by this store, mark all slots this store will use. We
+ must do this before we actually expand the argument since
+ the expansion itself may trigger library calls which might
+ need to use the same stack slot. We only do it if we can't
+ pass all arguments to a library call in registers. */
+ if (arg->partial)
+ {
+ for (i = lower_bound; i < upper_bound; i++)
+ stack_usage_map[i] = 1;
+
+ /* Set it so that we don't do it again. */
+ variable_size = 1;
+ }
}
}
/* If this isn't going to be placed on both the stack and in registers,
*************** store_one_arg (arg, argblock, flags, var
*** 4491,4497 ****
emit_push_insn for BLKmode is careful to avoid it. */
excess = (arg->size.constant - int_size_in_bytes (TREE_TYPE (pval))
+ partial * UNITS_PER_WORD);
! size_rtx = expr_size (pval);
}
if ((flags & ECF_SIBCALL) && GET_CODE (arg->value) == MEM)
--- 4515,4522 ----
emit_push_insn for BLKmode is careful to avoid it. */
excess = (arg->size.constant - int_size_in_bytes (TREE_TYPE (pval))
+ partial * UNITS_PER_WORD);
! size_rtx = expand_expr (size_in_bytes (TREE_TYPE (pval)),
! NULL_RTX, TYPE_MODE (sizetype), 0);
}
if ((flags & ECF_SIBCALL) && GET_CODE (arg->value) == MEM)
*************** store_one_arg (arg, argblock, flags, var
*** 4577,4582 ****
--- 4602,4612 ----
arg->value = arg->stack_slot;
}
+ if (ACCUMULATE_OUTGOING_ARGS && !(flags & ECF_SIBCALL)
+ && argblock && ! variable_size && arg->stack)
+ for (i = lower_bound; i < upper_bound; i++)
+ stack_usage_map[i] = 1;
+
/* Once we have pushed something, pops can't safely
be deferred during the rest of the arguments. */
NO_DEFER_POP;
diff -Nrc3pad gcc-3.2/gcc/cfganal.c gcc-3.2.1/gcc/cfganal.c
*** gcc-3.2/gcc/cfganal.c Fri Feb 8 00:35:15 2002
--- gcc-3.2.1/gcc/cfganal.c Thu Nov 7 00:22:48 2002
*************** static void flow_dfs_compute_reverse_fin
*** 56,62 ****
--- 56,86 ----
static void remove_fake_successors PARAMS ((basic_block));
static bool need_fake_edge_p PARAMS ((rtx));
static bool keep_with_call_p PARAMS ((rtx));
+ static bool flow_active_insn_p PARAMS ((rtx));
+ /* Like active_insn_p, except keep the return value clobber around
+ even after reload. */
+
+ static bool
+ flow_active_insn_p (insn)
+ rtx insn;
+ {
+ if (active_insn_p (insn))
+ return true;
+
+ /* A clobber of the function return value exists for buggy
+ programs that fail to return a value. It's effect is to
+ keep the return value from being live across the entire
+ function. If we allow it to be skipped, we introduce the
+ possibility for register livetime aborts. */
+ if (GET_CODE (PATTERN (insn)) == CLOBBER
+ && GET_CODE (XEXP (PATTERN (insn), 0)) == REG
+ && REG_FUNCTION_VALUE_P (XEXP (PATTERN (insn), 0)))
+ return true;
+
+ return false;
+ }
+
/* Return true if the block has no effect and only forwards control flow to
its single destination. */
*************** forwarder_block_p (bb)
*** 71,82 ****
return false;
for (insn = bb->head; insn != bb->end; insn = NEXT_INSN (insn))
! if (INSN_P (insn) && active_insn_p (insn))
return false;
return (!INSN_P (insn)
|| (GET_CODE (insn) == JUMP_INSN && simplejump_p (insn))
! || !active_insn_p (insn));
}
/* Return nonzero if we can reach target from src by falling through. */
--- 95,106 ----
return false;
for (insn = bb->head; insn != bb->end; insn = NEXT_INSN (insn))
! if (INSN_P (insn) && flow_active_insn_p (insn))
return false;
return (!INSN_P (insn)
|| (GET_CODE (insn) == JUMP_INSN && simplejump_p (insn))
! || !flow_active_insn_p (insn));
}
/* Return nonzero if we can reach target from src by falling through. */
diff -Nrc3pad gcc-3.2/gcc/cfgcleanup.c gcc-3.2.1/gcc/cfgcleanup.c
*** gcc-3.2/gcc/cfgcleanup.c Mon Jun 10 21:39:45 2002
--- gcc-3.2.1/gcc/cfgcleanup.c Sat Nov 16 01:55:47 2002
*************** try_optimize_cfg (mode)
*** 1638,1644 ****
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (b->end) != JUMP_INSN
! || onlyjump_p (b->end))
&& merge_blocks (s, b, c, mode))
changed_here = true;
--- 1638,1645 ----
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (b->end) != JUMP_INSN
! || (onlyjump_p (b->end)
! && !tablejump_p (b->end)))
&& merge_blocks (s, b, c, mode))
changed_here = true;
diff -Nrc3pad gcc-3.2/gcc/cfgrtl.c gcc-3.2.1/gcc/cfgrtl.c
*** gcc-3.2/gcc/cfgrtl.c Mon Jul 15 16:19:38 2002
--- gcc-3.2.1/gcc/cfgrtl.c Mon Nov 11 03:35:59 2002
*************** try_redirect_by_replacing_jump (e, targe
*** 665,670 ****
--- 665,671 ----
edge tmp;
rtx set;
int fallthru = 0;
+ rtx table;
/* Verify that all targets will be TARGET. */
for (tmp = src->succ; tmp; tmp = tmp->succ_next)
*************** try_redirect_by_replacing_jump (e, targe
*** 674,679 ****
--- 675,687 ----
if (tmp || !onlyjump_p (insn))
return false;
+ if (reload_completed && JUMP_LABEL (insn)
+ && (table = NEXT_INSN (JUMP_LABEL (insn))) != NULL_RTX
+ && GET_CODE (table) == JUMP_INSN
+ && (GET_CODE (PATTERN (table)) == ADDR_VEC
+ || GET_CODE (PATTERN (table)) == ADDR_DIFF_VEC))
+ return false;
+
/* Avoid removing branch with side effects. */
set = single_set (insn);
if (!set || side_effects_p (set))
diff -Nrc3pad gcc-3.2/gcc/collect2.c gcc-3.2.1/gcc/collect2.c
*** gcc-3.2/gcc/collect2.c Tue Feb 5 16:33:31 2002
--- gcc-3.2.1/gcc/collect2.c Fri Aug 16 18:03:06 2002
*************** is_ctor_dtor (s)
*** 577,582 ****
--- 577,591 ----
const char *orig_s = s;
static const struct names special[] = {
+ #ifndef NO_DOLLAR_IN_LABEL
+ { "GLOBAL__I$", sizeof ("GLOBAL__I$")-1, 1, 0 },
+ { "GLOBAL__D$", sizeof ("GLOBAL__D$")-1, 2, 0 },
+ #else
+ #ifndef NO_DOT_IN_LABEL
+ { "GLOBAL__I.", sizeof ("GLOBAL__I.")-1, 1, 0 },
+ { "GLOBAL__D.", sizeof ("GLOBAL__D.")-1, 2, 0 },
+ #endif /* NO_DOT_IN_LABEL */
+ #endif /* NO_DOLLAR_IN_LABEL */
{ "GLOBAL__I_", sizeof ("GLOBAL__I_")-1, 1, 0 },
{ "GLOBAL__D_", sizeof ("GLOBAL__D_")-1, 2, 0 },
{ "GLOBAL__F_", sizeof ("GLOBAL__F_")-1, 5, 0 },
diff -Nrc3pad gcc-3.2/gcc/config/alpha/alpha.md gcc-3.2.1/gcc/config/alpha/alpha.md
*** gcc-3.2/gcc/config/alpha/alpha.md Wed Apr 10 05:14:55 2002
--- gcc-3.2.1/gcc/config/alpha/alpha.md Sun Sep 8 05:30:19 2002
*************** fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi
*** 2374,2380 ****
(define_expand "abstf2"
[(parallel [(set (match_operand:TF 0 "register_operand" "")
! (neg:TF (match_operand:TF 1 "reg_or_fp0_operand" "")))
(use (match_dup 2))])]
"TARGET_HAS_XFLOATING_LIBS"
{
--- 2374,2380 ----
(define_expand "abstf2"
[(parallel [(set (match_operand:TF 0 "register_operand" "")
! (abs:TF (match_operand:TF 1 "reg_or_fp0_operand" "")))
(use (match_dup 2))])]
"TARGET_HAS_XFLOATING_LIBS"
{
diff -Nrc3pad gcc-3.2/gcc/config/arm/arm.c gcc-3.2.1/gcc/config/arm/arm.c
*** gcc-3.2/gcc/config/arm/arm.c Sun Jul 21 12:09:02 2002
--- gcc-3.2.1/gcc/config/arm/arm.c Fri Nov 1 14:40:23 2002
*************** use_return_insn (iscond)
*** 890,895 ****
--- 890,896 ----
{
int regno;
unsigned int func_type;
+ unsigned long saved_int_regs;
/* Never use a return instruction before reload has run. */
if (!reload_completed)
*************** use_return_insn (iscond)
*** 912,934 ****
&& !frame_pointer_needed))
return 0;
/* Can't be done if interworking with Thumb, and any registers have been
! stacked. Similarly, on StrongARM, conditional returns are expensive
! if they aren't taken and registers have been stacked. */
! if (iscond && arm_is_strong && frame_pointer_needed)
return 0;
!
! if ((iscond && arm_is_strong)
! || TARGET_INTERWORK)
{
! for (regno = 0; regno <= LAST_ARM_REGNUM; regno++)
! if (regs_ever_live[regno] && !call_used_regs[regno])
! return 0;
if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
return 0;
}
!
/* Can't be done if any of the FPU regs are pushed,
since this also requires an insn. */
if (TARGET_HARD_FLOAT)
--- 913,943 ----
&& !frame_pointer_needed))
return 0;
+ saved_int_regs = arm_compute_save_reg_mask ();
+
/* Can't be done if interworking with Thumb, and any registers have been
! stacked. */
! if (TARGET_INTERWORK && saved_int_regs != 0)
return 0;
!
! /* On StrongARM, conditional returns are expensive if they aren't
! taken and multiple registers have been stacked. */
! if (iscond && arm_is_strong)
{
! /* Conditional return when just the LR is stored is a simple
! conditional-load instruction, that's not expensive. */
! if (saved_int_regs != 0 && saved_int_regs != (1 << LR_REGNUM))
! return 0;
if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
return 0;
}
!
! /* If there are saved registers but the LR isn't saved, then we need
! two instructions for the return. */
! if (saved_int_regs && !(saved_int_regs & (1 << LR_REGNUM)))
! return 0;
!
/* Can't be done if any of the FPU regs are pushed,
since this also requires an insn. */
if (TARGET_HARD_FLOAT)
diff -Nrc3pad gcc-3.2/gcc/config/arm/arm.h gcc-3.2.1/gcc/config/arm/arm.h
*** gcc-3.2/gcc/config/arm/arm.h Wed Mar 13 05:35:51 2002
--- gcc-3.2.1/gcc/config/arm/arm.h Mon Sep 30 11:54:00 2002
*************** enum reg_class
*** 1093,1106 ****
/* The class value for index registers, and the one for base regs. */
#define INDEX_REG_CLASS (TARGET_THUMB ? LO_REGS : GENERAL_REGS)
! #define BASE_REG_CLASS (TARGET_THUMB ? BASE_REGS : GENERAL_REGS)
! /* For the Thumb the high registers cannot be used as base
! registers when addressing quanitities in QI or HI mode. */
#define MODE_BASE_REG_CLASS(MODE) \
! (TARGET_ARM ? BASE_REGS : \
! (((MODE) == QImode || (MODE) == HImode || (MODE) == VOIDmode) \
! ? LO_REGS : BASE_REGS))
/* When SMALL_REGISTER_CLASSES is nonzero, the compiler allows
registers explicitly used in the rtl to be used as spill registers
--- 1093,1108 ----
/* The class value for index registers, and the one for base regs. */
#define INDEX_REG_CLASS (TARGET_THUMB ? LO_REGS : GENERAL_REGS)
! #define BASE_REG_CLASS (TARGET_THUMB ? LO_REGS : GENERAL_REGS)
! /* For the Thumb the high registers cannot be used as base registers
! when addressing quanitities in QI or HI mode; if we don't know the
! mode, then we must be conservative. After reload we must also be
! conservative, since we can't support SP+reg addressing, and we
! can't fix up any bad substitutions. */
#define MODE_BASE_REG_CLASS(MODE) \
! (TARGET_ARM ? GENERAL_REGS : \
! (((MODE) == SImode && !reload_completed) ? BASE_REGS : LO_REGS))
/* When SMALL_REGISTER_CLASSES is nonzero, the compiler allows
registers explicitly used in the rtl to be used as spill registers
diff -Nrc3pad gcc-3.2/gcc/config/arm/arm.md gcc-3.2.1/gcc/config/arm/arm.md
*** gcc-3.2/gcc/config/arm/arm.md Sun Jul 21 12:09:03 2002
--- gcc-3.2.1/gcc/config/arm/arm.md Fri Sep 20 14:01:24 2002
***************
*** 1837,1843 ****
(match_operand:SI 1 "s_register_operand" "r")
(match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "const_int_operand" "n"))
! (const_int 0)))]
"TARGET_ARM
&& (INTVAL (operands[3]) >= 0 && INTVAL (operands[3]) < 32
&& INTVAL (operands[2]) > 0
--- 1837,1844 ----
(match_operand:SI 1 "s_register_operand" "r")
(match_operand:SI 2 "const_int_operand" "n")
(match_operand:SI 3 "const_int_operand" "n"))
! (const_int 0)))
! (clobber (reg:CC CC_REGNUM))]
"TARGET_ARM
&& (INTVAL (operands[3]) >= 0 && INTVAL (operands[3]) < 32
&& INTVAL (operands[2]) > 0
***************
*** 8947,8953 ****
[(set (match_operand:SI 0 "s_register_operand" "=r")
(sign_extract:SI (match_operand:SI 1 "s_register_operand" "r")
(const_int 1)
! (match_operand:SI 2 "const_int_operand" "n")))]
"TARGET_ARM"
"*
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
--- 8948,8955 ----
[(set (match_operand:SI 0 "s_register_operand" "=r")
(sign_extract:SI (match_operand:SI 1 "s_register_operand" "r")
(const_int 1)
! (match_operand:SI 2 "const_int_operand" "n")))
! (clobber (reg:CC CC_REGNUM))]
"TARGET_ARM"
"*
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
***************
*** 8963,8969 ****
(not:SI
(sign_extract:SI (match_operand:SI 1 "s_register_operand" "r")
(const_int 1)
! (match_operand:SI 2 "const_int_operand" "n"))))]
"TARGET_ARM"
"*
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
--- 8965,8972 ----
(not:SI
(sign_extract:SI (match_operand:SI 1 "s_register_operand" "r")
(const_int 1)
! (match_operand:SI 2 "const_int_operand" "n"))))
! (clobber (reg:CC CC_REGNUM))]
"TARGET_ARM"
"*
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
diff -Nrc3pad gcc-3.2/gcc/config/avr/avr.md gcc-3.2.1/gcc/config/avr/avr.md
*** gcc-3.2/gcc/config/avr/avr.md Thu Mar 21 22:14:07 2002
--- gcc-3.2.1/gcc/config/avr/avr.md Sun Sep 1 18:46:20 2002
***************
*** 1,7 ****
;; -*- Mode: Scheme -*-
;; Machine description for GNU compiler,
;; for ATMEL AVR micro controllers.
! ;; Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
;; Contributed by Denis Chertykov (denisc@overta.ru)
;; This file is part of GNU CC.
--- 1,7 ----
;; -*- Mode: Scheme -*-
;; Machine description for GNU compiler,
;; for ATMEL AVR micro controllers.
! ;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
;; Contributed by Denis Chertykov (denisc@overta.ru)
;; This file is part of GNU CC.
***************
*** 2250,2255 ****
--- 2250,2256 ----
&& test_hard_reg_class (LD_REGS, operands[1]))"
"*
{
+ CC_STATUS_INIT;
if (test_hard_reg_class (ADDW_REGS, operands[0]))
output_asm_insn (AS2 (sbiw,%0,1) CR_TAB
AS2 (sbc,%C0,__zero_reg__) CR_TAB
***************
*** 2288,2293 ****
--- 2289,2295 ----
&& test_hard_reg_class (LD_REGS, operands[1]))"
"*
{
+ CC_STATUS_INIT;
if (test_hard_reg_class (ADDW_REGS, operands[0]))
output_asm_insn (AS2 (sbiw,%0,1), operands);
else
***************
*** 2319,2324 ****
--- 2321,2329 ----
"test_hard_reg_class (LD_REGS, operands[0])"
"*
{
+ CC_STATUS_INIT;
+ cc_status.value1 = operands[0];
+ cc_status.flags |= CC_OVERFLOW_UNUSABLE;
output_asm_insn (AS2 (subi,%A0,1), operands);
switch (avr_jump_mode (operands[1],insn))
{
diff -Nrc3pad gcc-3.2/gcc/config/i386/i386.c gcc-3.2.1/gcc/config/i386/i386.c
*** gcc-3.2/gcc/config/i386/i386.c Wed Aug 7 18:10:57 2002
--- gcc-3.2.1/gcc/config/i386/i386.c Thu Oct 31 18:39:32 2002
*************** struct processor_costs athlon_cost = {
*** 284,308 ****
8, /* "large" insn */
9, /* MOVE_RATIO */
4, /* cost for loading QImode using movzbl */
! {4, 5, 4}, /* cost of loading integer registers
in QImode, HImode and SImode.
Relative to reg-reg move (2). */
! {2, 3, 2}, /* cost of storing integer registers */
4, /* cost of reg,reg fld/fst */
! {6, 6, 20}, /* cost of loading fp registers
in SFmode, DFmode and XFmode */
! {4, 4, 16}, /* cost of loading integer registers */
2, /* cost of moving MMX register */
! {2, 2}, /* cost of loading MMX registers
in SImode and DImode */
! {2, 2}, /* cost of storing MMX registers
in SImode and DImode */
2, /* cost of moving SSE register */
! {2, 2, 8}, /* cost of loading SSE registers
in SImode, DImode and TImode */
! {2, 2, 8}, /* cost of storing SSE registers
in SImode, DImode and TImode */
! 6, /* MMX or SSE register to integer */
64, /* size of prefetch block */
6, /* number of parallel prefetches */
};
--- 284,308 ----
8, /* "large" insn */
9, /* MOVE_RATIO */
4, /* cost for loading QImode using movzbl */
! {3, 4, 3}, /* cost of loading integer registers
in QImode, HImode and SImode.
Relative to reg-reg move (2). */
! {3, 4, 3}, /* cost of storing integer registers */
4, /* cost of reg,reg fld/fst */
! {4, 4, 12}, /* cost of loading fp registers
in SFmode, DFmode and XFmode */
! {6, 6, 8}, /* cost of loading integer registers */
2, /* cost of moving MMX register */
! {4, 4}, /* cost of loading MMX registers
in SImode and DImode */
! {4, 4}, /* cost of storing MMX registers
in SImode and DImode */
2, /* cost of moving SSE register */
! {4, 4, 6}, /* cost of loading SSE registers
in SImode, DImode and TImode */
! {4, 4, 5}, /* cost of storing SSE registers
in SImode, DImode and TImode */
! 5, /* MMX or SSE register to integer */
64, /* size of prefetch block */
6, /* number of parallel prefetches */
};
*************** override_options ()
*** 906,911 ****
--- 906,932 ----
int const pta_size = sizeof (processor_alias_table) / sizeof (struct pta);
+ /* Set the default values for switches whose default depends on TARGET_64BIT
+ in case they weren't overwriten by command line options. */
+ if (TARGET_64BIT)
+ {
+ if (flag_omit_frame_pointer == 2)
+ flag_omit_frame_pointer = 1;
+ if (flag_asynchronous_unwind_tables == 2)
+ flag_asynchronous_unwind_tables = 1;
+ if (flag_pcc_struct_return == 2)
+ flag_pcc_struct_return = 0;
+ }
+ else
+ {
+ if (flag_omit_frame_pointer == 2)
+ flag_omit_frame_pointer = 0;
+ if (flag_asynchronous_unwind_tables == 2)
+ flag_asynchronous_unwind_tables = 0;
+ if (flag_pcc_struct_return == 2)
+ flag_pcc_struct_return = 1;
+ }
+
#ifdef SUBTARGET_OVERRIDE_OPTIONS
SUBTARGET_OVERRIDE_OPTIONS;
#endif
*************** optimization_options (level, size)
*** 1213,1225 ****
if (level > 1)
flag_schedule_insns = 0;
#endif
! if (TARGET_64BIT && optimize >= 1)
! flag_omit_frame_pointer = 1;
! if (TARGET_64BIT)
! {
! flag_pcc_struct_return = 0;
! flag_asynchronous_unwind_tables = 1;
! }
}
/* Table of valid machine attributes. */
--- 1234,1247 ----
if (level > 1)
flag_schedule_insns = 0;
#endif
! /* The default values of these switches depend on the TARGET_64BIT
! that is not known at this moment. Mark these values with 2 and
! let user the to override these. In case there is no command line option
! specifying them, we will set the defaults in override_options. */
! if (optimize >= 1)
! flag_omit_frame_pointer = 2;
! flag_pcc_struct_return = 2;
! flag_asynchronous_unwind_tables = 2;
}
/* Table of valid machine attributes. */
*************** classify_argument (mode, type, classes,
*** 1649,1655 ****
{
int bytes =
(mode == BLKmode) ? int_size_in_bytes (type) : (int) GET_MODE_SIZE (mode);
! int words = (bytes + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
if (type && AGGREGATE_TYPE_P (type))
{
--- 1671,1681 ----
{
int bytes =
(mode == BLKmode) ? int_size_in_bytes (type) : (int) GET_MODE_SIZE (mode);
! int words = (bytes + (bit_offset % 64) / 8 + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
!
! /* Variable sized structures are always passed on the stack. */
! if (mode == BLKmode && type && TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
! return 0;
if (type && AGGREGATE_TYPE_P (type))
{
*************** q_regs_operand (op, mode)
*** 3206,3212 ****
return 0;
if (GET_CODE (op) == SUBREG)
op = SUBREG_REG (op);
! return QI_REG_P (op);
}
/* Return true if op is a NON_Q_REGS class register. */
--- 3232,3238 ----
return 0;
if (GET_CODE (op) == SUBREG)
op = SUBREG_REG (op);
! return ANY_QI_REG_P (op);
}
/* Return true if op is a NON_Q_REGS class register. */
*************** print_operand_address (file, addr)
*** 6123,6129 ****
int scale;
if (! ix86_decompose_address (addr, &parts))
! abort ();
base = parts.base;
index = parts.index;
--- 6149,6158 ----
int scale;
if (! ix86_decompose_address (addr, &parts))
! {
! output_operand_lossage ("Wrong address expression or operand constraint");
! return;
! }
base = parts.base;
index = parts.index;
*************** ix86_expand_vector_move (mode, operands)
*** 6855,6862 ****
/* Make operand1 a register if it isn't already. */
if ((reload_in_progress | reload_completed) == 0
&& !register_operand (operands[0], mode)
! && !register_operand (operands[1], mode)
! && operands[1] != CONST0_RTX (mode))
{
rtx temp = force_reg (GET_MODE (operands[1]), operands[1]);
emit_move_insn (operands[0], temp);
--- 6884,6890 ----
/* Make operand1 a register if it isn't already. */
if ((reload_in_progress | reload_completed) == 0
&& !register_operand (operands[0], mode)
! && !register_operand (operands[1], mode))
{
rtx temp = force_reg (GET_MODE (operands[1]), operands[1]);
emit_move_insn (operands[0], temp);
*************** ix86_expand_int_movcc (operands)
*** 8237,8243 ****
clob = gen_rtx_CLOBBER (VOIDmode, clob);
tmp = gen_rtx_SET (VOIDmode, out, tmp);
! tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, tmp, clob));
emit_insn (tmp);
}
else
--- 8265,8271 ----
clob = gen_rtx_CLOBBER (VOIDmode, clob);
tmp = gen_rtx_SET (VOIDmode, out, tmp);
! tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, copy_rtx (tmp), clob));
emit_insn (tmp);
}
else
*************** static const struct builtin_description
*** 10954,10967 ****
{ MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpeqss", IX86_BUILTIN_CMPEQSS, EQ, 0 },
{ MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpltss", IX86_BUILTIN_CMPLTSS, LT, 0 },
{ MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpless", IX86_BUILTIN_CMPLESS, LE, 0 },
- { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpgtss", IX86_BUILTIN_CMPGTSS, LT, 1 },
- { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpgess", IX86_BUILTIN_CMPGESS, LE, 1 },
{ MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpunordss", IX86_BUILTIN_CMPUNORDSS, UNORDERED, 0 },
{ MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpneqss", IX86_BUILTIN_CMPNEQSS, EQ, 0 },
{ MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpnltss", IX86_BUILTIN_CMPNLTSS, LT, 0 },
{ MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpnless", IX86_BUILTIN_CMPNLESS, LE, 0 },
- { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpngtss", IX86_BUILTIN_CMPNGTSS, LT, 1 },
- { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpngess", IX86_BUILTIN_CMPNGESS, LE, 1 },
{ MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpordss", IX86_BUILTIN_CMPORDSS, UNORDERED, 0 },
{ MASK_SSE, CODE_FOR_sminv4sf3, "__builtin_ia32_minps", IX86_BUILTIN_MINPS, 0, 0 },
--- 10982,10991 ----
*************** ix86_register_move_cost (mode, class1, c
*** 12355,12371 ****
enum reg_class class1, class2;
{
/* In case we require secondary memory, compute cost of the store followed
! by load. In case of copying from general_purpose_register we may emit
! multiple stores followed by single load causing memory size mismatch
! stall. Count this as arbitarily high cost of 20. */
if (ix86_secondary_memory_needed (class1, class2, mode, 0))
{
! int add_cost = 0;
if (CLASS_MAX_NREGS (class1, mode) > CLASS_MAX_NREGS (class2, mode))
! add_cost = 20;
! return (MEMORY_MOVE_COST (mode, class1, 0)
! + MEMORY_MOVE_COST (mode, class2, 1) + add_cost);
}
/* Moves between SSE/MMX and integer unit are expensive. */
if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2)
|| SSE_CLASS_P (class1) != SSE_CLASS_P (class2))
--- 12379,12411 ----
enum reg_class class1, class2;
{
/* In case we require secondary memory, compute cost of the store followed
! by load. In order to avoid bad register allocation choices, we need
! for this to be *at least* as high as the symmetric MEMORY_MOVE_COST. */
!
if (ix86_secondary_memory_needed (class1, class2, mode, 0))
{
! int cost = 1;
!
! cost += MAX (MEMORY_MOVE_COST (mode, class1, 0),
! MEMORY_MOVE_COST (mode, class1, 1));
! cost += MAX (MEMORY_MOVE_COST (mode, class2, 0),
! MEMORY_MOVE_COST (mode, class2, 1));
!
! /* In case of copying from general_purpose_register we may emit multiple
! stores followed by single load causing memory size mismatch stall.
! Count this as arbitarily high cost of 20. */
if (CLASS_MAX_NREGS (class1, mode) > CLASS_MAX_NREGS (class2, mode))
! cost += 20;
!
! /* In the case of FP/MMX moves, the registers actually overlap, and we
! have to switch modes in order to treat them differently. */
! if ((MMX_CLASS_P (class1) && MAYBE_FLOAT_CLASS_P (class2))
! || (MMX_CLASS_P (class2) && MAYBE_FLOAT_CLASS_P (class1)))
! cost += 20;
!
! return cost;
}
+
/* Moves between SSE/MMX and integer unit are expensive. */
if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2)
|| SSE_CLASS_P (class1) != SSE_CLASS_P (class2))
diff -Nrc3pad gcc-3.2/gcc/config/i386/i386.h gcc-3.2.1/gcc/config/i386/i386.h
*** gcc-3.2/gcc/config/i386/i386.h Mon Jul 15 06:54:36 2002
--- gcc-3.2.1/gcc/config/i386/i386.h Thu Nov 7 17:46:18 2002
*************** extern int ix86_arch;
*** 584,592 ****
%{march=pentium-mmx:-D__i586 -D__i586__ -D__pentium -D__pentium__ \
-D__pentium__mmx__ \
%{!mcpu*:-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__}}\
! %{march=pentiumpro|march=i686:-D__i686 -D__i686__ \
-D__pentiumpro -D__pentiumpro__ \
%{!mcpu*:-D__tune_i686__ -D__tune_pentiumpro__ }}\
%{march=k6:-D__k6 -D__k6__ %{!mcpu*:-D__tune_k6__ }}\
%{march=k6-2:-D__k6 -D__k6__ -D__k6_2__ \
%{!mcpu*:-D__tune_k6__ -D__tune_k6_2__ }}\
--- 584,596 ----
%{march=pentium-mmx:-D__i586 -D__i586__ -D__pentium -D__pentium__ \
-D__pentium__mmx__ \
%{!mcpu*:-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__}}\
! %{march=pentiumpro|march=i686|march=pentium2|march=pentium3:-D__i686 -D__i686__ \
-D__pentiumpro -D__pentiumpro__ \
%{!mcpu*:-D__tune_i686__ -D__tune_pentiumpro__ }}\
+ %{march=march=pentium2|march=pentium3: -D__pentium2 -D__pentium2__\
+ %{!mcpu*:-D__tune_pentium2__ }}\
+ %{march=pentium3: -D__pentium3 -D__pentium3__\
+ %{!mcpu*:-D__tune_pentium3__ }}\
%{march=k6:-D__k6 -D__k6__ %{!mcpu*:-D__tune_k6__ }}\
%{march=k6-2:-D__k6 -D__k6__ -D__k6_2__ \
%{!mcpu*:-D__tune_k6__ -D__tune_k6_2__ }}\
*************** extern int ix86_arch;
*** 601,607 ****
%{m386|mcpu=i386:-D__tune_i386__ }\
%{m486|mcpu=i486:-D__tune_i486__ }\
%{mpentium|mcpu=pentium|mcpu=i586|mcpu=pentium-mmx:-D__tune_i586__ -D__tune_pentium__ }\
! %{mpentiumpro|mcpu=pentiumpro|mcpu=i686|cpu=pentium2|cpu=pentium3:-D__tune_i686__ \
-D__tune_pentiumpro__ }\
%{mcpu=k6|mcpu=k6-2|mcpu=k6-3:-D__tune_k6__ }\
%{mcpu=athlon|mcpu=athlon-tbird|mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\
--- 605,611 ----
%{m386|mcpu=i386:-D__tune_i386__ }\
%{m486|mcpu=i486:-D__tune_i486__ }\
%{mpentium|mcpu=pentium|mcpu=i586|mcpu=pentium-mmx:-D__tune_i586__ -D__tune_pentium__ }\
! %{mpentiumpro|mcpu=pentiumpro|mcpu=i686|mcpu=pentium2|mcpu=pentium3:-D__tune_i686__ \
-D__tune_pentiumpro__ }\
%{mcpu=k6|mcpu=k6-2|mcpu=k6-3:-D__tune_k6__ }\
%{mcpu=athlon|mcpu=athlon-tbird|mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\
*************** extern int ix86_arch;
*** 609,625 ****
%{mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\
-D__tune_athlon_sse__ }\
%{mcpu=pentium4:-D__tune_pentium4__ }\
! %{march=athlon-xp|march=athlon-mp|march=pentium3|march=pentium4:\
-D__SSE__ }\
%{march=pentium-mmx|march=k6|march=k6-2|march=k6-3\
|march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
! |march=athlon-mp|march=pentium2|march=pentium3|march=pentium4: -D__MMX__ }\
%{march=k6-2|march=k6-3\
|march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
! |march=athlon-mp: -D__3dNOW__ }\
%{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
|march=athlon-mp: -D__3dNOW_A__ }\
! %{march=pentium4: -D__SSE2__ }\
%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}"
#ifndef CPP_CPU_SPEC
--- 613,629 ----
%{mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\
-D__tune_athlon_sse__ }\
%{mcpu=pentium4:-D__tune_pentium4__ }\
! %{march=athlon-xp|march=athlon-mp|march=pentium3|march=pentium4|msse|msse2:\
-D__SSE__ }\
%{march=pentium-mmx|march=k6|march=k6-2|march=k6-3\
|march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
! |march=athlon-mp|march=pentium2|march=pentium3|march=pentium4|mmx|msse|m3dnow: -D__MMX__ }\
%{march=k6-2|march=k6-3\
|march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
! |march=athlon-mp|m3dnow: -D__3dNOW__ }\
%{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
|march=athlon-mp: -D__3dNOW_A__ }\
! %{march=pentium4|msse2: -D__SSE2__ }\
%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}"
#ifndef CPP_CPU_SPEC
*************** extern int ix86_arch;
*** 756,763 ****
#define FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN \
(ix86_preferred_stack_boundary > STACK_BOUNDARY && !TARGET_64BIT)
! /* Allocation boundary for the code of a function. */
! #define FUNCTION_BOUNDARY 16
/* Alignment of field after `int : 0' in a structure. */
--- 760,770 ----
#define FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN \
(ix86_preferred_stack_boundary > STACK_BOUNDARY && !TARGET_64BIT)
! /* Minimum allocation boundary for the code of a function. */
! #define FUNCTION_BOUNDARY 8
!
! /* C++ stores the virtual bit in the lowest bit of function pointers. */
! #define TARGET_PTRMEMFUNC_VBIT_LOCATION ptrmemfunc_vbit_in_pfn
/* Alignment of field after `int : 0' in a structure. */
*************** enum reg_class
*** 1581,1586 ****
--- 1588,1597 ----
#define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS)
+ /* We want the stack and args grow in opposite directions, even if
+ PUSH_ARGS is 0. */
+ #define PUSH_ARGS_REVERSED 1
+
/* Offset of first parameter from the argument pointer register value. */
#define FIRST_PARM_OFFSET(FNDECL) 0
*************** enum ix86_builtins
*** 2053,2065 ****
IX86_BUILTIN_CMPEQSS,
IX86_BUILTIN_CMPLTSS,
IX86_BUILTIN_CMPLESS,
- IX86_BUILTIN_CMPGTSS,
- IX86_BUILTIN_CMPGESS,
IX86_BUILTIN_CMPNEQSS,
IX86_BUILTIN_CMPNLTSS,
IX86_BUILTIN_CMPNLESS,
- IX86_BUILTIN_CMPNGTSS,
- IX86_BUILTIN_CMPNGESS,
IX86_BUILTIN_CMPORDSS,
IX86_BUILTIN_CMPUNORDSS,
IX86_BUILTIN_CMPNESS,
--- 2064,2072 ----
*************** extern int const svr4_dbx_register_map[F
*** 2871,2883 ****
It need not be very fast code. */
#define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \
! asm_fprintf ((FILE), "\tpush{l}\t%%e%s\n", reg_names[(REGNO)])
/* This is how to output an insn to pop a register from the stack.
It need not be very fast code. */
#define ASM_OUTPUT_REG_POP(FILE, REGNO) \
! asm_fprintf ((FILE), "\tpop{l}\t%%e%s\n", reg_names[(REGNO)])
/* This is how to output an element of a case-vector that is absolute. */
--- 2878,2902 ----
It need not be very fast code. */
#define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \
! do { \
! if (TARGET_64BIT) \
! asm_fprintf ((FILE), "\tpush{q}\t%%r%s\n", \
! reg_names[(REGNO)] + (REX_INT_REGNO_P (REGNO) != 0)); \
! else \
! asm_fprintf ((FILE), "\tpush{l}\t%%e%s\n", reg_names[(REGNO)]); \
! } while (0)
/* This is how to output an insn to pop a register from the stack.
It need not be very fast code. */
#define ASM_OUTPUT_REG_POP(FILE, REGNO) \
! do { \
! if (TARGET_64BIT) \
! asm_fprintf ((FILE), "\tpop{q}\t%%r%s\n", \
! reg_names[(REGNO)] + (REX_INT_REGNO_P (REGNO) != 0)); \
! else \
! asm_fprintf ((FILE), "\tpop{l}\t%%e%s\n", reg_names[(REGNO)]); \
! } while (0)
/* This is how to output an element of a case-vector that is absolute. */
diff -Nrc3pad gcc-3.2/gcc/config/i386/i386.md gcc-3.2.1/gcc/config/i386/i386.md
*** gcc-3.2/gcc/config/i386/i386.md Mon Jul 15 06:54:36 2002
--- gcc-3.2.1/gcc/config/i386/i386.md Thu Oct 24 17:11:54 2002
***************
*** 5311,5317 ****
(plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0")
(match_operand:DI 2 "general_operand" "roiF,riF")))
(clobber (reg:CC 17))]
! "!TARGET_64BIT"
"#")
(define_split
--- 5311,5317 ----
(plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0")
(match_operand:DI 2 "general_operand" "roiF,riF")))
(clobber (reg:CC 17))]
! "!TARGET_64BIT && ix86_binary_operator_ok (PLUS, DImode, operands)"
"#")
(define_split
***************
*** 6940,6946 ****
(minus:DI (match_operand:DI 1 "nonimmediate_operand" "0,0")
(match_operand:DI 2 "general_operand" "roiF,riF")))
(clobber (reg:CC 17))]
! "!TARGET_64BIT"
"#")
(define_split
--- 6940,6946 ----
(minus:DI (match_operand:DI 1 "nonimmediate_operand" "0,0")
(match_operand:DI 2 "general_operand" "roiF,riF")))
(clobber (reg:CC 17))]
! "!TARGET_64BIT && ix86_binary_operator_ok (MINUS, DImode, operands)"
"#")
(define_split
***************
*** 19783,19789 ****
[(set_attr "type" "mmx")])
(define_expand "prefetch"
! [(prefetch (match_operand:SI 0 "address_operand" "")
(match_operand:SI 1 "const_int_operand" "")
(match_operand:SI 2 "const_int_operand" ""))]
"TARGET_PREFETCH_SSE || TARGET_3DNOW"
--- 19783,19789 ----
[(set_attr "type" "mmx")])
(define_expand "prefetch"
! [(prefetch (match_operand 0 "address_operand" "")
(match_operand:SI 1 "const_int_operand" "")
(match_operand:SI 2 "const_int_operand" ""))]
"TARGET_PREFETCH_SSE || TARGET_3DNOW"
***************
*** 19795,19800 ****
--- 19795,19802 ----
abort ();
if (locality < 0 || locality > 3)
abort ();
+ if (GET_MODE (operands[0]) != Pmode && GET_MODE (operands[0]) != VOIDmode)
+ abort ();
/* Use 3dNOW prefetch in case we are asking for write prefetch not
suported by SSE counterpart or the SSE prefetch is not available
***************
*** 19810,19816 ****
[(prefetch (match_operand:SI 0 "address_operand" "p")
(const_int 0)
(match_operand:SI 1 "const_int_operand" ""))]
! "TARGET_PREFETCH_SSE"
{
static const char * const patterns[4] = {
"prefetchnta\t%a0", "prefetcht2\t%a0", "prefetcht1\t%a0", "prefetcht0\t%a0"
--- 19812,19837 ----
[(prefetch (match_operand:SI 0 "address_operand" "p")
(const_int 0)
(match_operand:SI 1 "const_int_operand" ""))]
! "TARGET_PREFETCH_SSE && !TARGET_64BIT"
! {
! static const char * const patterns[4] = {
! "prefetchnta\t%a0", "prefetcht2\t%a0", "prefetcht1\t%a0", "prefetcht0\t%a0"
! };
!
! int locality = INTVAL (operands[1]);
! if (locality < 0 || locality > 3)
! abort ();
!
! return patterns[locality];
! }
! [(set_attr "type" "sse")
! (set_attr "memory" "none")])
!
! (define_insn "*prefetch_sse_rex"
! [(prefetch (match_operand:DI 0 "address_operand" "p")
! (const_int 0)
! (match_operand:SI 1 "const_int_operand" ""))]
! "TARGET_PREFETCH_SSE && TARGET_64BIT"
{
static const char * const patterns[4] = {
"prefetchnta\t%a0", "prefetcht2\t%a0", "prefetcht1\t%a0", "prefetcht0\t%a0"
***************
*** 19828,19834 ****
[(prefetch (match_operand:SI 0 "address_operand" "p")
(match_operand:SI 1 "const_int_operand" "n")
(const_int 3))]
! "TARGET_3DNOW"
{
if (INTVAL (operands[1]) == 0)
return "prefetch\t%a0";
--- 19849,19869 ----
[(prefetch (match_operand:SI 0 "address_operand" "p")
(match_operand:SI 1 "const_int_operand" "n")
(const_int 3))]
! "TARGET_3DNOW && !TARGET_64BIT"
! {
! if (INTVAL (operands[1]) == 0)
! return "prefetch\t%a0";
! else
! return "prefetchw\t%a0";
! }
! [(set_attr "type" "mmx")
! (set_attr "memory" "none")])
!
! (define_insn "*prefetch_3dnow_rex"
! [(prefetch (match_operand:DI 0 "address_operand" "p")
! (match_operand:SI 1 "const_int_operand" "n")
! (const_int 3))]
! "TARGET_3DNOW && TARGET_64BIT"
{
if (INTVAL (operands[1]) == 0)
return "prefetch\t%a0";
diff -Nrc3pad gcc-3.2/gcc/config/i386/linux64.h gcc-3.2.1/gcc/config/i386/linux64.h
*** gcc-3.2/gcc/config/i386/linux64.h Fri Jun 21 07:04:46 2002
--- gcc-3.2.1/gcc/config/i386/linux64.h Sun Oct 27 09:24:50 2002
*************** Boston, MA 02111-1307, USA. */
*** 30,35 ****
--- 30,41 ----
#undef CPP_SPEC
#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} %{!m32:-D__LONG_MAX__=9223372036854775807L}"
+ /* The svr4 ABI for the i386 says that records and unions are returned
+ in memory. In the 64bit compilation we will turn this flag off in
+ override_options, as we never do pcc_struct_return scheme on this target. */
+ #undef DEFAULT_PCC_STRUCT_RETURN
+ #define DEFAULT_PCC_STRUCT_RETURN 1
+
/* Provide a LINK_SPEC. Here we provide support for the special GCC
options -static and -shared, which allow us to link things in one
of these three modes by applying the appropriate combinations of
*************** Boston, MA 02111-1307, USA. */
*** 50,70 ****
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
! "%{m32:%{!shared: \
! %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
! %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} \
! crti.o%s %{static:crtbeginT.o%s}\
! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}} \
! %{!m32:%{!shared: \
! %{pg:/usr/lib64/gcrt1.o%s} %{!pg:%{p:/usr/lib64/gcrt1.o%s} \
! %{!p:%{profile:/usr/lib64/gcrt1.o%s} %{!profile:/usr/lib64/crt1.o%s}}}}\
! /usr/lib64/crti.o%s %{static:crtbeginT.o%s} \
! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}}"
#undef ENDFILE_SPEC
! #define ENDFILE_SPEC "\
! %{m32:%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s} \
! %{!m32:%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib64/crtn.o%s}"
#define MULTILIB_DEFAULTS { "m64" }
--- 56,69 ----
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
! "%{!shared: \
! %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
! %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} \
! crti.o%s %{static:crtbeginT.o%s} \
! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
#undef ENDFILE_SPEC
! #define ENDFILE_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
#define MULTILIB_DEFAULTS { "m64" }
diff -Nrc3pad gcc-3.2/gcc/config/i386/mmintrin.h gcc-3.2.1/gcc/config/i386/mmintrin.h
*** gcc-3.2/gcc/config/i386/mmintrin.h Tue Aug 6 18:30:43 2002
--- gcc-3.2.1/gcc/config/i386/mmintrin.h Sat Oct 19 13:51:34 2002
***************
*** 31,37 ****
#define _MMINTRIN_H_INCLUDED
/* The data type intended for user use. */
! typedef unsigned long long __m64 __attribute__ ((__aligned__ (8)));
/* Internal data types for implementing the intrinsics. */
typedef int __v2si __attribute__ ((__mode__ (__V2SI__)));
--- 31,37 ----
#define _MMINTRIN_H_INCLUDED
/* The data type intended for user use. */
! typedef int __m64 __attribute__ ((__mode__ (__V2SI__)));
/* Internal data types for implementing the intrinsics. */
typedef int __v2si __attribute__ ((__mode__ (__V2SI__)));
*************** _mm_empty (void)
*** 49,62 ****
static __inline __m64
_mm_cvtsi32_si64 (int __i)
{
! return (unsigned int) __i;
}
/* Convert the lower 32 bits of the __m64 object into an integer. */
static __inline int
_mm_cvtsi64_si32 (__m64 __i)
{
! return __i;
}
/* Pack the four 16-bit values from M1 into the lower four 8-bit values of
--- 49,64 ----
static __inline __m64
_mm_cvtsi32_si64 (int __i)
{
! long long __tmp = (unsigned int)__i;
! return (__m64) __tmp;
}
/* Convert the lower 32 bits of the __m64 object into an integer. */
static __inline int
_mm_cvtsi64_si32 (__m64 __i)
{
! long long __tmp = (long long)__i;
! return __tmp;
}
/* Pack the four 16-bit values from M1 into the lower four 8-bit values of
*************** _mm_mullo_pi16 (__m64 __m1, __m64 __m2)
*** 269,275 ****
static __inline __m64
_mm_sll_pi16 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psllw ((__v4hi)__m, __count);
}
static __inline __m64
--- 271,277 ----
static __inline __m64
_mm_sll_pi16 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psllw ((__v4hi)__m, (long long)__count);
}
static __inline __m64
*************** _mm_slli_pi16 (__m64 __m, int __count)
*** 282,288 ****
static __inline __m64
_mm_sll_pi32 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_pslld ((__v2si)__m, __count);
}
static __inline __m64
--- 284,290 ----
static __inline __m64
_mm_sll_pi32 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_pslld ((__v2si)__m, (long long)__count);
}
static __inline __m64
*************** _mm_slli_pi32 (__m64 __m, int __count)
*** 293,314 ****
/* Shift the 64-bit value in M left by COUNT. */
static __inline __m64
! _mm_sll_pi64 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psllq (__m, __count);
}
static __inline __m64
! _mm_slli_pi64 (__m64 __m, int __count)
{
! return (__m64) __builtin_ia32_psllq (__m, __count);
}
/* Shift four 16-bit values in M right by COUNT; shift in the sign bit. */
static __inline __m64
_mm_sra_pi16 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psraw ((__v4hi)__m, __count);
}
static __inline __m64
--- 295,316 ----
/* Shift the 64-bit value in M left by COUNT. */
static __inline __m64
! _mm_sll_si64 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psllq ((long long)__m, (long long)__count);
}
static __inline __m64
! _mm_slli_si64 (__m64 __m, int __count)
{
! return (__m64) __builtin_ia32_psllq ((long long)__m, (long long)__count);
}
/* Shift four 16-bit values in M right by COUNT; shift in the sign bit. */
static __inline __m64
_mm_sra_pi16 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psraw ((__v4hi)__m, (long long)__count);
}
static __inline __m64
*************** _mm_srai_pi16 (__m64 __m, int __count)
*** 321,327 ****
static __inline __m64
_mm_sra_pi32 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrad ((__v2si)__m, __count);
}
static __inline __m64
--- 323,329 ----
static __inline __m64
_mm_sra_pi32 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrad ((__v2si)__m, (long long)__count);
}
static __inline __m64
*************** _mm_srai_pi32 (__m64 __m, int __count)
*** 334,340 ****
static __inline __m64
_mm_srl_pi16 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, __count);
}
static __inline __m64
--- 336,342 ----
static __inline __m64
_mm_srl_pi16 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, (long long)__count);
}
static __inline __m64
*************** _mm_srli_pi16 (__m64 __m, int __count)
*** 347,353 ****
static __inline __m64
_mm_srl_pi32 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrld ((__v2si)__m, __count);
}
static __inline __m64
--- 349,355 ----
static __inline __m64
_mm_srl_pi32 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrld ((__v2si)__m, (long long)__count);
}
static __inline __m64
*************** _mm_srli_pi32 (__m64 __m, int __count)
*** 358,379 ****
/* Shift the 64-bit value in M left by COUNT; shift in zeros. */
static __inline __m64
! _mm_srl_pi64 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrlq (__m, __count);
}
static __inline __m64
! _mm_srli_pi64 (__m64 __m, int __count)
{
! return (__m64) __builtin_ia32_psrlq (__m, __count);
}
/* Bit-wise AND the 64-bit values in M1 and M2. */
static __inline __m64
_mm_and_si64 (__m64 __m1, __m64 __m2)
{
! return __builtin_ia32_pand (__m1, __m2);
}
/* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the
--- 360,381 ----
/* Shift the 64-bit value in M left by COUNT; shift in zeros. */
static __inline __m64
! _mm_srl_si64 (__m64 __m, __m64 __count)
{
! return (__m64) __builtin_ia32_psrlq ((long long)__m, (long long)__count);
}
static __inline __m64
! _mm_srli_si64 (__m64 __m, int __count)
{
! return (__m64) __builtin_ia32_psrlq ((long long)__m, (long long)__count);
}
/* Bit-wise AND the 64-bit values in M1 and M2. */
static __inline __m64
_mm_and_si64 (__m64 __m1, __m64 __m2)
{
! return (__m64) __builtin_ia32_pand ((long long)__m1, (long long)__m2);
}
/* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the
*************** _mm_and_si64 (__m64 __m1, __m64 __m2)
*** 381,401 ****
static __inline __m64
_mm_andnot_si64 (__m64 __m1, __m64 __m2)
{
! return __builtin_ia32_pandn (__m1, __m2);
}
/* Bit-wise inclusive OR the 64-bit values in M1 and M2. */
static __inline __m64
_mm_or_si64 (__m64 __m1, __m64 __m2)
{
! return __builtin_ia32_por (__m1, __m2);
}
/* Bit-wise exclusive OR the 64-bit values in M1 and M2. */
static __inline __m64
_mm_xor_si64 (__m64 __m1, __m64 __m2)
{
! return __builtin_ia32_pxor (__m1, __m2);
}
/* Compare eight 8-bit values. The result of the comparison is 0xFF if the
--- 383,403 ----
static __inline __m64
_mm_andnot_si64 (__m64 __m1, __m64 __m2)
{
! return (__m64) __builtin_ia32_pandn ((long long)__m1, (long long)__m2);
}
/* Bit-wise inclusive OR the 64-bit values in M1 and M2. */
static __inline __m64
_mm_or_si64 (__m64 __m1, __m64 __m2)
{
! return (__m64)__builtin_ia32_por ((long long)__m1, (long long)__m2);
}
/* Bit-wise exclusive OR the 64-bit values in M1 and M2. */
static __inline __m64
_mm_xor_si64 (__m64 __m1, __m64 __m2)
{
! return (__m64)__builtin_ia32_pxor ((long long)__m1, (long long)__m2);
}
/* Compare eight 8-bit values. The result of the comparison is 0xFF if the
*************** _mm_cmpgt_pi32 (__m64 __m1, __m64 __m2)
*** 444,450 ****
static __inline __m64
_mm_setzero_si64 (void)
{
! return __builtin_ia32_mmx_zero ();
}
/* Creates a vector of two 32-bit values; I0 is least significant. */
--- 446,452 ----
static __inline __m64
_mm_setzero_si64 (void)
{
! return (__m64)__builtin_ia32_mmx_zero ();
}
/* Creates a vector of two 32-bit values; I0 is least significant. */
diff -Nrc3pad gcc-3.2/gcc/config/i386/t-linux64 gcc-3.2.1/gcc/config/i386/t-linux64
*** gcc-3.2/gcc/config/i386/t-linux64 Wed May 8 23:23:20 2002
--- gcc-3.2.1/gcc/config/i386/t-linux64 Sat Oct 5 21:32:08 2002
*************** SHLIB_MAPFILES = $(srcdir)/libgcc-std.ve
*** 6,15 ****
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
-
- SHLIB_SLIBDIR_SUFFIXES = 64:64 32:
--- 6,14 ----
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
+ MULTILIB_OSDIRNAMES = ../lib64 ../lib
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
diff -Nrc3pad gcc-3.2/gcc/config/i386/winnt.c gcc-3.2.1/gcc/config/i386/winnt.c
*** gcc-3.2/gcc/config/i386/winnt.c Mon Dec 3 19:13:32 2001
--- gcc-3.2.1/gcc/config/i386/winnt.c Mon Sep 16 22:24:43 2002
*************** ix86_handle_dll_attribute (node, name, a
*** 76,81 ****
--- 76,90 ----
}
}
+ /* `extern' needn't be specified with dllimport.
+ Specify `extern' now and hope for the best. Sigh. */
+ else if (TREE_CODE (*node) == VAR_DECL
+ && is_attribute_p ("dllimport", name))
+ {
+ DECL_EXTERNAL (*node) = 1;
+ TREE_PUBLIC (*node) = 1;
+ }
+
return NULL_TREE;
}
*************** i386_pe_mark_dllimport (decl)
*** 300,315 ****
return;
}
- /* `extern' needn't be specified with dllimport.
- Specify `extern' now and hope for the best. Sigh. */
- if (TREE_CODE (decl) == VAR_DECL
- /* ??? Is this test for vtables needed? */
- && !DECL_VIRTUAL_P (decl))
- {
- DECL_EXTERNAL (decl) = 1;
- TREE_PUBLIC (decl) = 1;
- }
-
newname = alloca (strlen (oldname) + 11);
sprintf (newname, "@i._imp__%s", oldname);
--- 309,314 ----
diff -Nrc3pad gcc-3.2/gcc/config/i386/xmmintrin.h gcc-3.2.1/gcc/config/i386/xmmintrin.h
*** gcc-3.2/gcc/config/i386/xmmintrin.h Sat Jan 12 10:05:28 2002
--- gcc-3.2.1/gcc/config/i386/xmmintrin.h Sun Oct 27 09:28:12 2002
*************** _mm_cmple_ss (__m128 __A, __m128 __B)
*** 245,257 ****
static __inline __m128
_mm_cmpgt_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_cmpgtss ((__v4sf)__A, (__v4sf)__B);
}
static __inline __m128
_mm_cmpge_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_cmpgess ((__v4sf)__A, (__v4sf)__B);
}
static __inline __m128
--- 245,265 ----
static __inline __m128
_mm_cmpgt_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_movss ((__v4sf) __A,
! (__v4sf)
! __builtin_ia32_cmpltss ((__v4sf) __B,
! (__v4sf)
! __A));
}
static __inline __m128
_mm_cmpge_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_movss ((__v4sf) __A,
! (__v4sf)
! __builtin_ia32_cmpless ((__v4sf) __B,
! (__v4sf)
! __A));
}
static __inline __m128
*************** _mm_cmpnle_ss (__m128 __A, __m128 __B)
*** 275,287 ****
static __inline __m128
_mm_cmpngt_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_cmpngtss ((__v4sf)__A, (__v4sf)__B);
}
static __inline __m128
_mm_cmpnge_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_cmpngess ((__v4sf)__A, (__v4sf)__B);
}
static __inline __m128
--- 283,303 ----
static __inline __m128
_mm_cmpngt_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_movss ((__v4sf) __A,
! (__v4sf)
! __builtin_ia32_cmpnltss ((__v4sf) __B,
! (__v4sf)
! __A));
}
static __inline __m128
_mm_cmpnge_ss (__m128 __A, __m128 __B)
{
! return (__m128) __builtin_ia32_movss ((__v4sf) __A,
! (__v4sf)
! __builtin_ia32_cmpnless ((__v4sf) __B,
! (__v4sf)
! __A));
}
static __inline __m128
*************** _mm_prefetch (void *__P, enum _mm_hint _
*** 1017,1023 ****
static __inline void
_mm_stream_pi (__m64 *__P, __m64 __A)
{
! __builtin_ia32_movntq (__P, __A);
}
/* Likewise. The address must be 16-byte aligned. */
--- 1033,1039 ----
static __inline void
_mm_stream_pi (__m64 *__P, __m64 __A)
{
! __builtin_ia32_movntq (__P, (long long)__A);
}
/* Likewise. The address must be 16-byte aligned. */
*************** _mm_pause (void)
*** 1049,1056 ****
do { \
__v4sf __r0 = (row0), __r1 = (row1), __r2 = (row2), __r3 = (row3); \
__v4sf __t0 = __builtin_ia32_shufps (__r0, __r1, 0x44); \
! __v4sf __t1 = __builtin_ia32_shufps (__r0, __r1, 0xEE); \
! __v4sf __t2 = __builtin_ia32_shufps (__r2, __r3, 0x44); \
__v4sf __t3 = __builtin_ia32_shufps (__r2, __r3, 0xEE); \
(row0) = __builtin_ia32_shufps (__t0, __t1, 0x88); \
(row1) = __builtin_ia32_shufps (__t0, __t1, 0xDD); \
--- 1065,1072 ----
do { \
__v4sf __r0 = (row0), __r1 = (row1), __r2 = (row2), __r3 = (row3); \
__v4sf __t0 = __builtin_ia32_shufps (__r0, __r1, 0x44); \
! __v4sf __t2 = __builtin_ia32_shufps (__r0, __r1, 0xEE); \
! __v4sf __t1 = __builtin_ia32_shufps (__r2, __r3, 0x44); \
__v4sf __t3 = __builtin_ia32_shufps (__r2, __r3, 0xEE); \
(row0) = __builtin_ia32_shufps (__t0, __t1, 0x88); \
(row1) = __builtin_ia32_shufps (__t0, __t1, 0xDD); \
diff -Nrc3pad gcc-3.2/gcc/config/m68hc11/m68hc11.md gcc-3.2.1/gcc/config/m68hc11/m68hc11.md
*** gcc-3.2/gcc/config/m68hc11/m68hc11.md Fri Jul 12 20:43:54 2002
--- gcc-3.2.1/gcc/config/m68hc11/m68hc11.md Sat Sep 14 12:06:58 2002
***************
*** 651,657 ****
")
(define_insn "movdi_internal"
! [(set (match_operand:DI 0 "nonimmediate_operand" "=uS,U,!u,U,m,m,!u")
(match_operand:DI 1 "general_operand" "K,iU,iU,!u,mi,!u,!mu"))
(clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))]
""
--- 651,657 ----
")
(define_insn "movdi_internal"
! [(set (match_operand:DI 0 "nonimmediate_operand" "=ou,U,!u,U,m,m,!u")
(match_operand:DI 1 "general_operand" "K,iU,iU,!u,mi,!u,!mu"))
(clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))]
""
***************
*** 687,693 ****
")
(define_insn "movdf_internal"
! [(set (match_operand:DF 0 "nonimmediate_operand" "=uS,U,!u,U,m,m,!u")
(match_operand:DF 1 "general_operand" "G,iU,iU,!u,mi,!u,!mu"))
(clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))]
""
--- 687,693 ----
")
(define_insn "movdf_internal"
! [(set (match_operand:DF 0 "nonimmediate_operand" "=ou,U,!u,U,m,m,!u")
(match_operand:DF 1 "general_operand" "G,iU,iU,!u,mi,!u,!mu"))
(clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))]
""
***************
*** 732,738 ****
")
(define_insn "movsi_internal"
! [(set (match_operand:SI 0 "nonimmediate_operand" "=uS,mu,?D,m,?D,?u,?u,!u,D")
(match_operand:SI 1 "general_operand" "K,imu,im,?D,!u,?D,mi,!u,!D"))
(clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))]
""
--- 732,738 ----
")
(define_insn "movsi_internal"
! [(set (match_operand:SI 0 "nonimmediate_operand" "=ou,mu,?D,m,?D,?u,?u,!u,D")
(match_operand:SI 1 "general_operand" "K,imu,im,?D,!u,?D,mi,!u,!D"))
(clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))]
""
***************
*** 768,774 ****
")
(define_insn "movsf_internal"
! [(set (match_operand:SF 0 "nonimmediate_operand" "=S!u,m,D,m,D,!u,!u,!u,D")
(match_operand:SF 1 "general_operand" "G,im,im,D,!u,D,mi,!u,!D"))
(clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))]
""
--- 768,774 ----
")
(define_insn "movsf_internal"
! [(set (match_operand:SF 0 "nonimmediate_operand" "=o!u,m,D,m,D,!u,!u,!u,D")
(match_operand:SF 1 "general_operand" "G,im,im,D,!u,D,mi,!u,!D"))
(clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))]
""
diff -Nrc3pad gcc-3.2/gcc/config/m68k/t-crtstuff gcc-3.2.1/gcc/config/m68k/t-crtstuff
*** gcc-3.2/gcc/config/m68k/t-crtstuff Tue Sep 14 09:52:09 1999
--- gcc-3.2.1/gcc/config/m68k/t-crtstuff Mon Nov 11 06:01:39 2002
***************
*** 1,11 ****
- # from ../t-svr4
- EXTRA_PARTS=crtbegin.o crtend.o crti.o crtn.o
-
# Add flags here as required.
CRTSTUFF_T_CFLAGS =
# Assemble startup files.
! crti.o: $(srcdir)/config/m68k/crti.s $(GCC_PASSES)
! $(GCC_FOR_TARGET) -c -o crti.o $(srcdir)/config/m68k/crti.s
! crtn.o: $(srcdir)/config/m68k/crtn.s $(GCC_PASSES)
! $(GCC_FOR_TARGET) -c -o crtn.o $(srcdir)/config/m68k/crtn.s
--- 1,8 ----
# Add flags here as required.
CRTSTUFF_T_CFLAGS =
# Assemble startup files.
! $(T)crti.o: $(srcdir)/config/m68k/crti.s $(GCC_PASSES)
! $(GCC_FOR_TARGET) -c -o $(T)crti.o $(srcdir)/config/m68k/crti.s
! $(T)crtn.o: $(srcdir)/config/m68k/crtn.s $(GCC_PASSES)
! $(GCC_FOR_TARGET) -c -o $(T)crtn.o $(srcdir)/config/m68k/crtn.s
diff -Nrc3pad gcc-3.2/gcc/config/mips/mips.md gcc-3.2.1/gcc/config/mips/mips.md
*** gcc-3.2/gcc/config/mips/mips.md Wed Apr 24 17:40:50 2002
--- gcc-3.2.1/gcc/config/mips/mips.md Mon Nov 11 05:57:14 2002
*************** move\\t%0,%z4\\n\\
*** 4882,4888 ****
if ((INTVAL (offset) & 7) == 0
&& (mem_addr == stack_pointer_rtx || mem_addr == frame_pointer_rtx))
! return \"sd\\t%1,%0\";
return \"usd\\t%z1,%0\";
}"
--- 4882,4888 ----
if ((INTVAL (offset) & 7) == 0
&& (mem_addr == stack_pointer_rtx || mem_addr == frame_pointer_rtx))
! return \"sd\\t%z1,%0\";
return \"usd\\t%z1,%0\";
}"
diff -Nrc3pad gcc-3.2/gcc/config/mips/t-iris6 gcc-3.2.1/gcc/config/mips/t-iris6
*** gcc-3.2/gcc/config/mips/t-iris6 Fri May 10 15:22:05 2002
--- gcc-3.2.1/gcc/config/mips/t-iris6 Tue Nov 12 11:14:07 2002
***************
*** 4,9 ****
--- 4,10 ----
MULTILIB_OPTIONS=mabi=n32/mabi=64
MULTILIB_DIRNAMES=
MULTILIB_MATCHES=
+ MULTILIB_OSDIRNAMES=. mabi=64
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
*************** SHLIB_NAME = @shlib_dir@@shlib_so_name@.
*** 22,28 ****
SHLIB_MAP = @shlib_map_file@
SHLIB_OBJS = @shlib_objs@
SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
- SHLIB_SLIBDIR_SUFFIXES = mabi=64:/mabi=64 mabi=n32:
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,-soname,$(SHLIB_SONAME) \
--- 23,28 ----
diff -Nrc3pad gcc-3.2/gcc/config/rs6000/linux64.h gcc-3.2.1/gcc/config/rs6000/linux64.h
*** gcc-3.2/gcc/config/rs6000/linux64.h Thu Aug 8 17:52:40 2002
--- gcc-3.2.1/gcc/config/rs6000/linux64.h Sat Sep 14 00:26:39 2002
*************** Boston, MA 02111-1307, USA. */
*** 37,42 ****
--- 37,48 ----
#undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "-mppc64"
+ #undef ASM_SPEC
+ #define ASM_SPEC "%{.s: %{mregnames} %{mno-regnames}} \
+ %{.S: %{mregnames} %{mno-regnames}} \
+ %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} \
+ %{v:-V} %{Qy:} %{!Qn:-Qy} -a64 %(asm_cpu) %{Wa,*:%*}"
+
/* 64-bit PowerPC Linux always has a TOC. */
#undef TARGET_NO_TOC
#define TARGET_NO_TOC 0
*************** Boston, MA 02111-1307, USA. */
*** 65,70 ****
--- 71,77 ----
#define USER_LABEL_PREFIX ""
/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */
+ #undef ADJUST_FIELD_ALIGN
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
(TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
? get_inner_array_type (FIELD) \
*************** do \
*** 327,329 ****
--- 334,382 ----
sym_lineno += 1; \
} \
while (0)
+
+ /* Similarly, we want the function code label here. */
+ #define DBX_OUTPUT_BRAC(FILE, NAME, BRAC) \
+ do \
+ { \
+ const char *flab; \
+ fprintf (FILE, "%s%d,0,0,", ASM_STABN_OP, BRAC); \
+ assemble_name (FILE, NAME); \
+ putc ('-', FILE); \
+ if (current_function_func_begin_label != NULL_TREE) \
+ flab = IDENTIFIER_POINTER (current_function_func_begin_label); \
+ else \
+ { \
+ putc ('.', FILE); \
+ flab = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0); \
+ } \
+ assemble_name (FILE, flab); \
+ putc ('\n', FILE); \
+ } \
+ while (0)
+
+ #define DBX_OUTPUT_LBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_LBRAC)
+ #define DBX_OUTPUT_RBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_RBRAC)
+
+ /* Another case where we want the dot name. */
+ #define DBX_OUTPUT_NFUN(FILE, LSCOPE, DECL) \
+ do \
+ { \
+ fprintf (FILE, "%s\"\",%d,0,0,", ASM_STABS_OP, N_FUN); \
+ assemble_name (FILE, LSCOPE); \
+ fputs ("-.", FILE); \
+ assemble_name (FILE, XSTR (XEXP (DECL_RTL (DECL), 0), 0)); \
+ putc ('\n', FILE); \
+ } \
+ while (0)
+
+ /* Override sysv4.h as these are ABI_V4 only. */
+ #undef ASM_OUTPUT_REG_PUSH
+ #undef ASM_OUTPUT_REG_POP
+
+ /* Select a format to encode pointers in exception handling data. CODE
+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
+ true if the symbol may be affected by dynamic relocations. */
+ #undef ASM_PREFERRED_EH_DATA_FORMAT
+ #define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
+ (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_udata8)
diff -Nrc3pad gcc-3.2/gcc/config/rs6000/rs6000.c gcc-3.2.1/gcc/config/rs6000/rs6000.c
*** gcc-3.2/gcc/config/rs6000/rs6000.c Thu Aug 8 14:51:47 2002
--- gcc-3.2.1/gcc/config/rs6000/rs6000.c Thu Nov 7 07:04:20 2002
*************** static int rs6000_sr_alias_set;
*** 120,126 ****
static void rs6000_add_gc_roots PARAMS ((void));
static int num_insns_constant_wide PARAMS ((HOST_WIDE_INT));
- static rtx expand_block_move_mem PARAMS ((enum machine_mode, rtx, rtx));
static void validate_condition_mode
PARAMS ((enum rtx_code, enum machine_mode));
static rtx rs6000_generate_compare PARAMS ((enum rtx_code));
--- 120,125 ----
*************** rs6000_legitimate_address (mode, x, reg_
*** 2012,2017 ****
--- 2011,2017 ----
if (LEGITIMATE_INDIRECT_ADDRESS_P (x, reg_ok_strict))
return 1;
if ((GET_CODE (x) == PRE_INC || GET_CODE (x) == PRE_DEC)
+ && !ALTIVEC_VECTOR_MODE (mode)
&& TARGET_UPDATE
&& LEGITIMATE_INDIRECT_ADDRESS_P (XEXP (x, 0), reg_ok_strict))
return 1;
*************** altivec_init_builtins (void)
*** 4909,4929 ****
}
- /* Generate a memory reference for expand_block_move, copying volatile,
- and other bits from an original memory reference. */
-
- static rtx
- expand_block_move_mem (mode, addr, orig_mem)
- enum machine_mode mode;
- rtx addr;
- rtx orig_mem;
- {
- rtx mem = gen_rtx_MEM (mode, addr);
-
- MEM_COPY_ATTRIBUTES (mem, orig_mem);
- return mem;
- }
-
/* Expand a block move operation, and return 1 if successful. Return 0
if we should let the compiler generate normal code.
--- 4909,4914 ----
*************** expand_block_move (operands)
*** 4946,4959 ****
int align;
int bytes;
int offset;
- int num_reg;
- int i;
- rtx src_reg;
- rtx dest_reg;
- rtx src_addr;
- rtx dest_addr;
- rtx tmp_reg;
- rtx stores[MAX_MOVE_REG];
int move_bytes;
/* If this is not a fixed size move, just call memcpy */
--- 4931,4936 ----
*************** expand_block_move (operands)
*** 4975,4988 ****
if (bytes > (TARGET_POWERPC64 ? 64 : 32))
return 0;
- /* Move the address into scratch registers. */
- dest_reg = copy_addr_to_reg (XEXP (orig_dest, 0));
- src_reg = copy_addr_to_reg (XEXP (orig_src, 0));
-
if (TARGET_STRING) /* string instructions are available */
{
! for ( ; bytes > 0; bytes -= move_bytes)
{
if (bytes > 24 /* move up to 32 bytes at a time */
&& ! fixed_regs[5]
&& ! fixed_regs[6]
--- 4952,4968 ----
if (bytes > (TARGET_POWERPC64 ? 64 : 32))
return 0;
if (TARGET_STRING) /* string instructions are available */
{
! for (offset = 0; bytes > 0; offset += move_bytes, bytes -= move_bytes)
{
+ union {
+ rtx (*movstrsi) PARAMS ((rtx, rtx, rtx, rtx));
+ rtx (*mov) PARAMS ((rtx, rtx));
+ } gen_func;
+ enum machine_mode mode = BLKmode;
+ rtx src, dest;
+
if (bytes > 24 /* move up to 32 bytes at a time */
&& ! fixed_regs[5]
&& ! fixed_regs[6]
*************** expand_block_move (operands)
*** 4994,5008 ****
&& ! fixed_regs[12])
{
move_bytes = (bytes > 32) ? 32 : bytes;
! emit_insn (gen_movstrsi_8reg (expand_block_move_mem (BLKmode,
! dest_reg,
! orig_dest),
! expand_block_move_mem (BLKmode,
! src_reg,
! orig_src),
! GEN_INT ((move_bytes == 32)
! ? 0 : move_bytes),
! align_rtx));
}
else if (bytes > 16 /* move up to 24 bytes at a time */
&& ! fixed_regs[5]
--- 4974,4980 ----
&& ! fixed_regs[12])
{
move_bytes = (bytes > 32) ? 32 : bytes;
! gen_func.movstrsi = gen_movstrsi_8reg;
}
else if (bytes > 16 /* move up to 24 bytes at a time */
&& ! fixed_regs[5]
*************** expand_block_move (operands)
*** 5013,5026 ****
&& ! fixed_regs[10])
{
move_bytes = (bytes > 24) ? 24 : bytes;
! emit_insn (gen_movstrsi_6reg (expand_block_move_mem (BLKmode,
! dest_reg,
! orig_dest),
! expand_block_move_mem (BLKmode,
! src_reg,
! orig_src),
! GEN_INT (move_bytes),
! align_rtx));
}
else if (bytes > 8 /* move up to 16 bytes at a time */
&& ! fixed_regs[5]
--- 4985,4991 ----
&& ! fixed_regs[10])
{
move_bytes = (bytes > 24) ? 24 : bytes;
! gen_func.movstrsi = gen_movstrsi_6reg;
}
else if (bytes > 8 /* move up to 16 bytes at a time */
&& ! fixed_regs[5]
*************** expand_block_move (operands)
*** 5029,5042 ****
&& ! fixed_regs[8])
{
move_bytes = (bytes > 16) ? 16 : bytes;
! emit_insn (gen_movstrsi_4reg (expand_block_move_mem (BLKmode,
! dest_reg,
! orig_dest),
! expand_block_move_mem (BLKmode,
! src_reg,
! orig_src),
! GEN_INT (move_bytes),
! align_rtx));
}
else if (bytes >= 8 && TARGET_POWERPC64
/* 64-bit loads and stores require word-aligned
--- 4994,5000 ----
&& ! fixed_regs[8])
{
move_bytes = (bytes > 16) ? 16 : bytes;
! gen_func.movstrsi = gen_movstrsi_4reg;
}
else if (bytes >= 8 && TARGET_POWERPC64
/* 64-bit loads and stores require word-aligned
*************** expand_block_move (operands)
*** 5044,5151 ****
&& (align >= 8 || (! STRICT_ALIGNMENT && align >= 4)))
{
move_bytes = 8;
! tmp_reg = gen_reg_rtx (DImode);
! emit_move_insn (tmp_reg,
! expand_block_move_mem (DImode,
! src_reg, orig_src));
! emit_move_insn (expand_block_move_mem (DImode,
! dest_reg, orig_dest),
! tmp_reg);
}
else if (bytes > 4 && !TARGET_POWERPC64)
{ /* move up to 8 bytes at a time */
move_bytes = (bytes > 8) ? 8 : bytes;
! emit_insn (gen_movstrsi_2reg (expand_block_move_mem (BLKmode,
! dest_reg,
! orig_dest),
! expand_block_move_mem (BLKmode,
! src_reg,
! orig_src),
! GEN_INT (move_bytes),
! align_rtx));
}
else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT))
{ /* move 4 bytes */
move_bytes = 4;
! tmp_reg = gen_reg_rtx (SImode);
! emit_move_insn (tmp_reg,
! expand_block_move_mem (SImode,
! src_reg, orig_src));
! emit_move_insn (expand_block_move_mem (SImode,
! dest_reg, orig_dest),
! tmp_reg);
}
else if (bytes == 2 && (align >= 2 || ! STRICT_ALIGNMENT))
{ /* move 2 bytes */
move_bytes = 2;
! tmp_reg = gen_reg_rtx (HImode);
! emit_move_insn (tmp_reg,
! expand_block_move_mem (HImode,
! src_reg, orig_src));
! emit_move_insn (expand_block_move_mem (HImode,
! dest_reg, orig_dest),
! tmp_reg);
}
else if (bytes == 1) /* move 1 byte */
{
move_bytes = 1;
! tmp_reg = gen_reg_rtx (QImode);
! emit_move_insn (tmp_reg,
! expand_block_move_mem (QImode,
! src_reg, orig_src));
! emit_move_insn (expand_block_move_mem (QImode,
! dest_reg, orig_dest),
! tmp_reg);
}
else
{ /* move up to 4 bytes at a time */
move_bytes = (bytes > 4) ? 4 : bytes;
! emit_insn (gen_movstrsi_1reg (expand_block_move_mem (BLKmode,
! dest_reg,
! orig_dest),
! expand_block_move_mem (BLKmode,
! src_reg,
! orig_src),
! GEN_INT (move_bytes),
! align_rtx));
}
! if (bytes > move_bytes)
{
! if (! TARGET_POWERPC64)
{
! emit_insn (gen_addsi3 (src_reg, src_reg,
! GEN_INT (move_bytes)));
! emit_insn (gen_addsi3 (dest_reg, dest_reg,
! GEN_INT (move_bytes)));
}
! else
{
! emit_insn (gen_adddi3 (src_reg, src_reg,
! GEN_INT (move_bytes)));
! emit_insn (gen_adddi3 (dest_reg, dest_reg,
! GEN_INT (move_bytes)));
}
}
}
}
else /* string instructions not available */
{
! num_reg = offset = 0;
! for ( ; bytes > 0; (bytes -= move_bytes), (offset += move_bytes))
{
! /* Calculate the correct offset for src/dest */
! if (offset == 0)
! {
! src_addr = src_reg;
! dest_addr = dest_reg;
! }
! else
! {
! src_addr = plus_constant (src_reg, offset);
! dest_addr = plus_constant (dest_reg, offset);
! }
/* Generate the appropriate load and store, saving the stores
for later. */
--- 5002,5085 ----
&& (align >= 8 || (! STRICT_ALIGNMENT && align >= 4)))
{
move_bytes = 8;
! mode = DImode;
! gen_func.mov = gen_movdi;
}
else if (bytes > 4 && !TARGET_POWERPC64)
{ /* move up to 8 bytes at a time */
move_bytes = (bytes > 8) ? 8 : bytes;
! gen_func.movstrsi = gen_movstrsi_2reg;
}
else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT))
{ /* move 4 bytes */
move_bytes = 4;
! mode = SImode;
! gen_func.mov = gen_movsi;
}
else if (bytes == 2 && (align >= 2 || ! STRICT_ALIGNMENT))
{ /* move 2 bytes */
move_bytes = 2;
! mode = HImode;
! gen_func.mov = gen_movhi;
}
else if (bytes == 1) /* move 1 byte */
{
move_bytes = 1;
! mode = QImode;
! gen_func.mov = gen_movqi;
}
else
{ /* move up to 4 bytes at a time */
move_bytes = (bytes > 4) ? 4 : bytes;
! gen_func.movstrsi = gen_movstrsi_1reg;
}
! src = adjust_address (orig_src, mode, offset);
! dest = adjust_address (orig_dest, mode, offset);
!
! if (mode == BLKmode)
{
! /* Move the address into scratch registers. The movstrsi
! patterns require zero offset. */
! if (!REG_P (XEXP (src, 0)))
{
! rtx src_reg = copy_addr_to_reg (XEXP (src, 0));
! src = replace_equiv_address (src, src_reg);
}
! set_mem_size (src, GEN_INT (move_bytes));
!
! if (!REG_P (XEXP (dest, 0)))
{
! rtx dest_reg = copy_addr_to_reg (XEXP (dest, 0));
! dest = replace_equiv_address (dest, dest_reg);
}
+ set_mem_size (dest, GEN_INT (move_bytes));
+
+ emit_insn ((*gen_func.movstrsi) (dest, src,
+ GEN_INT (move_bytes & 31),
+ align_rtx));
+ }
+ else
+ {
+ rtx tmp_reg = gen_reg_rtx (mode);
+
+ emit_insn ((*gen_func.mov) (tmp_reg, src));
+ emit_insn ((*gen_func.mov) (dest, tmp_reg));
}
}
}
else /* string instructions not available */
{
! rtx stores[MAX_MOVE_REG];
! int num_reg = 0;
! int i;
!
! for (offset = 0; bytes > 0; offset += move_bytes, bytes -= move_bytes)
{
! rtx (*gen_mov_func) PARAMS ((rtx, rtx));
! enum machine_mode mode;
! rtx src, dest, tmp_reg;
/* Generate the appropriate load and store, saving the stores
for later. */
*************** expand_block_move (operands)
*** 5155,5210 ****
&& (align >= 8 || (! STRICT_ALIGNMENT && align >= 4)))
{
move_bytes = 8;
! tmp_reg = gen_reg_rtx (DImode);
! emit_insn (gen_movdi (tmp_reg,
! expand_block_move_mem (DImode,
! src_addr,
! orig_src)));
! stores[num_reg++] = gen_movdi (expand_block_move_mem (DImode,
! dest_addr,
! orig_dest),
! tmp_reg);
}
else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT))
{
move_bytes = 4;
! tmp_reg = gen_reg_rtx (SImode);
! emit_insn (gen_movsi (tmp_reg,
! expand_block_move_mem (SImode,
! src_addr,
! orig_src)));
! stores[num_reg++] = gen_movsi (expand_block_move_mem (SImode,
! dest_addr,
! orig_dest),
! tmp_reg);
}
else if (bytes >= 2 && (align >= 2 || ! STRICT_ALIGNMENT))
{
move_bytes = 2;
! tmp_reg = gen_reg_rtx (HImode);
! emit_insn (gen_movhi (tmp_reg,
! expand_block_move_mem (HImode,
! src_addr,
! orig_src)));
! stores[num_reg++] = gen_movhi (expand_block_move_mem (HImode,
! dest_addr,
! orig_dest),
! tmp_reg);
}
else
{
move_bytes = 1;
! tmp_reg = gen_reg_rtx (QImode);
! emit_insn (gen_movqi (tmp_reg,
! expand_block_move_mem (QImode,
! src_addr,
! orig_src)));
! stores[num_reg++] = gen_movqi (expand_block_move_mem (QImode,
! dest_addr,
! orig_dest),
! tmp_reg);
}
if (num_reg >= MAX_MOVE_REG)
{
for (i = 0; i < num_reg; i++)
--- 5089,5123 ----
&& (align >= 8 || (! STRICT_ALIGNMENT && align >= 4)))
{
move_bytes = 8;
! mode = DImode;
! gen_mov_func = gen_movdi;
}
else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT))
{
move_bytes = 4;
! mode = SImode;
! gen_mov_func = gen_movsi;
}
else if (bytes >= 2 && (align >= 2 || ! STRICT_ALIGNMENT))
{
move_bytes = 2;
! mode = HImode;
! gen_mov_func = gen_movhi;
}
else
{
move_bytes = 1;
! mode = QImode;
! gen_mov_func = gen_movqi;
}
+ src = adjust_address (orig_src, mode, offset);
+ dest = adjust_address (orig_dest, mode, offset);
+ tmp_reg = gen_reg_rtx (mode);
+
+ emit_insn ((*gen_mov_func) (tmp_reg, src));
+ stores[num_reg++] = (*gen_mov_func) (dest, tmp_reg);
+
if (num_reg >= MAX_MOVE_REG)
{
for (i = 0; i < num_reg; i++)
*************** rs6000_reverse_condition (mode, code)
*** 7008,7014 ****
{
/* Reversal of FP compares takes care -- an ordered compare
becomes an unordered compare and vice versa. */
! if (mode == CCFPmode)
return reverse_condition_maybe_unordered (code);
else
return reverse_condition (code);
--- 6921,6927 ----
{
/* Reversal of FP compares takes care -- an ordered compare
becomes an unordered compare and vice versa. */
! if (mode == CCFPmode && !flag_unsafe_math_optimizations)
return reverse_condition_maybe_unordered (code);
else
return reverse_condition (code);
*************** output_cbranch (op, label, reversed, ins
*** 7161,7167 ****
reverse_condition_maybe_unordered here always but this
makes the resulting assembler clearer. */
if (really_reversed)
! code = rs6000_reverse_condition (mode, code);
switch (code)
{
--- 7074,7087 ----
reverse_condition_maybe_unordered here always but this
makes the resulting assembler clearer. */
if (really_reversed)
! {
! /* Reversal of FP compares takes care -- an ordered compare
! becomes an unordered compare and vice versa. */
! if (mode == CCFPmode)
! code = reverse_condition_maybe_unordered (code);
! else
! code = reverse_condition (code);
! }
switch (code)
{
*************** first_reg_to_save ()
*** 7434,7486 ****
|| (DEFAULT_ABI == ABI_DARWIN && flag_pic)))))
break;
- if (current_function_profile)
- {
- /* AIX must save/restore every register that contains a parameter
- before/after the .__mcount call plus an additional register
- for the static chain, if needed; use registers from 30 down to 22
- to do this. */
- if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_DARWIN)
- {
- int last_parm_reg, profile_first_reg;
-
- /* Figure out last used parameter register. The proper thing
- to do is to walk incoming args of the function. A function
- might have live parameter registers even if it has no
- incoming args. */
- for (last_parm_reg = 10;
- last_parm_reg > 2 && ! regs_ever_live [last_parm_reg];
- last_parm_reg--)
- ;
-
- /* Calculate first reg for saving parameter registers
- and static chain.
- Skip reg 31 which may contain the frame pointer. */
- profile_first_reg = (33 - last_parm_reg
- - (current_function_needs_context ? 1 : 0));
- #if TARGET_MACHO
- /* Need to skip another reg to account for R31 being PICBASE
- (when flag_pic is set) or R30 being used as the frame
- pointer (when flag_pic is not set). */
- --profile_first_reg;
- #endif
- /* Do not save frame pointer if no parameters needs to be saved. */
- if (profile_first_reg == 31)
- profile_first_reg = 32;
-
- if (first_reg > profile_first_reg)
- first_reg = profile_first_reg;
- }
-
- /* SVR4 may need one register to preserve the static chain. */
- else if (current_function_needs_context)
- {
- /* Skip reg 31 which may contain the frame pointer. */
- if (first_reg > 30)
- first_reg = 30;
- }
- }
-
#if TARGET_MACHO
if (flag_pic && current_function_uses_pic_offset_table &&
(first_reg > RS6000_PIC_OFFSET_TABLE_REGNUM))
--- 7354,7359 ----
*************** rs6000_emit_load_toc_table (fromprolog)
*** 8124,8214 ****
rtx dest;
dest = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM);
! if (TARGET_ELF && DEFAULT_ABI != ABI_AIX)
{
! if (DEFAULT_ABI == ABI_V4 && flag_pic == 1)
{
! rtx temp = (fromprolog
! ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM)
! : gen_reg_rtx (Pmode));
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_pic_si (temp)));
! rs6000_maybe_dead (emit_move_insn (dest, temp));
}
- else if (flag_pic == 2)
- {
- char buf[30];
- rtx tempLR = (fromprolog
- ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM)
- : gen_reg_rtx (Pmode));
- rtx temp0 = (fromprolog
- ? gen_rtx_REG (Pmode, 0)
- : gen_reg_rtx (Pmode));
- rtx symF;
! /* possibly create the toc section */
! if (! toc_initialized)
! {
! toc_section ();
! function_section (current_function_decl);
! }
!
! if (fromprolog)
! {
! rtx symL;
!
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno);
! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCL", rs6000_pic_labelno);
! symL = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1 (tempLR,
! symF)));
! rs6000_maybe_dead (emit_move_insn (dest, tempLR));
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_2 (temp0, dest,
! symL,
! symF)));
! }
! else
! {
! rtx tocsym;
! static int reload_toc_labelno = 0;
! tocsym = gen_rtx_SYMBOL_REF (Pmode, toc_label_name);
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCG", reload_toc_labelno++);
! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1b (tempLR,
! symF,
! tocsym)));
! rs6000_maybe_dead (emit_move_insn (dest, tempLR));
! rs6000_maybe_dead (emit_move_insn (temp0,
! gen_rtx_MEM (Pmode, dest)));
! }
! rs6000_maybe_dead (emit_insn (gen_addsi3 (dest, temp0, dest)));
! }
! else if (flag_pic == 0 && TARGET_MINIMAL_TOC)
! {
! /* This is for AIX code running in non-PIC ELF. */
! char buf[30];
! rtx realsym;
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1);
! realsym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
!
! rs6000_maybe_dead (emit_insn (gen_elf_high (dest, realsym)));
! rs6000_maybe_dead (emit_insn (gen_elf_low (dest, dest, realsym)));
}
! else
! abort ();
}
! else
{
if (TARGET_32BIT)
! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_si (dest)));
else
! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_di (dest)));
}
}
int
--- 7997,8084 ----
rtx dest;
dest = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM);
! if (TARGET_ELF && DEFAULT_ABI == ABI_V4 && flag_pic == 1)
{
! rtx temp = (fromprolog
! ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM)
! : gen_reg_rtx (Pmode));
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_pic_si (temp)));
! rs6000_maybe_dead (emit_move_insn (dest, temp));
! }
! else if (TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2)
! {
! char buf[30];
! rtx tempLR = (fromprolog
! ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM)
! : gen_reg_rtx (Pmode));
! rtx temp0 = (fromprolog
! ? gen_rtx_REG (Pmode, 0)
! : gen_reg_rtx (Pmode));
! rtx symF;
!
! /* possibly create the toc section */
! if (! toc_initialized)
{
! toc_section ();
! function_section (current_function_decl);
}
! if (fromprolog)
! {
! rtx symL;
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno);
! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCL", rs6000_pic_labelno);
! symL = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1 (tempLR,
! symF)));
! rs6000_maybe_dead (emit_move_insn (dest, tempLR));
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_2 (temp0, dest,
! symL,
! symF)));
! }
! else
! {
! rtx tocsym;
! static int reload_toc_labelno = 0;
! tocsym = gen_rtx_SYMBOL_REF (Pmode, toc_label_name);
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCG", reload_toc_labelno++);
! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
!
! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1b (tempLR,
! symF,
! tocsym)));
! rs6000_maybe_dead (emit_move_insn (dest, tempLR));
! rs6000_maybe_dead (emit_move_insn (temp0,
! gen_rtx_MEM (Pmode, dest)));
}
! rs6000_maybe_dead (emit_insn (gen_addsi3 (dest, temp0, dest)));
}
! else if (TARGET_ELF && !TARGET_AIX && flag_pic == 0 && TARGET_MINIMAL_TOC)
! {
! /* This is for AIX code running in non-PIC ELF32. */
! char buf[30];
! rtx realsym;
! ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1);
! realsym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
!
! rs6000_maybe_dead (emit_insn (gen_elf_high (dest, realsym)));
! rs6000_maybe_dead (emit_insn (gen_elf_low (dest, dest, realsym)));
! }
! else if (DEFAULT_ABI == ABI_AIX)
{
if (TARGET_32BIT)
! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_si (dest)));
else
! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_di (dest)));
}
+ else
+ abort ();
}
int
*************** output_mi_thunk (file, thunk_fndecl, del
*** 9735,9757 ****
fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta);
}
/* Large constants that can be done by one addis instruction. */
! else if ((delta & 0xffff) == 0 && num_insns_constant_wide (delta) == 1)
asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg,
delta >> 16);
/* 32-bit constants that can be done by an add and addis instruction. */
! else if (TARGET_32BIT || num_insns_constant_wide (delta) == 1)
{
/* Break into two pieces, propagating the sign bit from the low
word to the upper word. */
! int delta_high = delta >> 16;
! int delta_low = delta & 0xffff;
! if ((delta_low & 0x8000) != 0)
! {
! delta_high++;
! delta_low = (delta_low ^ 0x8000) - 0x8000; /* sign extend */
! }
asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg,
delta_high);
--- 9605,9626 ----
fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta);
}
+ /* 64-bit constants. If "int" is 32 bits, we'll never hit this abort. */
+ else if (TARGET_64BIT && (delta < -2147483647 - 1 || delta > 2147483647))
+ abort ();
+
/* Large constants that can be done by one addis instruction. */
! else if ((delta & 0xffff) == 0)
asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg,
delta >> 16);
/* 32-bit constants that can be done by an add and addis instruction. */
! else
{
/* Break into two pieces, propagating the sign bit from the low
word to the upper word. */
! int delta_low = ((delta & 0xffff) ^ 0x8000) - 0x8000;
! int delta_high = (delta - delta_low) >> 16;
asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg,
delta_high);
*************** output_mi_thunk (file, thunk_fndecl, del
*** 9762,9771 ****
fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta_low);
}
- /* 64-bit constants, fixme */
- else
- abort ();
-
/* Get the prefix in front of the names. */
switch (DEFAULT_ABI)
{
--- 9631,9636 ----
*************** output_mi_thunk (file, thunk_fndecl, del
*** 9821,9827 ****
}
assemble_name (file, fname);
putc ('\n', file);
! text_section ();
if (TARGET_MINIMAL_TOC)
asm_fprintf (file, (TARGET_32BIT)
? "\t{l|lwz} %s,%s(%s)\n" : "\tld %s,%s(%s)\n", r12,
--- 9686,9695 ----
}
assemble_name (file, fname);
putc ('\n', file);
! if (TARGET_ELF)
! function_section (current_function_decl);
! else
! text_section ();
if (TARGET_MINIMAL_TOC)
asm_fprintf (file, (TARGET_32BIT)
? "\t{l|lwz} %s,%s(%s)\n" : "\tld %s,%s(%s)\n", r12,
*************** output_toc (file, x, labelno, mode)
*** 10240,10247 ****
abort ();/* It would be easy to make this work, but it doesn't now. */
if (POINTER_SIZE > GET_MODE_BITSIZE (mode))
! lshift_double (low, high, POINTER_SIZE - GET_MODE_BITSIZE (mode),
! POINTER_SIZE, &low, &high, 0);
if (TARGET_64BIT)
{
--- 10108,10124 ----
abort ();/* It would be easy to make this work, but it doesn't now. */
if (POINTER_SIZE > GET_MODE_BITSIZE (mode))
! {
! #if HOST_BITS_PER_WIDE_INT == 32
! lshift_double (low, high, POINTER_SIZE - GET_MODE_BITSIZE (mode),
! POINTER_SIZE, &low, &high, 0);
! #else
! low |= high << 32;
! low <<= POINTER_SIZE - GET_MODE_BITSIZE (mode);
! high = (HOST_WIDE_INT) low >> 32;
! low &= 0xffffffff;
! #endif
! }
if (TARGET_64BIT)
{
*************** rs6000_gen_section_name (buf, filename,
*** 10459,10468 ****
void
output_profile_hook (labelno)
! int labelno;
{
if (DEFAULT_ABI == ABI_AIX)
{
char buf[30];
const char *label_name;
rtx fun;
--- 10336,10348 ----
void
output_profile_hook (labelno)
! int labelno ATTRIBUTE_UNUSED;
{
if (DEFAULT_ABI == ABI_AIX)
{
+ #ifdef NO_PROFILE_COUNTERS
+ emit_library_call (init_one_libfunc (RS6000_MCOUNT), 0, VOIDmode, 0);
+ #else
char buf[30];
const char *label_name;
rtx fun;
*************** output_profile_hook (labelno)
*** 10473,10478 ****
--- 10353,10359 ----
emit_library_call (init_one_libfunc (RS6000_MCOUNT), 0, VOIDmode, 1,
fun, Pmode);
+ #endif
}
else if (DEFAULT_ABI == ABI_DARWIN)
{
*************** output_function_profiler (file, labelno)
*** 10506,10511 ****
--- 10387,10393 ----
int labelno;
{
char buf[100];
+ int save_lr = 8;
ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno);
switch (DEFAULT_ABI)
*************** output_function_profiler (file, labelno)
*** 10514,10526 ****
abort ();
case ABI_V4:
case ABI_AIX_NODESC:
fprintf (file, "\tmflr %s\n", reg_names[0]);
if (flag_pic == 1)
{
fputs ("\tbl _GLOBAL_OFFSET_TABLE_@local-4\n", file);
! asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
! reg_names[0], reg_names[1]);
asm_fprintf (file, "\tmflr %s\n", reg_names[12]);
asm_fprintf (file, "\t{l|lwz} %s,", reg_names[0]);
assemble_name (file, buf);
--- 10396,10416 ----
abort ();
case ABI_V4:
+ save_lr = 4;
+ /* Fall through. */
+
case ABI_AIX_NODESC:
+ if (!TARGET_32BIT)
+ {
+ warning ("no profiling of 64-bit code for this ABI");
+ return;
+ }
fprintf (file, "\tmflr %s\n", reg_names[0]);
if (flag_pic == 1)
{
fputs ("\tbl _GLOBAL_OFFSET_TABLE_@local-4\n", file);
! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n",
! reg_names[0], save_lr, reg_names[1]);
asm_fprintf (file, "\tmflr %s\n", reg_names[12]);
asm_fprintf (file, "\t{l|lwz} %s,", reg_names[0]);
assemble_name (file, buf);
*************** output_function_profiler (file, labelno)
*** 10528,10535 ****
}
else if (flag_pic > 1)
{
! asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
! reg_names[0], reg_names[1]);
/* Now, we need to get the address of the label. */
fputs ("\tbl 1f\n\t.long ", file);
assemble_name (file, buf);
--- 10418,10425 ----
}
else if (flag_pic > 1)
{
! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n",
! reg_names[0], save_lr, reg_names[1]);
/* Now, we need to get the address of the label. */
fputs ("\tbl 1f\n\t.long ", file);
assemble_name (file, buf);
*************** output_function_profiler (file, labelno)
*** 10545,10571 ****
asm_fprintf (file, "\t{liu|lis} %s,", reg_names[12]);
assemble_name (file, buf);
fputs ("@ha\n", file);
! asm_fprintf (file, "\t{st|stw} %s,4(%s)\n",
! reg_names[0], reg_names[1]);
asm_fprintf (file, "\t{cal|la} %s,", reg_names[0]);
assemble_name (file, buf);
asm_fprintf (file, "@l(%s)\n", reg_names[12]);
}
! if (current_function_needs_context)
! asm_fprintf (file, "\tmr %s,%s\n",
! reg_names[30], reg_names[STATIC_CHAIN_REGNUM]);
! fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
! if (current_function_needs_context)
! asm_fprintf (file, "\tmr %s,%s\n",
! reg_names[STATIC_CHAIN_REGNUM], reg_names[30]);
break;
case ABI_AIX:
case ABI_DARWIN:
/* Don't do anything, done in output_profile_hook (). */
break;
-
}
}
--- 10435,10466 ----
asm_fprintf (file, "\t{liu|lis} %s,", reg_names[12]);
assemble_name (file, buf);
fputs ("@ha\n", file);
! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n",
! reg_names[0], save_lr, reg_names[1]);
asm_fprintf (file, "\t{cal|la} %s,", reg_names[0]);
assemble_name (file, buf);
asm_fprintf (file, "@l(%s)\n", reg_names[12]);
}
! if (current_function_needs_context && DEFAULT_ABI == ABI_AIX_NODESC)
! {
! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n",
! reg_names[STATIC_CHAIN_REGNUM],
! 12, reg_names[1]);
! fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
! asm_fprintf (file, "\t{l|lwz} %s,%d(%s)\n",
! reg_names[STATIC_CHAIN_REGNUM],
! 12, reg_names[1]);
! }
! else
! /* ABI_V4 saves the static chain reg with ASM_OUTPUT_REG_PUSH. */
! fprintf (file, "\tbl %s\n", RS6000_MCOUNT);
break;
case ABI_AIX:
case ABI_DARWIN:
/* Don't do anything, done in output_profile_hook (). */
break;
}
}
*************** rs6000_select_section (decl, reloc)
*** 10886,10903 ****
if (TREE_CODE (decl) == STRING_CST)
readonly = ! flag_writable_strings;
else if (TREE_CODE (decl) == VAR_DECL)
! readonly = (! (flag_pic && reloc)
&& TREE_READONLY (decl)
&& ! TREE_SIDE_EFFECTS (decl)
&& DECL_INITIAL (decl)
&& DECL_INITIAL (decl) != error_mark_node
&& TREE_CONSTANT (DECL_INITIAL (decl)));
else if (TREE_CODE (decl) == CONSTRUCTOR)
! readonly = (! (flag_pic && reloc)
&& ! TREE_SIDE_EFFECTS (decl)
&& TREE_CONSTANT (decl));
else
! readonly = 1;
if (needs_sdata && rs6000_sdata != SDATA_EABI)
readonly = 0;
--- 10781,10799 ----
if (TREE_CODE (decl) == STRING_CST)
readonly = ! flag_writable_strings;
else if (TREE_CODE (decl) == VAR_DECL)
! readonly = (! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc)
&& TREE_READONLY (decl)
&& ! TREE_SIDE_EFFECTS (decl)
&& DECL_INITIAL (decl)
&& DECL_INITIAL (decl) != error_mark_node
&& TREE_CONSTANT (DECL_INITIAL (decl)));
else if (TREE_CODE (decl) == CONSTRUCTOR)
! readonly = (! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc)
&& ! TREE_SIDE_EFFECTS (decl)
&& TREE_CONSTANT (decl));
else
! readonly = ! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc);
!
if (needs_sdata && rs6000_sdata != SDATA_EABI)
readonly = 0;
*************** rs6000_unique_section (decl, reloc)
*** 10942,10955 ****
int needs_sdata;
int size;
- readonly = 1;
if (TREE_CODE (decl) == STRING_CST)
readonly = ! flag_writable_strings;
else if (TREE_CODE (decl) == VAR_DECL)
! readonly = (! (flag_pic && reloc)
&& TREE_READONLY (decl)
&& ! TREE_SIDE_EFFECTS (decl)
&& TREE_CONSTANT (DECL_INITIAL (decl)));
size = int_size_in_bytes (TREE_TYPE (decl));
needs_sdata = (size > 0
--- 10838,10852 ----
int needs_sdata;
int size;
if (TREE_CODE (decl) == STRING_CST)
readonly = ! flag_writable_strings;
else if (TREE_CODE (decl) == VAR_DECL)
! readonly = (! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc)
&& TREE_READONLY (decl)
&& ! TREE_SIDE_EFFECTS (decl)
&& TREE_CONSTANT (DECL_INITIAL (decl)));
+ else
+ readonly = ! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc);
size = int_size_in_bytes (TREE_TYPE (decl));
needs_sdata = (size > 0
diff -Nrc3pad gcc-3.2/gcc/config/rs6000/rs6000.md gcc-3.2.1/gcc/config/rs6000/rs6000.md
*** gcc-3.2/gcc/config/rs6000/rs6000.md Mon Jul 15 05:29:43 2002
--- gcc-3.2.1/gcc/config/rs6000/rs6000.md Mon Oct 7 04:21:05 2002
***************
*** 9641,9647 ****
[(set (match_operand:SI 0 "register_operand" "=l")
(match_operand:SI 1 "immediate_operand" "s"))
(unspec [(match_dup 1)] 7)]
! "TARGET_ELF && flag_pic == 2"
"bl %1\\n%1:"
[(set_attr "type" "branch")
(set_attr "length" "4")])
--- 9641,9647 ----
[(set (match_operand:SI 0 "register_operand" "=l")
(match_operand:SI 1 "immediate_operand" "s"))
(unspec [(match_dup 1)] 7)]
! "TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2"
"bl %1\\n%1:"
[(set_attr "type" "branch")
(set_attr "length" "4")])
***************
*** 9650,9666 ****
[(set (match_operand:SI 0 "register_operand" "=l")
(match_operand:SI 1 "immediate_operand" "s"))
(unspec [(match_dup 1) (match_operand 2 "immediate_operand" "s")] 6)]
! "TARGET_ELF && flag_pic == 2"
"bl %1\\n\\t.long %2-%1+4\\n%1:"
[(set_attr "type" "branch")
(set_attr "length" "8")])
(define_insn "load_toc_v4_PIC_2"
[(set (match_operand:SI 0 "register_operand" "=r")
! (mem:SI (plus:SI (match_operand:SI 1 "register_operand" "r")
(minus:SI (match_operand:SI 2 "immediate_operand" "s")
(match_operand:SI 3 "immediate_operand" "s")))))]
! "TARGET_ELF && flag_pic == 2"
"{l|lwz} %0,%2-%3(%1)"
[(set_attr "type" "load")])
--- 9650,9666 ----
[(set (match_operand:SI 0 "register_operand" "=l")
(match_operand:SI 1 "immediate_operand" "s"))
(unspec [(match_dup 1) (match_operand 2 "immediate_operand" "s")] 6)]
! "TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2"
"bl %1\\n\\t.long %2-%1+4\\n%1:"
[(set_attr "type" "branch")
(set_attr "length" "8")])
(define_insn "load_toc_v4_PIC_2"
[(set (match_operand:SI 0 "register_operand" "=r")
! (mem:SI (plus:SI (match_operand:SI 1 "register_operand" "b")
(minus:SI (match_operand:SI 2 "immediate_operand" "s")
(match_operand:SI 3 "immediate_operand" "s")))))]
! "TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2"
"{l|lwz} %0,%2-%3(%1)"
[(set_attr "type" "load")])
***************
*** 11253,11267 ****
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "r,O"))
! (match_operand:SI 3 "gpc_reg_operand" "r,r")))
! (clobber (match_scratch:SI 4 "=&r,&r"))]
"TARGET_POWER"
"@
! doz %4,%2,%1\;{sfi|subfic} %4,%4,0\;{aze|addze} %0,%3
! {srai|srawi} %4,%1,31\;{sf|subfc} %4,%1,%4\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
--- 11253,11266 ----
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
(plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "r,O"))
! (match_operand:SI 3 "gpc_reg_operand" "r,r")))]
"TARGET_POWER"
"@
! doz %0,%2,%1\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3
! {srai|srawi} %0,%1,31\;{sf|subfc} %0,%1,%0\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
***************
*** 11292,11337 ****
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
(plus:SI (le:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_short_operand" "r,O,r,O"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
"TARGET_POWER"
"@
! doz %4,%2,%1\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3
! {srai|srawi} %4,%1,31\;{sf|subfc} %4,%1,%4\;{aze.|addze.} %0,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "12,12,16,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"TARGET_POWER && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 11291,11333 ----
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
(plus:SI (le:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_short_operand" "r,O,r,O"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER"
"@
! doz %0,%2,%1\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
! {srai|srawi} %0,%1,31\;{sf|subfc} %0,%1,%0\;{aze.|addze.} %0,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "12,12,16,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER && reload_completed"
! [(set (match_dup 0)
(plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 11481,11517 ****
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r"))]
"! TARGET_POWERPC64"
"@
! {sf%I2|subf%I2c} %4,%1,%2\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 11477,11510 ----
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64"
"@
! {sf%I2|subf%I2c} %0,%1,%2\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 11525,11538 ****
[(set_attr "length" "12")])
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(and:SI (neg:SI
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI")))
! (match_operand:SI 3 "gpc_reg_operand" "r")))
! (clobber (match_scratch:SI 4 "=&r"))]
"! TARGET_POWERPC64"
! "{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4"
[(set_attr "length" "12")])
(define_insn ""
--- 11518,11530 ----
[(set_attr "length" "12")])
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
(and:SI (neg:SI
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI")))
! (match_operand:SI 3 "gpc_reg_operand" "r")))]
"! TARGET_POWERPC64"
! "{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0"
[(set_attr "length" "12")])
(define_insn ""
***************
*** 11562,11595 ****
(clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
! (and:SI (neg:SI (leu:SI (match_dup 1)
! (match_dup 2)))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y")
(compare:CC
(and:SI (neg:SI
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI")))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r"))]
"! TARGET_POWERPC64"
"@
! {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(and:SI (neg:SI
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "")
--- 11554,11585 ----
(clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2)))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(and:SI (neg:SI
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI")))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))]
"! TARGET_POWERPC64"
"@
! {sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(and:SI (neg:SI
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "")
***************
*** 11597,11609 ****
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 11587,11598 ----
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))]
"! TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2)))
! (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 11648,11660 ****
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI"))
! (match_operand:SI 3 "gpc_reg_operand" "r")))
! (clobber (match_scratch:SI 4 "=&r"))]
"TARGET_POWER"
! "doz%I2 %4,%1,%2\;{ai|addic} %4,%4,-1\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
--- 11637,11648 ----
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
(plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI"))
! (match_operand:SI 3 "gpc_reg_operand" "r")))]
"TARGET_POWER"
! "doz%I2 %0,%1,%2\;{ai|addic} %0,%0,-1\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
***************
*** 11683,11726 ****
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
(plus:SI (lt:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r"))]
"TARGET_POWER"
"@
! doz%I2 %4,%1,%2\;{ai|addic} %4,%4,-1\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"TARGET_POWER && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 11671,11711 ----
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
(plus:SI (lt:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER"
"@
! doz%I2 %0,%1,%2\;{ai|addic} %0,%0,-1\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER && reload_completed"
! [(set (match_dup 0)
(plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 11815,11860 ****
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
(plus:SI (ltu:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3
! {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "12,12,16,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_neg_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 11800,11842 ----
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
(plus:SI (ltu:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;{sf.|subfc.} %0,%0,%3
! {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;{sf.|subfc.} %0,%0,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "12,12,16,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_neg_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 11905,11925 ****
(clobber (match_scratch:SI 3 ""))]
"TARGET_POWER && reload_completed"
[(parallel [(set (match_dup 0)
! (ge:SI (match_dup 1) (match_dup 2)))
! (clobber (match_dup 3))])
(set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI"))
! (match_operand:SI 3 "gpc_reg_operand" "r")))
! (clobber (match_scratch:SI 4 "=&r"))]
"TARGET_POWER"
! "doz%I2 %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
--- 11887,11906 ----
(clobber (match_scratch:SI 3 ""))]
"TARGET_POWER && reload_completed"
[(parallel [(set (match_dup 0)
! (ge:SI (match_dup 1) (match_dup 2)))
! (clobber (match_dup 3))])
(set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
(plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI"))
! (match_operand:SI 3 "gpc_reg_operand" "r")))]
"TARGET_POWER"
! "doz%I2 %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
***************
*** 11948,11991 ****
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
(plus:SI (ge:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r"))]
"TARGET_POWER"
"@
! doz%I2 %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"TARGET_POWER && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 11929,11969 ----
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
(plus:SI (ge:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "rI,rI"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER"
"@
! doz%I2 %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER && reload_completed"
! [(set (match_dup 0)
(plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 12130,12168 ****
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %4,%2,%1\;{aze.|addze.} %0,%3
! {ai|addic} %4,%1,%n2\;{aze.|addze.} %0,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "8,8,12,12")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_neg_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 12108,12143 ----
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %0,%2,%1\;{aze.|addze.} %0,%3
! {ai|addic} %0,%1,%n2\;{aze.|addze.} %0,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "8,8,12,12")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_neg_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 12178,12193 ****
[(set_attr "length" "12")])
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(and:SI (neg:SI
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))
! (match_operand:SI 3 "gpc_reg_operand" "r,r")))
! (clobber (match_scratch:SI 4 "=&r,&r"))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4
! {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4"
[(set_attr "length" "12")])
(define_insn ""
--- 12153,12167 ----
[(set_attr "length" "12")])
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
(and:SI (neg:SI
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))
! (match_operand:SI 3 "gpc_reg_operand" "r,r")))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0
! {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0"
[(set_attr "length" "12")])
(define_insn ""
***************
*** 12219,12254 ****
(clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
! (and:SI (neg:SI (geu:SI (match_dup 1)
! (match_dup 2)))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(and:SI (neg:SI
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P")))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4
! {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4
#
#"
[(set_attr "type" "compare")
(set_attr "length" "12,12,16,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(and:SI (neg:SI
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "")
--- 12193,12226 ----
(clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2)))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(and:SI (neg:SI
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P")))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))]
"! TARGET_POWERPC64"
"@
! {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0
! {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0
#
#"
[(set_attr "type" "compare")
(set_attr "length" "12,12,16,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(and:SI (neg:SI
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "")
***************
*** 12256,12268 ****
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 12228,12238 ----
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))]
"! TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 12394,12406 ****
[(set_attr "length" "12")])
(define_insn ""
! [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
(const_int 0))
! (match_operand:DI 2 "gpc_reg_operand" "r")))
! (clobber (match_scratch:DI 3 "=&r"))]
"TARGET_POWERPC64"
! "addc %3,%1,%1\;subfe %3,%1,%3\;addze %0,%2"
[(set_attr "length" "12")])
(define_insn ""
--- 12364,12375 ----
[(set_attr "length" "12")])
(define_insn ""
! [(set (match_operand:DI 0 "gpc_reg_operand" "=&r")
(plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
(const_int 0))
! (match_operand:DI 2 "gpc_reg_operand" "r")))]
"TARGET_POWERPC64"
! "addc %0,%1,%1\;subfe %0,%1,%0\;addze %0,%2"
[(set_attr "length" "12")])
(define_insn ""
***************
*** 12461,12552 ****
"TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(plus:DI (gt:DI (match_dup 1) (const_int 0))
! (match_dup 2)))
(set (match_dup 0)
(compare:CC (match_dup 3)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(const_int 0))
(match_operand:SI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))
! (clobber (match_scratch:SI 3 "=&r,&r"))]
"! TARGET_POWERPC64"
"@
! {a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %0,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(const_int 0))
(match_operand:SI 2 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))
! (clobber (match_scratch:SI 3 ""))]
"! TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))
! (clobber (match_dup 3))])
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(const_int 0))
(match_operand:DI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))
! (clobber (match_scratch:DI 3 "=&r,&r"))]
"TARGET_POWERPC64"
"@
! addc %3,%1,%1\;subfe %3,%1,%3\;addze. %0,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "")
(const_int 0))
(match_operand:DI 2 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))
! (clobber (match_scratch:DI 3 ""))]
"TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))
! (clobber (match_dup 3))])
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "r"))
! (match_operand:SI 3 "gpc_reg_operand" "r")))
! (clobber (match_scratch:SI 4 "=&r"))]
"TARGET_POWER"
! "doz %4,%2,%1\;{ai|addic} %4,%4,-1\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
--- 12430,12514 ----
"TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(plus:DI (gt:DI (match_dup 1) (const_int 0))
! (match_dup 2)))
(set (match_dup 0)
(compare:CC (match_dup 3)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(const_int 0))
(match_operand:SI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))]
"! TARGET_POWERPC64"
"@
! {a|addc} %0,%1,%1\;{sfe|subfe} %0,%1,%0\;{aze.|addze.} %0,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(const_int 0))
(match_operand:SI 2 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))]
"! TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))
! (set (match_dup 3)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(const_int 0))
(match_operand:DI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r")
! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))]
"TARGET_POWERPC64"
"@
! addc %0,%1,%1\;subfe %0,%1,%0\;addze. %0,%2
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "")
(const_int 0))
(match_operand:DI 2 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))]
"TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))
! (set (match_dup 3)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r")
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "r"))
! (match_operand:SI 3 "gpc_reg_operand" "r")))]
"TARGET_POWER"
! "doz %0,%2,%1\;{ai|addic} %0,%0,-1\;{aze|addze} %0,%3"
[(set_attr "length" "12")])
(define_insn ""
***************
*** 12574,12618 ****
(clobber (match_scratch:SI 4 ""))]
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
! (plus:SI (gt:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "r,r"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r"))]
"TARGET_POWER"
"@
! doz %4,%2,%1\;{ai|addic} %4,%4,-1\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"TARGET_POWER && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 12536,12576 ----
(clobber (match_scratch:SI 4 ""))]
"TARGET_POWER && reload_completed"
[(set (match_dup 4)
! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "r,r"))
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r")
! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER"
"@
! doz %0,%2,%1\;{ai|addic} %0,%0,-1\;{aze.|addze.} %0,%3
#"
[(set_attr "type" "compare")
(set_attr "length" "12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWER && reload_completed"
! [(set (match_dup 0)
(plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
***************
*** 12731,12745 ****
[(set_attr "length" "8,12")])
(define_insn ""
! [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(match_operand:DI 2 "reg_or_short_operand" "I,rI"))
! (match_operand:DI 3 "reg_or_short_operand" "r,rI")))
! (clobber (match_scratch:DI 4 "=&r,&r"))]
"TARGET_POWERPC64"
"@
! addic %4,%1,%k2\;addze %0,%3
! subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subf%I3c %0,%4,%3"
[(set_attr "length" "8,12")])
(define_insn ""
--- 12689,12702 ----
[(set_attr "length" "8,12")])
(define_insn ""
! [(set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r")
(plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
(match_operand:DI 2 "reg_or_short_operand" "I,rI"))
! (match_operand:DI 3 "reg_or_short_operand" "r,rI")))]
"TARGET_POWERPC64"
"@
! addic %0,%1,%k2\;addze %0,%3
! subf%I2c %0,%1,%2\;subfe %0,%0,%0\;subf%I3c %0,%0,%3"
[(set_attr "length" "8,12")])
(define_insn ""
***************
*** 12770,12776 ****
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
(plus:SI (gtu:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
--- 12727,12733 ----
"! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 4)
(plus:SI (gtu:SI (match_dup 1) (match_dup 2))
! (match_dup 3)))
(set (match_dup 0)
(compare:CC (match_dup 4)
(const_int 0)))]
***************
*** 12811,12887 ****
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_short_operand" "I,r,I,r"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))]
"! TARGET_POWERPC64"
"@
! {ai|addic} %4,%1,%k2\;{aze.|addze.} %0,%3
! {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12,12,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:SI 4 ""))]
"! TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:DI 2 "reg_or_short_operand" "I,r,I,r"))
(match_operand:DI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r")
! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:DI 4 "=&r,&r,&r,&r"))]
"TARGET_POWERPC64"
"@
! addic %4,%1,%k2\;addze. %0,%3
! subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subfc. %0,%4,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12,12,16")])
(define_split
! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "reg_or_short_operand" ""))
(match_operand:DI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_scratch:DI 4 ""))]
"TARGET_POWERPC64 && reload_completed"
! [(parallel [(set (match_dup 0)
(plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (clobber (match_dup 4))])
! (set (match_dup 5)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
--- 12768,12838 ----
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:SI 2 "reg_or_short_operand" "I,r,I,r"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64"
"@
! {ai|addic} %0,%1,%k2\;{aze.|addze.} %0,%3
! {sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;{sf.|subfc.} %0,%0,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12,12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(match_operand:SI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"! TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_insn ""
! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y")
(compare:CC
(plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r,r,r")
(match_operand:DI 2 "reg_or_short_operand" "I,r,I,r"))
(match_operand:DI 3 "gpc_reg_operand" "r,r,r,r"))
(const_int 0)))
! (set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r,&r,&r")
! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWERPC64"
"@
! addic %0,%1,%k2\;addze. %0,%3
! subf%I2c %0,%1,%2\;subfe %0,%0,%0\;subfc. %0,%0,%3
#
#"
[(set_attr "type" "compare")
(set_attr "length" "8,12,12,16")])
(define_split
! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "")
(compare:CC
(plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "reg_or_short_operand" ""))
(match_operand:DI 3 "gpc_reg_operand" ""))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"TARGET_POWERPC64 && reload_completed"
! [(set (match_dup 0)
(plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))
! (set (match_dup 4)
(compare:CC (match_dup 0)
(const_int 0)))]
"")
diff -Nrc3pad gcc-3.2/gcc/config/rs6000/sysv4.h gcc-3.2.1/gcc/config/rs6000/sysv4.h
*** gcc-3.2/gcc/config/rs6000/sysv4.h Thu Aug 8 17:52:40 2002
--- gcc-3.2.1/gcc/config/rs6000/sysv4.h Fri Sep 13 06:53:05 2002
*************** do { \
*** 770,775 ****
--- 770,807 ----
ASM_OUTPUT_ALIGNED_LOCAL (FILE, NAME, SIZE, ALIGN); \
} while (0)
+ /* This is how to output code to push a register on the stack.
+ It need not be very fast code.
+
+ On the rs6000, we must keep the backchain up to date. In order
+ to simplify things, always allocate 16 bytes for a push (System V
+ wants to keep stack aligned to a 16 byte boundary). */
+
+ #define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \
+ do { \
+ if (DEFAULT_ABI == ABI_V4) \
+ asm_fprintf (FILE, \
+ (TARGET_32BIT \
+ ? "\t{stu|stwu} %s,-16(%s)\n\t{st|stw} %s,12(%s)\n" \
+ : "\tstdu %s,-32(%s)\n\tstd %s,24(%s)\n"), \
+ reg_names[1], reg_names[1], reg_names[REGNO], \
+ reg_names[1]); \
+ } while (0)
+
+ /* This is how to output an insn to pop a register from the stack.
+ It need not be very fast code. */
+
+ #define ASM_OUTPUT_REG_POP(FILE, REGNO) \
+ do { \
+ if (DEFAULT_ABI == ABI_V4) \
+ asm_fprintf (FILE, \
+ (TARGET_32BIT \
+ ? "\t{l|lwz} %s,12(%s)\n\t{ai|addic} %s,%s,16\n" \
+ : "\tld %s,24(%s)\n\t{ai|addic} %s,%s,32\n"), \
+ reg_names[REGNO], reg_names[1], reg_names[1], \
+ reg_names[1]); \
+ } while (0)
+
/* Switch Recognition by gcc.c. Add -G xx support. */
/* Override svr4.h definition. */
diff -Nrc3pad gcc-3.2/gcc/config/s390/s390.md gcc-3.2.1/gcc/config/s390/s390.md
*** gcc-3.2/gcc/config/s390/s390.md Tue Jun 11 14:49:17 2002
--- gcc-3.2.1/gcc/config/s390/s390.md Wed Oct 23 10:46:00 2002
***************
*** 957,963 ****
ldr\\t%0,%1
ld\\t%0,%1
std\\t%1,%0"
! [(set_attr "op_type" "RR,RXE,RXE,RR,RX,RX")
(set_attr "atype" "reg,mem,mem,reg,mem,mem")])
(define_insn "*movdi_31"
--- 957,963 ----
ldr\\t%0,%1
ld\\t%0,%1
std\\t%1,%0"
! [(set_attr "op_type" "RRE,RXE,RXE,RR,RX,RX")
(set_attr "atype" "reg,mem,mem,reg,mem,mem")])
(define_insn "*movdi_31"
***************
*** 1240,1246 ****
lgr\\t%0,%1
lg\\t%0,%1
stg\\t%1,%0"
! [(set_attr "op_type" "RR,RX,RX,RR,RXE,RXE")
(set_attr "atype" "reg,mem,mem,reg,mem,mem")])
(define_insn "*movdf_31"
--- 1240,1246 ----
lgr\\t%0,%1
lg\\t%0,%1
stg\\t%1,%0"
! [(set_attr "op_type" "RR,RX,RX,RRE,RXE,RXE")
(set_attr "atype" "reg,mem,mem,reg,mem,mem")])
(define_insn "*movdf_31"
***************
*** 2111,2125 ****
reg1 = gen_reg_rtx (DImode);
}
- if (! CONSTANT_P (len))
- len = force_reg (Pmode, len);
-
/* Load up the address+length pairs. */
emit_move_insn (gen_highpart (Pmode, reg0), addr0);
! emit_move_insn (gen_lowpart (Pmode, reg0), len);
emit_move_insn (gen_highpart (Pmode, reg1), addr1);
! emit_move_insn (gen_lowpart (Pmode, reg1), len);
/* Compare! */
if (TARGET_64BIT)
--- 2111,2122 ----
reg1 = gen_reg_rtx (DImode);
}
/* Load up the address+length pairs. */
emit_move_insn (gen_highpart (Pmode, reg0), addr0);
! convert_move (gen_lowpart (Pmode, reg0), len, 1);
emit_move_insn (gen_highpart (Pmode, reg1), addr1);
! convert_move (gen_lowpart (Pmode, reg1), len, 1);
/* Compare! */
if (TARGET_64BIT)
***************
*** 3226,3231 ****
--- 3223,3241 ----
[(set_attr "op_type" "RR,RI,RX")
(set_attr "atype" "reg,reg,mem")])
+ (define_insn "*addsi3_inv"
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (plus:SI (match_operand:SI 1 "general_operand" "%d,K,m")
+ (match_operand:SI 2 "register_operand" "0,0,0")))
+ (clobber (reg:CC 33))]
+ ""
+ "@
+ ar\\t%0,%1
+ ahi\\t%0,%h1
+ a\\t%0,%1"
+ [(set_attr "op_type" "RR,RI,RX")
+ (set_attr "atype" "reg,reg,mem")])
+
(define_insn "*la_31"
[(set (match_operand:SI 0 "register_operand" "=d")
(match_operand:QI 1 "address_operand" "p"))]
***************
*** 5462,5468 ****
"@
srlg\\t%0,%1,%c2
srlg\\t%0,%1,0(%2)"
! [(set_attr "op_type" "RS,RS")])
;
; lshrsi3 instruction pattern(s).
--- 5472,5478 ----
"@
srlg\\t%0,%1,%c2
srlg\\t%0,%1,0(%2)"
! [(set_attr "op_type" "RSE,RSE")])
;
; lshrsi3 instruction pattern(s).
diff -Nrc3pad gcc-3.2/gcc/config/sparc/freebsd.h gcc-3.2.1/gcc/config/sparc/freebsd.h
*** gcc-3.2/gcc/config/sparc/freebsd.h Mon Apr 8 17:17:18 2002
--- gcc-3.2.1/gcc/config/sparc/freebsd.h Wed Nov 6 21:30:59 2002
*************** You should have received a copy of the G
*** 18,28 ****
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
! /* FreeBSD needs's the platform name (sparc64) defined. */
#undef CPP_CPU64_DEFAULT_SPEC
! #define CPP_CPU64_DEFAULT_SPEC "-D__sparc64__ -D__sparc_v9__"
#undef CPP_PREDEFINES
#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
--- 18,30 ----
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
! /* FreeBSD needs the platform name (sparc64) defined.
! Emacs needs to know if the arch is 64 or 32-bits. */
#undef CPP_CPU64_DEFAULT_SPEC
! #define CPP_CPU64_DEFAULT_SPEC "-D__sparc64__ -D__sparc_v9__ -D__arch64__"
+ /* Because we include sparc/sysv4.h. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
*************** the Free Software Foundation, 675 Mass A
*** 99,104 ****
--- 101,131 ----
#undef SPARC_DEFAULT_CMODEL
#define SPARC_DEFAULT_CMODEL CM_MEDLOW
+ #define TRANSFER_FROM_TRAMPOLINE \
+ static int need_enable_exec_stack; \
+ static void check_enabling(void) __attribute__ ((constructor)); \
+ static void check_enabling(void) \
+ { \
+ extern int sysctlbyname(const char *, void *, size_t *, void *, size_t);\
+ int prot = 0; \
+ size_t len = sizeof(prot); \
+ \
+ sysctlbyname ("kern.stackprot", &prot, &len, NULL, 0); \
+ if (prot != 7) \
+ need_enable_exec_stack = 1; \
+ } \
+ extern void __enable_execute_stack (void *); \
+ void __enable_execute_stack (void *addr) \
+ { \
+ if (!need_enable_exec_stack) \
+ return; \
+ else { \
+ /* 7 is PROT_READ | PROT_WRITE | PROT_EXEC */ \
+ if (mprotect (addr, TRAMPOLINE_SIZE, 7) < 0) \
+ perror ("mprotect of trampoline code"); \
+ } \
+ }
+
/************************[ Assembler stuff ]********************************/
diff -Nrc3pad gcc-3.2/gcc/config/sparc/linux64.h gcc-3.2.1/gcc/config/sparc/linux64.h
*** gcc-3.2/gcc/config/sparc/linux64.h Mon Apr 29 04:09:50 2002
--- gcc-3.2.1/gcc/config/sparc/linux64.h Sat Oct 5 21:32:10 2002
***************
*** 1,5 ****
/* Definitions for 64-bit SPARC running Linux-based GNU systems with ELF.
! Copyright 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@caip.rutgers.edu)
This file is part of GNU CC.
--- 1,5 ----
/* Definitions for 64-bit SPARC running Linux-based GNU systems with ELF.
! Copyright 1996, 1997, 1998, 2000, 2002 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@caip.rutgers.edu)
This file is part of GNU CC.
*************** Boston, MA 02111-1307, USA. */
*** 56,93 ****
#undef STARTFILE_SPEC
! #define STARTFILE_SPEC32 \
! "%{!shared: \
! %{pg:/usr/lib/gcrt1.o%s} %{!pg:%{/usr/lib/p:gcrt1.o%s} %{!p:/usr/lib/crt1.o%s}}}\
! /usr/lib/crti.o%s %{static:crtbeginT.o%s}\
! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
!
! #define STARTFILE_SPEC64 \
"%{!shared: \
! %{pg:/usr/lib64/gcrt1.o%s} %{!pg:%{p:/usr/lib64/gcrt1.o%s} %{!p:/usr/lib64/crt1.o%s}}}\
! /usr/lib64/crti.o%s %{static:crtbeginT.o%s}\
%{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
- #ifdef SPARC_BI_ARCH
-
- #if DEFAULT_ARCH32_P
- #define STARTFILE_SPEC "\
- %{m32:" STARTFILE_SPEC32 "} \
- %{m64:" STARTFILE_SPEC64 "} \
- %{!m32:%{!m64:" STARTFILE_SPEC32 "}}"
- #else
- #define STARTFILE_SPEC "\
- %{m32:" STARTFILE_SPEC32 "} \
- %{m64:" STARTFILE_SPEC64 "} \
- %{!m32:%{!m64:" STARTFILE_SPEC64 "}}"
- #endif
-
- #else
-
- #define STARTFILE_SPEC STARTFILE_SPEC64
-
- #endif
-
/* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on
the GNU/Linux magical crtend.o file (see crtstuff.c) which
provides part of the support for getting C++ file-scope static
--- 56,67 ----
#undef STARTFILE_SPEC
! #define STARTFILE_SPEC \
"%{!shared: \
! %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}}\
! crti.o%s %{static:crtbeginT.o%s}\
%{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
/* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on
the GNU/Linux magical crtend.o file (see crtstuff.c) which
provides part of the support for getting C++ file-scope static
*************** Boston, MA 02111-1307, USA. */
*** 96,131 ****
#undef ENDFILE_SPEC
! #define ENDFILE_SPEC32 \
! "%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib/crtn.o%s"
!
! #define ENDFILE_SPEC64 \
! "%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib64/crtn.o%s"
!
! #define ENDFILE_SPEC_COMMON \
! "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
!
! #ifdef SPARC_BI_ARCH
!
! #if DEFAULT_ARCH32_P
! #define ENDFILE_SPEC "\
! %{m32:" ENDFILE_SPEC32 "} \
! %{m64:" ENDFILE_SPEC64 "} \
! %{!m32:%{!m64:" ENDFILE_SPEC32 "}} " \
! ENDFILE_SPEC_COMMON
! #else
! #define ENDFILE_SPEC "\
! %{m32:" ENDFILE_SPEC32 "} \
! %{m64:" ENDFILE_SPEC64 "} \
! %{!m32:%{!m64:" ENDFILE_SPEC64 "}} " \
! ENDFILE_SPEC_COMMON
! #endif
!
! #else
!
! #define ENDFILE_SPEC ENDFILE_SPEC64 " " ENDFILE_SPEC_COMMON
!
! #endif
/* The GNU C++ standard library requires that these macros be defined. */
#undef CPLUSPLUS_CPP_SPEC
--- 70,78 ----
#undef ENDFILE_SPEC
! #define ENDFILE_SPEC \
! "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s\
! %{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
/* The GNU C++ standard library requires that these macros be defined. */
#undef CPLUSPLUS_CPP_SPEC
diff -Nrc3pad gcc-3.2/gcc/config/sparc/sol2-bi.h gcc-3.2.1/gcc/config/sparc/sol2-bi.h
*** gcc-3.2/gcc/config/sparc/sol2-bi.h Mon Apr 22 19:53:42 2002
--- gcc-3.2.1/gcc/config/sparc/sol2-bi.h Sat Oct 5 21:32:10 2002
***************
*** 72,101 ****
%{!mcpu*:%(asm_cpu_default)} \
"
- #define STARTFILE_SPEC32 "\
- %{ansi:values-Xc.o%s} \
- %{!ansi: \
- %{traditional:values-Xt.o%s} \
- %{!traditional:values-Xa.o%s}}"
-
- #define STARTFILE_SPEC64 "\
- %{ansi:/usr/lib/sparcv9/values-Xc.o%s} \
- %{!ansi: \
- %{traditional:/usr/lib/sparcv9/values-Xt.o%s} \
- %{!traditional:/usr/lib/sparcv9/values-Xa.o%s}}"
-
- #if DEFAULT_ARCH32_P
- #define STARTFILE_ARCH_SPEC "\
- %{m32:" STARTFILE_SPEC32 "} \
- %{m64:" STARTFILE_SPEC64 "} \
- %{!m32:%{!m64:" STARTFILE_SPEC32 "}}"
- #else
- #define STARTFILE_ARCH_SPEC "\
- %{m32:" STARTFILE_SPEC32 "} \
- %{m64:" STARTFILE_SPEC64 "} \
- %{!m32:%{!m64:" STARTFILE_SPEC64 "}}"
- #endif
-
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{!shared: \
%{!symbolic: \
--- 72,77 ----
***************
*** 103,109 ****
%{!p: \
%{pg:gcrt1.o%s gmon.o%s} \
%{!pg:crt1.o%s}}}} \
! crti.o%s " STARTFILE_ARCH_SPEC " \
crtbegin.o%s"
#undef CPP_CPU_DEFAULT_SPEC
--- 79,88 ----
%{!p: \
%{pg:gcrt1.o%s gmon.o%s} \
%{!pg:crt1.o%s}}}} \
! crti.o%s \
! %{ansi:values-Xc.o%s} \
! %{!ansi: %{traditional:values-Xt.o%s} \
! %{!traditional:values-Xa.o%s}} \
crtbegin.o%s"
#undef CPP_CPU_DEFAULT_SPEC
diff -Nrc3pad gcc-3.2/gcc/config/sparc/sparc.c gcc-3.2.1/gcc/config/sparc/sparc.c
*** gcc-3.2/gcc/config/sparc/sparc.c Sun May 26 02:42:21 2002
--- gcc-3.2.1/gcc/config/sparc/sparc.c Thu Sep 26 10:20:03 2002
*************** set_extends (insn)
*** 8650,8656 ****
return INTVAL (op1) >= 0;
return (GET_CODE (op1) == REG && sparc_check_64 (op1, insn) == 1);
}
- case ASHIFT:
case LSHIFTRT:
return GET_MODE (SET_SRC (pat)) == SImode;
/* Positive integers leave the high bits zero. */
--- 8650,8655 ----
diff -Nrc3pad gcc-3.2/gcc/config/sparc/sparc.md gcc-3.2.1/gcc/config/sparc/sparc.md
*** gcc-3.2/gcc/config/sparc/sparc.md Sun May 5 21:45:02 2002
--- gcc-3.2.1/gcc/config/sparc/sparc.md Wed Oct 2 03:47:05 2002
***************
*** 2517,2523 ****
;
}")
! ;; Be careful, fmovd does not exist when !arch64.
;; We match MEM moves directly when we have correct even
;; numbered registers, but fall into splits otherwise.
;; The constraint ordering here is really important to
--- 2517,2523 ----
;
}")
! ;; Be careful, fmovd does not exist when !v9.
;; We match MEM moves directly when we have correct even
;; numbered registers, but fall into splits otherwise.
;; The constraint ordering here is really important to
***************
*** 2531,2539 ****
(define_insn "*movdi_insn_sp32_v9"
[(set (match_operand:DI 0 "nonimmediate_operand"
! "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?f")
(match_operand:DI 1 "input_operand"
! " J,J,U,T,r,o,i,r, f, T, o, f, f"))]
"! TARGET_ARCH64 && TARGET_V9
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"@
--- 2531,2539 ----
(define_insn "*movdi_insn_sp32_v9"
[(set (match_operand:DI 0 "nonimmediate_operand"
! "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?f,?e,?e,?W")
(match_operand:DI 1 "input_operand"
! " J,J,U,T,r,o,i,r, f, T, o, f, f, e, W, e"))]
"! TARGET_ARCH64 && TARGET_V9
&& (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)"
"@
***************
*** 2549,2557 ****
ldd\\t%1, %0
#
#
! #"
! [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,*")
! (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,2")])
(define_insn "*movdi_insn_sp32"
[(set (match_operand:DI 0 "nonimmediate_operand"
--- 2549,2561 ----
ldd\\t%1, %0
#
#
! #
! fmovd\\t%1, %0
! ldd\\t%1, %0
! std\\t%1, %0"
! [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,*,fpmove,fpload,fpstore")
! (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,2,*,*,*")
! (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")])
(define_insn "*movdi_insn_sp32"
[(set (match_operand:DI 0 "nonimmediate_operand"
***************
*** 2861,2867 ****
(define_split
[(set (match_operand:DI 0 "register_operand" "")
(match_operand:DI 1 "const_double_operand" ""))]
! "! TARGET_ARCH64 && reload_completed"
[(clobber (const_int 0))]
"
{
--- 2865,2878 ----
(define_split
[(set (match_operand:DI 0 "register_operand" "")
(match_operand:DI 1 "const_double_operand" ""))]
! "reload_completed
! && (! TARGET_V9
! || (! TARGET_ARCH64
! && ((GET_CODE (operands[0]) == REG
! && REGNO (operands[0]) < 32)
! || (GET_CODE (operands[0]) == SUBREG
! && GET_CODE (SUBREG_REG (operands[0])) == REG
! && REGNO (SUBREG_REG (operands[0])) < 32))))"
[(clobber (const_int 0))]
"
{
diff -Nrc3pad gcc-3.2/gcc/config/sparc/t-linux64 gcc-3.2.1/gcc/config/sparc/t-linux64
*** gcc-3.2/gcc/config/sparc/t-linux64 Fri Jun 21 11:25:58 2002
--- gcc-3.2.1/gcc/config/sparc/t-linux64 Tue Oct 8 21:58:53 2002
***************
*** 1,8 ****
! MULTILIB_OPTIONS = m64/m32 mno-app-regs|mcmodel=medany
! MULTILIB_DIRNAMES = 64 32 alt
! MULTILIB_MATCHES = mcmodel?medany=mcmodel?medmid
! MULTILIB_EXCEPTIONS = m32/mno-app-regs* m32/mcmodel=*
! MULTILIB_EXCLUSIONS = m32/!m64/mno-app-regs m32/!m64/mcmodel=medany
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
--- 1,6 ----
! MULTILIB_OPTIONS = m64/m32
! MULTILIB_DIRNAMES = 64 32
! MULTILIB_OSDIRNAMES = ../lib64 ../lib
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
*************** INSTALL_LIBGCC = install-multilib
*** 10,19 ****
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
crtfastmath.o
- SHLIB_SLIBDIR_SUFFIXES = 64:64 32:
-
# Override t-slibgcc-elf-ver to export some libgcc symbols with
# the symbol versions that glibc used.
# Avoid the t-linux version file.
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
$(srcdir)/config/sparc/libgcc-sparc-glibc.ver
--- 8,19 ----
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
crtfastmath.o
# Override t-slibgcc-elf-ver to export some libgcc symbols with
# the symbol versions that glibc used.
# Avoid the t-linux version file.
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
$(srcdir)/config/sparc/libgcc-sparc-glibc.ver
+
+ CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \
+ -print-multi-os-directory) \
+ = x../lib64; then echo -mcmodel=medany; fi`
diff -Nrc3pad gcc-3.2/gcc/config/sparc/t-netbsd64 gcc-3.2.1/gcc/config/sparc/t-netbsd64
*** gcc-3.2/gcc/config/sparc/t-netbsd64 Tue Feb 19 17:43:25 2002
--- gcc-3.2.1/gcc/config/sparc/t-netbsd64 Wed Sep 4 21:34:47 2002
***************
*** 1,6 ****
! MULTILIB_OPTIONS = m32/m64
! MULTILIB_DIRNAMES = 32 64
! MULTILIB_MATCHES =
! LIBGCC = stmp-multilib
! INSTALL_LIBGCC = install-multilib
--- 1,8 ----
! # Disable multilib fow now, as NetBSD/sparc64 does not ship with
! # a 32-bit environment.
! #MULTILIB_OPTIONS = m32/m64
! #MULTILIB_DIRNAMES = 32 64
! #MULTILIB_MATCHES =
! #LIBGCC = stmp-multilib
! #INSTALL_LIBGCC = install-multilib
diff -Nrc3pad gcc-3.2/gcc/config/sparc/t-sol2-64 gcc-3.2.1/gcc/config/sparc/t-sol2-64
*** gcc-3.2/gcc/config/sparc/t-sol2-64 Fri Jun 21 11:25:58 2002
--- gcc-3.2.1/gcc/config/sparc/t-sol2-64 Sat Oct 5 21:32:10 2002
***************
*** 1,11 ****
MULTILIB_OPTIONS = m32/m64
MULTILIB_DIRNAMES = sparcv7 sparcv9
MULTILIB_MATCHES =
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o gmon.o crt1.o crti.o crtn.o gcrt1.o \
crtfastmath.o
-
- SHLIB_SLIBDIR_SUFFIXES = sparcv9:/sparcv9 sparcv7:
--- 1,10 ----
MULTILIB_OPTIONS = m32/m64
MULTILIB_DIRNAMES = sparcv7 sparcv9
MULTILIB_MATCHES =
+ MULTILIB_OSDIRNAMES = . sparcv9
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o gmon.o crt1.o crti.o crtn.o gcrt1.o \
crtfastmath.o
diff -Nrc3pad gcc-3.2/gcc/config/xtensa/elf.h gcc-3.2.1/gcc/config/xtensa/elf.h
*** gcc-3.2/gcc/config/xtensa/elf.h Wed Jan 23 21:03:50 2002
--- gcc-3.2.1/gcc/config/xtensa/elf.h Tue Nov 5 21:33:24 2002
*************** Software Foundation, 59 Temple Place - S
*** 58,64 ****
#undef ASM_FINAL_SPEC
#undef LIB_SPEC
! #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim"
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "crt1-sim%O%s crti%O%s crtbegin%O%s _vectors%O%s"
--- 58,64 ----
#undef ASM_FINAL_SPEC
#undef LIB_SPEC
! #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal"
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "crt1-sim%O%s crti%O%s crtbegin%O%s _vectors%O%s"
diff -Nrc3pad gcc-3.2/gcc/config/xtensa/xtensa-protos.h gcc-3.2.1/gcc/config/xtensa/xtensa-protos.h
*** gcc-3.2/gcc/config/xtensa/xtensa-protos.h Fri Jun 28 19:40:31 2002
--- gcc-3.2.1/gcc/config/xtensa/xtensa-protos.h Mon Sep 30 20:34:09 2002
***************
*** 1,5 ****
/* Prototypes of target machine for GNU compiler for Xtensa.
! Copyright (C) 2001 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
--- 1,5 ----
/* Prototypes of target machine for GNU compiler for Xtensa.
! Copyright 2001,2002 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
*************** extern void xtensa_reorg PARAMS ((rtx));
*** 89,95 ****
extern rtx xtensa_return_addr PARAMS ((int, rtx));
extern rtx xtensa_builtin_saveregs PARAMS ((void));
extern enum reg_class xtensa_preferred_reload_class
! PARAMS ((rtx, enum reg_class));
extern enum reg_class xtensa_secondary_reload_class
PARAMS ((enum reg_class, enum machine_mode, rtx, int));
extern int a7_overlap_mentioned_p PARAMS ((rtx x));
--- 89,95 ----
extern rtx xtensa_return_addr PARAMS ((int, rtx));
extern rtx xtensa_builtin_saveregs PARAMS ((void));
extern enum reg_class xtensa_preferred_reload_class
! PARAMS ((rtx, enum reg_class, int));
extern enum reg_class xtensa_secondary_reload_class
PARAMS ((enum reg_class, enum machine_mode, rtx, int));
extern int a7_overlap_mentioned_p PARAMS ((rtx x));
diff -Nrc3pad gcc-3.2/gcc/config/xtensa/xtensa.c gcc-3.2.1/gcc/config/xtensa/xtensa.c
*** gcc-3.2/gcc/config/xtensa/xtensa.c Fri Jun 28 19:40:31 2002
--- gcc-3.2.1/gcc/config/xtensa/xtensa.c Mon Sep 30 20:34:09 2002
***************
*** 1,5 ****
/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
! Copyright (C) 2001 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
--- 1,5 ----
/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
! Copyright 2001,2002 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
*************** const char xtensa_leaf_regs[FIRST_PSEUDO
*** 104,113 ****
/* Map hard register number to register class */
const enum reg_class xtensa_regno_to_class[FIRST_PSEUDO_REGISTER] =
{
! GR_REGS, SP_REG, GR_REGS, GR_REGS,
! GR_REGS, GR_REGS, GR_REGS, GR_REGS,
! GR_REGS, GR_REGS, GR_REGS, GR_REGS,
! GR_REGS, GR_REGS, GR_REGS, GR_REGS,
AR_REGS, AR_REGS, BR_REGS,
FP_REGS, FP_REGS, FP_REGS, FP_REGS,
FP_REGS, FP_REGS, FP_REGS, FP_REGS,
--- 104,113 ----
/* Map hard register number to register class */
const enum reg_class xtensa_regno_to_class[FIRST_PSEUDO_REGISTER] =
{
! RL_REGS, SP_REG, RL_REGS, RL_REGS,
! RL_REGS, RL_REGS, RL_REGS, GR_REGS,
! RL_REGS, RL_REGS, RL_REGS, RL_REGS,
! RL_REGS, RL_REGS, RL_REGS, RL_REGS,
AR_REGS, AR_REGS, BR_REGS,
FP_REGS, FP_REGS, FP_REGS, FP_REGS,
FP_REGS, FP_REGS, FP_REGS, FP_REGS,
*************** xtensa_va_arg (valist, type)
*** 2625,2640 ****
enum reg_class
! xtensa_preferred_reload_class (x, class)
rtx x;
enum reg_class class;
{
! if (CONSTANT_P (x) && GET_CODE (x) == CONST_DOUBLE)
return NO_REGS;
! /* Don't use sp for reloads! */
! if (class == AR_REGS)
! return GR_REGS;
return class;
}
--- 2625,2646 ----
enum reg_class
! xtensa_preferred_reload_class (x, class, isoutput)
rtx x;
enum reg_class class;
+ int isoutput;
{
! if (!isoutput && CONSTANT_P (x) && GET_CODE (x) == CONST_DOUBLE)
return NO_REGS;
! /* Don't use the stack pointer or hard frame pointer for reloads!
! The hard frame pointer would normally be OK except that it may
! briefly hold an incoming argument in the prologue, and reload
! won't know that it is live because the hard frame pointer is
! treated specially. */
!
! if (class == AR_REGS || class == GR_REGS)
! return RL_REGS;
return class;
}
*************** xtensa_secondary_reload_class (class, mo
*** 2656,2668 ****
if (!isoutput)
{
if (class == FP_REGS && constantpool_mem_p (x))
! return GR_REGS;
}
if (ACC_REG_P (regno))
! return (class == GR_REGS ? NO_REGS : GR_REGS);
if (class == ACC_REG)
! return (GP_REG_P (regno) ? NO_REGS : GR_REGS);
return NO_REGS;
}
--- 2662,2674 ----
if (!isoutput)
{
if (class == FP_REGS && constantpool_mem_p (x))
! return RL_REGS;
}
if (ACC_REG_P (regno))
! return ((class == GR_REGS || class == RL_REGS) ? NO_REGS : RL_REGS);
if (class == ACC_REG)
! return (GP_REG_P (regno) ? NO_REGS : RL_REGS);
return NO_REGS;
}
diff -Nrc3pad gcc-3.2/gcc/config/xtensa/xtensa.h gcc-3.2.1/gcc/config/xtensa/xtensa.h
*** gcc-3.2/gcc/config/xtensa/xtensa.h Fri Jun 28 19:40:31 2002
--- gcc-3.2.1/gcc/config/xtensa/xtensa.h Mon Sep 30 20:34:09 2002
***************
*** 1,5 ****
/* Definitions of Tensilica's Xtensa target machine for GNU compiler.
! Copyright (C) 2001 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
--- 1,5 ----
/* Definitions of Tensilica's Xtensa target machine for GNU compiler.
! Copyright 2001,2002 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
*************** enum reg_class
*** 570,575 ****
--- 570,576 ----
FP_REGS, /* floating point registers */
ACC_REG, /* MAC16 accumulator */
SP_REG, /* sp register (aka a1) */
+ RL_REGS, /* preferred reload regs (not sp or fp) */
GR_REGS, /* integer registers except sp */
AR_REGS, /* all integer registers */
ALL_REGS, /* all registers */
*************** enum reg_class
*** 590,595 ****
--- 591,597 ----
"FP_REGS", \
"ACC_REG", \
"SP_REG", \
+ "RL_REGS", \
"GR_REGS", \
"AR_REGS", \
"ALL_REGS" \
*************** enum reg_class
*** 605,610 ****
--- 607,613 ----
{ 0xfff80000, 0x00000007 }, /* floating-point registers */ \
{ 0x00000000, 0x00000008 }, /* MAC16 accumulator */ \
{ 0x00000002, 0x00000000 }, /* stack pointer register */ \
+ { 0x0000ff7d, 0x00000000 }, /* preferred reload registers */ \
{ 0x0000fffd, 0x00000000 }, /* general-purpose registers */ \
{ 0x0003ffff, 0x00000000 }, /* integer registers */ \
{ 0xffffffff, 0x0000000f } /* all registers */ \
*************** extern enum reg_class xtensa_char_to_cla
*** 720,729 ****
: FALSE)
#define PREFERRED_RELOAD_CLASS(X, CLASS) \
! xtensa_preferred_reload_class (X, CLASS)
#define PREFERRED_OUTPUT_RELOAD_CLASS(X, CLASS) \
! (CLASS)
#define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, X) \
xtensa_secondary_reload_class (CLASS, MODE, X, 0)
--- 723,732 ----
: FALSE)
#define PREFERRED_RELOAD_CLASS(X, CLASS) \
! xtensa_preferred_reload_class (X, CLASS, 0)
#define PREFERRED_OUTPUT_RELOAD_CLASS(X, CLASS) \
! xtensa_preferred_reload_class (X, CLASS, 1)
#define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, X) \
xtensa_secondary_reload_class (CLASS, MODE, X, 0)
diff -Nrc3pad gcc-3.2/gcc/config.gcc gcc-3.2.1/gcc/config.gcc
*** gcc-3.2/gcc/config.gcc Tue Aug 6 15:20:55 2002
--- gcc-3.2.1/gcc/config.gcc Wed Oct 23 17:28:29 2002
*************** i[34567]86-*-rtems*|i[34567]86-*-rtemsel
*** 1405,1411 ****
i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
xm_defines=POSIX
install_headers_dir=install-headers-cpio
! tm_file=i386/sco5.h
if test x$gas = xyes
then
tm_file="usegas.h ${tm_file}"
--- 1405,1411 ----
i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
xm_defines=POSIX
install_headers_dir=install-headers-cpio
! tm_file="${tm_file} i386/att.h i386/sco5.h"
if test x$gas = xyes
then
tm_file="usegas.h ${tm_file}"
diff -Nrc3pad gcc-3.2/gcc/configure gcc-3.2.1/gcc/configure
*** gcc-3.2/gcc/configure Sat Jun 29 00:20:11 2002
--- gcc-3.2.1/gcc/configure Fri Sep 6 10:58:48 2002
*************** EOF
*** 7578,7619 ****
fi
! if test "x$gcc_cv_as_flags64" != xno; then
! echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6
echo "configure:7584: checking for assembler offsetable %lo() support" >&5
if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
! gcc_cv_as_offsetable_lo10=unknown
! if test "x$gcc_cv_as" != x; then
! # Check if assembler has offsetable %lo()
! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
! if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
! > /dev/null 2>&1 &&
! $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
! > /dev/null 2>&1; then
! if cmp conftest.o conftest1.o > /dev/null 2>&1; then
! gcc_cv_as_offsetable_lo10=no
! else
! gcc_cv_as_offsetable_lo10=yes
! fi
! else
gcc_cv_as_offsetable_lo10=no
fi
! rm -f conftest.s conftest.o conftest1.s conftest1.o
fi
!
fi
echo "$ac_t""$gcc_cv_as_offsetable_lo10" 1>&6
! if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
! cat >> confdefs.h <<\EOF
#define HAVE_AS_OFFSETABLE_LO10 1
EOF
- fi
fi
;;
--- 7578,7617 ----
fi
! echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6
echo "configure:7584: checking for assembler offsetable %lo() support" >&5
if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
! gcc_cv_as_offsetable_lo10=unknown
! if test "x$gcc_cv_as" != x; then
! # Check if assembler has offsetable %lo()
! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
! if $gcc_cv_as -xarch=v9 -o conftest.o conftest.s \
! > /dev/null 2>&1 &&
! $gcc_cv_as -xarch=v9 -o conftest1.o conftest1.s \
! > /dev/null 2>&1; then
! if cmp conftest.o conftest1.o > /dev/null 2>&1; then
gcc_cv_as_offsetable_lo10=no
+ else
+ gcc_cv_as_offsetable_lo10=yes
fi
! else
! gcc_cv_as_offsetable_lo10=no
fi
! rm -f conftest.s conftest.o conftest1.s conftest1.o
! fi
!
fi
echo "$ac_t""$gcc_cv_as_offsetable_lo10" 1>&6
! if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
! cat >> confdefs.h <<\EOF
#define HAVE_AS_OFFSETABLE_LO10 1
EOF
fi
;;
diff -Nrc3pad gcc-3.2/gcc/configure.in gcc-3.2.1/gcc/configure.in
*** gcc-3.2/gcc/configure.in Sat Jun 29 00:20:11 2002
--- gcc-3.2.1/gcc/configure.in Fri Sep 6 10:58:47 2002
*************** EOF
*** 1846,1878 ****
[Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.])
fi
! if test "x$gcc_cv_as_flags64" != xno; then
! AC_CACHE_CHECK([for assembler offsetable %lo() support],
! gcc_cv_as_offsetable_lo10, [
! gcc_cv_as_offsetable_lo10=unknown
! if test "x$gcc_cv_as" != x; then
! # Check if assembler has offsetable %lo()
! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
! if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
! > /dev/null 2>&1 &&
! $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
! > /dev/null 2>&1; then
! if cmp conftest.o conftest1.o > /dev/null 2>&1; then
! gcc_cv_as_offsetable_lo10=no
! else
! gcc_cv_as_offsetable_lo10=yes
! fi
! else
gcc_cv_as_offsetable_lo10=no
fi
! rm -f conftest.s conftest.o conftest1.s conftest1.o
fi
! ])
! if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
! AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
! [Define if your assembler supports offsetable %lo().])
fi
fi
;;
--- 1846,1876 ----
[Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.])
fi
! AC_CACHE_CHECK([for assembler offsetable %lo() support],
! gcc_cv_as_offsetable_lo10, [
! gcc_cv_as_offsetable_lo10=unknown
! if test "x$gcc_cv_as" != x; then
! # Check if assembler has offsetable %lo()
! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
! if $gcc_cv_as -xarch=v9 -o conftest.o conftest.s \
! > /dev/null 2>&1 &&
! $gcc_cv_as -xarch=v9 -o conftest1.o conftest1.s \
! > /dev/null 2>&1; then
! if cmp conftest.o conftest1.o > /dev/null 2>&1; then
gcc_cv_as_offsetable_lo10=no
+ else
+ gcc_cv_as_offsetable_lo10=yes
fi
! else
! gcc_cv_as_offsetable_lo10=no
fi
! rm -f conftest.s conftest.o conftest1.s conftest1.o
fi
+ ])
+ if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
+ AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
+ [Define if your assembler supports offsetable %lo().])
fi
;;
diff -Nrc3pad gcc-3.2/gcc/cp/ChangeLog gcc-3.2.1/gcc/cp/ChangeLog
*** gcc-3.2/gcc/cp/ChangeLog Wed Aug 14 09:00:06 2002
--- gcc-3.2.1/gcc/cp/ChangeLog Tue Nov 19 17:48:55 2002
***************
*** 1,3 ****
--- 1,280 ----
+ 2002-11-19 Release Manager
+
+ * GCC 3.2.1 Released.
+
+ 2002-11-19 Release Manager
+
+ * GCC 3.2.1 Released.
+
+ 2002-11-18 Release Manager
+
+ * GCC 3.2.1 Released.
+
+ 2002-11-11 Nathan Sidwell
+
+ PR c++/7788
+ * rtti.c (unemitted_tinfo_decl_p): Check it has a field.
+
+ 2002-11-02 Zack Weinberg
+
+ PR c/7353 redux
+ * decl2.c (grokfield): Reject TYPE_DECLs with initializers.
+
+ 2002-11-01 Gabriel Dos Reis
+
+ PR C++/2521
+ * typeck.c (build_x_unary_op): Handle pointer-to-member.
+
+ 2002-10-30 Mark Mitchell
+
+ PR c++/8160
+ * typeck2.c (process_init_constructor): Call complete_array_type.
+
+ PR c++/8149
+ * decl.c (make_typename_type): Issue errors about invalid results.
+
+ 2002-10-29 Mark Mitchell
+
+ PR c++/8287
+ * decl.c (finish_destructor_body): Create the label to jump to
+ when returning from a destructor here.
+ (finish_function_body): Rather than here.
+
+ * semantics.c (finish_alignof): Call complete_type before calling
+ c_alignof.
+ * decl2.c (build_expr_from_tree): Use
+ finish_sizeof/finish_alignof.
+
+ 2002-10-10 Jim Wilson
+
+ * decl.c (duplicate_decls): Don't call decl_attributes.
+
+ 2002-10-25 Zack Weinberg
+
+ PR middle-end/6994
+ * cp-lang.c (cp_var_mod_type_p): New: C++ hook for
+ variably_modified_type_p.
+ * cp-tree.h: Remove prototype of variably_modified_type_p.
+ * tree.c (variably_modified_type_p): Remove; now implemented
+ in language-independent code.
+
+ PR c++/7266
+ * decl.c (grokdeclarator): Check that TREE_OPERAND 0 of a
+ SCOPE_REF is not null before dereferencing it.
+
+ 2002-10-24 David Edelsohn
+
+ PR c++/7228
+ * cp-tree.h (CLASSTYPE_READONLY_FIELDS_NEED_INIT): Check that
+ lang_type structure exists before accessing field.
+ (SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT): New macro.
+ (CLASSTYPE_REF_FIELDS_NEED_INIT): Similar.
+ (SET_CLASSTYPE_REF_FIELDS_NEED_INIT): New macro.
+ * class.c (check_field_decls): Use new macros.
+ * typeck2.c (process_init_constructor): Remove redundant check for
+ existence of lang_type structure.
+
+ 2002-10-23 Mark Mitchell
+
+ PR c++/8067
+ * decl.c (maybe_inject_for_scope_var): Ignore __FUNCTION__ and
+ related variables.
+
+ 2002-10-23 Mark Mitchell
+
+ PR c++/7679
+ * spew.c (next_token): Do not return an endless stream of
+ END_OF_SAVED_INPUT tokens.
+ (snarf_method): Add three END_OF_SAVED_INPUT tokens to the end of
+ the cached token stream.
+ (snarf_defarg): Likewise.
+
+ 2002-10-22 Mark Mitchell
+
+ PR c++/6579
+ * spew.c (snarf_parenthesized_expression): New function.
+ (snarf_block): Use it.
+
+ 2002-10-21 Matthias Klose
+
+ * Backport, without whitespace change:
+ 2002-06-19 Akim Demaille
+ * parse.y (TYPENAME): Rename as tTYPENAME to avoid the clash with
+ decl.h's TYPENAME.
+ * spew.c, lex.c: Adjust.
+ * parse.y (explicit_instantiation): Add empty action to override
+ the default $$ = $1 where it introduces a type clash.
+
+ 2002-10-21 Mark Mitchell
+
+ PR c++/8218
+ * cp-tree.h (lang_type_class): Add contains_empty_class_p.
+ (CLASSTYPE_CONTAINS_EMPTY_CLASS_P): New macro.
+ * class.c (check_bases): Update CLASSTYPE_CONTAINS_EMPTY_CLASS_P.
+ (check_field_decls): Likewise.
+ (layout_class_type): Likewise.
+ (finish_struct_1): Initialize it.
+ (walk_subobject_offsets): Use it to prune searches.
+
+ 2002-10-18 Zack Weinberg
+
+ * decl.c (start_decl): Point users of the old initialized-
+ typedef extension at __typeof__.
+
+ 2002-10-18 Nathan Sidwell
+
+ PR c++/7676
+ * class.c (add_method): Compare template parms too.
+
+ 2002-10-17 Mark Mitchell
+
+ * mangle.c (globals): Add entity and need_abi_warning.
+ (write_prefix): Likewise.
+ (write_template_prefix): Likewise.
+ (start_mangling): Add entity parameter.
+ (finish_mangling): Warn about names whose mangling will change.
+ (mangle_decl_string): Adjust.
+ (mangle_type_string): Likewise.
+ (mangle_special_for_type): Likewise.
+ (mangle_ctor_vtbl_for_type): Likewise.
+ (mangle_thunk): Likewise.
+ (mangle_guard_variable): Likewise.
+ (mangle_ref_init_variable): Likewise.
+
+ PR c++/7584
+ * class.c (handle_using_decl): Allow the declaration used to be
+ from an ambiguous base.
+
+ 2002-10-16 Mark Mitchell
+
+ PR c++/7478
+ * cvt.c (convert_to_reference): Allow references as the incoming
+ type.
+
+ PR c++/8134
+ * tree.c (zero_init_p): Always return 1.
+
+ PR c++/7524
+ * method.c (do_build_assign_ref): Use cp_build_qualified_type, not
+ build_qualified_type.
+
+ 2002-10-14 Mark Mitchell
+
+ PR c++/7176
+ * lex.c (do_identifier): Add another option for the parsing
+ parameter.
+ * parse.y (do_id): Use it.
+
+ 2002-10-11 Mark Mitchell
+
+ PR c++/5661
+ * cp-tree.h (variably_modified_type_p): New function.
+ (grokdeclarator) Tighten check for variably modified types as
+ fields.
+ * pt.c (convert_template_argument): Do not allow variably modified
+ types as template arguments.
+ * tree.c (variably_modified_type_p): New function.
+
+ 2002-10-11 Jason Molenda
+
+ * init.c (build_field_list): Provide uses_unions_p with a default
+ value.
+
+ 2002-10-10 Gabriel Dos Reis
+
+ PRs C++/6803, C++/7721 and C++/7803
+ * decl.c (grokdeclarator): Gracefully handle template-name as
+ decl-specifier.
+
+ 2002-10-09 Zack Weinberg
+
+ PR c/7353
+ * decl.c (start_decl): Unconditionally issue error for
+ 'typedef foo = bar'.
+ (cp_finish_decl): Remove special case for TYPE_DECL with initializer.
+ (grokdeclarator): Remove redundant error for 'typedef foo = bar'.
+
+ 2002-10-03 Mark Mitchell
+
+ PR c++/7754
+ * decl2.c (finish_anon_union): Do not expand anonymous unions when
+ procesing template functions.
+ * pt.c (tsubst_decl, case VAR_DECL): Try to complete the variable
+ type. Call layout_decl.
+ (tsubst_expr, case DECL_STMT): Handle anonymous unions.
+
+ 2002-10-07 Richard Henderson
+
+ * decl2.c: Complete reversion of c++/7754.
+
+ 2002-10-06 Roger Sayle
+
+ PR optimization/6627
+ * cp/cp-tree.h (enum ptrmemfunc_vbit_where_t): Delete definition
+ from here, and move it to tree.h.
+ * cp/decl.c (cxx_init_decl_processing): If storing the vbit
+ in function pointers, ensure that force_align_functions_log
+ is atleast one.
+
+ 2002-10-04 H.J. Lu (hjl@gnu.org)
+
+ * pt.c (tsubst_decl, case VAR_DECL): Back out the last change.
+ (tsubst_expr, case DECL_STMT): Likewise.
+
+ 2002-10-02 Mark Mitchell
+
+ PR c++/7754
+ * decl2.c (finish_anon_union): Do not expand anonymous unions when
+ procesing template functions.
+ * pt.c (tsubst_decl, case VAR_DECL): Try to complete the variable
+ type. Call layout_decl.
+ (tsubst_expr, case DECL_STMT): Handle anonymous unions.
+
+ 2002-10-02 Mark Mitchell
+
+ PR c++/7188.
+ * init.c (expand_member_init): Allow a FIELD_DECL to be passed in
+ directly.
+ * pt.c (tsubst_initializer_list): Use expand_member_init.
+
+ 2002-09-04 Jakub Jelinek
+
+ * decl.c (start_cleanup_fn): Clear interface_only before
+ start_function, restore it afterwards.
+
+ 2002-09-01 Alexandre Oliva
+
+ * parse.y (sizeof, alignof, typeof): New non-terminals to
+ increment skip_evaluation. Replace terminals with them and
+ decrement skip_evaluation at the end of rules using them.
+ * decl2.c (mark_used): Don't assemble_external if
+ skipping evaluation.
+
+ 2002-08-31 Jason Merrill
+
+ * cp-lang.c (cp_expr_size): Don't abort.
+
+ 2002-08-27 Mark Mitchell
+
+ * cp-tree.h (warn_abi): Declare it.
+ * decl.c (warn_abi): Define it.
+ (cxx_decode_option): Set it.
+ * class.c (layout_virtual_bases): Warn about bugs in G++ that
+ result in incorrect object layouts.
+ (layout_class_type): Likewise.
+
+ 2002-08-22 Jason Merrill
+
+ PR c++/5607
+ * search.c (check_final_overrider): No longer static.
+ * class.c (update_vtable_entry_for_fn): Call it.
+ * cp-tree.h: Adjust.
+
+ * cp-lang.c (LANG_HOOKS_EXPR_SIZE): Define.
+ (cp_expr_size): New fn.
+ * call.c (convert_arg_to_ellipsis): Promote non-POD warning to error.
+ * typeck.c (build_modify_expr): Don't use save_expr on an lvalue.
+
2002-08-14 Release Manager
* GCC 3.2 Released.
***************
*** 298,304 ****
2002-04-29 Nathan Sidwell
PR c++/5719
! * decl.c (grok_op_properties): Assignment ops don't have to return
by value. operator% should.
2002-04-28 Franz Sirl
--- 575,581 ----
2002-04-29 Nathan Sidwell
PR c++/5719
! * decl.c (grok_op_properties): Assignment ops don't have to return
by value. operator% should.
2002-04-28 Franz Sirl
***************
*** 382,388 ****
(finish_init_stmts): Set STMT_EXPR_NO_SCOPE.
* semantics.c (begin_gobal_stmt_expr): Adjust call to
expand_start_stmt_expr.
!
2002-04-15 Mark Mitchell
* decl.c (register_dtor_fn): Pass the address of dso_handle, not
--- 659,665 ----
(finish_init_stmts): Set STMT_EXPR_NO_SCOPE.
* semantics.c (begin_gobal_stmt_expr): Adjust call to
expand_start_stmt_expr.
!
2002-04-15 Mark Mitchell
* decl.c (register_dtor_fn): Pass the address of dso_handle, not
***************
*** 411,421 ****
* typeck.c (type_after_usual_arithmetic_conversions):
If two types have the same variant, return immediately.
! When two floating-point operands are the same precision:
convert to float if one of the operands is float;
if neither operand is one of the standard types, return the type
of the first operand.
!
2002-04-12 Richard Sandiford
* decl.c (duplicate_decls): Don't try to unify an implicit typedef
--- 688,698 ----
* typeck.c (type_after_usual_arithmetic_conversions):
If two types have the same variant, return immediately.
! When two floating-point operands are the same precision:
convert to float if one of the operands is float;
if neither operand is one of the standard types, return the type
of the first operand.
!
2002-04-12 Richard Sandiford
* decl.c (duplicate_decls): Don't try to unify an implicit typedef
***************
*** 473,479 ****
set before checking it.
PR c++/6179
! * method.c (implicitly_declare_fn): Pass unqualified type to
synthesize_exception_spec.
2002-04-03 Jason Merrill
--- 750,756 ----
set before checking it.
PR c++/6179
! * method.c (implicitly_declare_fn): Pass unqualified type to
synthesize_exception_spec.
2002-04-03 Jason Merrill
***************
*** 538,544 ****
PR c++/4884
* call.c (build_op_delete_call): Allow for the fact the placement
may be a COMPOUND_EXPR.
!
2002-03-26 Nathan Sidwell
PR c++/5682
--- 815,821 ----
PR c++/4884
* call.c (build_op_delete_call): Allow for the fact the placement
may be a COMPOUND_EXPR.
!
2002-03-26 Nathan Sidwell
PR c++/5682
***************
*** 592,598 ****
2002-03-18 Ashif Harji
! * lang-specs.h (compiler default_compilers): Add
-no-integrated-cpp flag to invoke an external cpp.
2002-03-18 Jason Merrill
--- 869,875 ----
2002-03-18 Ashif Harji
! * lang-specs.h (compiler default_compilers): Add
-no-integrated-cpp flag to invoke an external cpp.
2002-03-18 Jason Merrill
***************
*** 709,715 ****
with pointer to member conversions.
2002-03-08 Craig Rodrigues
!
* cp-tree.h (CLEAR_BINFO_MARKED): Make both parts of
conditional return void.
--- 986,992 ----
with pointer to member conversions.
2002-03-08 Craig Rodrigues
!
* cp-tree.h (CLEAR_BINFO_MARKED): Make both parts of
conditional return void.
***************
*** 743,749 ****
* decl.c (finish_function): Only warn about missing return
statement with -Wreturn-type.
! 2002-02-24 Craig Rodrigues
PR c++/4093
* cp-tree.h (SET_BINFO_MARKED): Cast false part of condition
--- 1020,1026 ----
* decl.c (finish_function): Only warn about missing return
statement with -Wreturn-type.
! 2002-02-24 Craig Rodrigues
PR c++/4093
* cp-tree.h (SET_BINFO_MARKED): Cast false part of condition
***************
*** 797,803 ****
2002-02-19 Jason Merrill
! ABI change: Mangle `void (A::*)() const' as
M1AKFvvE, not MK1AFvvE.
* mangle.c (write_function_type): Write cv-quals for member
function type here.
--- 1074,1080 ----
2002-02-19 Jason Merrill
! ABI change: Mangle `void (A::*)() const' as
M1AKFvvE, not MK1AFvvE.
* mangle.c (write_function_type): Write cv-quals for member
function type here.
***************
*** 872,885 ****
(coerce_template_template_parms, convert_template_argument,
coerce_template_parms, maybe_get_template_decl_from_type_decl,
lookup_template_class, tsubst_friend_function, tsubst_friend_class,
! instantiate_class_template, tsubst_template_arg_vector,
! tsubst_template_parms, tsubst_aggr_type, tsubst_default_argument,
tsubst_decl, tsubst_arg_types, tsubst_function_type,
! tsubst_call_declarator_parms, tsubst, tsubst_copy, tsubst_expr,
instantiate_template, fn_type_unification,
! resolve_overloaded_unification, verify_class_unification,
! unify, get_bindings_real, do_type_instantiation,
! regenerate_decl_from_template, instantiate_decl,
tsubst_initializer_list, tsubst_enum,
get_mostly_instantiated_function_type,
invalid_nontype_parm_type_p): Likewise.
--- 1149,1162 ----
(coerce_template_template_parms, convert_template_argument,
coerce_template_parms, maybe_get_template_decl_from_type_decl,
lookup_template_class, tsubst_friend_function, tsubst_friend_class,
! instantiate_class_template, tsubst_template_arg_vector,
! tsubst_template_parms, tsubst_aggr_type, tsubst_default_argument,
tsubst_decl, tsubst_arg_types, tsubst_function_type,
! tsubst_call_declarator_parms, tsubst, tsubst_copy, tsubst_expr,
instantiate_template, fn_type_unification,
! resolve_overloaded_unification, verify_class_unification,
! unify, get_bindings_real, do_type_instantiation,
! regenerate_decl_from_template, instantiate_decl,
tsubst_initializer_list, tsubst_enum,
get_mostly_instantiated_function_type,
invalid_nontype_parm_type_p): Likewise.
***************
*** 940,946 ****
2002-02-01 Jason Merrill
PR c++/4872
! * decl.c (finish_function): Warn about a non-void function with
no return statement and no abnormal exit.
* cp-tree.h (struct cp_language_function): Add returns_abnormally.
(current_function_returns_abnormally): New macro.
--- 1217,1223 ----
2002-02-01 Jason Merrill
PR c++/4872
! * decl.c (finish_function): Warn about a non-void function with
no return statement and no abnormal exit.
* cp-tree.h (struct cp_language_function): Add returns_abnormally.
(current_function_returns_abnormally): New macro.
diff -Nrc3pad gcc-3.2/gcc/cp/call.c gcc-3.2.1/gcc/cp/call.c
*** gcc-3.2/gcc/cp/call.c Sat Apr 13 01:31:06 2002
--- gcc-3.2.1/gcc/cp/call.c Fri Aug 23 12:00:40 2002
*************** convert_arg_to_ellipsis (arg)
*** 4022,4030 ****
if (arg != error_mark_node && ! pod_type_p (TREE_TYPE (arg)))
{
! /* Undefined behaviour [expr.call] 5.2.2/7. */
! warning ("cannot pass objects of non-POD type `%#T' through `...'",
! TREE_TYPE (arg));
}
return arg;
--- 4022,4033 ----
if (arg != error_mark_node && ! pod_type_p (TREE_TYPE (arg)))
{
! /* Undefined behaviour [expr.call] 5.2.2/7. We used to just warn
! here and do a bitwise copy, but now cp_expr_size will abort if we
! try to do that. */
! error ("cannot pass objects of non-POD type `%#T' through `...'",
! TREE_TYPE (arg));
! arg = error_mark_node;
}
return arg;
diff -Nrc3pad gcc-3.2/gcc/cp/class.c gcc-3.2.1/gcc/cp/class.c
*** gcc-3.2/gcc/cp/class.c Sun Aug 4 13:09:31 2002
--- gcc-3.2.1/gcc/cp/class.c Fri Oct 25 15:20:28 2002
*************** add_method (type, method, error_p)
*** 945,950 ****
--- 945,957 ----
&& (TYPE_QUALS (TREE_TYPE (TREE_VALUE (parms1)))
!= TYPE_QUALS (TREE_TYPE (TREE_VALUE (parms2)))))
same = 0;
+
+ /* For templates, the template parms must be identical. */
+ if (TREE_CODE (fn) == TEMPLATE_DECL
+ && !comp_template_parms (DECL_TEMPLATE_PARMS (fn),
+ DECL_TEMPLATE_PARMS (method)))
+ same = 0;
+
if (! DECL_STATIC_FUNCTION_P (fn))
parms1 = TREE_CHAIN (parms1);
if (! DECL_STATIC_FUNCTION_P (method))
*************** handle_using_decl (using_decl, t)
*** 1150,1158 ****
tree flist = NULL_TREE;
tree old_value;
! binfo = binfo_or_else (ctype, t);
if (! binfo)
! return;
if (name == constructor_name (ctype)
|| name == constructor_name_full (ctype))
--- 1157,1168 ----
tree flist = NULL_TREE;
tree old_value;
! binfo = lookup_base (t, ctype, ba_any, NULL);
if (! binfo)
! {
! error_not_base_type (t, ctype);
! return;
! }
if (name == constructor_name (ctype)
|| name == constructor_name_full (ctype))
*************** check_bases (t, cant_have_default_ctor_p
*** 1338,1343 ****
--- 1348,1355 ----
TYPE_OVERLOADS_ARRAY_REF (t) |= TYPE_OVERLOADS_ARRAY_REF (basetype);
TYPE_OVERLOADS_ARROW (t) |= TYPE_OVERLOADS_ARROW (basetype);
TYPE_POLYMORPHIC_P (t) |= TYPE_POLYMORPHIC_P (basetype);
+ CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t)
+ |= CLASSTYPE_CONTAINS_EMPTY_CLASS_P (basetype);
}
}
*************** update_vtable_entry_for_fn (t, binfo, fn
*** 2454,2459 ****
--- 2466,2475 ----
if (overrider == error_mark_node)
return;
+ /* Check for unsupported covariant returns again now that we've
+ calculated the base offsets. */
+ check_final_overrider (TREE_PURPOSE (overrider), fn);
+
/* Assume that we will produce a thunk that convert all the way to
the final overrider, and not to an intermediate virtual base. */
virtual_base = NULL_TREE;
*************** check_field_decls (t, access_decls, empt
*** 3233,3242 ****
--- 3249,3266 ----
;
else
{
+ tree element_type;
+
/* The class is non-empty. */
*empty_p = 0;
/* The class is not even nearly empty. */
CLASSTYPE_NEARLY_EMPTY_P (t) = 0;
+ /* If one of the data members contains an empty class,
+ so does T. */
+ element_type = strip_array_types (type);
+ if (CLASS_TYPE_P (element_type)
+ && CLASSTYPE_CONTAINS_EMPTY_CLASS_P (element_type))
+ CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t) = 1;
}
}
*************** check_field_decls (t, access_decls, empt
*** 3318,3324 ****
{
CLASSTYPE_NON_POD_P (t) = 1;
if (DECL_INITIAL (x) == NULL_TREE)
! CLASSTYPE_REF_FIELDS_NEED_INIT (t) = 1;
/* ARM $12.6.2: [A member initializer list] (or, for an
aggregate, initialization by a brace-enclosed list) is the
--- 3342,3348 ----
{
CLASSTYPE_NON_POD_P (t) = 1;
if (DECL_INITIAL (x) == NULL_TREE)
! SET_CLASSTYPE_REF_FIELDS_NEED_INIT (t, 1);
/* ARM $12.6.2: [A member initializer list] (or, for an
aggregate, initialization by a brace-enclosed list) is the
*************** check_field_decls (t, access_decls, empt
*** 3352,3358 ****
{
C_TYPE_FIELDS_READONLY (t) = 1;
if (DECL_INITIAL (x) == NULL_TREE)
! CLASSTYPE_READONLY_FIELDS_NEED_INIT (t) = 1;
/* ARM $12.6.2: [A member initializer list] (or, for an
aggregate, initialization by a brace-enclosed list) is the
--- 3376,3382 ----
{
C_TYPE_FIELDS_READONLY (t) = 1;
if (DECL_INITIAL (x) == NULL_TREE)
! SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT (t, 1);
/* ARM $12.6.2: [A member initializer list] (or, for an
aggregate, initialization by a brace-enclosed list) is the
*************** check_field_decls (t, access_decls, empt
*** 3368,3375 ****
else if (IS_AGGR_TYPE (type))
{
C_TYPE_FIELDS_READONLY (t) |= C_TYPE_FIELDS_READONLY (type);
! CLASSTYPE_READONLY_FIELDS_NEED_INIT (t)
! |= CLASSTYPE_READONLY_FIELDS_NEED_INIT (type);
}
/* Core issue 80: A nonstatic data member is required to have a
--- 3392,3400 ----
else if (IS_AGGR_TYPE (type))
{
C_TYPE_FIELDS_READONLY (t) |= C_TYPE_FIELDS_READONLY (type);
! SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT (t,
! CLASSTYPE_READONLY_FIELDS_NEED_INIT (t)
! | CLASSTYPE_READONLY_FIELDS_NEED_INIT (type));
}
/* Core issue 80: A nonstatic data member is required to have a
*************** walk_subobject_offsets (type, f, offset,
*** 3503,3508 ****
--- 3528,3537 ----
tree field;
int i;
+ /* Avoid recursing into objects that are not interesting. */
+ if (!CLASSTYPE_CONTAINS_EMPTY_CLASS_P (type))
+ return 0;
+
/* Record the location of TYPE. */
r = (*f) (type, offset, offsets);
if (r)
*************** walk_subobject_offsets (type, f, offset,
*** 3548,3556 ****
--- 3577,3591 ----
}
else if (TREE_CODE (type) == ARRAY_TYPE)
{
+ tree element_type = strip_array_types (type);
tree domain = TYPE_DOMAIN (type);
tree index;
+ /* Avoid recursing into objects that are not interesting. */
+ if (!CLASS_TYPE_P (element_type)
+ || !CLASSTYPE_CONTAINS_EMPTY_CLASS_P (element_type))
+ return 0;
+
/* Step through each of the elements in the array. */
for (index = size_zero_node;
INT_CST_LT (index, TYPE_MAX_VALUE (domain));
*************** check_bases_and_members (t, empty_p)
*** 4263,4268 ****
--- 4298,4304 ----
/* Assume that the class is nearly empty; we'll clear this flag if
it turns out not to be nearly empty. */
CLASSTYPE_NEARLY_EMPTY_P (t) = 1;
+ CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t) = 0;
/* Check all the base-classes. */
check_bases (t, &cant_have_default_ctor, &cant_have_const_ctor,
*************** layout_virtual_bases (t, offsets)
*** 4553,4558 ****
--- 4589,4595 ----
{
tree vbases, dsize;
unsigned HOST_WIDE_INT eoc;
+ bool first_vbase = true;
if (CLASSTYPE_N_BASECLASSES (t) == 0)
return;
*************** layout_virtual_bases (t, offsets)
*** 4580,4585 ****
--- 4617,4623 ----
if (!TREE_VIA_VIRTUAL (vbases))
continue;
+
vbase = binfo_for_vbase (BINFO_TYPE (vbases), t);
if (!BINFO_PRIMARY_P (vbase))
*************** layout_virtual_bases (t, offsets)
*** 4597,4603 ****
/* Add padding so that we can put the virtual base class at an
appropriately aligned offset. */
dsize = round_up (dsize, desired_align);
-
usize = size_binop (CEIL_DIV_EXPR, dsize, bitsize_unit_node);
/* We try to squish empty virtual bases in just like
--- 4635,4640 ----
*************** layout_virtual_bases (t, offsets)
*** 4625,4635 ****
--- 4662,4691 ----
CLASSTYPE_SIZE (basetype)));
}
+ /* If the first virtual base might have been placed at a
+ lower address, had we started from CLASSTYPE_SIZE, rather
+ than TYPE_SIZE, issue a warning. There can be both false
+ positives and false negatives from this warning in rare
+ cases; to deal with all the possibilities would probably
+ require performing both layout algorithms and comparing
+ the results which is not particularly tractable. */
+ if (warn_abi
+ && first_vbase
+ && tree_int_cst_lt (size_binop (CEIL_DIV_EXPR,
+ round_up (CLASSTYPE_SIZE (t),
+ desired_align),
+ bitsize_unit_node),
+ BINFO_OFFSET (vbase)))
+ warning ("offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC",
+ basetype);
+
/* Keep track of the offsets assigned to this virtual base. */
record_subobject_offsets (BINFO_TYPE (vbase),
BINFO_OFFSET (vbase),
offsets,
/*vbases_p=*/0);
+
+ first_vbase = false;
}
}
*************** layout_class_type (t, empty_p, vfuns_p,
*** 4767,4772 ****
--- 4823,4830 ----
/* Maps offsets (represented as INTEGER_CSTs) to a TREE_LIST of
types that appear at that offset. */
splay_tree empty_base_offsets;
+ /* True if the last field layed out was a bit-field. */
+ bool last_field_was_bitfield = false;
/* Keep track of the first non-static data member. */
non_static_data_members = TYPE_FIELDS (t);
*************** layout_class_type (t, empty_p, vfuns_p,
*** 4856,4861 ****
--- 4914,4931 ----
layout_nonempty_base_or_field (rli, field, NULL_TREE,
empty_base_offsets, t);
+ /* If a bit-field does not immediately follow another bit-field,
+ and yet it starts in the middle of a byte, we have failed to
+ comply with the ABI. */
+ if (warn_abi
+ && DECL_C_BIT_FIELD (field)
+ && !last_field_was_bitfield
+ && !integer_zerop (size_binop (TRUNC_MOD_EXPR,
+ DECL_FIELD_BIT_OFFSET (field),
+ bitsize_unit_node)))
+ cp_warning_at ("offset of `%D' is not ABI-compliant and may change in a future version of GCC",
+ field);
+
/* If we needed additional padding after this field, add it
now. */
if (padding)
*************** layout_class_type (t, empty_p, vfuns_p,
*** 4873,4878 ****
--- 4943,4950 ----
NULL_TREE,
empty_base_offsets, t);
}
+
+ last_field_was_bitfield = DECL_C_BIT_FIELD (field);
}
/* It might be the case that we grew the class to allocate a
*************** layout_class_type (t, empty_p, vfuns_p,
*** 4934,4939 ****
--- 5006,5015 ----
CLASSTYPE_ALIGN (t) = TYPE_ALIGN (t);
CLASSTYPE_USER_ALIGN (t) = TYPE_USER_ALIGN (t);
+ /* Every empty class contains an empty class. */
+ if (*empty_p)
+ CLASSTYPE_CONTAINS_EMPTY_CLASS_P (t) = 1;
+
/* Set the TYPE_DECL for this type to contain the right
value for DECL_OFFSET, so that we can use it as part
of a COMPONENT_REF for multiple inheritance. */
diff -Nrc3pad gcc-3.2/gcc/cp/cp-lang.c gcc-3.2.1/gcc/cp/cp-lang.c
*** gcc-3.2/gcc/cp/cp-lang.c Thu May 23 17:57:42 2002
--- gcc-3.2.1/gcc/cp/cp-lang.c Fri Oct 25 22:11:13 2002
*************** Boston, MA 02111-1307, USA. */
*** 28,34 ****
#include "langhooks.h"
#include "langhooks-def.h"
! static HOST_WIDE_INT cxx_get_alias_set PARAMS ((tree));
#undef LANG_HOOKS_NAME
#define LANG_HOOKS_NAME "GNU C++"
--- 28,36 ----
#include "langhooks.h"
#include "langhooks-def.h"
! static HOST_WIDE_INT cxx_get_alias_set PARAMS ((tree));
! static tree cp_expr_size PARAMS ((tree));
! static bool cp_var_mod_type_p PARAMS ((tree));
#undef LANG_HOOKS_NAME
#define LANG_HOOKS_NAME "GNU C++"
*************** static HOST_WIDE_INT cxx_get_alias_set P
*** 83,88 ****
--- 85,92 ----
cp_copy_res_decl_for_inlining
#undef LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P
#define LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P anon_aggr_type_p
+ #undef LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P
+ #define LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P cp_var_mod_type_p
#undef LANG_HOOKS_TREE_INLINING_START_INLINING
#define LANG_HOOKS_TREE_INLINING_START_INLINING cp_start_inlining
#undef LANG_HOOKS_TREE_INLINING_END_INLINING
*************** static HOST_WIDE_INT cxx_get_alias_set P
*** 91,96 ****
--- 95,102 ----
#define LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN cp_dump_tree
#undef LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN
#define LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN cp_type_quals
+ #undef LANG_HOOKS_EXPR_SIZE
+ #define LANG_HOOKS_EXPR_SIZE cp_expr_size
/* Each front end provides its own hooks, for toplev.c. */
const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
*************** cxx_get_alias_set (t)
*** 108,110 ****
--- 114,153 ----
return c_common_get_alias_set (t);
}
+
+ /* Langhook for expr_size: Tell the backend that the value of an expression
+ of non-POD class type does not include any tail padding; a derived class
+ might have allocated something there. */
+
+ static tree
+ cp_expr_size (exp)
+ tree exp;
+ {
+ if (CLASS_TYPE_P (TREE_TYPE (exp)))
+ {
+ /* This would be wrong for a type with virtual bases, but they should
+ not get here. */
+ return CLASSTYPE_SIZE_UNIT (TREE_TYPE (exp));
+ }
+ else
+ /* Use the default code. */
+ return lhd_expr_size (exp);
+ }
+
+ /* Returns true if T is a variably modified type, in the sense of C99.
+ This routine needs only check cases that cannot be handled by the
+ language-independent logic in tree-inline.c. */
+
+ static bool
+ cp_var_mod_type_p (tree type)
+ {
+ /* If TYPE is a pointer-to-member, it is variably modified if either
+ the class or the member are variably modified. */
+ if (TYPE_PTRMEM_P (type) || TYPE_PTRMEMFUNC_P (type))
+ return (variably_modified_type_p (TYPE_PTRMEM_CLASS_TYPE (type))
+ || variably_modified_type_p (TYPE_PTRMEM_POINTED_TO_TYPE (type)));
+
+ /* All other types are not variably modified. */
+ return false;
+ }
+
diff -Nrc3pad gcc-3.2/gcc/cp/cp-tree.h gcc-3.2.1/gcc/cp/cp-tree.h
*** gcc-3.2/gcc/cp/cp-tree.h Fri Jul 26 23:23:00 2002
--- gcc-3.2.1/gcc/cp/cp-tree.h Fri Oct 25 22:11:14 2002
*************** extern int flag_operator_names;
*** 934,939 ****
--- 934,944 ----
extern int flag_gnu_binutils;
+ /* Nonzero means warn about things that will change when compiling
+ with an ABI-compliant compiler. */
+
+ extern int warn_abi;
+
/* Nonzero means warn about implicit declarations. */
extern int warn_implicit;
*************** struct lang_type
*** 1246,1251 ****
--- 1251,1257 ----
unsigned java_interface : 1;
unsigned non_zero_init : 1;
+ unsigned contains_empty_class_p : 1;
/* When adding a flag here, consider whether or not it ought to
apply to a template instance if it applies to the template. If
*************** struct lang_type
*** 1254,1260 ****
/* There are some bits left to fill out a 32-bit word. Keep track
of this by updating the size of this bitfield whenever you add or
remove a flag. */
! unsigned dummy : 7;
int vsize;
--- 1260,1266 ----
/* There are some bits left to fill out a 32-bit word. Keep track
of this by updating the size of this bitfield whenever you add or
remove a flag. */
! unsigned dummy : 6;
int vsize;
*************** struct lang_type
*** 1515,1520 ****
--- 1521,1530 ----
#define CLASSTYPE_NEARLY_EMPTY_P(NODE) \
(TYPE_LANG_SPECIFIC (NODE)->nearly_empty_p)
+ /* Nonzero if this class contains an empty subobject. */
+ #define CLASSTYPE_CONTAINS_EMPTY_CLASS_P(NODE) \
+ (TYPE_LANG_SPECIFIC (NODE)->contains_empty_class_p)
+
/* A list of class types of which this type is a friend. The
TREE_VALUE is normally a TYPE, but will be a TEMPLATE_DECL in the
case of a template friend. */
*************** struct lang_type
*** 1529,1541 ****
#define CLASSTYPE_DECLARED_CLASS(NODE) \
(TYPE_LANG_SPECIFIC (NODE)->declared_class)
! /* Nonzero if this class has const members which have no specified initialization. */
! #define CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE) \
! (TYPE_LANG_SPECIFIC (NODE)->const_needs_init)
! /* Nonzero if this class has ref members which have no specified initialization. */
! #define CLASSTYPE_REF_FIELDS_NEED_INIT(NODE) \
! (TYPE_LANG_SPECIFIC (NODE)->ref_needs_init)
/* Nonzero if this class is included from a header file which employs
`#pragma interface', and it is not included in its implementation file. */
--- 1539,1559 ----
#define CLASSTYPE_DECLARED_CLASS(NODE) \
(TYPE_LANG_SPECIFIC (NODE)->declared_class)
! /* Nonzero if this class has const members
! which have no specified initialization. */
! #define CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE) \
! (TYPE_LANG_SPECIFIC (NODE) \
! ? TYPE_LANG_SPECIFIC (NODE)->const_needs_init : 0)
! #define SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE, VALUE) \
! (TYPE_LANG_SPECIFIC (NODE)->const_needs_init = (VALUE))
! /* Nonzero if this class has ref members
! which have no specified initialization. */
! #define CLASSTYPE_REF_FIELDS_NEED_INIT(NODE) \
! (TYPE_LANG_SPECIFIC (NODE) \
! ? TYPE_LANG_SPECIFIC (NODE)->ref_needs_init : 0)
! #define SET_CLASSTYPE_REF_FIELDS_NEED_INIT(NODE, VALUE) \
! (TYPE_LANG_SPECIFIC (NODE)->ref_needs_init = (VALUE))
/* Nonzero if this class is included from a header file which employs
`#pragma interface', and it is not included in its implementation file. */
*************** extern int flag_new_for_scope;
*** 2552,2583 ****
member function. [expr.unary.op]/3 */
#define PTRMEM_OK_P(NODE) TREE_LANG_FLAG_0 (NODE)
- /* A pointer-to-function member type looks like:
-
- struct {
- __P __pfn;
- ptrdiff_t __delta;
- };
-
- If __pfn is NULL, it is a NULL pointer-to-member-function.
-
- (Because the vtable is always the first thing in the object, we
- don't need its offset.) If the function is virtual, then PFN is
- one plus twice the index into the vtable; otherwise, it is just a
- pointer to the function.
-
- Unfortunately, using the lowest bit of PFN doesn't work in
- architectures that don't impose alignment requirements on function
- addresses, or that use the lowest bit to tell one ISA from another,
- for example. For such architectures, we use the lowest bit of
- DELTA instead of the lowest bit of the PFN, and DELTA will be
- multiplied by 2. */
- enum ptrmemfunc_vbit_where_t
- {
- ptrmemfunc_vbit_in_pfn,
- ptrmemfunc_vbit_in_delta
- };
-
/* Get the POINTER_TYPE to the METHOD_TYPE associated with this
pointer to member function. TYPE_PTRMEMFUNC_P _must_ be true,
before using this macro. */
--- 2570,2575 ----
*************** extern tree lookup_conversions PARAMS
*** 4084,4089 ****
--- 4076,4082 ----
extern tree binfo_for_vtable PARAMS ((tree));
extern tree binfo_from_vbase PARAMS ((tree));
extern tree look_for_overrides_here PARAMS ((tree, tree));
+ extern int check_final_overrider PARAMS ((tree, tree));
extern tree dfs_walk PARAMS ((tree,
tree (*) (tree, void *),
tree (*) (tree, void *),
diff -Nrc3pad gcc-3.2/gcc/cp/cvt.c gcc-3.2.1/gcc/cp/cvt.c
*** gcc-3.2/gcc/cp/cvt.c Fri Jul 5 22:11:38 2002
--- gcc-3.2.1/gcc/cp/cvt.c Thu Oct 17 00:15:37 2002
*************** convert_to_reference (reftype, expr, con
*** 464,475 ****
tree decl;
{
register tree type = TYPE_MAIN_VARIANT (TREE_TYPE (reftype));
! register tree intype = TREE_TYPE (expr);
tree rval = NULL_TREE;
tree rval_as_conversion = NULL_TREE;
int i;
! if (TREE_CODE (type) == FUNCTION_TYPE && intype == unknown_type_node)
{
expr = instantiate_type (type, expr,
(flags & LOOKUP_COMPLAIN)
--- 464,476 ----
tree decl;
{
register tree type = TYPE_MAIN_VARIANT (TREE_TYPE (reftype));
! register tree intype;
tree rval = NULL_TREE;
tree rval_as_conversion = NULL_TREE;
int i;
! if (TREE_CODE (type) == FUNCTION_TYPE
! && TREE_TYPE (expr) == unknown_type_node)
{
expr = instantiate_type (type, expr,
(flags & LOOKUP_COMPLAIN)
*************** convert_to_reference (reftype, expr, con
*** 479,484 ****
--- 480,490 ----
intype = TREE_TYPE (expr);
}
+ else
+ {
+ expr = convert_from_reference (expr);
+ intype = TREE_TYPE (expr);
+ }
my_friendly_assert (TREE_CODE (intype) != REFERENCE_TYPE, 364);
diff -Nrc3pad gcc-3.2/gcc/cp/decl.c gcc-3.2.1/gcc/cp/decl.c
*** gcc-3.2/gcc/cp/decl.c Tue Jul 9 23:46:07 2002
--- gcc-3.2.1/gcc/cp/decl.c Thu Oct 31 00:02:33 2002
*************** duplicate_decls (newdecl, olddecl)
*** 3500,3506 ****
except for any that we copy here from the old type. */
DECL_ATTRIBUTES (newdecl)
= (*targetm.merge_decl_attributes) (olddecl, newdecl);
- decl_attributes (&newdecl, DECL_ATTRIBUTES (newdecl), 0);
if (TREE_CODE (newdecl) == TEMPLATE_DECL)
{
--- 3500,3505 ----
*************** make_typename_type (context, name, compl
*** 5760,5765 ****
--- 5759,5770 ----
t = lookup_field (context, name, 0, 1);
if (t)
{
+ if (TREE_CODE (t) != TYPE_DECL)
+ {
+ if (complain & tf_error)
+ error ("no type named `%#T' in `%#T'", name, context);
+ return error_mark_node;
+ }
if (DECL_ARTIFICIAL (t) || !(complain & tf_keep_type_decl))
t = TREE_TYPE (t);
if (IMPLICIT_TYPENAME_P (t))
*************** cxx_init_decl_processing ()
*** 6517,6522 ****
--- 6522,6533 ----
flag_inline_functions = 0;
}
+ /* Force minimum function alignment if using the least significant
+ bit of function pointers to store the virtual bit. */
+ if (TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_pfn
+ && force_align_functions_log < 1)
+ force_align_functions_log = 1;
+
/* Initially, C. */
current_lang_name = lang_name_c;
*************** start_decl (declarator, declspecs, initi
*** 7322,7335 ****
switch (TREE_CODE (decl))
{
case TYPE_DECL:
! /* typedef foo = bar means give foo the same type as bar.
! We haven't parsed bar yet, so `cp_finish_decl' will fix that up.
! Any other case of an initialization in a TYPE_DECL is an error. */
! if (pedantic || list_length (declspecs) > 1)
! {
! error ("typedef `%D' is initialized", decl);
! initialized = 0;
! }
break;
case FUNCTION_DECL:
--- 7333,7340 ----
switch (TREE_CODE (decl))
{
case TYPE_DECL:
! error ("typedef `%D' is initialized (use __typeof__ instead)", decl);
! initialized = 0;
break;
case FUNCTION_DECL:
*************** maybe_inject_for_scope_var (decl)
*** 8026,8031 ****
--- 8031,8042 ----
{
if (!DECL_NAME (decl))
return;
+
+ /* Declarations of __FUNCTION__ and its ilk appear magically when
+ the variable is first used. If that happens to be inside a
+ for-loop, we don't want to do anything special. */
+ if (DECL_PRETTY_FUNCTION_P (decl))
+ return;
if (current_binding_level->is_for_scope)
{
*************** cp_finish_decl (decl, init, asmspec_tree
*** 8241,8252 ****
/* Take care of TYPE_DECLs up front. */
if (TREE_CODE (decl) == TYPE_DECL)
{
- if (init && DECL_INITIAL (decl))
- {
- /* typedef foo = bar; store the type of bar as the type of foo. */
- TREE_TYPE (decl) = type = TREE_TYPE (init);
- DECL_INITIAL (decl) = init = NULL_TREE;
- }
if (type != error_mark_node
&& IS_AGGR_TYPE (type) && DECL_NAME (decl))
{
--- 8252,8257 ----
*************** static tree
*** 8515,8520 ****
--- 8520,8526 ----
start_cleanup_fn ()
{
static int counter = 0;
+ int old_interface_only = interface_only;
int old_interface_unknown = interface_unknown;
char name[32];
tree parmtypes;
*************** start_cleanup_fn ()
*** 8526,8531 ****
--- 8532,8538 ----
/* No need to mangle this. */
push_lang_context (lang_name_c);
+ interface_only = 0;
interface_unknown = 1;
/* Build the parameter-types. */
*************** start_cleanup_fn ()
*** 8567,8572 ****
--- 8574,8580 ----
start_function (/*specs=*/NULL_TREE, fndecl, NULL_TREE, SF_PRE_PARSED);
interface_unknown = old_interface_unknown;
+ interface_only = old_interface_only;
pop_lang_context ();
*************** grokdeclarator (declarator, declspecs, d
*** 10063,10068 ****
--- 10071,10086 ----
next = 0;
break;
+ case TEMPLATE_DECL:
+ /* Sometimes, we see a template-name used as part of a
+ decl-specifier like in
+ std::allocator alloc;
+ Handle that gracefully. */
+ error ("invalid use of template-name '%E' in a declarator",
+ decl);
+ return error_mark_node;
+ break;
+
default:
internal_error ("`%D' as declarator", decl);
}
*************** grokdeclarator (declarator, declspecs, d
*** 10703,10721 ****
type = create_array_type_for_decl (dname, type, size);
- /* VLAs never work as fields. */
- if (decl_context == FIELD && !processing_template_decl
- && TREE_CODE (type) == ARRAY_TYPE
- && TYPE_DOMAIN (type) != NULL_TREE
- && !TREE_CONSTANT (TYPE_MAX_VALUE (TYPE_DOMAIN (type))))
- {
- error ("size of member `%D' is not constant", dname);
- /* Proceed with arbitrary constant size, so that offset
- computations don't get confused. */
- type = create_array_type_for_decl (dname, TREE_TYPE (type),
- integer_one_node);
- }
-
ctype = NULL_TREE;
}
break;
--- 10721,10726 ----
*************** grokdeclarator (declarator, declspecs, d
*** 11022,11029 ****
pop_decl_namespace ();
else if (friendp && (TREE_COMPLEXITY (declarator) < 2))
/* Don't fall out into global scope. Hides real bug? --eichin */ ;
! else if (! IS_AGGR_TYPE_CODE
! (TREE_CODE (TREE_OPERAND (declarator, 0))))
;
else if (TREE_COMPLEXITY (declarator) == current_class_depth)
{
--- 11027,11035 ----
pop_decl_namespace ();
else if (friendp && (TREE_COMPLEXITY (declarator) < 2))
/* Don't fall out into global scope. Hides real bug? --eichin */ ;
! else if (!TREE_OPERAND (declarator, 0)
! || !IS_AGGR_TYPE_CODE
! (TREE_CODE (TREE_OPERAND (declarator, 0))))
;
else if (TREE_COMPLEXITY (declarator) == current_class_depth)
{
*************** grokdeclarator (declarator, declspecs, d
*** 11203,11208 ****
--- 11209,11222 ----
type = error_mark_node;
}
+ if (decl_context == FIELD
+ && !processing_template_decl
+ && variably_modified_type_p (type))
+ {
+ error ("data member may not have variably modified type `%T'", type);
+ type = error_mark_node;
+ }
+
if (explicitp == 1 || (explicitp && friendp))
{
/* [dcl.fct.spec] The explicit specifier shall only be used in
*************** grokdeclarator (declarator, declspecs, d
*** 11342,11350 ****
bad_specifiers (decl, "type", virtualp, quals != NULL_TREE,
inlinep, friendp, raises != NULL_TREE);
- if (initialized)
- error ("typedef declaration includes an initializer");
-
return decl;
}
--- 11356,11361 ----
*************** finish_destructor_body ()
*** 14107,14112 ****
--- 14118,14127 ----
{
tree exprstmt;
+ /* Any return from a destructor will end up here; that way all base
+ and member cleanups will be run when the function returns. */
+ add_stmt (build_stmt (LABEL_STMT, dtor_label));
+
/* And perform cleanups for our bases and members. */
perform_base_cleanups ();
*************** void
*** 14182,14195 ****
finish_function_body (compstmt)
tree compstmt;
{
! if (processing_template_decl)
! /* Do nothing now. */;
! else if (DECL_DESTRUCTOR_P (current_function_decl))
! /* Any return from a destructor will end up here. Put it before the
! cleanups so that an explicit return doesn't duplicate them. */
! add_stmt (build_stmt (LABEL_STMT, dtor_label));
!
! /* Close the block; in a destructor, run the member cleanups. */
finish_compound_stmt (0, compstmt);
if (processing_template_decl)
--- 14197,14203 ----
finish_function_body (compstmt)
tree compstmt;
{
! /* Close the block. */
finish_compound_stmt (0, compstmt);
if (processing_template_decl)
diff -Nrc3pad gcc-3.2/gcc/cp/decl2.c gcc-3.2.1/gcc/cp/decl2.c
*** gcc-3.2/gcc/cp/decl2.c Fri Jul 26 23:22:59 2002
--- gcc-3.2.1/gcc/cp/decl2.c Sat Nov 2 10:28:42 2002
*************** int flag_implicit_templates = 1;
*** 172,177 ****
--- 172,182 ----
int flag_implicit_inline_templates = 1;
+ /* Nonzero means warn about things that will change when compiling
+ with an ABI-compliant compiler. */
+
+ int warn_abi = 0;
+
/* Nonzero means warn about implicit declarations. */
int warn_implicit = 1;
*************** cxx_decode_option (argc, argv)
*** 600,606 ****
if (p[0] == 'n' && p[1] == 'o' && p[2] == '-')
setting = 0, p += 3;
! if (!strcmp (p, "implicit"))
warn_implicit = setting;
else if (!strcmp (p, "long-long"))
warn_long_long = setting;
--- 605,613 ----
if (p[0] == 'n' && p[1] == 'o' && p[2] == '-')
setting = 0, p += 3;
! if (!strcmp (p, "abi"))
! warn_abi = setting;
! else if (!strcmp (p, "implicit"))
warn_implicit = setting;
else if (!strcmp (p, "long-long"))
warn_long_long = setting;
*************** grokfield (declarator, declspecs, init,
*** 1512,1518 ****
/* friend or constructor went bad. */
return value;
if (TREE_TYPE (value) == error_mark_node)
! return error_mark_node;
/* Pass friendly classes back. */
if (TREE_CODE (value) == VOID_TYPE)
--- 1519,1531 ----
/* friend or constructor went bad. */
return value;
if (TREE_TYPE (value) == error_mark_node)
! return error_mark_node;
!
! if (TREE_CODE (value) == TYPE_DECL && init)
! {
! error ("typedef `%D' is initialized (use __typeof__ instead)", value);
! init = NULL_TREE;
! }
/* Pass friendly classes back. */
if (TREE_CODE (value) == VOID_TYPE)
*************** finish_anon_union (anon_union_decl)
*** 1968,1993 ****
return;
}
! main_decl = build_anon_union_vars (anon_union_decl,
! &DECL_ANON_UNION_ELEMS (anon_union_decl),
! static_p, external_p);
!
! if (main_decl == NULL_TREE)
{
! warning ("anonymous aggregate with no members");
! return;
! }
! if (static_p)
! {
! make_decl_rtl (main_decl, 0);
! COPY_DECL_RTL (main_decl, anon_union_decl);
! expand_anon_union_decl (anon_union_decl,
! NULL_TREE,
! DECL_ANON_UNION_ELEMS (anon_union_decl));
}
! else
! add_decl_stmt (anon_union_decl);
}
/* Finish processing a builtin type TYPE. It's name is NAME,
--- 1981,2011 ----
return;
}
! if (!processing_template_decl)
{
! main_decl
! = build_anon_union_vars (anon_union_decl,
! &DECL_ANON_UNION_ELEMS (anon_union_decl),
! static_p, external_p);
!
! if (main_decl == NULL_TREE)
! {
! warning ("anonymous aggregate with no members");
! return;
! }
! if (static_p)
! {
! make_decl_rtl (main_decl, 0);
! COPY_DECL_RTL (main_decl, anon_union_decl);
! expand_anon_union_decl (anon_union_decl,
! NULL_TREE,
! DECL_ANON_UNION_ELEMS (anon_union_decl));
! return;
! }
}
!
! add_decl_stmt (anon_union_decl);
}
/* Finish processing a builtin type TYPE. It's name is NAME,
*************** build_expr_from_tree (t)
*** 3783,3792 ****
case ALIGNOF_EXPR:
{
tree r = build_expr_from_tree (TREE_OPERAND (t, 0));
! if (!TYPE_P (r))
! return TREE_CODE (t) == SIZEOF_EXPR ? expr_sizeof (r) : c_alignof_expr (r);
! else
! return TREE_CODE (t) == SIZEOF_EXPR ? c_sizeof (r) : c_alignof (r);
}
case MODOP_EXPR:
--- 3801,3808 ----
case ALIGNOF_EXPR:
{
tree r = build_expr_from_tree (TREE_OPERAND (t, 0));
! return (TREE_CODE (t) == SIZEOF_EXPR
! ? finish_sizeof (r) : finish_alignof (r));
}
case MODOP_EXPR:
*************** mark_used (decl)
*** 5179,5185 ****
TREE_USED (decl) = 1;
if (processing_template_decl)
return;
! assemble_external (decl);
/* Is it a synthesized method that needs to be synthesized? */
if (TREE_CODE (decl) == FUNCTION_DECL
--- 5195,5202 ----
TREE_USED (decl) = 1;
if (processing_template_decl)
return;
! if (!skip_evaluation)
! assemble_external (decl);
/* Is it a synthesized method that needs to be synthesized? */
if (TREE_CODE (decl) == FUNCTION_DECL
diff -Nrc3pad gcc-3.2/gcc/cp/init.c gcc-3.2.1/gcc/cp/init.c
*** gcc-3.2/gcc/cp/init.c Wed Jul 3 15:02:09 2002
--- gcc-3.2.1/gcc/cp/init.c Fri Oct 11 18:10:59 2002
*************** build_field_list (t, list, uses_unions_p
*** 348,353 ****
--- 348,355 ----
{
tree fields;
+ *uses_unions_p = 0;
+
/* Note whether or not T is a union. */
if (TREE_CODE (t) == UNION_TYPE)
*uses_unions_p = 1;
*************** expand_member_init (exp, name, init)
*** 1094,1100 ****
}
else
{
! field = lookup_field (type, name, 1, 0);
if (! member_init_ok_or_else (field, type, name))
return NULL_TREE;
--- 1096,1105 ----
}
else
{
! if (TREE_CODE (name) == IDENTIFIER_NODE)
! field = lookup_field (type, name, 1, 0);
! else
! field = name;
if (! member_init_ok_or_else (field, type, name))
return NULL_TREE;
diff -Nrc3pad gcc-3.2/gcc/cp/lex.c gcc-3.2.1/gcc/cp/lex.c
*** gcc-3.2/gcc/cp/lex.c Thu May 23 17:57:44 2002
--- gcc-3.2.1/gcc/cp/lex.c Mon Oct 21 18:38:39 2002
*************** extern YYSTYPE yylval; /* the semantic
*** 90,99 ****
int warn_traditional = 0;
int flag_digraphs = 1;
! /* the declaration found for the last IDENTIFIER token read in.
! yylex must look this up to detect typedefs, which get token type TYPENAME,
! so it is left around in case the identifier is not a typedef but is
! used in a context which makes it a reference to a variable. */
tree lastiddecl;
/* Array for holding counts of the numbers of tokens seen. */
--- 90,100 ----
int warn_traditional = 0;
int flag_digraphs = 1;
! /* the declaration found for the last IDENTIFIER token read in. yylex
! must look this up to detect typedefs, which get token type
! tTYPENAME, so it is left around in case the identifier is not a
! typedef but is used in a context which makes it a reference to a
! variable. */
tree lastiddecl;
/* Array for holding counts of the numbers of tokens seen. */
*************** yyprint (file, yychar, yylval)
*** 739,745 ****
switch (yychar)
{
case IDENTIFIER:
! case TYPENAME:
case TYPESPEC:
case PTYPENAME:
case PFUNCNAME:
--- 740,746 ----
switch (yychar)
{
case IDENTIFIER:
! case tTYPENAME:
case TYPESPEC:
case PTYPENAME:
case PFUNCNAME:
*************** check_for_missing_semicolon (type)
*** 977,983 ****
if ((yychar > 255
&& yychar != SCSPEC
&& yychar != IDENTIFIER
! && yychar != TYPENAME
&& yychar != CV_QUALIFIER
&& yychar != SELFNAME)
|| yychar == 0 /* EOF */)
--- 978,984 ----
if ((yychar > 255
&& yychar != SCSPEC
&& yychar != IDENTIFIER
! && yychar != tTYPENAME
&& yychar != CV_QUALIFIER
&& yychar != SELFNAME)
|| yychar == 0 /* EOF */)
*************** do_identifier (token, parsing, args)
*** 1194,1200 ****
tree args;
{
register tree id;
! int lexing = (parsing == 1);
if (! lexing)
id = lookup_name (token, 0);
--- 1195,1201 ----
tree args;
{
register tree id;
! int lexing = (parsing == 1 || parsing == 3);
if (! lexing)
id = lookup_name (token, 0);
*************** do_identifier (token, parsing, args)
*** 1216,1222 ****
/* Remember that this name has been used in the class definition, as per
[class.scope0] */
! if (id && parsing)
maybe_note_name_used_in_class (token, id);
if (id == error_mark_node)
--- 1217,1223 ----
/* Remember that this name has been used in the class definition, as per
[class.scope0] */
! if (id && parsing && parsing != 3)
maybe_note_name_used_in_class (token, id);
if (id == error_mark_node)
diff -Nrc3pad gcc-3.2/gcc/cp/mangle.c gcc-3.2.1/gcc/cp/mangle.c
*** gcc-3.2/gcc/cp/mangle.c Fri Jul 26 23:22:58 2002
--- gcc-3.2.1/gcc/cp/mangle.c Fri Oct 18 08:11:44 2002
*************** static struct globals
*** 93,98 ****
--- 93,105 ----
/* An array of the current substitution candidates, in the order
we've seen them. */
varray_type substitutions;
+
+ /* The entity that is being mangled. */
+ tree entity;
+
+ /* True if the mangling will be different in a future version of the
+ ABI. */
+ bool need_abi_warning;
} G;
/* Indices into subst_identifiers. These are identifiers used in
*************** static const char *mangle_decl_string PA
*** 186,193 ****
/* Control functions. */
! static inline void start_mangling PARAMS ((void));
! static inline const char *finish_mangling PARAMS ((void));
static tree mangle_special_for_type PARAMS ((tree, const char *));
/* Foreign language functions. */
--- 193,200 ----
/* Control functions. */
! static inline void start_mangling PARAMS ((tree));
! static inline const char *finish_mangling PARAMS ((bool));
static tree mangle_special_for_type PARAMS ((tree, const char *));
/* Foreign language functions. */
*************** write_prefix (node)
*** 884,889 ****
--- 891,900 ----
template_info = CLASSTYPE_TEMPLATE_INFO (node);
}
+ /* In G++ 3.2, the name of the template parameter was used. */
+ if (TREE_CODE (node) == TEMPLATE_TYPE_PARM)
+ G.need_abi_warning = true;
+
if (template_info != NULL)
/* Templated. */
{
*************** write_template_prefix (node)
*** 955,960 ****
--- 966,975 ----
if (find_substitution (substitution))
return;
+ /* In G++ 3.2, the name of the template template parameter was used. */
+ if (TREE_CODE (TREE_TYPE (template)) == TEMPLATE_TEMPLATE_PARM)
+ G.need_abi_warning = true;
+
write_prefix (context);
write_unqualified_name (decl);
*************** write_expression (expr)
*** 1823,1828 ****
--- 1838,1847 ----
write_template_arg_literal (expr);
else if (DECL_P (expr))
{
+ /* G++ 3.2 incorrectly mangled non-type template arguments of
+ enumeration type using their names. */
+ if (code == CONST_DECL)
+ G.need_abi_warning = 1;
write_char ('L');
write_mangled_name (expr);
write_char ('E');
*************** write_expression (expr)
*** 1878,1884 ****
if (TREE_CODE (TREE_OPERAND (expr, 1)) == IDENTIFIER_NODE)
write_source_name (TREE_OPERAND (expr, 1));
else
! write_encoding (TREE_OPERAND (expr, 1));
break;
default:
--- 1897,1908 ----
if (TREE_CODE (TREE_OPERAND (expr, 1)) == IDENTIFIER_NODE)
write_source_name (TREE_OPERAND (expr, 1));
else
! {
! /* G++ 3.2 incorrectly put out both the "sr" code and
! the nested name of the qualified name. */
! G.need_abi_warning = 1;
! write_encoding (TREE_OPERAND (expr, 1));
! }
break;
default:
*************** write_template_arg (node)
*** 1983,1988 ****
--- 2007,2016 ----
write_template_template_arg (node);
else if (DECL_P (node))
{
+ /* G++ 3.2 incorrectly mangled non-type template arguments of
+ enumeration type using their names. */
+ if (code == CONST_DECL)
+ G.need_abi_warning = 1;
write_char ('L');
write_char ('Z');
write_encoding (node);
*************** write_substitution (seq_id)
*** 2152,2167 ****
/* Start mangling a new name or type. */
static inline void
! start_mangling ()
{
obstack_free (&G.name_obstack, obstack_base (&G.name_obstack));
}
/* Done with mangling. Return the generated mangled name. */
static inline const char *
! finish_mangling ()
{
/* Clear all the substitutions. */
VARRAY_POP_ALL (G.substitutions);
--- 2180,2202 ----
/* Start mangling a new name or type. */
static inline void
! start_mangling (tree entity)
{
+ G.entity = entity;
+ G.need_abi_warning = false;
obstack_free (&G.name_obstack, obstack_base (&G.name_obstack));
}
/* Done with mangling. Return the generated mangled name. */
static inline const char *
! finish_mangling (bool warn)
{
+ if (warn_abi && warn && G.need_abi_warning)
+ warning ("the mangled name of `%D' will change in a future "
+ "version of GCC",
+ G.entity);
+
/* Clear all the substitutions. */
VARRAY_POP_ALL (G.substitutions);
*************** mangle_decl_string (decl)
*** 2197,2203 ****
{
const char *result;
! start_mangling ();
if (TREE_CODE (decl) == TYPE_DECL)
write_type (TREE_TYPE (decl));
--- 2232,2238 ----
{
const char *result;
! start_mangling (decl);
if (TREE_CODE (decl) == TYPE_DECL)
write_type (TREE_TYPE (decl));
*************** mangle_decl_string (decl)
*** 2224,2230 ****
write_string (" *INTERNAL* ");
}
! result = finish_mangling ();
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_decl_string = '%s'\n\n", result);
return result;
--- 2259,2265 ----
write_string (" *INTERNAL* ");
}
! result = finish_mangling (/*warn=*/true);
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_decl_string = '%s'\n\n", result);
return result;
*************** mangle_type_string (type)
*** 2249,2257 ****
{
const char *result;
! start_mangling ();
write_type (type);
! result = finish_mangling ();
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_type_string = '%s'\n\n", result);
return result;
--- 2284,2292 ----
{
const char *result;
! start_mangling (type);
write_type (type);
! result = finish_mangling (/*warn=*/false);
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_type_string = '%s'\n\n", result);
return result;
*************** mangle_special_for_type (type, code)
*** 2279,2285 ****
/* We don't have an actual decl here for the special component, so
we can't just process the . Instead, fake it. */
! start_mangling ();
/* Start the mangling. */
write_string ("_Z");
--- 2314,2320 ----
/* We don't have an actual decl here for the special component, so
we can't just process the . Instead, fake it. */
! start_mangling (type);
/* Start the mangling. */
write_string ("_Z");
*************** mangle_special_for_type (type, code)
*** 2287,2293 ****
/* Add the type. */
write_type (type);
! result = finish_mangling ();
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_special_for_type = %s\n\n", result);
--- 2322,2328 ----
/* Add the type. */
write_type (type);
! result = finish_mangling (/*warn=*/false);
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_special_for_type = %s\n\n", result);
*************** mangle_ctor_vtbl_for_type (type, binfo)
*** 2354,2360 ****
{
const char *result;
! start_mangling ();
write_string ("_Z");
write_string ("TC");
--- 2389,2395 ----
{
const char *result;
! start_mangling (type);
write_string ("_Z");
write_string ("TC");
*************** mangle_ctor_vtbl_for_type (type, binfo)
*** 2363,2369 ****
write_char ('_');
write_type (BINFO_TYPE (binfo));
! result = finish_mangling ();
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_ctor_vtbl_for_type = %s\n\n", result);
return get_identifier (result);
--- 2398,2404 ----
write_char ('_');
write_type (BINFO_TYPE (binfo));
! result = finish_mangling (/*warn=*/false);
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_ctor_vtbl_for_type = %s\n\n", result);
return get_identifier (result);
*************** mangle_thunk (fn_decl, offset, vcall_off
*** 2387,2393 ****
{
const char *result;
! start_mangling ();
write_string ("_Z");
/* The for virtual thunks is Tv, for non-virtual
--- 2422,2428 ----
{
const char *result;
! start_mangling (fn_decl);
write_string ("_Z");
/* The for virtual thunks is Tv, for non-virtual
*************** mangle_thunk (fn_decl, offset, vcall_off
*** 2413,2419 ****
/* Scoped name. */
write_encoding (fn_decl);
! result = finish_mangling ();
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_thunk = %s\n\n", result);
return get_identifier (result);
--- 2448,2454 ----
/* Scoped name. */
write_encoding (fn_decl);
! result = finish_mangling (/*warn=*/false);
if (DEBUG_MANGLE)
fprintf (stderr, "mangle_thunk = %s\n\n", result);
return get_identifier (result);
*************** tree
*** 2454,2460 ****
mangle_guard_variable (variable)
tree variable;
{
! start_mangling ();
write_string ("_ZGV");
if (strncmp (IDENTIFIER_POINTER (DECL_NAME (variable)), "_ZGR", 4) == 0)
/* The name of a guard variable for a reference temporary should refer
--- 2489,2495 ----
mangle_guard_variable (variable)
tree variable;
{
! start_mangling (variable);
write_string ("_ZGV");
if (strncmp (IDENTIFIER_POINTER (DECL_NAME (variable)), "_ZGR", 4) == 0)
/* The name of a guard variable for a reference temporary should refer
*************** mangle_guard_variable (variable)
*** 2462,2468 ****
write_string (IDENTIFIER_POINTER (DECL_NAME (variable)) + 4);
else
write_name (variable, /*ignore_local_scope=*/0);
! return get_identifier (finish_mangling ());
}
/* Return an identifier for the name of a temporary variable used to
--- 2497,2503 ----
write_string (IDENTIFIER_POINTER (DECL_NAME (variable)) + 4);
else
write_name (variable, /*ignore_local_scope=*/0);
! return get_identifier (finish_mangling (/*warn=*/false));
}
/* Return an identifier for the name of a temporary variable used to
*************** tree
*** 2473,2482 ****
mangle_ref_init_variable (variable)
tree variable;
{
! start_mangling ();
write_string ("_ZGR");
write_name (variable, /*ignore_local_scope=*/0);
! return get_identifier (finish_mangling ());
}
--- 2508,2517 ----
mangle_ref_init_variable (variable)
tree variable;
{
! start_mangling (variable);
write_string ("_ZGR");
write_name (variable, /*ignore_local_scope=*/0);
! return get_identifier (finish_mangling (/*warn=*/false));
}
diff -Nrc3pad gcc-3.2/gcc/cp/method.c gcc-3.2.1/gcc/cp/method.c
*** gcc-3.2/gcc/cp/method.c Mon Apr 29 14:54:52 2002
--- gcc-3.2.1/gcc/cp/method.c Wed Oct 16 18:53:27 2002
*************** do_build_assign_ref (fndecl)
*** 688,694 ****
comp = build (COMPONENT_REF, TREE_TYPE (field), comp, field);
init = build (COMPONENT_REF,
! build_qualified_type (TREE_TYPE (field), cvquals),
init, field);
if (DECL_NAME (field))
--- 688,694 ----
comp = build (COMPONENT_REF, TREE_TYPE (field), comp, field);
init = build (COMPONENT_REF,
! cp_build_qualified_type (TREE_TYPE (field), cvquals),
init, field);
if (DECL_NAME (field))
diff -Nrc3pad gcc-3.2/gcc/cp/parse.c gcc-3.2.1/gcc/cp/parse.c
*** gcc-3.2/gcc/cp/parse.c Wed Aug 14 09:46:23 2002
--- gcc-3.2.1/gcc/cp/parse.c Tue Nov 19 18:27:03 2002
***************
*** 5,11 ****
#define YYBISON 1 /* Identify Bison output. */
#define IDENTIFIER 257
! #define TYPENAME 258
#define SELFNAME 259
#define PFUNCNAME 260
#define SCSPEC 261
--- 5,11 ----
#define YYBISON 1 /* Identify Bison output. */
#define IDENTIFIER 257
! #define tTYPENAME 258
#define SELFNAME 259
#define PFUNCNAME 260
#define SCSPEC 261
*************** extern void yyprint PARAMS ((FILE *, i
*** 324,334 ****
! #define YYFINAL 1830
#define YYFLAG -32768
#define YYNTBASE 114
! #define YYTRANSLATE(x) ((unsigned)(x) <= 343 ? yytranslate[x] : 404)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
--- 324,334 ----
! #define YYFINAL 1833
#define YYFLAG -32768
#define YYNTBASE 114
! #define YYTRANSLATE(x) ((unsigned)(x) <= 343 ? yytranslate[x] : 407)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
*************** static const short yyprhs[] = { 0,
*** 413,468 ****
1377, 1379, 1382, 1385, 1388, 1391, 1393, 1395, 1397, 1399,
1402, 1405, 1409, 1413, 1417, 1422, 1424, 1427, 1430, 1432,
1434, 1437, 1440, 1443, 1445, 1448, 1451, 1455, 1457, 1460,
! 1463, 1465, 1467, 1469, 1471, 1476, 1481, 1486, 1491, 1493,
! 1495, 1497, 1499, 1503, 1505, 1509, 1511, 1515, 1516, 1521,
! 1522, 1529, 1533, 1534, 1539, 1541, 1545, 1549, 1550, 1555,
! 1559, 1560, 1562, 1564, 1567, 1574, 1576, 1580, 1581, 1583,
! 1588, 1595, 1600, 1602, 1604, 1606, 1608, 1610, 1614, 1615,
! 1618, 1620, 1623, 1627, 1632, 1634, 1636, 1640, 1645, 1649,
! 1655, 1659, 1663, 1667, 1668, 1672, 1676, 1680, 1681, 1684,
! 1687, 1688, 1695, 1696, 1702, 1705, 1708, 1711, 1712, 1713,
! 1714, 1726, 1728, 1729, 1731, 1732, 1734, 1736, 1739, 1742,
! 1745, 1748, 1751, 1754, 1758, 1763, 1767, 1770, 1774, 1779,
! 1781, 1784, 1786, 1789, 1792, 1795, 1798, 1802, 1806, 1809,
! 1810, 1813, 1817, 1819, 1824, 1826, 1830, 1832, 1834, 1837,
! 1840, 1844, 1848, 1849, 1851, 1855, 1858, 1861, 1863, 1866,
! 1869, 1872, 1875, 1878, 1881, 1884, 1886, 1889, 1892, 1896,
! 1898, 1901, 1904, 1909, 1914, 1917, 1919, 1925, 1930, 1932,
! 1933, 1935, 1939, 1940, 1942, 1946, 1948, 1950, 1952, 1954,
! 1959, 1964, 1969, 1974, 1979, 1983, 1988, 1993, 1998, 2003,
! 2007, 2010, 2012, 2014, 2018, 2020, 2024, 2027, 2029, 2036,
! 2037, 2040, 2042, 2045, 2047, 2050, 2054, 2058, 2060, 2064,
! 2066, 2069, 2073, 2077, 2080, 2083, 2087, 2089, 2094, 2099,
! 2103, 2107, 2110, 2112, 2114, 2117, 2119, 2121, 2124, 2127,
! 2129, 2132, 2136, 2140, 2143, 2146, 2150, 2152, 2156, 2160,
! 2163, 2166, 2170, 2172, 2177, 2181, 2186, 2190, 2192, 2195,
! 2198, 2201, 2204, 2207, 2210, 2213, 2215, 2218, 2223, 2228,
! 2231, 2233, 2235, 2237, 2239, 2242, 2247, 2251, 2255, 2258,
! 2261, 2264, 2267, 2269, 2272, 2275, 2278, 2281, 2285, 2287,
! 2290, 2294, 2299, 2302, 2305, 2308, 2311, 2314, 2317, 2322,
! 2325, 2327, 2330, 2333, 2337, 2339, 2343, 2346, 2350, 2353,
! 2356, 2360, 2362, 2366, 2371, 2373, 2376, 2380, 2383, 2386,
! 2388, 2392, 2395, 2398, 2400, 2403, 2407, 2409, 2413, 2420,
! 2425, 2430, 2434, 2440, 2444, 2448, 2452, 2455, 2457, 2459,
! 2462, 2465, 2468, 2469, 2471, 2473, 2476, 2480, 2481, 2486,
! 2488, 2489, 2490, 2496, 2498, 2499, 2503, 2505, 2508, 2510,
! 2513, 2514, 2519, 2521, 2522, 2523, 2529, 2530, 2531, 2539,
! 2540, 2541, 2542, 2543, 2556, 2557, 2558, 2566, 2567, 2573,
! 2574, 2582, 2583, 2588, 2591, 2594, 2597, 2601, 2608, 2617,
! 2628, 2637, 2650, 2661, 2672, 2677, 2681, 2684, 2687, 2689,
! 2691, 2693, 2695, 2697, 2698, 2699, 2705, 2706, 2707, 2713,
! 2715, 2718, 2719, 2720, 2721, 2727, 2729, 2731, 2735, 2739,
! 2742, 2745, 2748, 2751, 2754, 2756, 2759, 2760, 2762, 2763,
! 2765, 2767, 2768, 2770, 2772, 2776, 2781, 2789, 2791, 2795,
! 2796, 2798, 2800, 2802, 2805, 2808, 2811, 2813, 2816, 2819,
! 2820, 2824, 2826, 2828, 2830, 2833, 2836, 2839, 2844, 2847,
! 2850, 2853, 2856, 2859, 2862, 2864, 2867, 2869, 2872, 2874,
! 2876, 2877, 2878, 2880, 2886, 2890, 2891, 2895, 2896, 2897,
! 2902, 2905, 2907, 2909, 2911, 2915, 2916, 2920, 2924, 2928,
! 2930, 2931, 2935, 2939, 2943, 2947, 2951, 2955, 2959, 2963,
! 2967, 2971, 2975, 2979, 2983, 2987, 2991, 2995, 2999, 3003,
! 3007, 3011, 3015, 3019, 3023, 3028, 3032, 3036, 3040, 3044,
! 3049, 3053, 3057, 3063, 3069, 3074, 3078
};
static const short yyrhs[] = { -1,
--- 413,468 ----
1377, 1379, 1382, 1385, 1388, 1391, 1393, 1395, 1397, 1399,
1402, 1405, 1409, 1413, 1417, 1422, 1424, 1427, 1430, 1432,
1434, 1437, 1440, 1443, 1445, 1448, 1451, 1455, 1457, 1460,
! 1463, 1465, 1467, 1469, 1471, 1473, 1475, 1477, 1482, 1487,
! 1492, 1497, 1499, 1501, 1503, 1505, 1509, 1511, 1515, 1517,
! 1521, 1522, 1527, 1528, 1535, 1539, 1540, 1545, 1547, 1551,
! 1555, 1556, 1561, 1565, 1566, 1568, 1570, 1573, 1580, 1582,
! 1586, 1587, 1589, 1594, 1601, 1606, 1608, 1610, 1612, 1614,
! 1616, 1620, 1621, 1624, 1626, 1629, 1633, 1638, 1640, 1642,
! 1646, 1651, 1655, 1661, 1665, 1669, 1673, 1674, 1678, 1682,
! 1686, 1687, 1690, 1693, 1694, 1701, 1702, 1708, 1711, 1714,
! 1717, 1718, 1719, 1720, 1732, 1734, 1735, 1737, 1738, 1740,
! 1742, 1745, 1748, 1751, 1754, 1757, 1760, 1764, 1769, 1773,
! 1776, 1780, 1785, 1787, 1790, 1792, 1795, 1798, 1801, 1804,
! 1808, 1812, 1815, 1816, 1819, 1823, 1825, 1830, 1832, 1836,
! 1838, 1840, 1843, 1846, 1850, 1854, 1855, 1857, 1861, 1864,
! 1867, 1869, 1872, 1875, 1878, 1881, 1884, 1887, 1890, 1892,
! 1895, 1898, 1902, 1904, 1907, 1910, 1915, 1920, 1923, 1925,
! 1931, 1936, 1938, 1939, 1941, 1945, 1946, 1948, 1952, 1954,
! 1956, 1958, 1960, 1965, 1970, 1975, 1980, 1985, 1989, 1994,
! 1999, 2004, 2009, 2013, 2016, 2018, 2020, 2024, 2026, 2030,
! 2033, 2035, 2042, 2043, 2046, 2048, 2051, 2053, 2056, 2060,
! 2064, 2066, 2070, 2072, 2075, 2079, 2083, 2086, 2089, 2093,
! 2095, 2100, 2105, 2109, 2113, 2116, 2118, 2120, 2123, 2125,
! 2127, 2130, 2133, 2135, 2138, 2142, 2146, 2149, 2152, 2156,
! 2158, 2162, 2166, 2169, 2172, 2176, 2178, 2183, 2187, 2192,
! 2196, 2198, 2201, 2204, 2207, 2210, 2213, 2216, 2219, 2221,
! 2224, 2229, 2234, 2237, 2239, 2241, 2243, 2245, 2248, 2253,
! 2257, 2261, 2264, 2267, 2270, 2273, 2275, 2278, 2281, 2284,
! 2287, 2291, 2293, 2296, 2300, 2305, 2308, 2311, 2314, 2317,
! 2320, 2323, 2328, 2331, 2333, 2336, 2339, 2343, 2345, 2349,
! 2352, 2356, 2359, 2362, 2366, 2368, 2372, 2377, 2379, 2382,
! 2386, 2389, 2392, 2394, 2398, 2401, 2404, 2406, 2409, 2413,
! 2415, 2419, 2426, 2431, 2436, 2440, 2446, 2450, 2454, 2458,
! 2461, 2463, 2465, 2468, 2471, 2474, 2475, 2477, 2479, 2482,
! 2486, 2487, 2492, 2494, 2495, 2496, 2502, 2504, 2505, 2509,
! 2511, 2514, 2516, 2519, 2520, 2525, 2527, 2528, 2529, 2535,
! 2536, 2537, 2545, 2546, 2547, 2548, 2549, 2562, 2563, 2564,
! 2572, 2573, 2579, 2580, 2588, 2589, 2594, 2597, 2600, 2603,
! 2607, 2614, 2623, 2634, 2643, 2656, 2667, 2678, 2683, 2687,
! 2690, 2693, 2695, 2697, 2699, 2701, 2703, 2704, 2705, 2711,
! 2712, 2713, 2719, 2721, 2724, 2725, 2726, 2727, 2733, 2735,
! 2737, 2741, 2745, 2748, 2751, 2754, 2757, 2760, 2762, 2765,
! 2766, 2768, 2769, 2771, 2773, 2774, 2776, 2778, 2782, 2787,
! 2795, 2797, 2801, 2802, 2804, 2806, 2808, 2811, 2814, 2817,
! 2819, 2822, 2825, 2826, 2830, 2832, 2834, 2836, 2839, 2842,
! 2845, 2850, 2853, 2856, 2859, 2862, 2865, 2868, 2870, 2873,
! 2875, 2878, 2880, 2882, 2883, 2884, 2886, 2892, 2896, 2897,
! 2901, 2902, 2903, 2908, 2911, 2913, 2915, 2917, 2921, 2922,
! 2926, 2930, 2934, 2936, 2937, 2941, 2945, 2949, 2953, 2957,
! 2961, 2965, 2969, 2973, 2977, 2981, 2985, 2989, 2993, 2997,
! 3001, 3005, 3009, 3013, 3017, 3021, 3025, 3029, 3034, 3038,
! 3042, 3046, 3050, 3055, 3059, 3063, 3069, 3075, 3080, 3084
};
static const short yyrhs[] = { -1,
*************** static const short yyrhs[] = { -1,
*** 475,557 ****
126, 117, 111, 0, 0, 46, 61, 127, 117, 111,
0, 128, 0, 130, 63, 0, 132, 0, 120, 124,
0, 0, 46, 170, 67, 129, 135, 63, 0, 48,
! 312, 0, 48, 326, 312, 0, 48, 326, 213, 0,
! 48, 134, 170, 0, 48, 326, 170, 0, 48, 326,
134, 170, 0, 0, 48, 46, 133, 135, 63, 0,
! 60, 56, 0, 134, 60, 56, 0, 213, 0, 312,
! 0, 326, 312, 0, 326, 213, 0, 99, 0, 136,
99, 0, 0, 50, 77, 138, 141, 78, 0, 50,
77, 78, 0, 137, 0, 139, 0, 145, 0, 141,
! 62, 145, 0, 170, 0, 0, 272, 142, 0, 47,
! 142, 0, 137, 272, 142, 0, 143, 0, 143, 67,
! 229, 0, 390, 0, 390, 67, 208, 0, 144, 0,
144, 67, 191, 0, 140, 147, 0, 140, 1, 0,
155, 152, 0, 148, 0, 146, 0, 136, 118, 155,
119, 152, 0, 136, 118, 148, 119, 0, 120, 147,
! 0, 240, 63, 0, 233, 239, 63, 0, 230, 238,
! 63, 0, 264, 63, 0, 240, 63, 0, 233, 239,
! 63, 0, 230, 238, 63, 0, 233, 63, 0, 173,
63, 0, 230, 63, 0, 1, 63, 0, 1, 111,
! 0, 1, 109, 0, 63, 0, 393, 0, 224, 0,
166, 0, 0, 165, 0, 165, 63, 0, 0, 109,
! 0, 0, 167, 150, 403, 61, 154, 199, 0, 161,
! 151, 153, 0, 161, 151, 361, 0, 161, 151, 1,
! 0, 0, 317, 5, 95, 157, 381, 110, 299, 396,
! 0, 317, 5, 49, 299, 396, 0, 0, 326, 317,
! 5, 95, 158, 381, 110, 299, 396, 0, 326, 317,
! 5, 49, 299, 396, 0, 0, 317, 186, 95, 159,
! 381, 110, 299, 396, 0, 317, 186, 49, 299, 396,
! 0, 0, 326, 317, 186, 95, 160, 381, 110, 299,
! 396, 0, 326, 317, 186, 49, 299, 396, 0, 230,
! 227, 0, 233, 309, 0, 309, 0, 233, 156, 0,
! 156, 0, 5, 95, 381, 110, 299, 396, 0, 95,
! 5, 110, 95, 381, 110, 299, 396, 0, 5, 49,
! 299, 396, 0, 95, 5, 110, 49, 299, 396, 0,
! 186, 95, 381, 110, 299, 396, 0, 186, 49, 299,
! 396, 0, 233, 162, 0, 162, 0, 230, 227, 0,
! 233, 309, 0, 309, 0, 233, 156, 0, 156, 0,
! 26, 3, 0, 164, 257, 0, 164, 95, 201, 110,
0, 164, 49, 0, 65, 168, 0, 0, 0, 169,
0, 168, 62, 169, 0, 168, 1, 0, 95, 201,
110, 0, 49, 0, 171, 95, 201, 110, 0, 171,
! 49, 0, 305, 95, 201, 110, 0, 305, 49, 0,
! 319, 95, 201, 110, 0, 319, 49, 0, 1, 0,
3, 0, 4, 0, 5, 0, 59, 0, 60, 0,
3, 0, 59, 0, 60, 0, 106, 0, 105, 0,
! 107, 0, 0, 50, 182, 236, 63, 174, 183, 0,
0, 50, 182, 230, 227, 175, 183, 0, 0, 50,
! 182, 309, 176, 183, 0, 0, 50, 182, 156, 177,
! 183, 0, 0, 7, 50, 182, 236, 63, 178, 183,
0, 0, 7, 50, 182, 230, 227, 179, 183, 0,
! 0, 7, 50, 182, 309, 180, 183, 0, 0, 7,
50, 182, 156, 181, 183, 0, 0, 0, 59, 77,
189, 188, 187, 0, 4, 77, 189, 188, 187, 0,
186, 0, 184, 0, 170, 77, 189, 78, 187, 0,
5, 77, 189, 188, 187, 0, 0, 78, 0, 80,
0, 0, 190, 0, 191, 0, 190, 62, 191, 0,
! 229, 0, 59, 0, 326, 59, 0, 208, 0, 317,
50, 170, 0, 82, 0, 81, 0, 89, 0, 90,
0, 112, 0, 200, 0, 207, 0, 49, 0, 95,
193, 110, 0, 49, 0, 95, 197, 110, 0, 0,
! 197, 0, 1, 0, 0, 371, 227, 241, 250, 67,
! 198, 258, 0, 193, 0, 111, 0, 334, 332, 111,
! 0, 334, 332, 1, 111, 0, 334, 1, 111, 0,
207, 62, 207, 0, 207, 62, 1, 0, 200, 62,
207, 0, 200, 62, 1, 0, 207, 0, 200, 0,
218, 0, 120, 206, 0, 83, 206, 0, 73, 206,
0, 91, 206, 0, 192, 206, 0, 70, 170, 0,
! 14, 202, 0, 14, 95, 229, 110, 0, 30, 202,
! 0, 30, 95, 229, 110, 0, 220, 298, 0, 220,
! 298, 204, 0, 220, 203, 298, 0, 220, 203, 298,
204, 0, 220, 95, 229, 110, 0, 220, 95, 229,
110, 204, 0, 220, 203, 95, 229, 110, 0, 220,
203, 95, 229, 110, 204, 0, 221, 206, 0, 221,
96, 113, 206, 0, 221, 96, 193, 113, 206, 0,
35, 206, 0, 36, 206, 0, 95, 201, 110, 0,
61, 201, 111, 0, 95, 201, 110, 0, 49, 0,
! 95, 236, 110, 0, 67, 258, 0, 95, 229, 110,
0, 205, 95, 229, 110, 0, 202, 0, 205, 202,
! 0, 205, 61, 259, 270, 111, 0, 206, 0, 207,
86, 207, 0, 207, 87, 207, 0, 207, 81, 207,
0, 207, 82, 207, 0, 207, 83, 207, 0, 207,
84, 207, 0, 207, 85, 207, 0, 207, 79, 207,
--- 475,557 ----
126, 117, 111, 0, 0, 46, 61, 127, 117, 111,
0, 128, 0, 130, 63, 0, 132, 0, 120, 124,
0, 0, 46, 170, 67, 129, 135, 63, 0, 48,
! 315, 0, 48, 329, 315, 0, 48, 329, 213, 0,
! 48, 134, 170, 0, 48, 329, 170, 0, 48, 329,
134, 170, 0, 0, 48, 46, 133, 135, 63, 0,
! 60, 56, 0, 134, 60, 56, 0, 213, 0, 315,
! 0, 329, 315, 0, 329, 213, 0, 99, 0, 136,
99, 0, 0, 50, 77, 138, 141, 78, 0, 50,
77, 78, 0, 137, 0, 139, 0, 145, 0, 141,
! 62, 145, 0, 170, 0, 0, 275, 142, 0, 47,
! 142, 0, 137, 275, 142, 0, 143, 0, 143, 67,
! 229, 0, 393, 0, 393, 67, 208, 0, 144, 0,
144, 67, 191, 0, 140, 147, 0, 140, 1, 0,
155, 152, 0, 148, 0, 146, 0, 136, 118, 155,
119, 152, 0, 136, 118, 148, 119, 0, 120, 147,
! 0, 243, 63, 0, 233, 242, 63, 0, 230, 241,
! 63, 0, 267, 63, 0, 243, 63, 0, 233, 242,
! 63, 0, 230, 241, 63, 0, 233, 63, 0, 173,
63, 0, 230, 63, 0, 1, 63, 0, 1, 111,
! 0, 1, 109, 0, 63, 0, 396, 0, 224, 0,
166, 0, 0, 165, 0, 165, 63, 0, 0, 109,
! 0, 0, 167, 150, 406, 61, 154, 199, 0, 161,
! 151, 153, 0, 161, 151, 364, 0, 161, 151, 1,
! 0, 0, 320, 5, 95, 157, 384, 110, 302, 399,
! 0, 320, 5, 49, 302, 399, 0, 0, 329, 320,
! 5, 95, 158, 384, 110, 302, 399, 0, 329, 320,
! 5, 49, 302, 399, 0, 0, 320, 186, 95, 159,
! 384, 110, 302, 399, 0, 320, 186, 49, 302, 399,
! 0, 0, 329, 320, 186, 95, 160, 384, 110, 302,
! 399, 0, 329, 320, 186, 49, 302, 399, 0, 230,
! 227, 0, 233, 312, 0, 312, 0, 233, 156, 0,
! 156, 0, 5, 95, 384, 110, 302, 399, 0, 95,
! 5, 110, 95, 384, 110, 302, 399, 0, 5, 49,
! 302, 399, 0, 95, 5, 110, 49, 302, 399, 0,
! 186, 95, 384, 110, 302, 399, 0, 186, 49, 302,
! 399, 0, 233, 162, 0, 162, 0, 230, 227, 0,
! 233, 312, 0, 312, 0, 233, 156, 0, 156, 0,
! 26, 3, 0, 164, 260, 0, 164, 95, 201, 110,
0, 164, 49, 0, 65, 168, 0, 0, 0, 169,
0, 168, 62, 169, 0, 168, 1, 0, 95, 201,
110, 0, 49, 0, 171, 95, 201, 110, 0, 171,
! 49, 0, 308, 95, 201, 110, 0, 308, 49, 0,
! 322, 95, 201, 110, 0, 322, 49, 0, 1, 0,
3, 0, 4, 0, 5, 0, 59, 0, 60, 0,
3, 0, 59, 0, 60, 0, 106, 0, 105, 0,
! 107, 0, 0, 50, 182, 239, 63, 174, 183, 0,
0, 50, 182, 230, 227, 175, 183, 0, 0, 50,
! 182, 312, 176, 183, 0, 0, 50, 182, 156, 177,
! 183, 0, 0, 7, 50, 182, 239, 63, 178, 183,
0, 0, 7, 50, 182, 230, 227, 179, 183, 0,
! 0, 7, 50, 182, 312, 180, 183, 0, 0, 7,
50, 182, 156, 181, 183, 0, 0, 0, 59, 77,
189, 188, 187, 0, 4, 77, 189, 188, 187, 0,
186, 0, 184, 0, 170, 77, 189, 78, 187, 0,
5, 77, 189, 188, 187, 0, 0, 78, 0, 80,
0, 0, 190, 0, 191, 0, 190, 62, 191, 0,
! 229, 0, 59, 0, 329, 59, 0, 208, 0, 320,
50, 170, 0, 82, 0, 81, 0, 89, 0, 90,
0, 112, 0, 200, 0, 207, 0, 49, 0, 95,
193, 110, 0, 49, 0, 95, 197, 110, 0, 0,
! 197, 0, 1, 0, 0, 374, 227, 244, 253, 67,
! 198, 261, 0, 193, 0, 111, 0, 337, 335, 111,
! 0, 337, 335, 1, 111, 0, 337, 1, 111, 0,
207, 62, 207, 0, 207, 62, 1, 0, 200, 62,
207, 0, 200, 62, 1, 0, 207, 0, 200, 0,
218, 0, 120, 206, 0, 83, 206, 0, 73, 206,
0, 91, 206, 0, 192, 206, 0, 70, 170, 0,
! 236, 202, 0, 236, 95, 229, 110, 0, 237, 202,
! 0, 237, 95, 229, 110, 0, 220, 301, 0, 220,
! 301, 204, 0, 220, 203, 301, 0, 220, 203, 301,
204, 0, 220, 95, 229, 110, 0, 220, 95, 229,
110, 204, 0, 220, 203, 95, 229, 110, 0, 220,
203, 95, 229, 110, 204, 0, 221, 206, 0, 221,
96, 113, 206, 0, 221, 96, 193, 113, 206, 0,
35, 206, 0, 36, 206, 0, 95, 201, 110, 0,
61, 201, 111, 0, 95, 201, 110, 0, 49, 0,
! 95, 239, 110, 0, 67, 261, 0, 95, 229, 110,
0, 205, 95, 229, 110, 0, 202, 0, 205, 202,
! 0, 205, 61, 262, 273, 111, 0, 206, 0, 207,
86, 207, 0, 207, 87, 207, 0, 207, 81, 207,
0, 207, 82, 207, 0, 207, 83, 207, 0, 207,
84, 207, 0, 207, 85, 207, 0, 207, 79, 207,
*************** static const short yyrhs[] = { -1,
*** 559,565 ****
77, 207, 0, 207, 78, 207, 0, 207, 75, 207,
0, 207, 74, 207, 0, 207, 73, 207, 0, 207,
71, 207, 0, 207, 72, 207, 0, 207, 70, 207,
! 0, 207, 69, 207, 0, 207, 68, 376, 65, 207,
0, 207, 67, 207, 0, 207, 66, 207, 0, 64,
0, 64, 207, 0, 206, 0, 208, 86, 208, 0,
208, 87, 208, 0, 208, 81, 208, 0, 208, 82,
--- 559,565 ----
77, 207, 0, 207, 78, 207, 0, 207, 75, 207,
0, 207, 74, 207, 0, 207, 73, 207, 0, 207,
71, 207, 0, 207, 72, 207, 0, 207, 70, 207,
! 0, 207, 69, 207, 0, 207, 68, 379, 65, 207,
0, 207, 67, 207, 0, 207, 66, 207, 0, 64,
0, 64, 207, 0, 206, 0, 208, 86, 208, 0,
208, 87, 208, 0, 208, 81, 208, 0, 208, 82,
*************** static const short yyrhs[] = { -1,
*** 569,779 ****
208, 75, 208, 0, 208, 74, 208, 0, 208, 73,
208, 0, 208, 71, 208, 0, 208, 72, 208, 0,
208, 70, 208, 0, 208, 69, 208, 0, 208, 68,
! 376, 65, 208, 0, 208, 67, 208, 0, 208, 66,
! 208, 0, 64, 0, 64, 208, 0, 91, 391, 170,
! 0, 91, 391, 184, 0, 211, 0, 402, 0, 3,
0, 59, 0, 60, 0, 0, 6, 77, 210, 189,
! 188, 0, 402, 77, 210, 189, 188, 0, 50, 170,
77, 189, 188, 0, 50, 6, 77, 189, 188, 0,
! 50, 402, 77, 189, 188, 0, 209, 0, 4, 0,
! 5, 0, 215, 0, 251, 215, 0, 209, 0, 83,
214, 0, 73, 214, 0, 95, 214, 110, 0, 3,
! 77, 189, 188, 0, 60, 77, 190, 188, 0, 311,
0, 209, 0, 216, 0, 95, 214, 110, 0, 209,
0, 10, 0, 222, 0, 223, 0, 11, 0, 95,
193, 110, 0, 95, 214, 110, 0, 95, 1, 110,
! 0, 0, 95, 219, 337, 110, 0, 209, 95, 201,
110, 0, 209, 49, 0, 218, 95, 201, 110, 0,
218, 49, 0, 37, 95, 207, 62, 229, 110, 0,
218, 96, 193, 113, 0, 218, 89, 0, 218, 90,
! 0, 42, 0, 9, 95, 201, 110, 0, 315, 0,
52, 77, 229, 78, 95, 193, 110, 0, 53, 77,
229, 78, 95, 193, 110, 0, 54, 77, 229, 78,
95, 193, 110, 0, 55, 77, 229, 78, 95, 193,
110, 0, 51, 95, 193, 110, 0, 51, 95, 229,
! 110, 0, 326, 3, 0, 326, 211, 0, 326, 402,
! 0, 314, 0, 314, 95, 201, 110, 0, 314, 49,
0, 225, 212, 0, 225, 212, 95, 201, 110, 0,
! 225, 212, 49, 0, 225, 213, 0, 225, 314, 0,
225, 213, 95, 201, 110, 0, 225, 213, 49, 0,
! 225, 314, 95, 201, 110, 0, 225, 314, 49, 0,
225, 91, 8, 49, 0, 225, 8, 56, 91, 8,
! 49, 0, 225, 1, 0, 41, 0, 326, 41, 0,
! 40, 0, 326, 221, 0, 44, 0, 45, 0, 12,
0, 223, 12, 0, 0, 218, 94, 0, 218, 93,
! 0, 236, 238, 63, 0, 230, 238, 63, 0, 233,
! 239, 63, 0, 230, 63, 0, 233, 63, 0, 120,
! 226, 0, 303, 0, 309, 0, 49, 0, 228, 49,
! 0, 234, 330, 0, 300, 330, 0, 236, 330, 0,
! 234, 0, 300, 0, 234, 0, 231, 0, 233, 236,
! 0, 236, 232, 0, 236, 235, 232, 0, 233, 236,
! 232, 0, 233, 236, 235, 0, 233, 236, 235, 232,
! 0, 7, 0, 232, 237, 0, 232, 7, 0, 300,
0, 7, 0, 233, 9, 0, 233, 7, 0, 233,
! 251, 0, 236, 0, 300, 236, 0, 236, 235, 0,
! 300, 236, 235, 0, 237, 0, 235, 237, 0, 235,
! 251, 0, 251, 0, 264, 0, 8, 0, 306, 0,
! 29, 95, 193, 110, 0, 29, 95, 229, 110, 0,
! 31, 95, 193, 110, 0, 31, 95, 229, 110, 0,
! 8, 0, 9, 0, 264, 0, 246, 0, 238, 62,
! 242, 0, 247, 0, 239, 62, 242, 0, 248, 0,
! 240, 62, 242, 0, 0, 121, 95, 223, 110, 0,
! 0, 227, 241, 250, 67, 243, 258, 0, 227, 241,
! 250, 0, 0, 250, 67, 245, 258, 0, 250, 0,
! 227, 241, 244, 0, 309, 241, 244, 0, 0, 309,
! 241, 249, 244, 0, 156, 241, 250, 0, 0, 251,
! 0, 252, 0, 251, 252, 0, 32, 95, 95, 253,
! 110, 110, 0, 254, 0, 253, 62, 254, 0, 0,
! 255, 0, 255, 95, 3, 110, 0, 255, 95, 3,
! 62, 201, 110, 0, 255, 95, 201, 110, 0, 170,
! 0, 7, 0, 8, 0, 9, 0, 170, 0, 256,
! 62, 170, 0, 0, 67, 258, 0, 207, 0, 61,
! 111, 0, 61, 259, 111, 0, 61, 259, 62, 111,
! 0, 1, 0, 258, 0, 259, 62, 258, 0, 96,
! 207, 113, 258, 0, 170, 65, 258, 0, 259, 62,
! 170, 65, 258, 0, 104, 151, 153, 0, 104, 151,
! 361, 0, 104, 151, 1, 0, 0, 261, 260, 152,
! 0, 103, 207, 109, 0, 103, 1, 109, 0, 0,
! 263, 262, 0, 263, 1, 0, 0, 15, 170, 61,
! 265, 295, 111, 0, 0, 15, 61, 266, 295, 111,
! 0, 15, 170, 0, 15, 324, 0, 47, 319, 0,
! 0, 0, 0, 276, 277, 61, 267, 282, 111, 250,
! 268, 263, 269, 261, 0, 275, 0, 0, 62, 0,
! 0, 62, 0, 38, 0, 272, 7, 0, 272, 8,
! 0, 272, 9, 0, 272, 38, 0, 272, 251, 0,
! 272, 170, 0, 272, 317, 170, 0, 272, 326, 317,
! 170, 0, 272, 326, 170, 0, 272, 185, 0, 272,
! 317, 185, 0, 272, 326, 317, 185, 0, 273, 0,
! 272, 172, 0, 274, 0, 273, 61, 0, 273, 65,
! 0, 274, 61, 0, 274, 65, 0, 272, 172, 61,
! 0, 272, 172, 65, 0, 272, 61, 0, 0, 65,
! 391, 0, 65, 391, 278, 0, 279, 0, 278, 62,
! 391, 279, 0, 280, 0, 281, 391, 280, 0, 319,
! 0, 305, 0, 39, 391, 0, 7, 391, 0, 281,
! 39, 391, 0, 281, 7, 391, 0, 0, 284, 0,
! 282, 283, 284, 0, 282, 283, 0, 39, 65, 0,
! 285, 0, 284, 285, 0, 286, 63, 0, 286, 111,
! 0, 163, 65, 0, 163, 97, 0, 163, 26, 0,
! 163, 61, 0, 63, 0, 120, 285, 0, 140, 285,
! 0, 140, 230, 63, 0, 393, 0, 230, 287, 0,
! 233, 288, 0, 309, 241, 250, 257, 0, 156, 241,
! 250, 257, 0, 65, 207, 0, 1, 0, 233, 162,
! 241, 250, 257, 0, 162, 241, 250, 257, 0, 130,
! 0, 0, 289, 0, 287, 62, 290, 0, 0, 292,
! 0, 288, 62, 294, 0, 291, 0, 292, 0, 293,
! 0, 294, 0, 303, 241, 250, 257, 0, 4, 65,
! 207, 250, 0, 309, 241, 250, 257, 0, 156, 241,
! 250, 257, 0, 3, 65, 207, 250, 0, 65, 207,
! 250, 0, 303, 241, 250, 257, 0, 4, 65, 207,
! 250, 0, 309, 241, 250, 257, 0, 3, 65, 207,
! 250, 0, 65, 207, 250, 0, 296, 271, 0, 271,
! 0, 297, 0, 296, 62, 297, 0, 170, 0, 170,
! 67, 207, 0, 371, 327, 0, 371, 0, 95, 229,
! 110, 96, 193, 113, 0, 0, 299, 9, 0, 9,
! 0, 300, 9, 0, 251, 0, 300, 251, 0, 95,
! 201, 110, 0, 95, 381, 110, 0, 49, 0, 95,
! 1, 110, 0, 303, 0, 251, 303, 0, 83, 300,
! 302, 0, 73, 300, 302, 0, 83, 302, 0, 73,
! 302, 0, 325, 299, 302, 0, 304, 0, 304, 301,
! 299, 396, 0, 304, 96, 193, 113, 0, 304, 96,
! 113, 0, 95, 302, 110, 0, 317, 316, 0, 316,
! 0, 316, 0, 326, 316, 0, 305, 0, 307, 0,
! 326, 307, 0, 317, 316, 0, 309, 0, 251, 309,
! 0, 83, 300, 308, 0, 73, 300, 308, 0, 83,
! 308, 0, 73, 308, 0, 325, 299, 308, 0, 217,
! 0, 83, 300, 308, 0, 73, 300, 308, 0, 83,
! 310, 0, 73, 310, 0, 325, 299, 308, 0, 311,
! 0, 217, 301, 299, 396, 0, 95, 310, 110, 0,
! 217, 96, 193, 113, 0, 217, 96, 113, 0, 313,
! 0, 326, 313, 0, 326, 209, 0, 317, 216, 0,
! 317, 213, 0, 317, 212, 0, 317, 209, 0, 317,
! 212, 0, 313, 0, 326, 313, 0, 236, 95, 201,
! 110, 0, 236, 95, 214, 110, 0, 236, 228, 0,
! 4, 0, 5, 0, 184, 0, 318, 0, 317, 318,
! 0, 317, 50, 323, 56, 0, 317, 3, 56, 0,
! 317, 59, 56, 0, 4, 56, 0, 5, 56, 0,
! 60, 56, 0, 184, 56, 0, 320, 0, 326, 320,
! 0, 321, 170, 0, 321, 184, 0, 321, 323, 0,
! 321, 50, 323, 0, 322, 0, 321, 322, 0, 321,
! 323, 56, 0, 321, 50, 323, 56, 0, 4, 56,
! 0, 5, 56, 0, 184, 56, 0, 59, 56, 0,
! 3, 56, 0, 60, 56, 0, 170, 77, 189, 188,
! 0, 326, 316, 0, 307, 0, 326, 307, 0, 317,
! 83, 0, 326, 317, 83, 0, 56, 0, 83, 299,
! 327, 0, 83, 299, 0, 73, 299, 327, 0, 73,
! 299, 0, 325, 299, 0, 325, 299, 327, 0, 328,
! 0, 96, 193, 113, 0, 328, 96, 193, 113, 0,
! 330, 0, 251, 330, 0, 83, 300, 329, 0, 83,
! 329, 0, 83, 300, 0, 83, 0, 73, 300, 329,
! 0, 73, 329, 0, 73, 300, 0, 73, 0, 325,
! 299, 0, 325, 299, 329, 0, 331, 0, 95, 329,
! 110, 0, 331, 95, 381, 110, 299, 396, 0, 331,
! 49, 299, 396, 0, 331, 96, 193, 113, 0, 331,
! 96, 113, 0, 95, 382, 110, 299, 396, 0, 205,
! 299, 396, 0, 228, 299, 396, 0, 96, 193, 113,
! 0, 96, 113, 0, 345, 0, 333, 0, 332, 345,
! 0, 332, 333, 0, 1, 63, 0, 0, 335, 0,
! 336, 0, 335, 336, 0, 34, 256, 63, 0, 0,
! 403, 61, 338, 199, 0, 337, 0, 0, 0, 16,
! 341, 195, 342, 343, 0, 339, 0, 0, 344, 403,
! 346, 0, 339, 0, 403, 346, 0, 226, 0, 193,
! 63, 0, 0, 340, 17, 347, 343, 0, 340, 0,
! 0, 0, 18, 348, 195, 349, 343, 0, 0, 0,
! 19, 350, 343, 18, 351, 194, 63, 0, 0, 0,
! 0, 0, 20, 352, 95, 374, 353, 196, 63, 354,
! 376, 110, 355, 343, 0, 0, 0, 21, 356, 95,
! 197, 110, 357, 343, 0, 0, 22, 207, 65, 358,
! 345, 0, 0, 22, 207, 13, 207, 65, 359, 345,
! 0, 0, 23, 65, 360, 345, 0, 24, 63, 0,
! 25, 63, 0, 26, 63, 0, 26, 193, 63, 0,
! 121, 375, 95, 223, 110, 63, 0, 121, 375, 95,
! 223, 65, 377, 110, 63, 0, 121, 375, 95, 223,
! 65, 377, 65, 377, 110, 63, 0, 121, 375, 95,
! 223, 56, 377, 110, 63, 0, 121, 375, 95, 223,
! 65, 377, 65, 377, 65, 380, 110, 63, 0, 121,
! 375, 95, 223, 56, 377, 65, 380, 110, 63, 0,
! 121, 375, 95, 223, 65, 377, 56, 380, 110, 63,
! 0, 27, 83, 193, 63, 0, 27, 170, 63, 0,
! 373, 345, 0, 373, 111, 0, 63, 0, 364, 0,
! 132, 0, 131, 0, 128, 0, 0, 0, 97, 362,
! 153, 363, 367, 0, 0, 0, 97, 365, 339, 366,
! 367, 0, 368, 0, 367, 368, 0, 0, 0, 0,
! 98, 369, 372, 370, 339, 0, 234, 0, 300, 0,
! 95, 13, 110, 0, 95, 390, 110, 0, 3, 65,
! 0, 59, 65, 0, 4, 65, 0, 5, 65, 0,
! 376, 63, 0, 226, 0, 61, 199, 0, 0, 9,
! 0, 0, 193, 0, 1, 0, 0, 378, 0, 379,
! 0, 378, 62, 379, 0, 12, 95, 193, 110, 0,
! 96, 170, 113, 12, 95, 193, 110, 0, 223, 0,
! 380, 62, 223, 0, 0, 382, 0, 229, 0, 386,
! 0, 387, 13, 0, 386, 13, 0, 229, 13, 0,
! 13, 0, 386, 65, 0, 229, 65, 0, 0, 67,
! 384, 385, 0, 102, 0, 258, 0, 388, 0, 390,
! 383, 0, 387, 389, 0, 387, 392, 0, 387, 392,
! 67, 258, 0, 386, 62, 0, 229, 62, 0, 231,
! 227, 0, 234, 227, 0, 236, 227, 0, 231, 330,
! 0, 231, 0, 233, 309, 0, 390, 0, 390, 383,
! 0, 388, 0, 229, 0, 0, 0, 309, 0, 3,
! 394, 3, 395, 63, 0, 77, 189, 188, 0, 0,
! 95, 201, 110, 0, 0, 0, 64, 95, 398, 110,
! 0, 64, 49, 0, 229, 0, 1, 0, 397, 0,
! 398, 62, 397, 0, 0, 83, 299, 399, 0, 73,
! 299, 399, 0, 325, 299, 399, 0, 43, 0, 0,
! 400, 83, 401, 0, 400, 84, 401, 0, 400, 85,
! 401, 0, 400, 81, 401, 0, 400, 82, 401, 0,
! 400, 73, 401, 0, 400, 71, 401, 0, 400, 72,
! 401, 0, 400, 91, 401, 0, 400, 62, 401, 0,
! 400, 76, 401, 0, 400, 77, 401, 0, 400, 78,
! 401, 0, 400, 75, 401, 0, 400, 66, 401, 0,
! 400, 67, 401, 0, 400, 79, 401, 0, 400, 80,
! 401, 0, 400, 89, 401, 0, 400, 90, 401, 0,
! 400, 70, 401, 0, 400, 69, 401, 0, 400, 112,
! 401, 0, 400, 68, 65, 401, 0, 400, 74, 401,
! 0, 400, 93, 401, 0, 400, 86, 401, 0, 400,
! 49, 401, 0, 400, 96, 113, 401, 0, 400, 41,
! 401, 0, 400, 40, 401, 0, 400, 41, 96, 113,
! 401, 0, 400, 40, 96, 113, 401, 0, 400, 371,
! 399, 401, 0, 400, 1, 401, 0, 0
};
#endif
--- 569,780 ----
208, 75, 208, 0, 208, 74, 208, 0, 208, 73,
208, 0, 208, 71, 208, 0, 208, 72, 208, 0,
208, 70, 208, 0, 208, 69, 208, 0, 208, 68,
! 379, 65, 208, 0, 208, 67, 208, 0, 208, 66,
! 208, 0, 64, 0, 64, 208, 0, 91, 394, 170,
! 0, 91, 394, 184, 0, 211, 0, 405, 0, 3,
0, 59, 0, 60, 0, 0, 6, 77, 210, 189,
! 188, 0, 405, 77, 210, 189, 188, 0, 50, 170,
77, 189, 188, 0, 50, 6, 77, 189, 188, 0,
! 50, 405, 77, 189, 188, 0, 209, 0, 4, 0,
! 5, 0, 215, 0, 254, 215, 0, 209, 0, 83,
214, 0, 73, 214, 0, 95, 214, 110, 0, 3,
! 77, 189, 188, 0, 60, 77, 190, 188, 0, 314,
0, 209, 0, 216, 0, 95, 214, 110, 0, 209,
0, 10, 0, 222, 0, 223, 0, 11, 0, 95,
193, 110, 0, 95, 214, 110, 0, 95, 1, 110,
! 0, 0, 95, 219, 340, 110, 0, 209, 95, 201,
110, 0, 209, 49, 0, 218, 95, 201, 110, 0,
218, 49, 0, 37, 95, 207, 62, 229, 110, 0,
218, 96, 193, 113, 0, 218, 89, 0, 218, 90,
! 0, 42, 0, 9, 95, 201, 110, 0, 318, 0,
52, 77, 229, 78, 95, 193, 110, 0, 53, 77,
229, 78, 95, 193, 110, 0, 54, 77, 229, 78,
95, 193, 110, 0, 55, 77, 229, 78, 95, 193,
110, 0, 51, 95, 193, 110, 0, 51, 95, 229,
! 110, 0, 329, 3, 0, 329, 211, 0, 329, 405,
! 0, 317, 0, 317, 95, 201, 110, 0, 317, 49,
0, 225, 212, 0, 225, 212, 95, 201, 110, 0,
! 225, 212, 49, 0, 225, 213, 0, 225, 317, 0,
225, 213, 95, 201, 110, 0, 225, 213, 49, 0,
! 225, 317, 95, 201, 110, 0, 225, 317, 49, 0,
225, 91, 8, 49, 0, 225, 8, 56, 91, 8,
! 49, 0, 225, 1, 0, 41, 0, 329, 41, 0,
! 40, 0, 329, 221, 0, 44, 0, 45, 0, 12,
0, 223, 12, 0, 0, 218, 94, 0, 218, 93,
! 0, 239, 241, 63, 0, 230, 241, 63, 0, 233,
! 242, 63, 0, 230, 63, 0, 233, 63, 0, 120,
! 226, 0, 306, 0, 312, 0, 49, 0, 228, 49,
! 0, 234, 333, 0, 303, 333, 0, 239, 333, 0,
! 234, 0, 303, 0, 234, 0, 231, 0, 233, 239,
! 0, 239, 232, 0, 239, 235, 232, 0, 233, 239,
! 232, 0, 233, 239, 235, 0, 233, 239, 235, 232,
! 0, 7, 0, 232, 240, 0, 232, 7, 0, 303,
0, 7, 0, 233, 9, 0, 233, 7, 0, 233,
! 254, 0, 239, 0, 303, 239, 0, 239, 235, 0,
! 303, 239, 235, 0, 240, 0, 235, 240, 0, 235,
! 254, 0, 254, 0, 14, 0, 30, 0, 29, 0,
! 267, 0, 8, 0, 309, 0, 238, 95, 193, 110,
! 0, 238, 95, 229, 110, 0, 31, 95, 193, 110,
! 0, 31, 95, 229, 110, 0, 8, 0, 9, 0,
! 267, 0, 249, 0, 241, 62, 245, 0, 250, 0,
! 242, 62, 245, 0, 251, 0, 243, 62, 245, 0,
! 0, 121, 95, 223, 110, 0, 0, 227, 244, 253,
! 67, 246, 261, 0, 227, 244, 253, 0, 0, 253,
! 67, 248, 261, 0, 253, 0, 227, 244, 247, 0,
! 312, 244, 247, 0, 0, 312, 244, 252, 247, 0,
! 156, 244, 253, 0, 0, 254, 0, 255, 0, 254,
! 255, 0, 32, 95, 95, 256, 110, 110, 0, 257,
! 0, 256, 62, 257, 0, 0, 258, 0, 258, 95,
! 3, 110, 0, 258, 95, 3, 62, 201, 110, 0,
! 258, 95, 201, 110, 0, 170, 0, 7, 0, 8,
! 0, 9, 0, 170, 0, 259, 62, 170, 0, 0,
! 67, 261, 0, 207, 0, 61, 111, 0, 61, 262,
! 111, 0, 61, 262, 62, 111, 0, 1, 0, 261,
! 0, 262, 62, 261, 0, 96, 207, 113, 261, 0,
! 170, 65, 261, 0, 262, 62, 170, 65, 261, 0,
! 104, 151, 153, 0, 104, 151, 364, 0, 104, 151,
! 1, 0, 0, 264, 263, 152, 0, 103, 207, 109,
! 0, 103, 1, 109, 0, 0, 266, 265, 0, 266,
! 1, 0, 0, 15, 170, 61, 268, 298, 111, 0,
! 0, 15, 61, 269, 298, 111, 0, 15, 170, 0,
! 15, 327, 0, 47, 322, 0, 0, 0, 0, 279,
! 280, 61, 270, 285, 111, 253, 271, 266, 272, 264,
! 0, 278, 0, 0, 62, 0, 0, 62, 0, 38,
! 0, 275, 7, 0, 275, 8, 0, 275, 9, 0,
! 275, 38, 0, 275, 254, 0, 275, 170, 0, 275,
! 320, 170, 0, 275, 329, 320, 170, 0, 275, 329,
! 170, 0, 275, 185, 0, 275, 320, 185, 0, 275,
! 329, 320, 185, 0, 276, 0, 275, 172, 0, 277,
! 0, 276, 61, 0, 276, 65, 0, 277, 61, 0,
! 277, 65, 0, 275, 172, 61, 0, 275, 172, 65,
! 0, 275, 61, 0, 0, 65, 394, 0, 65, 394,
! 281, 0, 282, 0, 281, 62, 394, 282, 0, 283,
! 0, 284, 394, 283, 0, 322, 0, 308, 0, 39,
! 394, 0, 7, 394, 0, 284, 39, 394, 0, 284,
! 7, 394, 0, 0, 287, 0, 285, 286, 287, 0,
! 285, 286, 0, 39, 65, 0, 288, 0, 287, 288,
! 0, 289, 63, 0, 289, 111, 0, 163, 65, 0,
! 163, 97, 0, 163, 26, 0, 163, 61, 0, 63,
! 0, 120, 288, 0, 140, 288, 0, 140, 230, 63,
! 0, 396, 0, 230, 290, 0, 233, 291, 0, 312,
! 244, 253, 260, 0, 156, 244, 253, 260, 0, 65,
! 207, 0, 1, 0, 233, 162, 244, 253, 260, 0,
! 162, 244, 253, 260, 0, 130, 0, 0, 292, 0,
! 290, 62, 293, 0, 0, 295, 0, 291, 62, 297,
! 0, 294, 0, 295, 0, 296, 0, 297, 0, 306,
! 244, 253, 260, 0, 4, 65, 207, 253, 0, 312,
! 244, 253, 260, 0, 156, 244, 253, 260, 0, 3,
! 65, 207, 253, 0, 65, 207, 253, 0, 306, 244,
! 253, 260, 0, 4, 65, 207, 253, 0, 312, 244,
! 253, 260, 0, 3, 65, 207, 253, 0, 65, 207,
! 253, 0, 299, 274, 0, 274, 0, 300, 0, 299,
! 62, 300, 0, 170, 0, 170, 67, 207, 0, 374,
! 330, 0, 374, 0, 95, 229, 110, 96, 193, 113,
! 0, 0, 302, 9, 0, 9, 0, 303, 9, 0,
! 254, 0, 303, 254, 0, 95, 201, 110, 0, 95,
! 384, 110, 0, 49, 0, 95, 1, 110, 0, 306,
! 0, 254, 306, 0, 83, 303, 305, 0, 73, 303,
! 305, 0, 83, 305, 0, 73, 305, 0, 328, 302,
! 305, 0, 307, 0, 307, 304, 302, 399, 0, 307,
! 96, 193, 113, 0, 307, 96, 113, 0, 95, 305,
! 110, 0, 320, 319, 0, 319, 0, 319, 0, 329,
! 319, 0, 308, 0, 310, 0, 329, 310, 0, 320,
! 319, 0, 312, 0, 254, 312, 0, 83, 303, 311,
! 0, 73, 303, 311, 0, 83, 311, 0, 73, 311,
! 0, 328, 302, 311, 0, 217, 0, 83, 303, 311,
! 0, 73, 303, 311, 0, 83, 313, 0, 73, 313,
! 0, 328, 302, 311, 0, 314, 0, 217, 304, 302,
! 399, 0, 95, 313, 110, 0, 217, 96, 193, 113,
! 0, 217, 96, 113, 0, 316, 0, 329, 316, 0,
! 329, 209, 0, 320, 216, 0, 320, 213, 0, 320,
! 212, 0, 320, 209, 0, 320, 212, 0, 316, 0,
! 329, 316, 0, 239, 95, 201, 110, 0, 239, 95,
! 214, 110, 0, 239, 228, 0, 4, 0, 5, 0,
! 184, 0, 321, 0, 320, 321, 0, 320, 50, 326,
! 56, 0, 320, 3, 56, 0, 320, 59, 56, 0,
! 4, 56, 0, 5, 56, 0, 60, 56, 0, 184,
! 56, 0, 323, 0, 329, 323, 0, 324, 170, 0,
! 324, 184, 0, 324, 326, 0, 324, 50, 326, 0,
! 325, 0, 324, 325, 0, 324, 326, 56, 0, 324,
! 50, 326, 56, 0, 4, 56, 0, 5, 56, 0,
! 184, 56, 0, 59, 56, 0, 3, 56, 0, 60,
! 56, 0, 170, 77, 189, 188, 0, 329, 319, 0,
! 310, 0, 329, 310, 0, 320, 83, 0, 329, 320,
! 83, 0, 56, 0, 83, 302, 330, 0, 83, 302,
! 0, 73, 302, 330, 0, 73, 302, 0, 328, 302,
! 0, 328, 302, 330, 0, 331, 0, 96, 193, 113,
! 0, 331, 96, 193, 113, 0, 333, 0, 254, 333,
! 0, 83, 303, 332, 0, 83, 332, 0, 83, 303,
! 0, 83, 0, 73, 303, 332, 0, 73, 332, 0,
! 73, 303, 0, 73, 0, 328, 302, 0, 328, 302,
! 332, 0, 334, 0, 95, 332, 110, 0, 334, 95,
! 384, 110, 302, 399, 0, 334, 49, 302, 399, 0,
! 334, 96, 193, 113, 0, 334, 96, 113, 0, 95,
! 385, 110, 302, 399, 0, 205, 302, 399, 0, 228,
! 302, 399, 0, 96, 193, 113, 0, 96, 113, 0,
! 348, 0, 336, 0, 335, 348, 0, 335, 336, 0,
! 1, 63, 0, 0, 338, 0, 339, 0, 338, 339,
! 0, 34, 259, 63, 0, 0, 406, 61, 341, 199,
! 0, 340, 0, 0, 0, 16, 344, 195, 345, 346,
! 0, 342, 0, 0, 347, 406, 349, 0, 342, 0,
! 406, 349, 0, 226, 0, 193, 63, 0, 0, 343,
! 17, 350, 346, 0, 343, 0, 0, 0, 18, 351,
! 195, 352, 346, 0, 0, 0, 19, 353, 346, 18,
! 354, 194, 63, 0, 0, 0, 0, 0, 20, 355,
! 95, 377, 356, 196, 63, 357, 379, 110, 358, 346,
! 0, 0, 0, 21, 359, 95, 197, 110, 360, 346,
! 0, 0, 22, 207, 65, 361, 348, 0, 0, 22,
! 207, 13, 207, 65, 362, 348, 0, 0, 23, 65,
! 363, 348, 0, 24, 63, 0, 25, 63, 0, 26,
! 63, 0, 26, 193, 63, 0, 121, 378, 95, 223,
! 110, 63, 0, 121, 378, 95, 223, 65, 380, 110,
! 63, 0, 121, 378, 95, 223, 65, 380, 65, 380,
! 110, 63, 0, 121, 378, 95, 223, 56, 380, 110,
! 63, 0, 121, 378, 95, 223, 65, 380, 65, 380,
! 65, 383, 110, 63, 0, 121, 378, 95, 223, 56,
! 380, 65, 383, 110, 63, 0, 121, 378, 95, 223,
! 65, 380, 56, 383, 110, 63, 0, 27, 83, 193,
! 63, 0, 27, 170, 63, 0, 376, 348, 0, 376,
! 111, 0, 63, 0, 367, 0, 132, 0, 131, 0,
! 128, 0, 0, 0, 97, 365, 153, 366, 370, 0,
! 0, 0, 97, 368, 342, 369, 370, 0, 371, 0,
! 370, 371, 0, 0, 0, 0, 98, 372, 375, 373,
! 342, 0, 234, 0, 303, 0, 95, 13, 110, 0,
! 95, 393, 110, 0, 3, 65, 0, 59, 65, 0,
! 4, 65, 0, 5, 65, 0, 379, 63, 0, 226,
! 0, 61, 199, 0, 0, 9, 0, 0, 193, 0,
! 1, 0, 0, 381, 0, 382, 0, 381, 62, 382,
! 0, 12, 95, 193, 110, 0, 96, 170, 113, 12,
! 95, 193, 110, 0, 223, 0, 383, 62, 223, 0,
! 0, 385, 0, 229, 0, 389, 0, 390, 13, 0,
! 389, 13, 0, 229, 13, 0, 13, 0, 389, 65,
! 0, 229, 65, 0, 0, 67, 387, 388, 0, 102,
! 0, 261, 0, 391, 0, 393, 386, 0, 390, 392,
! 0, 390, 395, 0, 390, 395, 67, 261, 0, 389,
! 62, 0, 229, 62, 0, 231, 227, 0, 234, 227,
! 0, 239, 227, 0, 231, 333, 0, 231, 0, 233,
! 312, 0, 393, 0, 393, 386, 0, 391, 0, 229,
! 0, 0, 0, 312, 0, 3, 397, 3, 398, 63,
! 0, 77, 189, 188, 0, 0, 95, 201, 110, 0,
! 0, 0, 64, 95, 401, 110, 0, 64, 49, 0,
! 229, 0, 1, 0, 400, 0, 401, 62, 400, 0,
! 0, 83, 302, 402, 0, 73, 302, 402, 0, 328,
! 302, 402, 0, 43, 0, 0, 403, 83, 404, 0,
! 403, 84, 404, 0, 403, 85, 404, 0, 403, 81,
! 404, 0, 403, 82, 404, 0, 403, 73, 404, 0,
! 403, 71, 404, 0, 403, 72, 404, 0, 403, 91,
! 404, 0, 403, 62, 404, 0, 403, 76, 404, 0,
! 403, 77, 404, 0, 403, 78, 404, 0, 403, 75,
! 404, 0, 403, 66, 404, 0, 403, 67, 404, 0,
! 403, 79, 404, 0, 403, 80, 404, 0, 403, 89,
! 404, 0, 403, 90, 404, 0, 403, 70, 404, 0,
! 403, 69, 404, 0, 403, 112, 404, 0, 403, 68,
! 65, 404, 0, 403, 74, 404, 0, 403, 93, 404,
! 0, 403, 86, 404, 0, 403, 49, 404, 0, 403,
! 96, 113, 404, 0, 403, 41, 404, 0, 403, 40,
! 404, 0, 403, 41, 96, 113, 404, 0, 403, 40,
! 96, 113, 404, 0, 403, 374, 402, 404, 0, 403,
! 1, 404, 0, 0
};
#endif
*************** static const short yyrline[] = { 0,
*** 797,878 ****
958, 961, 968, 976, 978, 981, 983, 986, 988, 991,
995, 997, 998, 999, 1000, 1003, 1005, 1006, 1009, 1011,
1012, 1015, 1020, 1020, 1024, 1024, 1027, 1027, 1030, 1030,
! 1034, 1034, 1039, 1039, 1042, 1042, 1045, 1047, 1051, 1059,
! 1063, 1066, 1069, 1071, 1076, 1082, 1092, 1094, 1102, 1105,
! 1108, 1111, 1115, 1118, 1124, 1130, 1131, 1143, 1146, 1148,
! 1150, 1152, 1156, 1159, 1162, 1167, 1171, 1176, 1180, 1183,
! 1184, 1188, 1205, 1211, 1214, 1216, 1217, 1218, 1221, 1225,
! 1228, 1230, 1234, 1237, 1240, 1244, 1247, 1249, 1251, 1253,
! 1256, 1258, 1260, 1263, 1265, 1271, 1274, 1277, 1280, 1283,
! 1288, 1291, 1294, 1298, 1300, 1304, 1308, 1310, 1314, 1317,
! 1322, 1325, 1327, 1337, 1351, 1356, 1362, 1364, 1366, 1379,
! 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398, 1400,
! 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420,
! 1422, 1426, 1428, 1430, 1434, 1437, 1439, 1441, 1443, 1445,
! 1447, 1449, 1451, 1453, 1455, 1457, 1459, 1461, 1463, 1465,
! 1467, 1469, 1471, 1473, 1475, 1479, 1481, 1483, 1487, 1490,
! 1492, 1493, 1494, 1495, 1496, 1499, 1512, 1515, 1519, 1522,
! 1524, 1529, 1531, 1532, 1535, 1537, 1545, 1547, 1549, 1551,
! 1555, 1558, 1562, 1566, 1567, 1568, 1572, 1580, 1581, 1582,
! 1592, 1598, 1600, 1603, 1605, 1616, 1621, 1623, 1625, 1627,
! 1629, 1632, 1634, 1636, 1639, 1641, 1652, 1653, 1657, 1661,
! 1665, 1669, 1671, 1675, 1677, 1679, 1687, 1689, 1691, 1693,
! 1697, 1699, 1701, 1703, 1708, 1710, 1712, 1714, 1717, 1719,
! 1721, 1765, 1768, 1772, 1775, 1779, 1782, 1787, 1789, 1793,
! 1801, 1804, 1811, 1817, 1821, 1823, 1828, 1830, 1837, 1839,
! 1843, 1847, 1853, 1857, 1860, 1864, 1867, 1877, 1880, 1884,
! 1888, 1891, 1894, 1897, 1900, 1906, 1912, 1914, 1935, 1938,
! 1943, 1948, 1956, 1966, 1970, 1973, 1976, 1981, 1984, 1986,
! 1988, 1996, 1999, 2001, 2003, 2006, 2009, 2024, 2043, 2046,
! 2048, 2051, 2053, 2057, 2059, 2063, 2065, 2069, 2072, 2076,
! 2081, 2082, 2095, 2102, 2103, 2109, 2114, 2119, 2127, 2128,
! 2135, 2138, 2142, 2145, 2149, 2154, 2157, 2161, 2164, 2166,
! 2168, 2170, 2177, 2179, 2180, 2181, 2185, 2188, 2192, 2195,
! 2202, 2204, 2207, 2210, 2213, 2219, 2222, 2225, 2227, 2229,
! 2233, 2239, 2244, 2250, 2252, 2257, 2260, 2264, 2266, 2268,
! 2272, 2276, 2282, 2285, 2291, 2294, 2297, 2303, 2320, 2339,
! 2344, 2349, 2357, 2359, 2362, 2364, 2369, 2371, 2373, 2375,
! 2377, 2379, 2383, 2389, 2394, 2399, 2406, 2412, 2417, 2424,
! 2431, 2437, 2444, 2452, 2459, 2470, 2481, 2489, 2497, 2506,
! 2509, 2512, 2516, 2518, 2522, 2525, 2529, 2533, 2537, 2539,
! 2543, 2554, 2568, 2569, 2570, 2571, 2574, 2583, 2590, 2598,
! 2600, 2605, 2607, 2609, 2611, 2613, 2615, 2618, 2628, 2633,
! 2637, 2662, 2668, 2670, 2672, 2674, 2685, 2690, 2692, 2698,
! 2701, 2708, 2718, 2721, 2728, 2738, 2740, 2743, 2745, 2748,
! 2752, 2757, 2761, 2764, 2767, 2772, 2775, 2779, 2782, 2784,
! 2788, 2790, 2797, 2799, 2802, 2805, 2810, 2814, 2819, 2829,
! 2832, 2836, 2840, 2843, 2846, 2855, 2858, 2860, 2862, 2868,
! 2870, 2879, 2882, 2884, 2886, 2888, 2892, 2895, 2898, 2900,
! 2902, 2904, 2908, 2911, 2922, 2932, 2934, 2935, 2939, 2947,
! 2949, 2957, 2960, 2962, 2964, 2966, 2970, 2973, 2976, 2978,
! 2980, 2982, 2986, 2989, 2992, 2994, 2996, 2998, 3000, 3002,
! 3006, 3013, 3017, 3022, 3026, 3031, 3033, 3037, 3040, 3042,
! 3046, 3048, 3049, 3052, 3054, 3056, 3060, 3063, 3070, 3081,
! 3087, 3093, 3097, 3099, 3103, 3117, 3119, 3121, 3125, 3133,
! 3146, 3149, 3156, 3169, 3175, 3177, 3178, 3179, 3187, 3192,
! 3201, 3202, 3206, 3209, 3215, 3221, 3224, 3226, 3228, 3230,
! 3234, 3238, 3242, 3245, 3249, 3251, 3260, 3263, 3265, 3267,
! 3269, 3271, 3273, 3275, 3277, 3281, 3285, 3289, 3293, 3295,
! 3297, 3299, 3301, 3303, 3305, 3307, 3309, 3317, 3319, 3320,
! 3321, 3324, 3330, 3332, 3337, 3339, 3342, 3353, 3357, 3361,
! 3366, 3371, 3373, 3377, 3379, 3381, 3387, 3389, 3393, 3397,
! 3399, 3402, 3407, 3410, 3416, 3418, 3420, 3422, 3427, 3430,
! 3432, 3434, 3436, 3439, 3441, 3443, 3446, 3448, 3451, 3452,
! 3455, 3456, 3459, 3460, 3462, 3464, 3466, 3468, 3473, 3476,
! 3479, 3482, 3485, 3488, 3491, 3497, 3499, 3501, 3505, 3508,
! 3510, 3512, 3515, 3519, 3523, 3525, 3528, 3532, 3534, 3537,
! 3539, 3540, 3551, 3555, 3557, 3560, 3562, 3565, 3582, 3590,
! 3593, 3595, 3597, 3601, 3604, 3605, 3613, 3616, 3619, 3622,
! 3623, 3629, 3632, 3635, 3637, 3641, 3644, 3648, 3651, 3661,
! 3666, 3667, 3674, 3677, 3680, 3682, 3685, 3687, 3697, 3711,
! 3715, 3718, 3720, 3724, 3728, 3731, 3734, 3736, 3740, 3742,
! 3749, 3755, 3758, 3762, 3765, 3768, 3773, 3777, 3782, 3784,
! 3787, 3792, 3798, 3814, 3822, 3825, 3828, 3831, 3834, 3837,
! 3839, 3843, 3849, 3853, 3856, 3860, 3863, 3865, 3867, 3873,
! 3886, 3894, 3897, 3899, 3901, 3903, 3905, 3907, 3909, 3911,
! 3913, 3915, 3917, 3919, 3921, 3923, 3925, 3927, 3929, 3931,
! 3933, 3935, 3937, 3939, 3941, 3943, 3945, 3947, 3949, 3951,
! 3953, 3955, 3957, 3959, 3961, 3963, 3970
};
#endif
--- 798,879 ----
958, 961, 968, 976, 978, 981, 983, 986, 988, 991,
995, 997, 998, 999, 1000, 1003, 1005, 1006, 1009, 1011,
1012, 1015, 1020, 1020, 1024, 1024, 1027, 1027, 1030, 1030,
! 1034, 1035, 1040, 1041, 1044, 1045, 1048, 1051, 1055, 1063,
! 1067, 1070, 1073, 1075, 1080, 1086, 1096, 1098, 1106, 1109,
! 1112, 1115, 1119, 1122, 1128, 1134, 1135, 1147, 1150, 1152,
! 1154, 1156, 1160, 1163, 1166, 1171, 1175, 1180, 1184, 1187,
! 1188, 1192, 1209, 1215, 1218, 1220, 1221, 1222, 1225, 1229,
! 1232, 1234, 1238, 1241, 1244, 1248, 1251, 1253, 1255, 1257,
! 1260, 1262, 1265, 1269, 1272, 1279, 1282, 1285, 1288, 1291,
! 1296, 1299, 1302, 1306, 1308, 1312, 1316, 1318, 1322, 1325,
! 1330, 1333, 1335, 1345, 1359, 1364, 1370, 1372, 1374, 1387,
! 1390, 1392, 1394, 1396, 1398, 1400, 1402, 1404, 1406, 1408,
! 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428,
! 1430, 1434, 1436, 1438, 1442, 1445, 1447, 1449, 1451, 1453,
! 1455, 1457, 1459, 1461, 1463, 1465, 1467, 1469, 1471, 1473,
! 1475, 1477, 1479, 1481, 1483, 1487, 1489, 1491, 1495, 1498,
! 1500, 1501, 1502, 1503, 1504, 1507, 1520, 1523, 1527, 1530,
! 1532, 1537, 1539, 1540, 1543, 1545, 1553, 1555, 1557, 1559,
! 1563, 1566, 1570, 1574, 1575, 1576, 1580, 1588, 1589, 1590,
! 1600, 1606, 1608, 1611, 1613, 1624, 1629, 1631, 1633, 1635,
! 1637, 1640, 1642, 1644, 1647, 1649, 1660, 1661, 1665, 1669,
! 1673, 1677, 1679, 1683, 1685, 1687, 1695, 1697, 1699, 1701,
! 1705, 1707, 1709, 1711, 1716, 1718, 1720, 1722, 1725, 1727,
! 1729, 1773, 1776, 1780, 1783, 1787, 1790, 1795, 1797, 1801,
! 1809, 1812, 1819, 1825, 1829, 1831, 1836, 1838, 1845, 1847,
! 1851, 1855, 1861, 1865, 1868, 1872, 1875, 1885, 1888, 1892,
! 1896, 1899, 1902, 1905, 1908, 1914, 1920, 1922, 1943, 1946,
! 1951, 1956, 1964, 1974, 1978, 1981, 1984, 1989, 1992, 1994,
! 1996, 2000, 2004, 2008, 2016, 2019, 2021, 2023, 2027, 2031,
! 2046, 2065, 2068, 2070, 2073, 2075, 2079, 2081, 2085, 2087,
! 2091, 2094, 2098, 2103, 2104, 2117, 2124, 2125, 2131, 2136,
! 2141, 2149, 2150, 2157, 2160, 2164, 2167, 2171, 2176, 2179,
! 2183, 2186, 2188, 2190, 2192, 2199, 2201, 2202, 2203, 2207,
! 2210, 2214, 2217, 2224, 2226, 2229, 2232, 2235, 2241, 2244,
! 2247, 2249, 2251, 2255, 2261, 2266, 2272, 2274, 2279, 2282,
! 2286, 2288, 2290, 2294, 2298, 2304, 2307, 2313, 2316, 2319,
! 2325, 2342, 2361, 2366, 2371, 2379, 2381, 2384, 2386, 2391,
! 2393, 2395, 2397, 2399, 2401, 2405, 2411, 2416, 2421, 2428,
! 2434, 2439, 2446, 2453, 2459, 2466, 2474, 2481, 2492, 2503,
! 2511, 2519, 2528, 2531, 2534, 2538, 2540, 2544, 2547, 2551,
! 2555, 2559, 2561, 2565, 2576, 2590, 2591, 2592, 2593, 2596,
! 2605, 2612, 2620, 2622, 2627, 2629, 2631, 2633, 2635, 2637,
! 2640, 2650, 2655, 2659, 2684, 2690, 2692, 2694, 2696, 2707,
! 2712, 2714, 2720, 2723, 2730, 2740, 2743, 2750, 2760, 2762,
! 2765, 2767, 2770, 2774, 2779, 2783, 2786, 2789, 2794, 2797,
! 2801, 2804, 2806, 2810, 2812, 2819, 2821, 2824, 2827, 2832,
! 2836, 2841, 2851, 2854, 2858, 2862, 2865, 2868, 2877, 2880,
! 2882, 2884, 2890, 2892, 2901, 2904, 2906, 2908, 2910, 2914,
! 2917, 2920, 2922, 2924, 2926, 2930, 2933, 2944, 2954, 2956,
! 2957, 2961, 2969, 2971, 2979, 2982, 2984, 2986, 2988, 2992,
! 2995, 2998, 3000, 3002, 3004, 3008, 3011, 3014, 3016, 3018,
! 3020, 3022, 3024, 3028, 3035, 3039, 3044, 3048, 3053, 3055,
! 3059, 3062, 3064, 3068, 3070, 3071, 3074, 3076, 3078, 3082,
! 3085, 3092, 3103, 3109, 3115, 3119, 3121, 3125, 3139, 3141,
! 3143, 3147, 3155, 3168, 3171, 3178, 3191, 3197, 3199, 3200,
! 3201, 3209, 3214, 3223, 3224, 3228, 3231, 3237, 3243, 3246,
! 3248, 3250, 3252, 3256, 3260, 3264, 3267, 3271, 3273, 3282,
! 3285, 3287, 3289, 3291, 3293, 3295, 3297, 3299, 3303, 3307,
! 3311, 3315, 3317, 3319, 3321, 3323, 3325, 3327, 3329, 3331,
! 3339, 3341, 3342, 3343, 3346, 3352, 3354, 3359, 3361, 3364,
! 3375, 3379, 3383, 3388, 3393, 3395, 3399, 3401, 3403, 3409,
! 3411, 3415, 3419, 3421, 3424, 3429, 3432, 3438, 3440, 3442,
! 3444, 3449, 3452, 3454, 3456, 3458, 3461, 3463, 3465, 3468,
! 3470, 3473, 3474, 3477, 3478, 3481, 3482, 3484, 3486, 3488,
! 3490, 3495, 3498, 3501, 3504, 3507, 3510, 3513, 3519, 3521,
! 3523, 3527, 3530, 3532, 3534, 3537, 3541, 3545, 3547, 3550,
! 3554, 3556, 3559, 3561, 3562, 3573, 3577, 3579, 3582, 3584,
! 3587, 3604, 3612, 3615, 3617, 3619, 3623, 3626, 3627, 3635,
! 3638, 3641, 3644, 3645, 3651, 3654, 3657, 3659, 3663, 3666,
! 3670, 3673, 3683, 3688, 3689, 3696, 3699, 3702, 3704, 3707,
! 3709, 3719, 3733, 3737, 3740, 3742, 3746, 3750, 3753, 3756,
! 3758, 3762, 3764, 3771, 3777, 3780, 3784, 3787, 3790, 3795,
! 3799, 3804, 3806, 3809, 3814, 3820, 3836, 3844, 3847, 3850,
! 3853, 3856, 3859, 3861, 3865, 3871, 3875, 3878, 3882, 3885,
! 3887, 3889, 3895, 3908, 3916, 3919, 3921, 3923, 3925, 3927,
! 3929, 3931, 3933, 3935, 3937, 3939, 3941, 3943, 3945, 3947,
! 3949, 3951, 3953, 3955, 3957, 3959, 3961, 3963, 3965, 3967,
! 3969, 3971, 3973, 3975, 3977, 3979, 3981, 3983, 3985, 3992
};
#endif
*************** static const short yyrline[] = { 0,
*** 880,886 ****
#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
! "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
"VAR_FUNC_NAME","STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO",
"FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD",
"TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
--- 881,887 ----
#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
! "tTYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
"VAR_FUNC_NAME","STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO",
"FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD",
"TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
*************** static const char * const yytname[] = {
*** 915,930 ****
"direct_notype_declarator","primary","@23","new","delete","boolean.literal",
"string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
"typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
! "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
! "nomods_initdecls","maybeasm","initdcl","@24","initdcl0_innards","@25","initdcl0",
! "notype_initdcl0","nomods_initdcl0","@26","maybe_attribute","attributes","attribute",
! "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
! "init","initlist","pending_inline","pending_inlines","defarg_again","pending_defargs",
! "structsp","@27","@28","@29","@30","@31","maybecomma","maybecomma_warn","aggr",
! "class_head","class_head_apparent_template","class_head_decl","class_head_defn",
! "maybe_base_class_list","base_class_list","base_class","base_class.1","base_class_access_list",
! "opt.component_decl_list","access_specifier","component_decl_list","component_decl",
! "component_decl_1","components","notype_components","component_declarator0",
"component_declarator","after_type_component_declarator0","notype_component_declarator0",
"after_type_component_declarator","notype_component_declarator","enumlist_opt",
"enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
--- 916,931 ----
"direct_notype_declarator","primary","@23","new","delete","boolean.literal",
"string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
"typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
! "reserved_typespecquals","sizeof","alignof","typeof","typespec","typespecqual_reserved",
! "initdecls","notype_initdecls","nomods_initdecls","maybeasm","initdcl","@24",
! "initdcl0_innards","@25","initdcl0","notype_initdcl0","nomods_initdcl0","@26",
! "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
! "identifiers_or_typenames","maybe_init","init","initlist","pending_inline","pending_inlines",
! "defarg_again","pending_defargs","structsp","@27","@28","@29","@30","@31","maybecomma",
! "maybecomma_warn","aggr","class_head","class_head_apparent_template","class_head_decl",
! "class_head_defn","maybe_base_class_list","base_class_list","base_class","base_class.1",
! "base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list",
! "component_decl","component_decl_1","components","notype_components","component_declarator0",
"component_declarator","after_type_component_declarator0","notype_component_declarator0",
"after_type_component_declarator","notype_component_declarator","enumlist_opt",
"enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
*************** static const short yyr1[] = { 0,
*** 993,1048 ****
228, 228, 229, 229, 229, 229, 229, 230, 230, 231,
231, 231, 231, 231, 231, 232, 232, 232, 233, 233,
233, 233, 233, 234, 234, 234, 234, 235, 235, 235,
! 235, 236, 236, 236, 236, 236, 236, 236, 237, 237,
! 237, 238, 238, 239, 239, 240, 240, 241, 241, 243,
! 242, 242, 245, 244, 244, 246, 247, 249, 248, 248,
! 250, 250, 251, 251, 252, 253, 253, 254, 254, 254,
! 254, 254, 255, 255, 255, 255, 256, 256, 257, 257,
! 258, 258, 258, 258, 258, 259, 259, 259, 259, 259,
! 260, 260, 260, 261, 261, 262, 262, 263, 263, 263,
! 265, 264, 266, 264, 264, 264, 264, 267, 268, 269,
! 264, 264, 270, 270, 271, 271, 272, 272, 272, 272,
! 272, 272, 273, 273, 273, 273, 274, 274, 274, 275,
! 275, 275, 276, 276, 276, 276, 276, 276, 276, 277,
! 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
! 281, 281, 282, 282, 282, 282, 283, 284, 284, 285,
! 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
! 286, 286, 286, 286, 286, 286, 286, 286, 286, 287,
! 287, 287, 288, 288, 288, 289, 289, 290, 290, 291,
! 291, 292, 292, 292, 292, 293, 293, 294, 294, 294,
! 295, 295, 296, 296, 297, 297, 298, 298, 298, 299,
! 299, 300, 300, 300, 300, 301, 301, 301, 301, 302,
! 302, 303, 303, 303, 303, 303, 303, 304, 304, 304,
! 304, 304, 304, 305, 305, 306, 306, 306, 307, 308,
! 308, 309, 309, 309, 309, 309, 309, 310, 310, 310,
! 310, 310, 310, 311, 311, 311, 311, 311, 311, 311,
! 311, 312, 312, 313, 313, 314, 314, 315, 315, 315,
! 316, 316, 316, 317, 317, 317, 317, 317, 318, 318,
! 318, 318, 319, 319, 320, 320, 320, 320, 321, 321,
! 321, 321, 322, 322, 322, 322, 322, 322, 323, 324,
! 324, 324, 325, 325, 326, 327, 327, 327, 327, 327,
! 327, 327, 328, 328, 329, 329, 330, 330, 330, 330,
! 330, 330, 330, 330, 330, 330, 330, 331, 331, 331,
! 331, 331, 331, 331, 331, 331, 331, 332, 332, 332,
! 332, 333, 334, 334, 335, 335, 336, 338, 337, 339,
! 341, 342, 340, 343, 344, 343, 345, 345, 346, 346,
! 347, 346, 346, 348, 349, 346, 350, 351, 346, 352,
! 353, 354, 355, 346, 356, 357, 346, 358, 346, 359,
! 346, 360, 346, 346, 346, 346, 346, 346, 346, 346,
! 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
! 346, 346, 346, 362, 363, 361, 365, 366, 364, 367,
! 367, 367, 369, 370, 368, 371, 371, 372, 372, 373,
! 373, 373, 373, 374, 374, 374, 375, 375, 376, 376,
! 376, 377, 377, 378, 378, 379, 379, 380, 380, 381,
! 381, 381, 382, 382, 382, 382, 382, 382, 382, 384,
! 383, 385, 385, 386, 386, 386, 386, 386, 387, 387,
! 388, 388, 388, 388, 388, 388, 389, 389, 390, 390,
! 391, 392, 392, 393, 394, 394, 395, 395, 396, 396,
! 396, 397, 397, 398, 398, 399, 399, 399, 399, 400,
! 401, 402, 402, 402, 402, 402, 402, 402, 402, 402,
! 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
! 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
! 402, 402, 402, 402, 402, 402, 403
};
static const short yyr2[] = { 0,
--- 994,1049 ----
228, 228, 229, 229, 229, 229, 229, 230, 230, 231,
231, 231, 231, 231, 231, 232, 232, 232, 233, 233,
233, 233, 233, 234, 234, 234, 234, 235, 235, 235,
! 235, 236, 237, 238, 239, 239, 239, 239, 239, 239,
! 239, 240, 240, 240, 241, 241, 242, 242, 243, 243,
! 244, 244, 246, 245, 245, 248, 247, 247, 249, 250,
! 252, 251, 251, 253, 253, 254, 254, 255, 256, 256,
! 257, 257, 257, 257, 257, 258, 258, 258, 258, 259,
! 259, 260, 260, 261, 261, 261, 261, 261, 262, 262,
! 262, 262, 262, 263, 263, 263, 264, 264, 265, 265,
! 266, 266, 266, 268, 267, 269, 267, 267, 267, 267,
! 270, 271, 272, 267, 267, 273, 273, 274, 274, 275,
! 275, 275, 275, 275, 275, 276, 276, 276, 276, 277,
! 277, 277, 278, 278, 278, 279, 279, 279, 279, 279,
! 279, 279, 280, 280, 280, 281, 281, 282, 282, 283,
! 283, 284, 284, 284, 284, 285, 285, 285, 285, 286,
! 287, 287, 288, 288, 288, 288, 288, 288, 288, 288,
! 288, 288, 288, 289, 289, 289, 289, 289, 289, 289,
! 289, 289, 290, 290, 290, 291, 291, 291, 292, 292,
! 293, 293, 294, 294, 295, 295, 295, 295, 296, 296,
! 297, 297, 297, 298, 298, 299, 299, 300, 300, 301,
! 301, 301, 302, 302, 303, 303, 303, 303, 304, 304,
! 304, 304, 305, 305, 306, 306, 306, 306, 306, 306,
! 307, 307, 307, 307, 307, 307, 308, 308, 309, 309,
! 309, 310, 311, 311, 312, 312, 312, 312, 312, 312,
! 313, 313, 313, 313, 313, 313, 314, 314, 314, 314,
! 314, 314, 314, 314, 315, 315, 316, 316, 317, 317,
! 318, 318, 318, 319, 319, 319, 320, 320, 320, 320,
! 320, 321, 321, 321, 321, 322, 322, 323, 323, 323,
! 323, 324, 324, 324, 324, 325, 325, 325, 325, 325,
! 325, 326, 327, 327, 327, 328, 328, 329, 330, 330,
! 330, 330, 330, 330, 330, 331, 331, 332, 332, 333,
! 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
! 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
! 335, 335, 335, 335, 336, 337, 337, 338, 338, 339,
! 341, 340, 342, 344, 345, 343, 346, 347, 346, 348,
! 348, 349, 349, 350, 349, 349, 351, 352, 349, 353,
! 354, 349, 355, 356, 357, 358, 349, 359, 360, 349,
! 361, 349, 362, 349, 363, 349, 349, 349, 349, 349,
! 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
! 349, 349, 349, 349, 349, 349, 365, 366, 364, 368,
! 369, 367, 370, 370, 370, 372, 373, 371, 374, 374,
! 375, 375, 376, 376, 376, 376, 377, 377, 377, 378,
! 378, 379, 379, 379, 380, 380, 381, 381, 382, 382,
! 383, 383, 384, 384, 384, 385, 385, 385, 385, 385,
! 385, 385, 387, 386, 388, 388, 389, 389, 389, 389,
! 389, 390, 390, 391, 391, 391, 391, 391, 391, 392,
! 392, 393, 393, 394, 395, 395, 396, 397, 397, 398,
! 398, 399, 399, 399, 400, 400, 401, 401, 402, 402,
! 402, 402, 403, 404, 405, 405, 405, 405, 405, 405,
! 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
! 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
! 405, 405, 405, 405, 405, 405, 405, 405, 405, 406
};
static const short yyr2[] = { 0,
*************** static const short yyr2[] = { 0,
*** 1089,4029 ****
1, 2, 2, 2, 2, 1, 1, 1, 1, 2,
2, 3, 3, 3, 4, 1, 2, 2, 1, 1,
2, 2, 2, 1, 2, 2, 3, 1, 2, 2,
! 1, 1, 1, 1, 4, 4, 4, 4, 1, 1,
! 1, 1, 3, 1, 3, 1, 3, 0, 4, 0,
! 6, 3, 0, 4, 1, 3, 3, 0, 4, 3,
! 0, 1, 1, 2, 6, 1, 3, 0, 1, 4,
! 6, 4, 1, 1, 1, 1, 1, 3, 0, 2,
! 1, 2, 3, 4, 1, 1, 3, 4, 3, 5,
! 3, 3, 3, 0, 3, 3, 3, 0, 2, 2,
! 0, 6, 0, 5, 2, 2, 2, 0, 0, 0,
! 11, 1, 0, 1, 0, 1, 1, 2, 2, 2,
! 2, 2, 2, 3, 4, 3, 2, 3, 4, 1,
! 2, 1, 2, 2, 2, 2, 3, 3, 2, 0,
! 2, 3, 1, 4, 1, 3, 1, 1, 2, 2,
! 3, 3, 0, 1, 3, 2, 2, 1, 2, 2,
! 2, 2, 2, 2, 2, 1, 2, 2, 3, 1,
! 2, 2, 4, 4, 2, 1, 5, 4, 1, 0,
! 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
! 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
! 2, 1, 1, 3, 1, 3, 2, 1, 6, 0,
! 2, 1, 2, 1, 2, 3, 3, 1, 3, 1,
! 2, 3, 3, 2, 2, 3, 1, 4, 4, 3,
! 3, 2, 1, 1, 2, 1, 1, 2, 2, 1,
! 2, 3, 3, 2, 2, 3, 1, 3, 3, 2,
! 2, 3, 1, 4, 3, 4, 3, 1, 2, 2,
! 2, 2, 2, 2, 2, 1, 2, 4, 4, 2,
! 1, 1, 1, 1, 2, 4, 3, 3, 2, 2,
! 2, 2, 1, 2, 2, 2, 2, 3, 1, 2,
! 3, 4, 2, 2, 2, 2, 2, 2, 4, 2,
! 1, 2, 2, 3, 1, 3, 2, 3, 2, 2,
! 3, 1, 3, 4, 1, 2, 3, 2, 2, 1,
! 3, 2, 2, 1, 2, 3, 1, 3, 6, 4,
! 4, 3, 5, 3, 3, 3, 2, 1, 1, 2,
! 2, 2, 0, 1, 1, 2, 3, 0, 4, 1,
! 0, 0, 5, 1, 0, 3, 1, 2, 1, 2,
! 0, 4, 1, 0, 0, 5, 0, 0, 7, 0,
! 0, 0, 0, 12, 0, 0, 7, 0, 5, 0,
! 7, 0, 4, 2, 2, 2, 3, 6, 8, 10,
! 8, 12, 10, 10, 4, 3, 2, 2, 1, 1,
! 1, 1, 1, 0, 0, 5, 0, 0, 5, 1,
! 2, 0, 0, 0, 5, 1, 1, 3, 3, 2,
! 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
! 1, 0, 1, 1, 3, 4, 7, 1, 3, 0,
! 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
! 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
! 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
! 0, 0, 1, 5, 3, 0, 3, 0, 0, 4,
! 2, 1, 1, 1, 3, 0, 3, 3, 3, 1,
! 0, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
! 3, 3, 3, 3, 4, 3, 3, 3, 3, 4,
! 3, 3, 5, 5, 4, 3, 0
};
static const short yydefact[] = { 3,
! 12, 12, 5, 0, 4, 0, 313, 671, 672, 0,
! 420, 433, 612, 0, 11, 0, 0, 0, 10, 517,
! 890, 0, 0, 0, 178, 705, 16, 314, 315, 88,
! 0, 0, 871, 0, 47, 0, 0, 13, 27, 0,
29, 8, 52, 53, 0, 18, 15, 95, 118, 92,
! 0, 673, 182, 334, 311, 335, 647, 0, 409, 0,
! 408, 424, 0, 446, 614, 463, 432, 0, 530, 532,
! 512, 540, 419, 636, 434, 637, 116, 333, 658, 634,
! 0, 674, 610, 0, 89, 0, 312, 85, 87, 86,
! 189, 0, 679, 189, 680, 189, 316, 178, 151, 152,
! 153, 154, 155, 503, 505, 0, 701, 0, 506, 0,
0, 0, 0, 152, 153, 154, 155, 25, 0, 0,
! 0, 0, 0, 0, 0, 507, 683, 0, 689, 0,
0, 0, 39, 0, 0, 33, 0, 0, 49, 0,
! 0, 189, 681, 0, 313, 614, 0, 645, 640, 0,
! 0, 0, 644, 0, 0, 0, 0, 334, 0, 325,
! 0, 0, 0, 333, 610, 30, 0, 28, 3, 48,
0, 68, 420, 0, 0, 8, 71, 67, 70, 95,
! 0, 0, 0, 432, 96, 14, 0, 461, 0, 0,
! 479, 93, 83, 682, 618, 0, 0, 610, 84, 0,
! 0, 0, 114, 0, 442, 399, 627, 400, 633, 0,
! 610, 422, 421, 82, 117, 410, 0, 444, 423, 115,
! 416, 439, 440, 411, 426, 428, 431, 441, 0, 79,
! 464, 518, 519, 520, 521, 539, 160, 159, 161, 523,
! 531, 183, 527, 522, 0, 0, 533, 534, 535, 536,
! 871, 0, 613, 425, 615, 0, 458, 313, 672, 0,
! 314, 703, 182, 664, 665, 661, 639, 675, 0, 313,
! 315, 660, 638, 659, 635, 0, 891, 891, 891, 891,
! 891, 891, 891, 0, 891, 891, 891, 891, 891, 891,
! 891, 891, 891, 891, 891, 891, 891, 891, 891, 891,
! 891, 891, 891, 891, 891, 891, 0, 891, 816, 424,
! 817, 886, 316, 612, 338, 341, 388, 0, 0, 0,
! 0, 0, 384, 382, 355, 386, 387, 0, 0, 0,
! 0, 0, 314, 307, 0, 0, 199, 198, 0, 200,
! 201, 0, 0, 202, 0, 0, 190, 191, 0, 257,
! 0, 285, 196, 337, 225, 0, 0, 339, 340, 0,
! 193, 406, 424, 407, 666, 367, 357, 0, 0, 878,
! 0, 0, 189, 0, 515, 501, 0, 0, 0, 702,
! 700, 283, 0, 203, 260, 204, 0, 0, 0, 0,
! 0, 468, 3, 23, 31, 697, 693, 694, 696, 698,
! 695, 151, 152, 153, 0, 154, 155, 685, 686, 690,
! 687, 684, 0, 313, 323, 324, 322, 663, 662, 35,
! 34, 51, 0, 168, 0, 0, 424, 166, 17, 0,
! 0, 189, 641, 615, 643, 0, 642, 152, 153, 309,
! 310, 329, 614, 0, 651, 328, 0, 650, 0, 336,
! 314, 315, 0, 0, 0, 327, 326, 655, 0, 0,
! 12, 0, 178, 9, 9, 74, 0, 69, 0, 0,
! 75, 78, 0, 460, 462, 132, 101, 804, 99, 390,
! 100, 135, 0, 0, 133, 94, 0, 847, 224, 0,
! 223, 842, 865, 0, 406, 424, 407, 0, 841, 843,
! 872, 854, 0, 0, 657, 0, 0, 879, 614, 0,
! 625, 620, 0, 624, 0, 0, 0, 0, 0, 610,
! 461, 0, 81, 0, 610, 632, 0, 413, 414, 0,
! 80, 461, 418, 417, 412, 429, 430, 448, 447, 189,
! 537, 538, 151, 154, 524, 528, 526, 0, 541, 508,
! 427, 461, 677, 610, 102, 0, 0, 0, 0, 678,
! 610, 108, 611, 0, 646, 672, 704, 182, 926, 0,
! 922, 0, 921, 919, 901, 906, 907, 891, 913, 912,
! 898, 899, 897, 916, 905, 902, 903, 904, 908, 909,
! 895, 896, 892, 893, 894, 918, 910, 911, 900, 917,
! 891, 914, 426, 610, 610, 0, 610, 0, 891, 189,
! 0, 0, 232, 0, 234, 247, 248, 0, 0, 0,
! 0, 0, 0, 308, 231, 228, 227, 229, 0, 0,
! 0, 0, 0, 337, 0, 927, 0, 226, 187, 188,
! 331, 0, 230, 0, 0, 258, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 348, 0, 350,
! 353, 354, 392, 391, 0, 0, 0, 0, 0, 236,
! 608, 0, 244, 389, 381, 0, 0, 871, 370, 373,
! 374, 0, 0, 401, 724, 720, 0, 0, 610, 610,
! 610, 403, 727, 0, 670, 405, 0, 0, 404, 369,
! 0, 0, 364, 383, 195, 365, 385, 667, 0, 366,
! 0, 0, 186, 186, 0, 176, 0, 424, 174, 516,
! 605, 602, 0, 515, 603, 515, 0, 284, 435, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 436, 437, 438, 474, 475, 476, 473,
! 0, 466, 469, 0, 3, 0, 688, 189, 691, 0,
! 43, 44, 0, 57, 0, 0, 0, 61, 65, 54,
! 870, 424, 57, 869, 63, 179, 164, 162, 179, 186,
! 332, 0, 649, 648, 336, 0, 652, 0, 20, 22,
! 95, 9, 9, 77, 76, 0, 137, 0, 927, 91,
! 90, 485, 0, 481, 480, 0, 619, 616, 846, 860,
! 849, 724, 720, 0, 861, 610, 864, 866, 0, 0,
! 862, 0, 863, 617, 845, 859, 848, 844, 873, 856,
! 867, 857, 850, 855, 656, 0, 670, 0, 654, 621,
! 615, 623, 622, 614, 0, 0, 0, 0, 0, 0,
! 610, 631, 0, 456, 455, 443, 630, 0, 879, 0,
! 626, 415, 445, 457, 461, 0, 525, 529, 671, 672,
! 871, 871, 673, 542, 543, 545, 871, 548, 547, 0,
! 0, 459, 879, 840, 189, 189, 676, 189, 879, 840,
! 610, 105, 610, 111, 891, 891, 915, 920, 886, 886,
! 886, 0, 925, 0, 0, 0, 0, 0, 0, 0,
! 0, 424, 0, 0, 0, 344, 0, 342, 343, 0,
! 0, 255, 192, 313, 671, 672, 314, 315, 0, 0,
! 486, 513, 0, 306, 305, 831, 830, 0, 303, 302,
! 300, 301, 299, 298, 297, 295, 296, 293, 294, 288,
! 289, 290, 291, 292, 286, 287, 0, 0, 0, 0,
! 0, 0, 0, 238, 252, 0, 0, 237, 610, 610,
! 0, 610, 607, 712, 0, 0, 0, 0, 0, 372,
! 0, 376, 0, 378, 0, 614, 723, 722, 715, 719,
! 718, 870, 0, 0, 737, 0, 0, 879, 402, 879,
! 725, 610, 840, 0, 724, 720, 0, 0, 610, 0,
! 614, 0, 0, 0, 0, 197, 0, 874, 181, 185,
! 317, 179, 172, 170, 179, 0, 504, 516, 601, 0,
! 222, 221, 220, 219, 282, 281, 0, 279, 278, 276,
! 277, 275, 274, 273, 270, 271, 272, 268, 269, 263,
! 264, 265, 266, 267, 261, 262, 468, 0, 0, 26,
! 0, 0, 692, 0, 40, 46, 45, 59, 56, 49,
! 57, 0, 50, 0, 0, 58, 523, 0, 169, 179,
! 179, 167, 180, 331, 330, 19, 21, 73, 95, 449,
! 805, 150, 156, 143, 157, 158, 0, 0, 139, 0,
! 0, 0, 0, 482, 0, 134, 614, 723, 719, 724,
! 720, 0, 614, 634, 0, 610, 725, 0, 724, 720,
! 0, 337, 0, 666, 0, 868, 0, 0, 881, 0,
! 0, 0, 0, 453, 629, 628, 452, 186, 550, 549,
! 871, 871, 871, 0, 576, 672, 0, 566, 0, 0,
! 0, 579, 0, 131, 126, 0, 182, 580, 583, 0,
! 0, 558, 0, 129, 570, 104, 0, 0, 0, 0,
! 110, 0, 879, 840, 879, 840, 924, 923, 888, 887,
! 889, 318, 356, 233, 235, 0, 362, 363, 0, 0,
! 0, 0, 343, 346, 748, 0, 0, 0, 0, 256,
! 0, 347, 349, 352, 250, 249, 240, 0, 239, 254,
! 0, 0, 709, 707, 0, 710, 0, 245, 0, 0,
! 189, 379, 0, 0, 0, 716, 615, 721, 717, 728,
! 610, 736, 734, 735, 0, 726, 879, 0, 732, 0,
! 668, 669, 724, 720, 0, 368, 877, 177, 179, 179,
! 175, 606, 604, 502, 0, 467, 465, 313, 0, 24,
! 32, 699, 60, 55, 62, 66, 64, 165, 163, 72,
! 812, 0, 141, 0, 145, 0, 147, 0, 149, 0,
! 97, 0, 483, 615, 723, 719, 724, 720, 0, 610,
! 639, 725, 0, 0, 669, 364, 365, 667, 366, 858,
! 852, 853, 851, 883, 882, 884, 0, 0, 0, 0,
! 615, 0, 0, 450, 184, 0, 552, 551, 546, 610,
! 840, 575, 0, 567, 580, 568, 461, 461, 564, 565,
! 562, 563, 610, 840, 313, 671, 0, 448, 127, 571,
! 581, 586, 587, 448, 448, 0, 0, 448, 125, 572,
! 584, 448, 0, 461, 0, 559, 560, 561, 461, 610,
! 320, 319, 321, 610, 107, 0, 113, 0, 0, 0,
! 0, 0, 0, 743, 0, 489, 0, 487, 259, 304,
! 0, 241, 242, 251, 253, 708, 706, 713, 711, 0,
! 246, 0, 0, 371, 375, 377, 879, 730, 610, 731,
! 173, 171, 280, 0, 470, 472, 813, 806, 810, 142,
! 140, 0, 0, 0, 743, 484, 723, 719, 0, 725,
! 343, 0, 880, 614, 454, 0, 544, 879, 0, 0,
! 569, 479, 479, 879, 0, 0, 0, 461, 461, 0,
! 461, 461, 0, 461, 0, 557, 509, 0, 479, 879,
! 879, 610, 610, 351, 0, 0, 0, 0, 0, 215,
! 749, 0, 744, 745, 488, 0, 0, 243, 714, 380,
! 319, 733, 879, 0, 0, 811, 144, 146, 148, 98,
! 724, 720, 0, 615, 0, 885, 451, 121, 610, 610,
! 840, 574, 578, 124, 610, 461, 461, 595, 479, 313,
! 671, 0, 582, 588, 589, 448, 448, 479, 479, 0,
! 479, 585, 498, 573, 103, 109, 879, 879, 358, 359,
! 360, 361, 477, 0, 0, 0, 739, 750, 757, 738,
! 0, 746, 490, 609, 729, 471, 0, 814, 614, 879,
! 879, 0, 879, 594, 591, 593, 0, 0, 461, 461,
! 461, 590, 592, 577, 0, 106, 112, 0, 747, 742,
! 218, 0, 216, 741, 740, 313, 671, 672, 751, 764,
! 767, 770, 775, 0, 0, 0, 0, 0, 0, 0,
! 0, 314, 799, 807, 0, 827, 803, 802, 801, 0,
! 759, 0, 0, 424, 763, 758, 800, 927, 0, 0,
! 927, 119, 122, 610, 123, 461, 461, 600, 479, 479,
! 500, 0, 499, 494, 478, 217, 820, 822, 823, 0,
! 0, 755, 0, 0, 0, 782, 784, 785, 786, 0,
! 0, 0, 0, 0, 0, 0, 821, 927, 398, 828,
! 0, 760, 396, 448, 0, 397, 0, 448, 0, 0,
! 761, 798, 797, 818, 819, 815, 879, 599, 597, 596,
! 598, 0, 0, 511, 207, 0, 752, 765, 754, 0,
! 927, 0, 0, 0, 778, 927, 787, 0, 796, 41,
! 155, 36, 155, 0, 37, 808, 0, 394, 395, 0,
! 0, 0, 393, 755, 120, 497, 496, 92, 95, 214,
! 0, 424, 0, 755, 755, 768, 0, 743, 825, 771,
! 0, 0, 0, 927, 783, 795, 42, 38, 812, 0,
! 762, 0, 495, 208, 448, 753, 766, 0, 756, 826,
! 0, 824, 776, 780, 779, 809, 832, 832, 0, 493,
! 491, 492, 461, 205, 0, 0, 211, 0, 210, 755,
! 927, 0, 0, 0, 833, 834, 0, 788, 0, 0,
! 769, 772, 777, 781, 0, 0, 0, 0, 0, 0,
! 832, 0, 212, 206, 0, 0, 0, 838, 0, 791,
! 835, 0, 0, 789, 0, 0, 836, 0, 0, 0,
! 0, 0, 0, 213, 773, 0, 839, 793, 794, 0,
! 790, 755, 0, 0, 774, 837, 792, 0, 0, 0
};
! static const short yydefgoto[] = { 1828,
! 461, 2, 462, 171, 810, 345, 187, 3, 4, 38,
! 141, 775, 393, 39, 776, 1172, 1608, 41, 413, 1655,
! 780, 42, 43, 423, 44, 1173, 787, 1088, 788, 789,
! 790, 46, 178, 179, 47, 819, 190, 186, 479, 1435,
! 48, 49, 904, 1194, 910, 1196, 50, 1175, 1176, 191,
! 192, 820, 480, 1118, 1119, 731, 1120, 241, 51, 1101,
! 1100, 799, 796, 1270, 1269, 1045, 1042, 140, 1099, 52,
! 243, 53, 1039, 641, 346, 347, 348, 349, 633, 1766,
! 1687, 1768, 1721, 1805, 1481, 384, 1028, 350, 679, 988,
! 351, 385, 386, 353, 354, 373, 55, 265, 781, 442,
! 160, 56, 57, 355, 636, 356, 357, 358, 359, 821,
! 360, 1611, 538, 700, 361, 1178, 493, 224, 494, 362,
! 225, 507, 226, 204, 217, 63, 521, 539, 1446, 874,
! 1333, 205, 218, 64, 552, 875, 65, 66, 771, 772,
! 773, 1544, 485, 951, 952, 1719, 1684, 1633, 1575, 67,
! 736, 375, 901, 1533, 1634, 1219, 732, 68, 69, 70,
! 71, 72, 252, 894, 895, 896, 897, 1180, 1375, 1181,
! 1182, 1183, 1360, 1370, 1361, 1523, 1362, 1363, 1524, 1525,
! 733, 734, 735, 680, 1018, 364, 198, 519, 512, 207,
! 74, 75, 76, 148, 149, 163, 78, 136, 365, 366,
! 367, 80, 388, 82, 899, 127, 128, 129, 558, 109,
! 83, 389, 993, 994, 1013, 1009, 703, 1546, 1547, 1482,
! 1483, 1484, 1548, 1394, 1549, 1615, 1640, 1724, 1690, 1691,
! 1550, 1616, 1714, 1641, 1725, 1642, 1748, 1643, 1751, 1795,
! 1822, 1644, 1770, 1734, 1771, 1696, 481, 817, 1291, 1617,
! 1658, 1739, 1428, 1429, 1495, 1621, 1723, 1558, 1618, 1730,
! 1661, 958, 1774, 1775, 1776, 1799, 498, 1014, 854, 1148,
! 1323, 500, 501, 502, 850, 503, 154, 852, 1185, 92,
! 722, 859, 1326, 1327, 609, 86, 569, 87, 941
};
! static const short yypact[] = { 328,
! 341,-32768,-32768, 3488,-32768, 234, 133, 67, 529, 17,
! 83,-32768,-32768, 1705,-32768, 124, 270, 335,-32768,-32768,
! -32768, 1478, 1390, 915, 350,-32768,-32768, 408, 678,-32768,
! 2285, 2285,-32768, 3932,-32768, 3488, 343,-32768,-32768, 446,
! -32768, 469,-32768,-32768, 2227,-32768,-32768, 418, 1135, 509,
! 475, 544,-32768,-32768,-32768,-32768, 650, 2982,-32768, 5910,
! -32768, 2501, 196,-32768, 576,-32768,-32768, 1262, 707, 871,
! -32768, 560, 8070,-32768,-32768,-32768, 1292,-32768,-32768,-32768,
! 1614,-32768,-32768, 611,-32768, 3619, 573,-32768,-32768,-32768,
! 12299, 637,-32768, 12299,-32768, 12299,-32768,-32768,-32768, 67,
! 529, 408, 591,-32768, 594, 544,-32768, 1470,-32768, 357,
! 12392, 12392, 562,-32768,-32768,-32768,-32768,-32768, 443, 616,
! 679, 774, 787, 626, 641,-32768,-32768, 2047,-32768, 1675,
! 67, 529,-32768, 408, 591,-32768, 757, 1030, 653, 6664,
! 654, 12299,-32768, 12299, 638, 5665, 2687,-32768,-32768, 1847,
! 1634, 2687,-32768, 1749, 4985, 4985, 3932, 630, 643,-32768,
! 650, 997, 649, 655,-32768,-32768, 770,-32768, 686,-32768,
! 5499,-32768,-32768, 350, 3028, 728,-32768,-32768,-32768, 418,
! 5219, 6757, 601, 743,-32768,-32768, 739, 576, 834, 165,
! 59, 779,-32768,-32768,-32768, 9925, 11344,-32768,-32768, 5849,
! 5849, 6738, 1292, 1037,-32768,-32768, 772,-32768,-32768, 2163,
! -32768,-32768,-32768,-32768,-32768, 2501, 1064,-32768, 576, 1292,
! -32768,-32768,-32768, 1971, 2501,-32768, 576,-32768, 5219,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 773,
! 878, 544,-32768, 576, 2088, 1812,-32768,-32768,-32768,-32768,
! -32768, 786,-32768, 1087, 576, 357,-32768, 913, 775, 1374,
! 932,-32768, 180,-32768,-32768,-32768,-32768,-32768, 6161,-32768,
! 591,-32768,-32768,-32768,-32768, 2482,-32768, 760, 765,-32768,
! -32768,-32768,-32768, 810,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 780,-32768,-32768, 1087,
! 8070, 1275,-32768, 788,-32768,-32768,-32768, 13509, 13602, 13695,
! 13695, 790,-32768,-32768,-32768,-32768,-32768, 807, 844, 847,
! 872, 877, 1161, 12857, 1823, 13695,-32768,-32768, 13695,-32768,
! -32768, 13695, 10223,-32768, 13695, 176, 846,-32768, 13695,-32768,
! 12950,-32768, 13764, 193, 1140, 6509, 13043,-32768, 944, 3722,
! -32768, 2845, 6234, 5296,-32768, 309,-32768, 1105, 3550, 867,
! 176, 176, 12299, 6664, 1586,-32768, 909, 1823, 932,-32768,
! -32768, 13137, 862, 918,-32768, 8947, 884, 1779, 3953, 885,
! 908, 1784, 686,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768, 616, 679, 774, 1823, 787, 626, 910, 641,-32768,
! 968,-32768, 3235, 909, 67, 529,-32768,-32768,-32768,-32768,
! -32768,-32768, 4576,-32768, 5219, 7127, 2506,-32768,-32768, 176,
! 612, 12299,-32768, 5665,-32768, 2967,-32768, 950, 954,-32768,
! -32768,-32768, 997, 2687,-32768,-32768, 2687,-32768, 927,-32768,
! -32768,-32768, 997, 997, 997,-32768,-32768,-32768, 6161, 90,
! 931, 934,-32768,-32768,-32768,-32768, 6664,-32768, 1095, 1123,
! -32768,-32768, 770,-32768, 576,-32768,-32768,-32768,-32768, 987,
! -32768,-32768, 10786, 13137,-32768,-32768, 952,-32768, 918, 964,
! 8947, 527, 2491, 6757, 2491, 2551, 5791, 993,-32768, 394,
! 6068, 1011, 1040, 788,-32768, 1023, 344, 94, 7400, 7134,
! -32768,-32768, 7134,-32768, 7255, 7255, 6738, 7511, 1014,-32768,
! 576, 5219,-32768, 11437,-32768,-32768, 7264, 1971, 2501, 5219,
! -32768, 576,-32768,-32768, 1971,-32768, 576, 1111,-32768, 12299,
! -32768,-32768, 909, 932, 773,-32768,-32768, 2088, 2185,-32768,
! 1087, 576,-32768,-32768,-32768, 1070, 1073, 1098, 1096,-32768,
! -32768,-32768,-32768, 5665,-32768, 896,-32768, 369,-32768, 1066,
! -32768, 1069,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768, 1087,-32768,-32768, 277,-32768, 664,-32768, 12299,
! 13137, 10223,-32768, 10223,-32768,-32768,-32768, 13137, 12392, 8184,
! 8184, 8184, 8184, 13764,-32768,-32768,-32768,-32768, 1067, 13230,
! 13230, 10223, 1077, 139, 1090,-32768, 1093,-32768,-32768,-32768,
! 1203, 12299,-32768, 10316, 10223,-32768, 12857, 12857, 10879, 12857,
! 12857, 12857, 12857, 12857, 12857, 12857, 12857, 12857, 12857, 12857,
! 12857, 12857, 12857, 12857, 12857, 12857, 12857,-32768, 13137,-32768,
! -32768,-32768,-32768,-32768, 13137, 13137, 13137, 12392, 6402, 531,
! 364, 11530,-32768,-32768,-32768, 1152, 1374, 1208, 380, 392,
! 396, 3365, 664,-32768, 2894, 2894, 4282, 11623, 1116, 1170,
! -32768,-32768, 777, 12017, 419,-32768, 430, 357,-32768,-32768,
! 13137, 1374,-32768,-32768, 408,-32768,-32768,-32768, 462, 573,
! 13137, 1169,-32768,-32768, 176,-32768, 5219, 2900,-32768,-32768,
! 1157,-32768, 1126, 1186,-32768, 1586, 910, 13742,-32768, 11065,
! 11158, 13137, 13137, 10879, 13137, 13137, 13137, 13137, 13137, 13137,
! 13137, 13137, 13137, 13137, 13137, 13137, 13137, 13137, 13137, 13137,
! 13137, 13137, 13137,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 62,-32768, 1155, 1147, 686, 3235, 1212, 12299,-32768, 1211,
! -32768,-32768, 1030, 1511, 1210, 1251, 505, 1229, 1232,-32768,
! -32768, 4013, 1262,-32768, 1240,-32768,-32768,-32768,-32768,-32768,
! -32768, 176,-32768,-32768, 1196, 1200,-32768, 1249,-32768,-32768,
! 418,-32768,-32768,-32768,-32768, 97,-32768, 600,-32768,-32768,
! -32768,-32768, 10111, 13742,-32768, 1209,-32768,-32768,-32768,-32768,
! -32768, 2645, 2645, 2829,-32768,-32768,-32768,-32768, 2163, 611,
! -32768, 12111,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 1040, 1258,-32768,-32768,-32768, 12485, 1170, 477,-32768,-32768,
! 7400,-32768,-32768, 7511, 7134, 7134, 7358, 7358, 7511, 430,
! -32768,-32768, 7264,-32768, 1260,-32768,-32768, 1219, 94, 7400,
! -32768, 1971,-32768,-32768, 576, 1255, 773,-32768, 679, 774,
! -32768,-32768, 641, 1274,-32768,-32768, 332,-32768,-32768, 1998,
! 3281,-32768, 94, 7790, 12299, 12299,-32768, 12299, 94, 7790,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1932, 1932,
! 1932, 799,-32768, 176, 1227, 1236, 1246, 9008, 1247, 1253,
! 1286, 6593, 1287, 1288, 1294,-32768, 1263,-32768,-32768, 1266,
! 1320,-32768,-32768, 1317, 677, 710, 447, 266, 13137, 1322,
! -32768, 1326, 1281, 13764, 13764,-32768,-32768, 1332, 5100, 5905,
! 6882, 4134, 3314, 5301, 5516, 2347, 2347, 2166, 2166, 998,
! 998, 546, 546, 546,-32768,-32768, 1295, 1298, 1291, 1310,
! 1313, 1314, 8184, 531,-32768, 10786, 13137,-32768,-32768,-32768,
! 13137,-32768,-32768, 1334, 13695, 1318, 1348, 1366, 1395,-32768,
! 13137,-32768, 13137,-32768, 13137, 2325, 3715,-32768,-32768, 3715,
! -32768, 207, 1335, 1337,-32768, 1341, 8184, 94,-32768, 94,
! 4901,-32768, 7790, 11716, 9408, 9408, 9733, 1338, 12950, 1349,
! 2039, 3130, 3953, 1339, 1350, 1073, 1354,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768, 13137,-32768, 1823,-32768, 1357,
! -32768, 13742,-32768, 13742, 13742, 13742, 1406, 4423, 7809, 8235,
! 8315, 5343, 5559, 5973, 2589, 2589, 2589, 2715, 2715, 2087,
! 2087, 733, 733, 733,-32768,-32768, 1784, 1362, 13323,-32768,
! 1365, 1414,-32768, 176,-32768,-32768,-32768,-32768,-32768,-32768,
! 2264, 4576,-32768, 8184, 12299,-32768, 1055, 12857,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 418,-32768,
! -32768,-32768, 616,-32768, 787, 626, 13137, 272,-32768, 479,
! 539, 550, 1418,-32768, 102,-32768, 4087, 3378, 3378, 3890,
! 3890, 2829, 5156, 188, 2163,-32768, 4482, 3399, 12205, 12205,
! 9829, 362, 1378, 421, 2120,-32768, 10786, 10412,-32768, 4197,
! 1222, 1222, 1397,-32768,-32768,-32768, 1423,-32768,-32768,-32768,
! -32768,-32768,-32768, 1554,-32768, 1002, 1009,-32768, 13137, 7526,
! 3788,-32768, 3788, 287, 287, 147, 558, 7560, 6194, 80,
! 4379,-32768, 200, 287,-32768,-32768, 1381, 176, 176, 176,
! -32768, 1385, 94, 7790, 94, 7790,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768, 8184,-32768,-32768, 1405, 1411,
! 1417, 1422, 1196,-32768,-32768, 8790, 10786, 10507, 1402,-32768,
! 12857,-32768,-32768,-32768,-32768,-32768, 652, 1409,-32768,-32768,
! 1415, 191, 1045, 1045, 1408, 1045, 13137,-32768, 13695, 1518,
! 12299,-32768, 1426, 1431, 1436,-32768, 2325,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768, 2325,-32768, 94, 1437,-32768, 1420,
! -32768,-32768, 4697, 4697, 4829,-32768,-32768,-32768,-32768,-32768,
! -32768, 13742,-32768,-32768, 13137,-32768,-32768, 204, 1439,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 13764,-32768,-32768,-32768,
! 1453, 1445,-32768, 835,-32768, 13137,-32768, 13137,-32768, 13137,
! -32768, 10600,-32768, 4087, 3378, 3378, 4943, 4943, 5618,-32768,
! 474, 4482, 4087, 1455, 976, 533, 617, 750, 359,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 208, 1916, 1916, 592,
! 592, 592, 10786,-32768,-32768, 2185,-32768,-32768,-32768,-32768,
! 7790, 13742, 243,-32768, 3442,-32768, 576, 576,-32768,-32768,
! -32768,-32768,-32768, 7790, 525, 813, 13137, 1111,-32768, 1501,
! -32768,-32768,-32768, 713, 873, 1614, 1634, 886, 287, 1504,
! -32768, 920, 1509, 576, 4758,-32768,-32768,-32768, 576,-32768,
! -32768, 1524,-32768,-32768,-32768, 1473,-32768, 1474, 1477, 13137,
! 13137, 13137, 13137, 98, 10786,-32768, 1523,-32768,-32768, 13764,
! 13137,-32768, 652,-32768,-32768,-32768,-32768,-32768,-32768, 1479,
! -32768, 1548, 176,-32768,-32768,-32768, 94,-32768,-32768,-32768,
! -32768,-32768, 13742, 13137,-32768,-32768,-32768, 1453,-32768,-32768,
! -32768, 1488, 1489, 1491, 98,-32768, 5095, 5095, 430, 6030,
! 831, 4197,-32768, 592,-32768, 10786,-32768, 94, 1492, 563,
! -32768, 1536, 1536, 94, 1495, 13137, 13137, 8701, 576, 7655,
! 576, 576, 4182, 576, 7666,-32768,-32768, 5058, 1536, 94,
! 94,-32768,-32768,-32768, 1498, 1499, 1513, 1514, 1823,-32768,
! -32768, 9638, 1573,-32768,-32768, 10786, 1517,-32768,-32768,-32768,
! -32768,-32768, 94, 1521, 1516,-32768,-32768,-32768,-32768,-32768,
! 7222, 7222, 6887, 3139, 3139,-32768,-32768,-32768,-32768,-32768,
! 7790,-32768,-32768,-32768,-32768, 8701, 8701,-32768, 1536, 692,
! 928, 13137,-32768,-32768,-32768, 1111, 1111, 1536, 1536, 896,
! 1536,-32768,-32768,-32768,-32768,-32768, 94, 94,-32768,-32768,
! -32768,-32768,-32768, 1151, 229, 9526,-32768,-32768,-32768,-32768,
! 11827,-32768,-32768,-32768,-32768,-32768, 7918,-32768, 3139, 94,
! 94, 1522, 94,-32768,-32768,-32768, 13137, 13137, 8701, 576,
! 576,-32768,-32768,-32768, 9257,-32768,-32768, 1823,-32768,-32768,
! -32768, 285,-32768,-32768,-32768, 1569, 999, 1010,-32768,-32768,
! -32768,-32768,-32768, 13137, 1570, 1580, 1588, 12578, 503, 1823,
! 1237, 809,-32768,-32768, 12671, 1640,-32768,-32768,-32768, 1589,
! -32768, 3220, 6460, 7050, 1648,-32768,-32768, 1555, 1557, 1558,
! -32768,-32768,-32768,-32768,-32768, 8701, 8701,-32768, 1536, 1536,
! -32768, 11251,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 688,
! 688, 1609, 1576, 1577, 7950,-32768,-32768,-32768,-32768, 1612,
! 13137, 1613, 1615, 1627, 2056, 2073,-32768,-32768,-32768,-32768,
! 1593,-32768,-32768, 1111, 1181,-32768, 1193, 1111, 12764, 1239,
! -32768,-32768,-32768,-32768,-32768,-32768, 94,-32768,-32768,-32768,
! -32768, 1587, 8812, 1585,-32768, 12392,-32768,-32768,-32768, 1680,
! -32768, 10018, 12392, 13137,-32768,-32768,-32768, 1637,-32768,-32768,
! 1645,-32768, 1627, 2056,-32768,-32768, 770,-32768,-32768, 13416,
! 13416, 10693,-32768, 1609,-32768,-32768,-32768, 509, 418,-32768,
! 1596, 776, 5219, 1609, 1609,-32768, 11922, 98,-32768,-32768,
! 1649, 1607, 9046,-32768,-32768,-32768,-32768,-32768, 1453, 104,
! -32768, 192,-32768,-32768, 1111,-32768,-32768, 703,-32768,-32768,
! 9155,-32768,-32768,-32768,-32768, 1453, 106, 106, 1658,-32768,
! -32768,-32768, 576,-32768, 13137, 1660,-32768, 1664,-32768, 1609,
! -32768, 1638, 1823, 336, 1667,-32768, 247,-32768, 1669, 1629,
! -32768,-32768,-32768,-32768, 13137, 1628, 770, 1677, 106, 770,
! 106, 1682,-32768,-32768, 10972, 1633, 1735, 944, 273,-32768,
! -32768, 304, 361,-32768, 10786, 1639,-32768, 1656, 770, 1693,
! 1694, 770, 1697,-32768,-32768, 13137, 944,-32768,-32768, 330,
! -32768, 1609, 1652, 1700,-32768,-32768,-32768, 1767, 1769,-32768
};
static const short yypgoto[] = {-32768,
! 1771,-32768, -332, 1598, -403, 10, -3, 1773,-32768, 1741,
! -32768,-32768,-32768, -1462,-32768, 587,-32768, -1459,-32768, 125,
! 1018, 61, -387,-32768,-32768, 92,-32768, -715,-32768,-32768,
! 694, 60, 1635, 1346, 1631,-32768, 86, -176, -800,-32768,
! 0, -36,-32768,-32768,-32768,-32768,-32768, 635,-32768,-32768,
! -32768,-32768,-32768,-32768, 524, -14,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1723, -749, 8141,
! -159, -5, -666, -192, -29, 1679, -601,-32768, 268,-32768,
! 184,-32768, -1562,-32768, -1361, 111, 741, -300,-32768, -942,
! 7969, 4024, 7158, -106, 5315, 1528, -340, -54, -69, 1497,
! -134, -68, 121,-32768,-32768,-32768, -349,-32768, -165,-32768,
! -32768, -1508, -19, -351, 7501, 11, 28, -141, 76, 219,
! -211, -1, -154, -174, -171, 15, 129, -198,-32768, -385,
! -32768,-32768,-32768,-32768,-32768, 570, 1352, 3403,-32768, 753,
! -32768,-32768, -1304, -467, 1012,-32768,-32768,-32768,-32768, 36,
! -32768,-32768,-32768,-32768,-32768,-32768, 1100, -386,-32768,-32768,
! -32768,-32768,-32768,-32768, 500, 673,-32768,-32768,-32768, 467,
! -1056,-32768,-32768,-32768,-32768,-32768,-32768, 668,-32768, 389,
! 1119,-32768, 808, 1178, 5568, 21, 1653, 1285, 1874,-32768,
! -518,-32768, 73, 763, 1841, -129, 296, -100, 5866, 1503,
! -32768, 6920, 2735, 137, -17, -107,-32768, 1736, -49,-32768,
! 6371, 4103, -213,-32768, 1272, 214,-32768,-32768, 329,-32768,
! -32768, 393, 1242,-32768, -1520,-32768,-32768,-32768, -1527,-32768,
! -1455, 153,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 143,-32768,-32768,-32768,
! -32768,-32768, 148, -1351,-32768,-32768, -52,-32768,-32768,-32768,
! -32768, -735, -1638,-32768, 99, -1311, -775, -166, 1038,-32768,
! -32768,-32768,-32768, -413,-32768, -401, -203,-32768, 123,-32768,
! -32768, 666, 451,-32768, 395,-32768, 2167, -239, -756
};
! #define YYLAST 13851
! static const short yytable[] = { 105,
! 37, 460, 62, 468, 529, 126, 469, 119, 1057, 794,
! 470, 705, 266, 36, 58, 825, 1111, 613, 615, 717,
! 559, 795, 412, 215, 73, 445, 448, 457, 716, 499,
! 898, 59, 37, 312, 62, 786, 793, 421, 203, 717,
! 943, 1229, 551, 62, 180, 36, 58, 549, 716, 1102,
! 646, 147, 152, 240, 175, 181, 73, 1040, 216, 183,
! 774, 811, 1123, 59, 371, 73, 372, 419, 420, 534,
! 536, 254, 59, 1500, 528, 263, 1496, 1096, 411, 60,
! 184, 266, 418, 535, 310, 546, 107, 794, 1607, 363,
! 1585, 1609, 363, 97, 363, 45, 1659, 228, 603, 851,
! 1676, 684, 563, 424, 177, 176, 311, 482, 684, 363,
! 363, 60, 430, 408, 1344, 684, 1346, 1772, 1373, 1777,
! 182, 1689, 93, 1077, 1376, 483, 85, 45, 1187, 720,
! 1732, 1479, 98, 1103, 1192, -876, 45, 1706, 427, 440,
! 363, 266, 363, 94, 705, 215, 884, 1512, 1513, 720,
! 425, 603, 1803, 484, 161, 857, 273, 858, 85, 1757,
! 73, 203, 1673, 1302, 1534, 477, 902, 59, 1758, 62,
! 465, 1078, 1349, 62, 180, 444, 447, 188, 723, 724,
! 216, 58, 380, 1729, 175, 181, 1741, 668, 1769, 183,
! 1374, 73, 1760, 1689, 496, 73, 1746, 1747, 59, 808,
! 429, 1773, 59, 1689, 1689, 257, 1110, 1350, 1480, 91,
! 184, 1351, 1303, 1759, 1566, 426, 497, 268, 111, 829,
! 510, 513, 61, 1572, 1573, -137, 1574, 624, 561, -137,
! 545, 547, 45, 669, 177, 176, -633, 800, 801, 694,
! 1735, 668, 1783, 1352, 268, 557, 60, 1258, -327, 1689,
! 182, 228, -137, 639, 61, 640, -137, 229, 230, 228,
! 228, 478, 1377, 61, 1607, 1424, 45, 1609, 830, 1442,
! 568, 831, 1293, 268, 562, 161, 161, 161, 1755, 377,
! 131, 132, -633, -633, 1402, 856, 268, 669, 478, 228,
! 690, 1580, 1268, 85, 1825, 1271, 88, -633, 95, 1121,
! 1405, 1689, 1790, 681, 309, 689, 489, 816, 457, 254,
! 1378, 1791, 782, 1425, 15, 1784, 942, 1443, -448, 96,
! 625, 143, 161, 876, 1680, 1681, 378, -1, 273, 164,
! -155, 883, -136, 1294, 1809, 379, 135, 726, 1162, 1581,
! -2, 363, 89, 725, 90, 228, 268, 1580, 532, -448,
! 1288, 1289, 1450, -448, 310, 777, 1792, 710, 61, 262,
! 8, 9, 254, 737, 112, 1809, 1750, 131, 132, 717,
! 1163, 363, 728, 534, 536, 1283, 311, 770, 383, 390,
! 534, 268, 1810, 457, 727, 445, 448, 882, 888, 61,
! 737, 1809, 694, 61, 73, 1636, 536, -448, 228, 1091,
! 1787, 59, 802, 711, 1496, 797, 845, -312, 1108, 1109,
! -334, 1376, 268, 1811, 495, 134, 135, 913, 1386, 26,
! 1388, 792, 134, 135, 216, 1812, 139, -610, 1000, 113,
! 363, -610, 377, 8, 9, 313, 989, 167, 856, 1824,
! 1002, 273, 1081, 497, 1004, 1788, 990, 559, 536, 426,
! 164, 164, 164, -312, -312, 846, -334, -334, 847, 991,
! 1488, 273, 228, 914, 506, 62, 813, 1019, -312, -658,
! 1813, -327, 559, 835, 1001, 841, 843, 181, 1802, 378,
! -610, 183, -610, -610, 142, -610, 1003, 73, 379, 135,
! 1005, 1335, 216, 1286, 59, 254, -610, 164, -610, 792,
! 1820, 323, 184, 394, 268, 99, 114, 115, 168, 395,
! 886, -154, 262, -610, -610, -658, -658, 26, 1230, 1421,
! 1422, 497, -632, 142, 268, 1149, 185, 1295, -610, 169,
! -658, 228, 1041, 887, 189, 865, 866, 193, 363, 829,
! 954, 955, 182, 959, 960, 961, 962, 963, 964, 965,
! 966, 967, 968, 969, 970, 971, 972, 973, 974, 975,
! 976, 116, 117, 228, 228, 1449, 1092, 170, -632, -632,
! 228, 1150, 268, 1296, 309, 702, 706, 709, 1455, 985,
! 924, -313, 1093, -632, 95, 1651, 228, 1297, 830, 1456,
! 40, 831, 61, -870, 489, 8, 9, 986, 1299, 194,
! 1112, 432, 1113, 889, 890, 96, 1353, 18, 363, 1104,
! 363, 1510, 363, 270, 8, 9, 10, 363, 932, 932,
! 932, 932, 40, 18, 251, 987, 681, -313, -313, 950,
! 363, 666, 667, 1298, 1107, 161, 161, 161, 228, 370,
! 363, 495, -313, 363, 1300, 898, 143, 26, 1114, 313,
! 134, 135, 1354, 21, 376, 26, 392, 1511, 1115, 1116,
! -138, -138, 229, 471, 1328, -311, 885, 131, 132, 28,
! 271, 396, 998, 642, 1329, 782, 363, 310, 794, 1320,
! 1322, 400, 1087, 717, 268, 61, 1330, 1159, 1160, 639,
! 795, 640, 716, 1164, 1117, 792, 401, 1036, 195, 311,
! 985, 33, 496, 174, 786, 793, 837, 1043, 702, 706,
! 709, -311, -311, 1086, 432, 1007, 1010, 497, 986, 495,
! 603, 489, 134, 135, 497, 1551, -311, 534, 646, 457,
! 422, 1202, 93, 143, 397, 1562, 1685, 499, -399, -327,
! 15, -152, 268, 499, 196, 197, 987, 1401, 1084, 1396,
! 1398, 1764, 450, 94, 144, 94, 1567, 474, 458, 414,
! 415, 416, 10, 228, -653, 95, 126, 247, 432, 1089,
! 266, 248, 843, -399, -153, 1121, 363, -399, 1097, 489,
! 273, 317, 1686, 222, 223, 489, 96, 489, 489, 1551,
! 14, 878, 412, 720, 153, 717, -7, 1765, -659, 21,
! 1122, 377, 131, 132, 1317, 472, 260, 18, 950, -399,
! 164, 164, 164, 20, 489, 261, 271, 898, 762, 763,
! 195, 489, 23, 554, 694, 1022, 170, 228, 268, 398,
! 95, 489, 792, 473, 1398, 1112, 476, 1113, 889, 890,
! 496, 486, 399, 268, -659, -659, 550, 33, 378, 540,
! 96, 96, 1128, 1129, 497, 570, 499, 379, 135, -659,
! 572, 1551, 497, 142, 1174, 1445, 196, 524, 93, 555,
! 856, 1023, 1024, 1657, 578, 1188, 1189, 1457, 1190, -336,
! 857, 567, 611, 1114, 618, 142, 929, 1151, 1152, 94,
! 26, 1282, 601, 1115, 1116, 1177, 457, 309, -400, 62,
! 15, 619, 792, 363, 363, 1319, 363, 642, 792, 435,
! 1171, -130, 273, 15, 437, 495, 957, 228, 131, 132,
! 620, 73, 495, 621, 497, -336, -336, 1485, 59, 1117,
! 497, 249, 1290, -400, 1727, 250, 490, -400, 541, 1551,
! -330, 1761, 542, 979, 911, -128, -130, 15, 622, 996,
! -130, 95, 489, 623, 161, 684, 1731, 1336, 1337, 1338,
! 133, 721, 161, 153, 553, 1016, 489, 228, 553, -400,
! 26, 739, 96, 134, 135, 268, 1179, 1551, 1507, 740,
! -128, 932, -130, 93, -128, 1232, 778, 560, -336, 432,
! 912, 1287, 1568, 764, 765, 1381, 1382, 1383, 457, 270,
! 445, 448, 10, -336, 94, 706, 268, -336, 142, 445,
! 448, 957, 131, 132, 1551, 932, -128, 766, 1553, 1406,
! 1407, 792, 1409, 779, -336, 496, 94, 499, 18, 499,
! 96, 565, 270, 415, 416, 10, 805, -336, -336, 21,
! -336, -6, -336, 497, 809, 1007, 1010, 497, 131, 132,
! 1340, 818, 495, 563, 93, 451, 452, 95, 268, 1806,
! 495, 827, 770, 1638, 26, 95, 266, 134, 135, 453,
! -336, -336, 21, 828, 1639, 94, 1089, -869, 96, 454,
! 663, 664, 665, 666, 667, -336, 96, 33, 28, 271,
! 792, 455, 932, 363, 222, 223, 1341, 489, 522, 523,
! 26, 14, 844, 134, 135, 273, 853, 414, 8, 9,
! 10, 489, 497, 489, 1400, 489, -56, 989, 18, 61,
! 33, -56, 495, 872, 20, 530, 531, 990, 495, 164,
! 792, 540, -56, 23, 1174, 855, 1174, 164, 15, 496,
! 991, 1358, 1368, 794, 1174, 706, 905, 21, 932, 906,
! 1305, 1306, 497, 907, 712, 1620, 522, 814, 1359, 1305,
! 1306, 497, 15, 261, 271, 1177, -448, 1177, 268, 62,
! 268, 62, 908, 1177, 499, 1177, 936, 216, 915, 62,
! 1171, 916, 1171, 1345, 530, 815, 938, 499, 670, 489,
! 1171, 73, 792, 73, 792, 33, -448, -448, 59, 939,
! 59, 73, 942, 1397, 932, -875, 803, 997, 59, 804,
! 1017, 1413, 1578, 1579, 497, 999, 497, 273, 1019, 1246,
! 1491, 807, -194, 1046, 826, 8, 9, 489, 671, 672,
! 253, 1038, 673, 674, 675, 676, 1047, 142, -194, 363,
! -194, 495, 522, 1708, 1246, 495, 1179, 1048, 1179, 1079,
! 161, 161, 161, 18, 530, 1709, 1179, 1080, 1235, 161,
! 161, 161, 857, 792, 99, 100, 101, 1083, 232, 233,
! 234, 268, 435, 1085, 268, 437, 1122, 26, 131, 132,
! 134, 135, 133, 1007, 1010, 497, 1090, 1397, 20, 565,
! 161, 1260, 26, 18, 1328, 1094, 1654, 266, 1095, 235,
! 522, 1713, 1347, 1348, 1329, -330, 1098, 792, 1358, 1105,
! 495, 1106, 1379, 1199, 1200, 1201, 1330, 26, 1126, 15,
! 102, 103, 236, -448, 1147, 1359, 1154, 1437, 1438, 497,
! 26, 1155, 1158, 134, 135, 1161, 1203, 1814, 1174, 792,
! 1246, 377, 8, 9, 499, 1204, 1246, 604, 1151, 1152,
! 495, 925, 792, -448, -448, 1205, 1207, 605, -448, 495,
! 263, 497, 1208, 1209, 1210, 1211, 237, 238, 239, 1177,
! 857, 1212, 1213, 62, 497, 1214, 99, 114, 115, 556,
! 1215, -151, 146, 146, 1171, 162, 1217, 1218, 378, 61,
! 1220, 61, 120, 121, 122, 73, 1221, 379, 135, 61,
! 8, 9, 59, 1224, 1222, 563, 489, 1223, 489, 977,
! 489, 219, 495, 227, 495, 978, 21, 980, 981, 244,
! 1225, 567, 1226, 1227, 255, 164, 164, 164, 18, 1237,
! 1239, 1174, 116, 117, 164, 164, 164, 1665, 1240, 1670,
! 932, 1667, 1241, 1242, 1250, 26, 1251, 1261, 123, 124,
! 1179, 1035, 26, 1252, 1157, 134, 135, 568, 1262, 1266,
! 1246, 1037, 1177, 1267, 1543, 164, 62, 1274, 1246, 1328,
! 1275, 1277, 377, 8, 9, 1280, 1281, 1171, 1301, 1329,
! 99, 114, 115, 495, 511, 514, 1459, 1315, 73, 1334,
! 1380, 1330, 1461, 1462, 1384, 59, 1459, 1464, 434, 1390,
! 1462, 792, 268, 434, 1410, 1391, 443, 443, 162, 792,
! 603, 1392, 1399, 402, 403, 404, 1393, 1246, 1403, 378,
! 1408, 1437, 1438, 497, 1404, 1412, 1246, 495, 379, 135,
! 159, 497, 1420, 219, 489, 1414, 116, 117, 118, 475,
! 1415, 1740, 1743, 1179, 1156, 1416, 1419, 1606, 1426, 1614,
! 1427, 509, 509, 518, 1430, 792, 120, 889, 890, 495,
! 1605, 1612, 1460, 1635, 1441, 1465, 26, 227, 1186, 406,
! 407, 73, 495, 1466, 1191, 268, 537, 497, 59, -699,
! 445, 448, 1472, 1473, 1652, 1653, 1474, 1486, 99, 114,
! 115, 1489, 1664, 61, 1664, 153, 1490, 1497, 1498, 268,
! 1499, 1509, 483, 1614, 1515, 227, 1479, 1539, 1540, 26,
! 1557, 216, 123, 124, 1605, 1612, 258, 8, 259, 10,
! 564, 1798, 1541, 1542, 1798, 73, 1613, 803, 804, 1554,
! 1556, 1624, 59, 1637, 1646, 807, 270, 131, 132, 10,
! 1702, 1705, 1647, 1817, 116, 117, 1798, 730, 1660, 228,
! 1648, 1662, 446, 449, 1570, 1571, 21, 1475, 1476, 1477,
! 1478, 227, 255, 260, 1671, 1672, 1674, 1675, 1487, -927,
! 1692, 1693, 261, 29, 1697, 1699, 21, 120, 121, 122,
! 1613, 395, 1700, 1253, 1722, 1254, 61, 1707, 1718, 1738,
! 1614, 1722, 28, 271, 443, 1716, 262, 1726, 159, 1736,
! 1737, 1605, 1612, 1745, 33, 1744, 311, 99, 100, 101,
! 363, 1752, 73, 311, 227, 255, 1753, 1246, 1246, 59,
! 1778, 495, 1781, 1606, 33, 1614, 1782, 1231, 1789, 495,
! 865, 866, 1785, 123, 124, 1793, 1605, 1612, 1794, 1800,
! 1797, 1243, 1807, 1244, 1804, 1245, 1808, 73, 1815, 1722,
! 1816, 99, 438, 439, 59, 1818, 1819, 228, 1786, 1821,
! 26, 1826, 1827, 102, 103, 104, 1829, 1613, 1830, 61,
! 1, 311, 1246, 467, 5, 495, 166, 219, 227, 489,
! 1704, 414, 8, 9, 10, 1284, 99, 114, 115, 161,
! 767, 768, 769, 1082, 862, 434, 532, 863, 434, 511,
! 514, 464, 1613, 1742, 162, 162, 162, 102, 117, 466,
! 564, 881, 812, 1369, 99, 100, 101, 1431, 1610, 1279,
! 374, 21, 431, 61, 1688, 99, 114, 115, 260, 1276,
! 161, 161, 161, 1049, 1125, 1447, 1339, 261, 271, 635,
! 610, 1468, 116, 117, 77, 219, 1371, 227, 255, 258,
! 131, 132, 10, 1532, 1050, 1273, 984, 1292, 1385, 525,
! 1387, 861, 691, 410, 861, 1650, 864, 864, 518, 33,
! 102, 103, 475, 1763, 1584, 1552, 77, 940, 880, 1749,
! 537, 116, 117, 475, 1762, 77, 1756, 1801, 1146, 21,
! 435, 437, 1506, 0, 0, 0, 260, 0, 208, 565,
! 220, 0, 537, 475, 309, 261, 29, 0, 0, 0,
! 61, 309, 0, 0, 0, 0, 1452, 1453, 1698, 8,
! 9, 0, 1418, 0, 13, 0, 0, 0, 0, 262,
! 0, 206, 0, 0, 0, 131, 132, 33, 0, 0,
! 563, 0, 0, 1467, 0, 61, 0, 18, 1469, 0,
! 446, 806, 0, 1720, 537, 0, 0, 0, 0, 957,
! 1720, 0, 0, 443, 164, 443, 1008, 1011, 0, 309,
! 0, 26, 0, 0, 134, 135, 0, 533, 222, 223,
! 428, 162, 162, 443, 0, 14, 433, 26, 1328, 0,
! 134, 135, 0, 0, 1610, 0, 443, 0, 1329, 0,
! 120, 889, 890, 0, 604, 164, 164, 164, 20, 0,
! 1330, 77, 446, 449, 605, 77, 0, 23, 1720, 0,
! 0, 208, 220, 0, 0, 0, 0, 1518, 1519, 0,
! 1528, 1529, 1780, 1531, 0, 0, 1432, 0, 1433, 0,
! 1434, 270, 131, 132, 10, 0, 1006, 1006, 1006, 402,
! 403, 404, 1796, 0, 206, 1031, 123, 124, 99, 114,
! 115, 0, 957, 0, 0, 0, 0, 803, 804, 208,
! 18, 0, 0, 0, 807, 99, 114, 115, 0, 227,
! 0, 21, 1492, 1823, 0, 1564, 1565, 694, 0, 0,
! 543, 100, 101, 0, 26, 0, 405, 28, 271, 0,
! 0, 0, 206, 1008, 1011, 406, 407, 0, 635, 0,
! 635, 1263, 0, 1508, 116, 1701, 511, 514, 0, 1514,
! 0, 1264, 1316, 8, 9, 10, 0, 446, 937, 33,
! 0, 116, 1703, 1265, 698, 1535, 1536, 378, 1628, 1629,
! 1630, 635, 0, 227, 244, 0, 544, 103, 0, 862,
! 863, 511, 514, 0, 0, 0, 0, 881, 1555, 323,
! 714, 0, 21, 0, 1494, 258, 8, 9, 10, 759,
! 760, 761, 762, 763, 0, 26, 0, 0, 28, 271,
! 0, 0, 0, 1127, 1127, 1133, 0, 120, 889, 890,
! 0, 891, 0, 1133, 0, 1678, 1679, 0, 0, 0,
! 1030, 0, 1576, 1577, 0, 21, 0, 162, 0, 0,
! 33, 0, 260, 0, 729, 0, 861, 861, 864, 864,
! 518, 261, 29, 892, 880, 1622, 1623, 172, 1625, 145,
! 8, 9, 10, 173, 12, 13, 475, 0, 0, 0,
! 26, 14, 0, 123, 124, 262, 661, 662, 663, 664,
! 665, 666, 667, 33, 0, 16, 0, 17, 18, 19,
! 0, 0, 0, 0, 20, 208, 99, 114, 115, 21,
! 232, 233, 234, 23, 433, 0, 174, 0, 1248, 0,
! 0, 1249, 26, 227, 0, 28, 29, 145, 131, 132,
! 10, 0, 1256, 13, 0, 18, 1008, 1011, 206, 31,
! 0, 235, 0, 0, 0, 0, 0, 77, 0, 32,
! 0, 0, 0, 0, 0, 0, 18, 33, 0, 0,
! 0, 34, 116, 117, 0, 35, 0, 21, 131, 132,
! 159, 0, 1779, 208, 838, 208, 208, 0, 1143, 0,
! 26, 849, 1715, 28, 29, 0, 0, 0, 0, 433,
! 0, 0, 1030, 0, 0, 0, 18, 31, 1247, 0,
! 0, 1247, 208, 0, 446, 806, 206, 32, 206, 206,
! 208, 0, 1255, 694, 0, 33, 1031, 1031, 1031, 34,
! 26, 0, 860, 134, 135, 0, 0, 0, 0, 0,
! 0, 860, 0, 0, 0, 206, 0, 695, 0, 1248,
! 1249, 1008, 1011, 206, 433, 0, 0, 696, 1256, 0,
! 1008, 1011, 862, 863, 511, 514, 0, 0, 0, 697,
! 698, 881, 0, 511, 514, 659, 660, 661, 662, 663,
! 664, 665, 666, 667, 0, 862, 863, 881, 0, 0,
! 0, 0, 244, 0, 571, 573, 574, 575, 576, 577,
! 0, 579, 580, 581, 582, 583, 584, 585, 586, 587,
! 588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
! 598, 599, 600, 0, 602, 0, 0, 0, 0, 1304,
! 1304, 1133, 1133, 1133, 414, 8, 566, 10, 1313, 0,
! 1133, 1133, 1133, 145, 8, 9, 10, 0, 0, 0,
! 0, 0, 1331, 1331, 1332, 0, 0, 221, 222, 223,
! 0, 0, 221, 222, 223, 14, 0, 0, 0, 0,
! 14, 162, 446, 937, 21, 0, 0, 0, 0, 0,
! 219, 260, 18, 21, 1008, 1011, 0, 18, 20, 694,
! 261, 271, 0, 20, 0, 0, 26, 23, 0, 28,
! 29, 0, 23, 145, 8, 9, 10, 221, 222, 223,
! 0, 0, 0, 832, 567, 14, 0, 208, 798, 0,
! 0, 0, 33, 833, 0, 0, 1248, 1249, 1008, 1011,
! 0, 33, 18, 1256, 0, 834, 698, 0, 20, 862,
! 863, 511, 514, 21, 0, 0, 881, 23, 0, 694,
! 206, 0, 0, 0, 0, 0, 26, 0, 0, 28,
! 29, 0, 511, 514, 1031, 1031, 1031, 0, 0, 0,
! 0, 0, 0, 832, 0, 0, 0, 446, 449, 0,
! 0, 0, 208, 833, 0, 0, 446, 1314, 0, 0,
! 0, 33, 0, 0, 0, 842, 698, 145, 8, 9,
! 10, 0, 0, 13, 0, 0, 1304, 1304, 1133, 1133,
! 1133, 0, 0, 1313, 0, 206, 159, 755, 756, 757,
! 758, 759, 760, 761, 762, 763, 18, 0, 0, 1444,
! 1444, 1332, 0, 0, 0, 0, 0, 21, 0, 145,
! 131, 132, 10, 694, 0, 253, 0, 0, 475, 475,
! 26, 433, 0, 28, 29, 0, 0, 0, 1248, 1249,
! 0, 1256, 0, 0, 0, 0, 0, 832, 18, 0,
! 433, 862, 863, 0, 881, 475, 0, 833, 0, 21,
! 475, 0, 0, 0, 860, 33, 0, 860, 81, 834,
! 698, 1184, 26, 0, 917, 28, 29, 0, 108, 0,
! 0, 0, 0, 860, 0, 0, 0, 0, 137, 31,
! 446, 806, 0, 0, 0, 150, 150, 918, 150, 32,
! 81, 0, 1008, 1011, 0, 923, 0, 33, 0, 81,
! 0, 34, 0, 0, 0, 511, 514, 0, 1504, 1504,
! 0, 1505, 210, 0, 81, 757, 758, 759, 760, 761,
! 762, 763, 245, 0, 446, 806, 0, 108, 0, 475,
! 475, 0, 475, 475, 0, 475, 0, 0, 276, 0,
! 108, 0, 0, 0, 0, 368, 0, 0, 368, 0,
! 368, 145, 8, 9, 10, 173, 12, 13, 0, 0,
! 0, 488, 0, 14, 108, 0, 0, 0, 131, 132,
! 0, 0, 1559, 1559, 1559, 0, 0, 16, 0, 17,
! 18, 0, 0, 0, 0, 0, 20, 475, 475, 0,
! 0, 21, 137, 0, 81, 23, 368, 694, 368, 0,
! 150, 150, 0, 0, 26, 436, 150, 28, 29, 150,
! 150, 150, 0, 694, 0, 0, 0, 131, 132, 0,
! 26, 1130, 13, 134, 135, 81, 221, 222, 223, 81,
! 0, 1131, 0, 0, 14, 210, 81, 695, 0, 33,
! 475, 475, 475, 1132, 698, 18, 0, 696, 0, 0,
! 0, 18, 0, 0, 210, 210, 210, 20, 0, 697,
! 698, 0, 694, 0, 0, 0, 23, 0, 0, 26,
0, 0, 134, 135, 0, 0, 0, 0, 0, 0,
! 0, 0, 1044, 210, 219, 227, 695, 433, 0, 414,
! 131, 132, 10, 0, 0, 0, 696, 475, 475, 0,
! 548, 0, 0, 0, 145, 8, 9, 10, 697, 698,
! 108, 0, 0, 0, 511, 514, 0, 0, 0, 0,
! 860, 0, 0, 150, 0, 0, 860, 0, 0, 21,
! 0, 1184, 0, 1184, 0, 0, 260, 0, 1365, 1372,
! 518, 1184, 0, 0, 21, 261, 271, 0, 0, 0,
! 145, 8, 9, 10, 173, 12, 13, 26, 0, 0,
! 28, 29, 14, 0, 199, 108, 606, 0, 0, 567,
! 0, 1364, 0, 0, 200, 0, 16, 33, 17, 18,
! 19, 864, 864, 864, 201, 20, 0, 0, 0, 0,
! 21, 0, 33, 227, 23, 0, 202, 174, 0, 0,
! 0, 1197, 1198, 26, 0, 0, 28, 29, 0, 0,
! 108, 0, 0, 0, 692, 0, 606, 606, 707, 0,
! 31, 0, 0, 0, 0, 0, 0, 368, 81, 0,
! 32, 0, 0, 0, 475, 0, 0, 0, 33, 0,
! 0, 0, 34, 0, 0, 0, 35, 0, 0, 0,
! 0, 0, 414, 8, 9, 10, 0, 0, 0, 0,
! 0, 0, 8, 9, 433, 0, 0, 137, 0, 0,
! 0, 0, 0, 433, 0, 0, 0, 108, 0, 210,
! 108, 0, 0, 0, 0, 1143, 368, 0, 150, 0,
! 18, 0, 21, 0, 0, 0, 0, 860, 150, 260,
! 0, 150, 0, 0, 0, 1365, 860, 694, 261, 271,
! 0, 0, 0, 150, 26, 0, 0, 134, 135, 0,
! 0, 81, 0, 0, 860, 860, 0, 446, 1314, 0,
! 0, 1501, 262, 0, 0, 1184, 0, 0, 1364, 0,
! 33, 1502, 145, 8, 9, 10, 0, 210, 839, 210,
! 210, 707, 0, 1503, 698, 839, 0, 270, 415, 416,
! 10, 0, 0, 210, 210, 0, 0, 210, 0, 210,
! 210, 210, 870, 0, 0, 0, 210, 0, 0, 0,
! 0, 210, 21, 0, 210, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 368, 26, 0, 21, 28, 29,
! 0, 1165, 1663, 7, 8, 1166, 10, 173, 12, 13,
! 26, 0, 200, 28, 271, 14, 0, 0, 150, 0,
! 1527, 0, 201, 0, 0, 1527, 0, 0, 1184, 16,
! 33, 17, 18, 19, 202, 0, 0, 860, 20, -553,
! 0, 0, 0, 21, 0, 33, 0, 23, 1167, 0,
! 174, 0, 0, 1526, 0, 0, 26, 0, 0, 28,
! 29, 0, 922, 1168, 368, 1169, 0, 0, 0, 0,
! 0, 0, 0, 31, 108, 108, 108, 108, 0, 0,
! 0, 0, 0, 32, 0, 0, 0, 414, 131, 132,
! 10, 33, 0, 0, 0, 1170, 368, 860, 860, 0,
! 145, 8, 9, 10, 0, 0, 253, 655, 656, 657,
! 658, -553, 659, 660, 661, 662, 663, 664, 665, 666,
! 667, 414, 8, 9, 10, 0, 0, 21, 0, 18,
! 0, 0, 0, 108, 260, 606, 0, 0, 0, 0,
! 21, 0, 0, 261, 271, 0, 694, 692, 0, 606,
! 606, 707, 860, 26, 0, 0, 28, 29, 1032, 0,
! 0, 21, 1034, 0, 1355, 1356, 9, 10, 260, 0,
! 832, 0, 208, 1668, 208, 33, 0, 261, 271, 0,
! 833, 210, 0, 0, 0, 0, 0, 231, 33, 0,
! 0, 0, 834, 698, 0, 0, 0, 0, 0, 0,
! 0, 567, 0, 0, 21, 206, 0, 206, 6, 33,
! 7, 8, 9, 10, 11, 12, 13, 26, 0, 0,
! 28, 29, 14, 0, 1451, 0, 1357, 0, 0, 0,
! 137, 0, 368, 0, 200, 15, 16, 137, 17, 18,
! 19, 0, 0, 0, 201, 20, 210, 245, 0, 0,
! 21, 0, 33, 22, 23, 24, 202, 25, 0, 0,
! 0, 0, 0, 26, 27, 0, 28, 29, 231, 0,
! 30, 0, 713, 8, 9, 10, 0, 0, 0, 0,
! 31, 0, 0, 208, 231, 0, 210, 210, 1135, 0,
! 32, 0, 0, 0, 1138, 0, 1135, 0, 33, 0,
! 0, 0, 34, 0, 0, 0, 35, 0, 0, 323,
! 714, 0, 21, 0, 0, 210, 206, 0, 870, 210,
! 210, 870, 870, 870, 0, 26, 0, 210, 715, 135,
! 0, 0, 0, 0, 210, 0, 0, 0, 0, 277,
! 0, 231, 8, 9, 0, 0, 12, 13, 0, 231,
! 0, 0, 0, 14, 0, 81, 0, 0, 108, 368,
! 368, 0, 368, 0, 108, 0, 231, 16, 0, 17,
! 18, 0, 0, 606, 606, 606, 20, 231, 278, 279,
! 0, 0, 0, 0, 0, 23, 606, 280, 0, 0,
! 0, 0, 0, 0, 26, 0, 0, 134, 135, 0,
! 281, 0, 0, 0, 282, 283, 284, 285, 286, 287,
! 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
! 298, 299, 300, 301, 302, 0, 0, 303, 304, 305,
! 0, 306, 0, 0, 307, 0, 0, 108, 131, 132,
! 0, 0, 685, 253, 270, 415, 416, 10, 0, 686,
! 308, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 606, 606, 0, 0, 606, 0, 18, 0, 0, 0,
! 0, 108, 0, 0, 0, 606, 0, 108, 0, 1032,
! 1032, 1032, 0, 694, 21, 606, 0, 1138, 0, 0,
! 26, 687, 0, 134, 135, 0, 0, 26, 0, 0,
! 28, 271, 0, 0, 0, 0, 0, 695, 1165, 0,
! 7, 8, 1166, 10, 173, 12, 13, 696, 0, 0,
! 0, 0, 14, 0, 0, 0, 0, 0, 0, 697,
! 698, 0, 688, 0, 0, 0, 16, 0, 17, 18,
! 19, 0, 0, 0, 0, 20, 108, 0, 108, 368,
! 21, 0, 0, 0, 23, 1167, 231, 174, 0, 0,
! 0, 0, 0, 26, 0, 231, 28, 29, 0, 0,
! 1168, 0, 1169, 0, 0, 0, 0, 0, 0, 0,
! 31, 210, 210, 210, 210, 210, 1135, 870, 0, 0,
! 32, 210, 0, 1135, 1135, 1135, 0, 231, 33, 1138,
! 0, 0, 1170, 0, 108, 870, 870, 870, 0, 0,
! 0, 0, 145, 8, 9, 10, 0, 0, 13, 0,
! 0, 137, 0, 0, 150, 81, 0, 81, 0, 0,
! 0, 231, 1366, 81, 0, 81, 0, 0, 0, 0,
! 231, 18, 0, 0, 0, 0, 0, 0, 108, 0,
! 108, 0, 21, 0, 145, 131, 132, 10, 694, 231,
! 108, 0, 0, 0, 0, 26, 0, 0, 28, 29,
! 0, 0, 0, 0, 0, 713, 8, 9, 10, 0,
! 0, 0, 1130, 18, 0, 0, 231, 606, 606, 0,
! 606, 0, 1131, 0, 21, 368, 0, 0, 0, 0,
! 33, 606, 0, 0, 1132, 698, 0, 26, 0, 606,
! 28, 29, 323, 714, 0, 21, 0, 606, 606, 707,
! 0, 0, 0, 0, 155, 0, 0, 0, 26, 0,
! 0, 134, 135, 0, 156, 145, 8, 9, 10, 221,
! 222, 223, 33, 0, 0, 0, 157, 14, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
! 210, 870, 870, 1439, 18, 0, 210, 210, 0, 0,
20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
! 0, 694, 870, 870, 870, 870, 870, 0, 26, 0,
! 0, 28, 29, 0, 0, 108, 0, 0, 0, 1366,
! 0, 0, 0, 0, 0, 832, 0, 0, 108, 145,
! 8, 9, 10, 0, 0, 833, 0, 0, 0, 0,
! 0, 1463, 0, 33, 0, 0, 84, 834, 698, 81,
! 0, 0, 0, 0, 352, 0, 110, 352, 18, 352,
! 0, 0, 0, 0, 0, 130, 138, 0, 0, 21,
! 0, 0, 0, 151, 151, 694, 151, 0, 84, 0,
! 0, 0, 26, 0, 0, 28, 29, 84, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 832,
! 151, 0, 84, 0, 0, 352, 0, 352, 0, 833,
! 246, 870, 870, 0, 870, 256, 108, 33, 870, 0,
! 0, 834, 698, 0, 414, 131, 1530, 10, 256, 0,
! 0, 0, 0, 369, 210, 0, 369, 1324, 369, 150,
! 8, 9, 81, 0, 12, 13, 654, 655, 656, 657,
! 658, 14, 659, 660, 661, 662, 663, 664, 665, 666,
! 667, 0, 0, 0, 21, 16, 0, 17, 18, 0,
! 0, 260, 0, 0, 20, 870, 870, 1439, 870, 870,
! 261, 271, 84, 23, 369, 108, 369, 0, 151, 151,
! 0, 0, 26, 0, 151, 134, 135, 151, 151, 151,
! 0, 0, 0, 231, 567, 0, 231, 0, 0, 0,
! 0, 0, 33, 84, 0, 0, 0, 84, 0, 0,
! 0, 0, 231, 151, 84, 8, 9, 0, 173, 12,
! 13, 108, 0, 870, 488, 0, 14, 0, 0, 0,
! 0, 0, 151, 151, 151, 0, 0, 0, 0, 0,
! 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
! 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
! 694, 151, 0, 0, 0, 0, 0, 26, 0, 0,
! 134, 135, 0, 616, 617, 0, 210, 839, 210, 0,
! 0, 0, 0, 0, 695, 0, 0, 352, 0, 626,
! 0, 0, 627, 0, 696, 628, 0, 0, 638, 0,
! 0, 151, 643, 0, 0, 0, 697, 698, 0, 1165,
! 683, 7, 8, 1166, 10, 173, 12, 13, 0, 0,
! 0, 0, 0, 14, 0, 0, 352, 0, 0, 0,
! 0, 0, 0, 1135, 0, 0, 0, 16, 231, 17,
! 18, 19, 0, 256, 608, 0, 20, -554, 0, 0,
! 0, 21, 0, 0, 0, 23, 1167, 0, 174, 0,
! 0, 0, 0, 231, 26, 0, 0, 28, 29, 0,
! 0, 1168, 0, 1169, 1135, 1135, 1135, 0, 0, 0,
! 0, 31, 0, 0, 0, 352, 0, 210, 256, 0,
! 0, 32, 693, 0, 608, 608, 708, 0, 0, 33,
! 0, 719, 0, 1170, 0, 369, 84, 0, 0, 0,
! 0, 0, 0, 0, 145, 8, 9, 10, 0, -554,
! 563, 719, 746, 747, 748, 749, 750, 751, 752, 753,
! 754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
! 0, 0, 0, 18, 0, 783, 0, 0, 0, 0,
! 0, 0, 0, 0, 21, 256, 0, 151, 256, 231,
! 694, 0, 0, 0, 369, 231, 151, 26, 0, 0,
! 28, 29, 0, 0, 0, 0, 151, 0, 0, 151,
! 0, 0, 0, 0, 832, 0, 0, 0, 0, 0,
! 0, 151, 0, 352, 833, 0, 0, 0, 0, 84,
! 0, 0, 33, 0, 0, 0, 834, 698, 0, 8,
! 9, 0, 173, 12, 13, 0, 0, 0, 0, 0,
! 14, 0, 0, 0, 0, 151, 840, 151, 151, 708,
! 0, 0, 0, 840, 16, 0, 17, 18, 0, 0,
! 0, 151, 151, 20, 0, 151, 0, 151, 151, 151,
! 608, 0, 784, 0, 151, 785, 0, 0, 0, 151,
! 0, 26, 151, 352, 134, 135, 0, 0, 0, 0,
! 0, 0, 369, 0, 0, 0, 0, 0, 0, 231,
! 0, 900, 0, 626, 627, 0, 0, 231, 0, 0,
! 0, 0, 0, 0, 0, 352, 151, 0, 0, 0,
! 352, 352, 0, 352, 352, 352, 352, 352, 352, 352,
! 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
! 352, 0, 0, 0, 0, 0, 0, 0, 0, 270,
! 131, 132, 10, 0, 0, 13, 231, 0, 0, 0,
! 0, 0, 369, 0, 0, 231, 0, 0, 0, 0,
! 0, 0, 256, 256, 256, 256, 0, 0, 18, 0,
! 0, 0, 0, 231, 231, 0, 0, 0, 0, 21,
! 0, 0, 0, 0, 369, 694, 0, 0, 0, 0,
! 0, 0, 26, 0, 0, 28, 271, 0, 1165, 0,
! 7, 8, 1166, 10, 173, 12, 13, 0, 0, 1263,
! 0, 0, 14, 0, 0, 0, 0, 0, 0, 1264,
! 0, 256, 0, 608, 0, 0, 16, 33, 17, 18,
! 19, 1265, 698, 0, 0, 20, -556, 608, 608, 708,
! 21, 352, 0, 0, 23, 1167, 1033, 174, 0, 0,
0, 0, 0, 26, 0, 0, 28, 29, 0, 0,
! 1168, 719, 1169, 0, 0, 0, 0, 0, 0, 151,
! 31, 270, 8, 9, 10, 173, 12, 13, 0, 0,
! 32, 488, 0, 14, 0, 0, 231, 0, 33, 0,
! 0, 0, 1170, 0, 0, 0, 0, 16, 0, 17,
! 18, 0, 0, 0, 0, 0, 20, 0, -556, 0,
! 0, 21, 0, 0, 0, 23, 0, 694, 783, 0,
! 369, 0, 0, 0, 26, 0, 130, 28, 271, 0,
! 0, 0, 0, 0, 151, 246, 0, 0, 0, 0,
! 0, 1263, 0, 0, 131, 132, 231, 231, 0, 563,
! 0, 1264, 0, 0, 0, 0, 0, 0, 0, 33,
! 900, 0, 0, 1265, 698, 0, 0, 0, 352, 352,
! 0, 352, 18, 0, 151, 151, 840, 0, 0, 0,
! 0, 0, 0, 0, 1145, 270, 8, 9, 10, 694,
! 0, 13, 0, 0, 0, 0, 26, 0, 0, 134,
! 135, 231, 0, 151, 0, 0, 608, 151, 151, 608,
! 608, 608, 0, 695, 18, 151, 0, 0, 0, 0,
! 0, 0, 151, 696, 0, 21, 0, 145, 131, 132,
! 10, 694, 0, 13, 0, 697, 698, 0, 26, 0,
! 0, 28, 271, 84, 0, 0, 256, 369, 369, 0,
! 369, 0, 256, 0, 0, 1307, 18, 0, 1238, 0,
! 0, 608, 608, 608, 0, 1308, 0, 21, 0, 0,
! 0, 0, 0, 33, 608, 0, 0, 1309, 698, 0,
! 26, 0, 0, 28, 29, 0, 0, 0, 626, 627,
! 0, 0, 0, 0, 0, 0, 0, 155, 1165, 0,
! 7, 8, 1166, 10, 173, 12, 13, 156, 0, 0,
! 0, 0, 14, 0, 0, 33, 0, 0, 0, 157,
! 0, 0, 0, 0, 0, 256, 16, 0, 17, 18,
! 19, 0, 0, 0, 0, 20, -555, 0, 8, 9,
! 21, 0, 0, 253, 23, 1167, 0, 174, 608, 608,
! 0, 0, 608, 26, 0, 0, 28, 29, 352, 256,
! 1168, 352, 1169, 608, 0, 256, 18, 1033, 1033, 1033,
! 31, 0, 0, 608, 0, 719, 0, 0, 0, 0,
! 32, 0, 0, 694, 0, 0, 0, 0, 33, 0,
! 26, 0, 1170, 134, 135, 0, 0, 0, 270, 8,
! 9, 10, 626, 627, 0, 0, 0, 1501, -555, 651,
! 652, 653, 654, 655, 656, 657, 658, 1502, 659, 660,
! 661, 662, 663, 664, 665, 666, 667, 18, 0, 1503,
! 698, 0, 0, 0, 256, 0, 256, 369, 21, 0,
! 0, 0, 0, 0, 694, 0, 0, 0, 0, 0,
! 0, 26, 0, 0, 28, 271, 0, 0, 0, 0,
! 0, 145, 8, 9, 10, 0, 0, 0, 1307, 151,
! 151, 151, 151, 151, 840, 608, 0, 0, 1308, 151,
! 0, 1145, 1145, 1145, 352, 0, 33, 719, 0, 0,
! 1309, 698, 256, 608, 608, 608, 0, 0, 0, 0,
! 0, 21, 1411, 0, 352, 0, 900, 0, 0, 138,
! 0, 0, 151, 84, 26, 84, 0, 28, 29, 0,
! 1367, 84, 0, 84, 0, 0, 0, 0, 0, 0,
! 0, 200, 0, 0, 0, 0, 256, 0, 256, 8,
! 9, 201, 0, 12, 253, 0, 0, 0, 256, 33,
! 14, 0, 0, 202, 0, 0, 0, 0, 54, 0,
! 0, 0, 0, 0, 16, 0, 17, 18, 0, 0,
! 0, 0, 0, 20, 0, 608, 608, 0, 608, 0,
! 0, 0, 23, 369, 694, 54, 54, 0, 158, 608,
! 54, 26, 0, 0, 134, 135, 0, 608, 0, 54,
! 0, 0, 0, 0, 0, 608, 608, 708, 695, 0,
! 0, 0, 54, 0, 54, 656, 657, 658, 696, 659,
! 660, 661, 662, 663, 664, 665, 666, 667, 0, 0,
! 697, 698, 0, 0, 0, 264, 900, 0, 272, 0,
! 0, 0, 0, 0, 0, 0, 151, 151, 151, 608,
! 608, 708, 0, 0, 151, 151, 750, 751, 752, 753,
! 754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
! 608, 608, 608, 608, 608, 0, 0, 0, 900, 0,
! 0, 0, 0, 256, 0, 0, 0, 1367, 0, 0,
! 0, 417, 417, 0, 54, 0, 256, 0, 0, 0,
! 54, 54, 0, 0, 264, 272, 54, 0, 0, 158,
! 158, 158, 0, 0, 0, 0, 456, 84, 0, 0,
! 0, 0, 0, 0, 0, 54, 0, 0, 0, 54,
! 0, 0, 0, 0, 0, 54, 54, 0, 0, 6,
! 0, 7, 8, 9, 10, 11, 12, 13, 0, 0,
! 0, 0, 0, 14, 54, 54, 158, 0, 0, 0,
! 0, 0, 0, 0, 264, 0, 0, 16, 0, 17,
! 18, 0, 0, 0, 0, 0, 20, 0, 0, 608,
! 608, 21, 608, 54, 256, 23, 608, 0, 463, 0,
! 0, 0, 0, 0, 26, 0, 0, 28, 29, 0,
! 0, 30, 151, 0, 0, 0, 0, 151, 0, 0,
! 84, 31, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 32, 0, 54, 0, 0, 0, 0, 0, 33,
! 264, 657, 658, 34, 659, 660, 661, 662, 663, 664,
! 665, 666, 667, 608, 608, 708, 608, 608, 0, 0,
! 0, 0, 0, 256, 0, 0, 0, 0, 0, 0,
! 270, 8, 9, 10, 173, 12, 13, 0, 638, 0,
! 488, 0, 14, 751, 752, 753, 754, 755, 756, 757,
! 758, 759, 760, 761, 762, 763, 16, 0, 17, 18,
! 269, 0, 0, 0, 0, 20, 0, 634, 0, 256,
! 21, 608, 0, 0, 23, 0, 694, 145, 131, 132,
! 10, 0, 0, 26, 417, 0, 28, 271, 0, 0,
! 0, 0, 264, 0, 0, 0, 0, 0, 54, 0,
! 1307, 0, 0, 0, 0, 0, 18, 0, 0, 0,
! 1308, 0, 264, 1656, 0, 0, 0, 21, 33, 0,
! 0, 0, 1309, 698, 151, 840, 151, 0, 0, 0,
! 26, 0, 0, 28, 29, 0, 0, 417, 0, 0,
! 0, 0, 459, 626, 627, 0, 0, 31, 0, 54,
! 0, 0, 0, 0, 0, 0, 0, 32, 54, 0,
! 264, 0, 0, 0, 0, 33, 0, 456, 54, 34,
! 0, 54, 0, 0, 0, 508, 0, 456, 456, 456,
! 0, 1145, 0, 54, 0, 0, 0, 0, 527, 0,
! 0, 54, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, -419, 8, 9, -419, -419, 12, 253,
! 0, 0, 0, 0, 0, 14, 0, 54, 54, 54,
! 54, 0, 1145, 1145, 1145, 54, 0, 0, 0, 16,
! 0, 17, 18, 54, 54, 151, 0, 54, 20, 158,
! 158, 158, 456, -419, 0, 0, 54, 23, 0, 694,
! 0, 54, 0, 0, 54, 0, 26, 0, 0, 134,
! 135, 145, 8, 9, 10, 0, 0, 13, 0, 0,
! 0, 0, 0, 695, 0, 0, 0, 0, 0, 79,
! 0, 0, 0, 696, 0, 0, 0, 0, 54, 0,
! 18, -419, 0, 0, 0, 697, 698, 0, 0, 0,
! 0, 21, 0, 0, 0, 0, 79, 79, 0, 79,
! 0, 79, 0, 0, 26, 0, 0, 28, 29, 0,
! 79, 0, 145, 8, 9, 10, 212, 12, 213, 0,
! 0, 200, 0, 79, 14, 79, 634, 0, 634, 0,
! 0, 201, 0, 0, 0, 0, 0, 0, 16, 33,
! 17, 18, 0, 202, 634, 634, 634, 20, 0, 274,
! 0, 0, 21, 0, 0, 0, 23, 0, 0, 634,
! 0, 0, 0, 0, 0, 26, 0, 0, 28, 29,
! 0, 0, 214, 0, 0, 652, 653, 654, 655, 656,
! 657, 658, 31, 659, 660, 661, 662, 663, 664, 665,
! 666, 667, 32, 0, 0, 0, 0, 0, 0, 0,
! 33, 0, 0, 0, 34, 79, 264, 0, 0, 0,
! 0, 79, 79, 0, 0, 0, 274, 79, 634, 0,
! 79, 79, 79, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 8, 9, 0, 79, 0, 563, 0,
! 79, 54, 0, 0, 0, 0, 79, 79, 752, 753,
754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
! 0, 18, 0, 0, 0, 79, 79, 79, 0, 0,
! 145, 8, 9, 10, 173, 12, 13, 0, 694, 0,
! 848, 0, 14, 0, 0, 26, 0, 873, 134, 135,
! 417, 0, 879, 0, 79, 0, 16, 417, 17, 18,
! 0, 0, 1501, 0, 0, 20, 54, 0, 0, 0,
! 21, 0, 1502, 0, 23, 0, 0, 0, 0, 0,
! 0, 903, 0, 26, 1503, 698, 28, 29, 909, 0,
! 0, 0, 0, 0, 79, 0, 0, 0, 0, 0,
! 31, 0, 0, 0, 0, 0, 54, 54, 158, 0,
! 32, 0, 0, 264, 272, 0, 1142, 0, 33, 0,
! 0, 0, 34, 145, 131, 132, 10, 0, 0, 563,
! 634, 919, 920, 0, 921, 54, 0, 0, 456, 54,
! 54, 456, 456, 456, 0, 0, 0, 54, 0, 0,
! 0, 0, 18, 0, 54, 0, 1355, 8, 1166, 10,
! 212, 12, 213, 21, 0, 0, 0, 0, 14, 0,
! 0, 0, 0, 0, 0, 54, 26, 0, 0, 28,
! 29, 0, 16, 0, 17, 18, 0, 0, 0, 0,
! 0, 20, 0, 31, 718, 0, 21, 131, 132, 79,
! 23, 222, 223, 32, 0, 0, 0, 0, 14, 26,
! 0, 33, 28, 29, 718, 34, 0, 0, 1357, 0,
! 0, 0, 0, 0, 0, 18, 31, 1020, 1021, 0,
! 0, 20, 1020, 0, 0, 0, 32, 0, 0, 0,
! 23, 0, 694, 0, 33, 0, 0, 0, 1170, 26,
! 79, 0, 134, 135, 0, 0, 0, 0, 0, 79,
! 0, 0, 0, 0, 0, 0, 695, 0, 0, 79,
! 0, 0, 79, 0, 0, 0, 696, 0, 0, 0,
! 0, 0, 0, 0, 79, 0, 0, 0, 704, 698,
! 0, 0, 79, 0, 0, 0, 0, 0, 0, 634,
! 634, 634, 0, 0, 0, 456, 264, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 79, 79,
! 79, 79, 0, 0, 0, 0, 79, 0, 0, 0,
! 0, 0, 0, 0, 79, 79, 0, 0, 79, 0,
! 79, 79, 79, 0, 0, 0, 0, 79, 0, 0,
! 0, 0, 79, 0, 0, 79, 0, 0, 0, 0,
! 0, 0, 0, 1137, 165, 8, 9, 0, 0, 12,
! 13, 0, 0, 0, 0, 0, 14, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 211, 79,
! 16, 0, 17, 18, 0, 0, 0, 0, 1153, 20,
! 0, 54, 54, 54, 158, 158, 158, 456, 23, 264,
! 0, 54, 264, 1142, 1142, 1142, 0, 26, 0, 272,
! 134, 135, 145, 8, 9, 10, 212, 12, 213, 0,
! 0, 0, 0, 0, 14, 0, 0, 0, 1193, 0,
! 1195, 0, 0, 0, 158, 54, 0, 54, 16, 0,
! 17, 18, 54, 54, 0, 54, 983, 20, 0, 0,
! 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
! 0, 0, 8, 9, 0, 26, 12, 13, 28, 29,
! 0, 0, 1666, 14, 0, 165, 165, 165, 0, 0,
! 0, 0, 31, 0, 0, 0, 0, 16, 0, 17,
! 18, 0, 32, 0, 0, 0, 20, 0, 0, 0,
! 33, 211, 0, 0, 34, 23, 1233, 1234, 718, 1236,
! 0, 0, 0, 0, 26, 0, 0, 134, 135, 677,
! 211, 211, 520, 0, 0, 0, 0, 456, 456, 456,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257,
! 0, 0, 79, 0, 0, 0, 131, 132, 0, 211,
! 222, 223, 0, 678, 0, 0, 0, 14, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 54, 54,
! 54, 456, 456, 456, 18, 0, 54, 54, 0, 0,
! 20, 0, 0, 0, 0, 0, 0, 0, 0, 23,
! 0, 694, 0, 0, 0, 0, 0, 0, 26, 0,
! 0, 134, 135, 0, 0, 0, 0, 79, 0, 54,
! 0, 0, 0, 0, 0, 695, 145, 8, 9, 10,
! 173, 12, 13, 0, 0, 696, 0, 0, 14, 0,
! 264, 272, 607, 0, 0, 0, 0, 697, 698, 54,
! 0, 0, 16, 0, 17, 18, 0, 79, 79, 79,
! 0, 20, 0, 1312, 0, 274, 21, 1144, 0, 0,
! 23, 0, 0, 0, 0, 0, 0, 0, 0, 26,
! 0, 0, 28, 29, 0, 0, 79, 0, 0, 0,
! 79, 79, 701, 701, 701, 0, 31, 0, 79, 0,
! 145, 8, 9, 10, 0, 79, 32, 0, 0, 0,
! 0, 0, 0, 0, 33, 0, 0, 0, 34, 145,
! 8, 9, 10, 212, 12, 213, 79, 0, 0, 18,
! 0, 14, 0, 0, 54, 0, 0, 264, 0, 54,
! 21, 0, 54, 0, 0, 16, 0, 17, 18, 0,
! 0, 0, 0, 26, 20, 211, 28, 29, 0, 21,
! 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
! 515, 0, 26, 0, 0, 28, 29, 0, 1417, 0,
! 516, 0, 0, 0, 0, 0, 0, 0, 33, 31,
! 0, 0, 517, 0, 0, 0, 0, 0, 0, 32,
! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0,
! 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 836, 0, 836, 836, 701, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 1440, 0, 211,
! 211, 0, 0, 211, 0, 520, 520, 520, 871, 0,
! 8, 9, 211, 173, 12, 13, 0, 211, 718, 488,
! 211, 14, 0, 0, 0, 0, 0, 1448, 0, 0,
! 0, 0, 0, 0, 0, 16, 0, 17, 18, 0,
! 1454, 0, 0, 0, 20, 0, 54, 54, 54, 0,
! 0, 0, 0, 23, 0, 694, 0, 0, 0, 0,
! 0, 0, 26, 0, 0, 134, 135, 1470, 0, 0,
! 0, 1471, 0, 653, 654, 655, 656, 657, 658, 1501,
! 659, 660, 661, 662, 663, 664, 665, 666, 667, 1502,
! 0, 0, 0, 0, 0, 0, 0, 209, 0, 0,
! 0, 1503, 698, 1142, 0, 0, 1493, 0, 0, 0,
! 0, 0, 79, 79, 79, 79, 79, 79, 0, 0,
! 267, 0, 79, 275, 1144, 1144, 1144, 0, 0, 0,
! 1318, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 1142, 1142, 1142, 267, 0, 381,
! 0, 0, 0, 0, 0, 79, 79, 54, 79, 1537,
! 1538, 0, 0, 79, 79, 0, 79, 0, 0, 0,
! 0, 992, 145, 8, 9, 10, 221, 222, 223, 0,
! 0, 0, 0, 0, 14, 701, 701, 701, 0, 0,
! 0, 0, 0, 0, 701, 0, 1560, 1561, 0, 0,
! 0, 18, 1563, 0, 0, 0, 0, 20, 0, 0,
! 0, 0, 21, 0, 0, 0, 23, 211, 694, 0,
! 209, 0, 0, 0, 0, 26, 0, 0, 28, 29,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 209,
! 209, 209, 200, 0, 0, 0, 0, 0, 0, 526,
! 8, 9, 201, 212, 12, 213, 145, 8, 9, 10,
! 33, 14, 253, 0, 1669, 0, 0, 0, 209, 0,
! 0, 0, 0, 0, 0, 16, 0, 17, 18, 0,
! 0, 0, 836, 0, 20, 18, 0, 0, 0, 79,
! 79, 79, 0, 23, 0, 275, 21, 79, 79, 0,
! 0, 0, 26, 0, 0, 134, 135, 0, 0, 26,
! 0, 1677, 28, 29, 0, 267, 0, 0, 0, 0,
! 0, 0, 836, 836, 1136, 0, 200, 0, 0, 0,
! 79, 0, 1136, 0, 0, 0, 201, 0, 0, 0,
! 0, 0, 0, 0, 33, 8, 9, 0, 202, 0,
! 13, 211, 274, 0, 871, 211, 211, 871, 871, 871,
! 79, 0, 0, 211, 0, 0, 0, 0, 0, 0,
! 211, 0, 0, 18, 0, 0, 0, 145, 8, 9,
! 10, 0, 0, 13, 0, 0, 145, 8, 9, 10,
! 694, 0, 563, 0, 0, 0, 0, 26, 0, 0,
! 134, 135, 0, 0, 0, 0, 18, 267, 275, 607,
! 607, 607, 0, 0, 1501, 18, 0, 21, 0, 0,
! 0, 0, 701, 0, 1502, 0, 21, 267, 275, 0,
! 26, 0, 0, 28, 29, 0, 1503, 698, 0, 26,
! 0, 0, 28, 29, 0, 79, 0, 515, 0, 0,
! 79, 0, 0, 79, 0, 0, 200, 516, 0, 0,
! 0, 0, 0, 0, 209, 33, 201, 0, 0, 517,
! 0, 0, 0, 491, 33, 0, 0, 0, 202, 0,
! 270, 8, 9, 10, 0, 0, 13, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 701, 701, 0, 0,
! 701, 0, 0, 0, 0, 0, 0, 0, 0, 18,
! 0, 701, 0, 0, 0, 701, 701, 701, 0, 0,
! 21, 701, 145, 8, 9, 10, 0, 0, 0, 0,
! 0, 0, 209, 26, 209, 209, 28, 271, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 209, 209,
! 867, 18, 209, 0, 209, 209, 209, 209, 0, 0,
! 868, 209, 21, 0, 0, 0, 209, 0, 33, 209,
! 0, 0, 869, 0, 0, 26, 0, 0, 28, 29,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 200, 0, 0, 0, 0, 79, 79, 79,
! 0, 0, 201, 0, 0, 0, 0, 0, 0, 0,
! 33, 0, 0, 0, 202, 0, 0, 836, 836, 836,
! 1136, 1136, 1136, 1310, 0, 0, 0, 836, 0, 1136,
! 1136, 1136, 0, 270, 8, 9, 10, 0, 0, 0,
! 0, 871, 871, 871, 0, 0, 0, 0, 145, 131,
! 1343, 10, 0, 0, 1144, 0, 0, 0, 0, 738,
! 165, 0, 18, 0, 0, 0, 0, 0, 211, 0,
! 0, 0, 0, 21, 0, 0, 0, 18, 0, 0,
! 0, 0, 1355, 1356, 9, 10, 26, 0, 21, 28,
! 271, 0, 0, 0, 0, 1144, 1144, 1144, 0, 0,
! 0, 26, 0, 867, 28, 29, 0, 0, 79, 0,
! 0, 0, 0, 868, 0, 0, 0, 0, 155, 0,
! 0, 33, 21, 992, 992, 869, 992, 0, 156, 0,
! 0, 387, 391, 0, 0, 26, 33, 701, 28, 29,
! 157, 0, 0, 0, 1357, 701, 267, 275, 0, 0,
! 0, 0, 200, 701, 701, 701, 0, 0, 0, 0,
! 824, 491, 201, 0, 0, 0, 209, 0, 0, 0,
! 33, 0, 0, 0, 202, 0, 0, 1520, 1521, 9,
! 10, 0, 0, 0, 0, 0, 0, 0, 1520, 131,
! 132, 10, 0, 0, 836, 836, 836, 1310, 1310, 1310,
! 0, 0, 836, 836, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 492, 21, 871, 871,
! 871, 871, 871, 0, 0, 0, 0, 0, 21, 0,
! 26, 209, 0, 28, 29, 211, 0, 0, 0, 1522,
! 0, 26, 0, 0, 28, 29, 0, 200, 0, 0,
! 1522, 0, 0, 0, 0, 0, 0, 201, 31, 0,
! 0, 0, 0, 0, 0, 33, 0, 0, 32, 202,
! 0, 209, 209, 1134, 0, 0, 33, 0, 267, 275,
! 34, 1134, 0, 0, 0, 0, 0, 0, 491, 0,
! 0, 0, 0, 0, 0, 928, 0, 0, 0, 0,
! 209, 0, 0, 209, 209, 209, 209, 209, 209, 526,
! 0, 0, 209, 8, 9, 0, 173, 12, 13, 209,
! 0, 824, 488, 0, 14, 0, 0, 1310, 1310, 0,
! 1310, 0, 0, 0, 871, 0, 0, 0, 16, 275,
! 17, 18, 0, 0, 0, 0, 491, 20, 0, 0,
! 211, 0, 491, 0, 491, 491, 23, 0, 0, 0,
! 0, 0, 0, 637, 0, 26, 0, 0, 134, 135,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 491, 0, 0, 0, 0, 0, 0, 491, 0,
! 0, 1310, 1310, 1310, 1310, 1310, 0, 0, 491, 747,
! 748, 749, 750, 751, 752, 753, 754, 755, 756, 757,
! 758, 759, 760, 761, 762, 763, 0, 1052, 1054, 1055,
! 1056, 0, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
! 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
! 1076, 8, 9, 791, 173, 12, 13, 0, 0, 1310,
! 1619, 0, 14, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
! 0, 267, 275, 267, 0, 20, 0, 0, 0, 0,
! 0, 0, 1694, 0, 23, 0, 0, 0, 0, 0,
! 0, 0, 0, 26, 0, 0, 134, 135, 0, 0,
! 824, 0, 211, 0, 211, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 491,
! 0, 791, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 491, 1695, 742, 743, 744, 745, 746,
! 747, 748, 749, 750, 751, 752, 753, 754, 755, 756,
! 757, 758, 759, 760, 761, 762, 763, 0, 0, 520,
! 0, 0, 0, 0, 0, 0, 209, 209, 209, 209,
! 209, 1134, 209, 0, 1311, 0, 209, 267, 1134, 1134,
! 1134, 0, 0, 0, 275, 0, 0, 0, 0, 0,
! 209, 209, 209, 8, 9, 0, 0, 12, 253, 0,
! 520, 520, 520, 0, 14, 0, 0, 0, 0, 0,
! 0, 0, 0, 211, 0, 0, 0, 209, 16, 0,
! 17, 18, 0, 0, 0, 0, 1216, 20, 0, 0,
! 0, 0, 926, 0, 927, 0, 23, 0, 0, 930,
! 931, 933, 934, 935, 0, 26, 0, 0, 134, 135,
! 0, 0, 637, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 824, 491, 953, 0, 0, 0, 0,
! 0, 0, 0, 0, 106, 0, 0, 0, 491, 0,
! 491, 0, 491, 125, 106, 0, 0, 0, 0, 0,
! 0, 106, 106, 0, 106, 0, 0, 0, 982, 0,
! 0, 0, 0, 0, 0, 0, 0, 8, 9, 0,
! 0, 12, 13, 0, 0, 0, 0, 1012, 14, 0,
! 0, 0, 0, 1272, 1012, 0, 0, 0, 242, 0,
! 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
! 0, 20, 0, 209, 209, 209, 209, 209, 1134, 0,
! 23, 209, 209, 0, 0, 0, 491, 0, 0, 26,
! 0, 0, 134, 135, 0, 0, 0, 209, 209, 209,
! 209, 209, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 209, 0, 0, 0, 409, 0,
! 125, 0, 0, 0, 491, 0, 0, 106, 106, 0,
! 0, 0, 0, 0, 0, 526, 106, 106, 0, 0,
! 106, 106, 106, 0, 441, 106, 106, 106, 0, 0,
! 0, 0, 0, 0, 824, 824, 748, 749, 750, 751,
! 752, 753, 754, 755, 756, 757, 758, 759, 760, 761,
! 762, 763, 0, 0, 0, 0, 1342, 0, 0, 0,
! 699, 699, 699, 0, 1012, 0, 0, 0, 0, 0,
! 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 209, 209, 1311, 209,
! 0, 0, 0, 209, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 824, 824, 0, 0, 0, 209,
! 0, 0, 0, 0, 0, 242, 106, 749, 750, 751,
! 752, 753, 754, 755, 756, 757, 758, 759, 760, 761,
! 762, 763, 0, 0, 492, 0, 0, 0, 0, 106,
! 492, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 209, 209, 1134, 209, 209, 0, 0, 0, 0, 0,
! 0, 0, 1423, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 106, 491, 0, 491, 0, 491, 0, 824,
! 0, 699, 0, 699, 699, 699, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 209, 0,
! 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0,
! 824, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 106, 0, 106, 106, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 1458, 0, 0, 953, 0, 0,
! 0, 0, 0, 492, 0, 0, 0, 1012, 0, 0,
! 0, 209, 0, 209, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 824, 106, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 106, 0, 106, 0, 0, 0,
! 0, 491, 0, 0, 106, 0, 0, 106, 1134, 0,
! 0, 0, 791, 0, 1285, 0, 0, 0, 0, 106,
! 0, 0, 0, 824, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 1516, 1517, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134,
! 1134, 1134, 1012, 0, 0, 0, 0, 0, 0, 0,
! 0, 1012, 209, 824, 0, 0, 0, 0, 0, 0,
! 1325, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 699, 699, 699, 0, 0, 0, 0,
! 0, 0, 1029, 0, 0, 0, 0, 0, 0, 1569,
! 0, 0, 0, 0, 0, 0, 0, 0, 242, 893,
! 0, 0, 0, 0, 492, 0, 492, 0, 0, 0,
! 0, 0, 0, 0, 106, 0, 1389, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 1626, 1627, 0, 0, 0, 0,
! 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 106, 0, 106, 0,
! 0, 1645, 0, 0, 0, 0, 0, 0, 0, 0,
! 699, 0, 0, 0, 0, 1012, 742, 743, 744, 745,
! 746, 747, 748, 749, 750, 751, 752, 753, 754, 755,
! 756, 757, 758, 759, 760, 761, 762, 763, 0, 1683,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 699, 699, 699, 0, 0, 0, 0, 0, 0, 1012,
! 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 106, 0, 0, 0, 0, 491, 0, 0, 0,
! 0, 0, 106, 106, 0, 106, 106, 0, 0, 0,
! 0, 492, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 1733, 0, 0, 492, 742, 743, 744, 745, 746,
! 747, 748, 749, 750, 751, 752, 753, 754, 755, 756,
! 757, 758, 759, 760, 761, 762, 763, 742, 743, 744,
! 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
! 755, 756, 757, 758, 759, 760, 761, 762, 763, 0,
! 699, 0, 1395, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
! 1717, 0, 0, 106, 125, 0, 0, 0, 0, 0,
! 0, 0, 0, 242, 0, 0, 0, 0, 0, 0,
! 0, 0, 1325, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 893, 0,
! 0, 0, 824, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 699, 699, 0, 0, 699, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 699,
! 0, 0, 0, 1029, 1029, 1029, 0, 0, 0, 699,
! 0, 0, 0, 1012, 0, 0, 0, 0, 741, 0,
! 0, 492, 742, 743, 744, 745, 746, 747, 748, 749,
! 750, 751, 752, 753, 754, 755, 756, 757, 758, 759,
! 760, 761, 762, 763, 0, 0, 0, 0, 0, 0,
! 893, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 791, 0, 106,
! 106, 106, 106, 0, 0, 0, 0, 0, 0, 1206,
! 0, 0, 106, 742, 743, 744, 745, 746, 747, 748,
749, 750, 751, 752, 753, 754, 755, 756, 757, 758,
! 759, 760, 761, 762, 763, 699, 699, 699, 699, 699,
! 699, 699, 0, 0, 0, 699, 0, 1029, 1029, 1029,
! 1754, 742, 743, 744, 745, 746, 747, 748, 749, 750,
! 751, 752, 753, 754, 755, 756, 757, 758, 759, 760,
! 761, 762, 763, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 106, 106, 0, 0,
! 106, 0, 0, 0, 0, 1767, 0, 270, 8, 9,
! 10, 106, 12, 314, 315, 316, 317, 0, 318, 14,
! 0, 106, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320,
! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327,
! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332,
! 26, 0, 637, 28, 271, 699, 0, -209, 382, 0,
! 0, 0, 0, 699, 335, 0, 0, 336, 0, 0,
! 0, 699, 699, 699, 0, 337, 338, 339, 0, 0,
! 0, 0, 0, 340, 341, 342, 0, 0, 0, 343,
! 0, 0, 0, 0, 0, 0, 0, 1631, 0, -510,
! -510, -510, -510, -510, -510, -510, 344, 0, 0, -510,
! 0, -510, 699, 699, 699, 699, 699, 699, 0, 0,
! 699, 699, -510, 0, -510, 0, 0, 0, -510, 0,
! 0, 0, 0, 0, -510, 0, 0, 0, 0, -510,
! 0, 0, 0, -510, 893, -510, 0, 106, 0, 0,
! 106, 0, -510, 0, 0, -510, -510, -510, -510, -510,
! 0, -510, -510, -510, -510, -510, -510, -510, -510, -510,
! -510, -510, -510, -510, -510, -510, -510, -510, -510, -510,
! -510, -510, -510, -510, 0, -510, -510, -510, 0, -510,
! -510, -510, -510, -510, 0, 0, 0, 0, 0, 1632,
! -510, 0, 0, 0, 0, -510, -510, -510, 0, -510,
! 0, 0, 0, 106, 106, 0, 106, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
! 0, 0, 0, 0, 0, 106, 0, 0, 0, 0,
! 0, 0, 0, 106, 106, 699, 699, 0, 699, 0,
! 270, 8, 9, 10, 0, 12, 314, 315, 316, 317,
! 0, 318, 14, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 893, 0, 16, 319, 17, 18,
! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325,
! 21, 326, 327, 0, 23, 0, 694, 0, 328, 329,
! 330, 331, 332, 26, 0, 0, 28, 271, 0, 699,
! 699, 699, 699, 699, 0, 0, 893, 335, 0, 0,
! 1025, 0, 0, 0, 0, 0, 0, 0, 337, 338,
! 1026, 0, 0, 0, 0, 0, 340, 341, 342, 0,
! 0, 0, 1027, 698, 0, 0, 0, 106, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 344,
! 0, 0, 0, 0, 0, 0, 1582, 699, -927, -927,
! -927, -927, -927, -927, -927, -927, -927, -927, 0, -927,
! -927, -927, 0, -927, -927, -927, -927, -927, -927, -927,
! -927, -927, -927, -927, -927, -927, -927, -927, -927, 0,
! -927, -927, -927, -927, 0, -927, -927, -927, -927, -927,
! -927, -927, -927, -927, 0, 0, -927, -927, -927, -927,
! -927, -927, 0, 0, -927, -927, -927, 0, -927, -927,
! 0, 0, 0, 0, 0, -927, 0, 0, -927, 0,
! 0, 0, 0, 106, 0, 106, -927, -927, -927, 0,
! 0, 0, 0, 0, -927, -927, -927, 0, 0, 0,
! -927, 0, -927, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 1583, -927, 1545, 0,
! -927, -927, -927, -927, -927, -927, -927, -927, -927, -927,
! 0, -927, -927, -927, 0, -927, -927, -927, -927, -927,
! -927, -927, -927, -927, -927, -927, -927, -927, -927, -927,
! -927, 0, -927, -927, -927, -927, 0, -927, -927, -927,
! -927, -927, -927, -927, -927, -927, 0, 0, -927, -927,
! -927, -927, -927, -927, 0, 0, -927, -927, -927, 0,
! -927, -927, 0, 0, 0, 0, 0, -927, 0, 0,
! -927, 0, 0, 0, 0, 0, 0, 0, -927, -927,
! -927, 0, 0, 0, 0, 0, -927, -927, -927, 0,
! 0, 0, -927, 629, -927, 270, 8, 9, 10, 173,
! 12, 314, 315, 316, 317, 488, 318, 14, 0, -927,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 319, 17, 18, 19, 0, 320, 321, 322,
! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23,
! 0, 694, 0, 328, 329, 330, 331, 332, 26, 0,
! 0, 28, 271, -345, 0, 0, 382, 0, 0, 0,
! 0, 0, 335, 0, 0, 1025, 0, 0, 0, 0,
! 0, 0, 0, 337, 338, 1026, 0, 0, 0, 0,
! 0, 340, 341, 342, 0, 0, 0, 1027, 698, 629,
! 0, 145, 8, 9, 10, 173, 12, 314, 315, 316,
! 317, 488, 318, 14, 344, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17,
! 18, 19, 0, 320, 321, 322, 20, 0, 323, 324,
! 325, 21, 326, 327, 0, 23, 0, 694, 0, 328,
! 329, 330, 331, 332, 26, 0, 0, 28, 29, -345,
! 0, 0, 382, 0, 0, 0, 0, 0, 335, 0,
! 0, 1139, 0, 0, 0, 0, 0, 0, 0, 337,
! 338, 1140, 0, 0, 0, 0, 0, 340, 341, 342,
! 0, 0, 0, 1141, 698, 487, 0, 270, 8, 9,
! 10, 173, 12, 314, 315, 316, 317, 488, 318, 14,
! 344, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320,
! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327,
! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332,
! 26, 0, 0, 28, 271, 0, 0, 0, 382, 0,
! 0, 0, 0, 0, 335, 0, 0, 336, 0, 0,
! 0, 0, 0, 0, 0, 337, 338, 339, 0, 0,
! 0, 0, 0, 340, 341, 342, 0, 0, 956, 343,
! 270, 8, 9, 10, 173, 12, 314, 315, 316, 317,
! 0, 318, 14, 0, -840, 0, 344, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 16, 319, 17, 18,
! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325,
! 21, 326, 327, 0, 23, 0, 0, 0, 328, 329,
! 330, 331, 332, 26, 0, 0, 28, 271, 1728, 0,
! -829, 382, 0, 0, 0, 0, 0, 335, 0, 0,
! 336, 0, 0, 0, 0, 0, 0, 0, 337, 338,
! 339, 0, 0, 0, 0, 0, 340, 341, 342, 0,
! 0, 822, 343, 944, 945, 946, 10, 0, 12, 504,
! 315, 316, 317, 0, 318, 14, 0, 0, 0, 344,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 319, 17, 0, 19, 0, 320, 321, 322, 20, 0,
! 323, 324, 325, 21, 326, 327, 0, 23, 0, 0,
! 0, 328, 329, 330, 331, 332, 26, 0, 0, 947,
! 948, 823, 0, 0, 382, 0, 0, 0, 0, 0,
! 335, 0, 0, 336, 0, 0, 0, 0, 0, 0,
! 0, 337, 338, 339, 0, 0, 0, 0, 0, 340,
! 341, 342, 0, 0, 0, 343, 949, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 1124, 344, 629, 0, 270, 8, 9, 10, 0,
! 12, 314, 315, 316, 317, 0, 318, 14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 319, 17, 18, 19, 0, 320, 321, 322,
! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23,
! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0,
! 0, 28, 271, -345, 0, 0, 382, 0, 0, 0,
! 0, 0, 335, 0, 0, 630, 0, 0, 0, 0,
! 0, 0, 0, 337, 338, 631, 0, 0, 0, 0,
! 0, 340, 341, 342, 0, 0, 822, 632, 944, 945,
! 946, 10, 0, 12, 504, 315, 316, 317, 0, 318,
! 14, 0, 0, 0, 344, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 319, 17, 0, 19, 0,
! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326,
! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331,
! 332, 26, 0, 0, 947, 948, 823, 0, 0, 382,
! 0, 0, 0, 0, 0, 335, 0, 0, 336, 0,
! 0, 0, 0, 0, 0, 0, 337, 338, 339, 0,
! 0, 0, 0, 0, 340, 341, 342, 0, 0, 0,
! 343, 949, 822, 0, 270, 8, 9, 10, 0, 12,
! 504, 315, 316, 317, 0, 318, 14, 344, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 16, 319, 17, 0, 19, 0, 320, 321, 322, 20,
! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0,
! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0,
! 28, 271, 823, 0, 0, 382, 0, 0, 0, 0,
! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0,
! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0,
! 340, 341, 342, 0, 0, 0, 343, 822, 0, 944,
! 945, 946, 10, 1321, 12, 504, 315, 316, 317, 0,
! 318, 14, 0, 344, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19,
! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21,
! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330,
! 331, 332, 26, 0, 0, 947, 948, 823, 0, 0,
! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336,
! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339,
! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0,
! 822, 343, 944, 945, 946, 10, 0, 12, 504, 315,
! 316, 317, 0, 318, 14, 0, 0, -514, 344, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319,
! 17, 0, 19, 0, 320, 321, 322, 20, 0, 323,
! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0,
! 328, 329, 330, 331, 332, 26, 0, 0, 947, 948,
! 823, 0, 0, 382, 0, 0, 0, 0, 0, 335,
! 0, 0, 336, 0, 0, 0, 0, 0, 0, 0,
! 337, 338, 339, 0, 0, 0, 0, 0, 340, 341,
! 342, 0, 0, 629, 343, 145, 8, 9, 10, 0,
! 12, 314, 315, 316, 317, 0, 318, 14, 0, 0,
! 1436, 344, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 319, 17, 18, 19, 0, 320, 321, 322,
! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23,
! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0,
! 0, 28, 29, -345, 0, 0, 382, 0, 0, 0,
! 0, 0, 335, 0, 0, 1710, 0, 0, 0, 0,
! 0, 0, 0, 337, 338, 1711, 0, 0, 0, 0,
! 0, 340, 341, 342, 0, 0, 822, 1712, 270, 8,
! 9, 10, 0, 12, 504, 315, 316, 317, 0, 318,
! 14, 0, 0, 0, 344, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 319, 17, 0, 19, 0,
! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326,
! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331,
! 332, 26, 0, 0, 28, 271, 823, 0, 0, 382,
! 0, 0, 0, 0, 0, 335, 0, 0, 336, 0,
! 0, 0, 0, 0, 0, 0, 337, 338, 339, 0,
! 0, 0, 0, 0, 340, 341, 342, 0, 0, 956,
! 343, 270, 8, 9, 10, 0, 12, 504, 315, 316,
! 317, 0, 318, 14, 0, 0, 0, 344, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17,
! 0, 19, 0, 320, 321, 322, 20, 0, 323, 324,
! 325, 21, 326, 327, 0, 23, 0, 0, 0, 328,
! 329, 330, 331, 332, 26, 0, 0, 28, 271, 0,
! 0, 0, 382, -829, 0, 0, 0, 0, 335, 0,
! 0, 336, 0, 0, 0, 0, 0, 0, 0, 337,
! 338, 339, 0, 0, 0, 0, 0, 340, 341, 342,
! 0, 0, 956, 343, 270, 8, 9, 10, 0, 12,
! 504, 315, 316, 317, 0, 318, 14, 0, 0, 0,
344, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 16, 319, 17, 0, 19, 0, 320, 321, 322, 20,
! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0,
! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0,
! 28, 271, 0, 0, 0, 382, 0, 0, 0, 0,
! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0,
! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0,
! 340, 341, 342, 0, 0, 1051, 343, 270, 8, 9,
! 10, 0, 12, 504, 315, 316, 317, 0, 318, 14,
! 0, -829, 0, 344, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 319, 17, 0, 19, 0, 320,
! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327,
! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332,
! 26, 0, 0, 28, 271, 0, 0, 0, 382, 0,
! 0, 0, 0, 0, 335, 0, 0, 336, 0, 0,
! 0, 0, 0, 0, 0, 337, 338, 339, 0, 0,
! 0, 0, 0, 340, 341, 342, 0, 0, 1053, 343,
! 270, 8, 9, 10, 0, 12, 504, 315, 316, 317,
! 0, 318, 14, 0, 0, 0, 344, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 16, 319, 17, 0,
! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325,
! 21, 326, 327, 0, 23, 0, 0, 0, 328, 329,
! 330, 331, 332, 26, 0, 0, 28, 271, 0, 0,
! 0, 382, 0, 0, 0, 0, 0, 335, 0, 0,
! 336, 0, 0, 0, 0, 0, 0, 0, 337, 338,
! 339, 0, 0, 0, 0, 0, 340, 341, 342, 0,
! 0, 1682, 343, 270, 8, 9, 10, 0, 12, 504,
! 315, 316, 317, 0, 318, 14, 0, 0, 0, 344,
0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 319, 17, 0, 19, 0, 320, 321, 322, 20, 0,
! 323, 324, 325, 21, 326, 327, 0, 23, 0, 0,
! 0, 328, 329, 330, 331, 332, 26, 0, 0, 28,
! 271, 0, 0, 0, 382, 0, 0, 0, 0, 0,
! 335, 0, 0, 336, 0, 0, 0, 0, 0, 0,
! 0, 337, 338, 339, 0, 0, 0, 0, 0, 340,
! 341, 342, 0, 0, 0, 343, 270, 8, 9, 10,
! 0, 12, 504, 315, 316, 317, 0, 318, 14, 0,
! 0, 0, 344, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 16, 319, 17, 0, 19, 0, 320, 321,
! 322, 20, 0, 323, 324, 325, 21, 326, 327, 0,
! 23, 0, 0, 0, 328, 329, 330, 331, 332, 26,
! 0, 0, 28, 271, 0, 0, 0, 382, 0, 0,
! 0, 0, 0, 335, 0, 0, 336, 0, 0, 0,
! 0, 0, 0, 0, 337, 338, 339, 0, 0, 0,
! 0, 0, 340, 341, 342, 0, 0, 0, 343, 270,
! 8, 9, 10, 0, 12, 504, 315, 316, 317, 0,
! 318, 14, 0, 0, 0, 344, 505, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19,
! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21,
! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330,
! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0,
! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336,
! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339,
! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0,
! 0, 343, 270, 8, 9, 10, 0, 12, 504, 315,
! 316, 317, 0, 318, 14, 0, 0, 0, 344, 877,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319,
! 17, 0, 19, 0, 320, 321, 322, 20, 0, 323,
! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0,
! 328, 329, 330, 331, 332, 26, 0, 0, 28, 271,
! 0, 0, 0, 382, 0, 0, 0, 0, 0, 335,
! 0, 0, 336, 0, 0, 0, 0, 0, 0, 0,
! 337, 338, 339, 0, 0, 0, 0, 0, 340, 341,
! 342, 0, 0, 0, 343, 270, 8, 9, 10, 0,
! 12, 504, 315, 316, 317, 0, 318, 14, 0, 0,
! 0, 344, 995, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 319, 17, 0, 19, 0, 320, 321, 322,
! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23,
! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0,
! 0, 28, 271, 0, 0, 0, 382, 0, 0, 0,
! 0, 0, 335, 0, 0, 336, 0, 0, 0, 0,
! 0, 0, 0, 337, 338, 339, 0, 0, 0, 0,
! 0, 340, 341, 342, 0, 0, 0, 343, 270, 8,
! 9, 10, 0, 12, 504, 315, 316, 317, 0, 318,
! 14, 0, 0, 0, 344, 1015, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 319, 17, 0, 19, 0,
! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326,
! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331,
! 332, 26, 0, 0, 28, 271, 0, 0, 0, 382,
! 0, 0, 0, 0, 0, 335, 0, 0, 336, 0,
! 0, 0, 0, 0, 0, 0, 337, 338, 339, 0,
! 0, 0, 0, 0, 340, 341, 342, 0, 0, 0,
! 343, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 344, 1259, 1586,
! 1587, 1588, 10, 173, 12, 314, 315, 316, 317, 0,
! 318, 14, 1589, 0, 1590, 1591, 1592, 1593, 1594, 1595,
! 1596, 1597, 1598, 1599, 15, 16, 319, 17, 18, 19,
! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21,
! 326, 327, 1600, 23, 1601, 0, 0, 328, 329, 330,
! 331, 332, 26, 0, 0, 1602, 271, 1215, 0, 1603,
! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336,
! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339,
! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0,
! 0, 343, 0, 1604, 1586, 1587, 1588, 10, 173, 12,
! 314, 315, 316, 317, 0, 318, 14, 1589, 344, 1590,
! 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 15,
! 16, 319, 17, 18, 19, 0, 320, 321, 322, 20,
! 0, 323, 324, 325, 21, 326, 327, 1600, 23, 1601,
! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0,
! 1602, 271, 0, 0, 1603, 382, 0, 0, 0, 0,
! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0,
! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0,
! 340, 341, 342, 0, 0, 0, 343, 0, 1604, 270,
! 8, 9, 10, 173, 12, 314, 315, 316, 317, 488,
! 318, 14, 0, 344, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 319, 17, 18, 19,
! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21,
! 326, 327, 0, 23, 0, 694, 0, 328, 329, 330,
! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0,
! 382, 0, 0, 0, 0, 0, 335, 0, 0, 1025,
! 0, 0, 0, 0, 0, 0, 0, 337, 338, 1026,
! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0,
! 0, 1027, 698, 145, 8, 9, 10, 173, 12, 314,
! 315, 316, 317, 488, 318, 14, 0, 0, 344, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 319, 17, 18, 19, 0, 320, 321, 322, 20, 0,
! 323, 324, 325, 21, 326, 327, 0, 23, 0, 694,
! 0, 328, 329, 330, 331, 332, 26, 0, 0, 28,
! 29, 0, 0, 0, 382, 0, 0, 0, 0, 0,
! 335, 0, 0, 1139, 0, 0, 0, 0, 0, 0,
! 0, 337, 338, 1140, 0, 0, 0, 0, 0, 340,
! 341, 342, 0, 0, 0, 1141, 698, 145, 8, 9,
! 10, 0, 12, 314, 315, 316, 317, 0, 318, 14,
! 0, 0, 344, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320,
! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327,
! 0, 23, 0, 694, 0, 328, 329, 330, 331, 332,
! 26, 0, 0, 28, 29, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 335, 0, 0, 1139, 0, 0,
! 0, 0, 0, 0, 0, 337, 338, 1140, 0, 0,
! 0, 0, 0, 340, 341, 342, 0, 0, 0, 1141,
! 698, 270, 8, 9, 10, 0, 12, 314, 315, 316,
! 317, 0, 318, 14, 0, 0, 344, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17,
! 18, 19, 0, 320, 321, 322, 20, 0, 323, 324,
! 325, 21, 326, 327, 0, 23, 0, 0, 0, 328,
! 329, 330, 331, 332, 26, 0, 0, 333, 271, 0,
! 0, 0, 334, 0, 0, 0, 0, 0, 335, 0,
! 0, 336, 0, 0, 0, 0, 0, 0, 0, 337,
! 338, 339, 0, 0, 0, 0, 0, 340, 341, 342,
! 0, 0, 0, 343, 270, 8, 9, 10, 0, 12,
! 314, 315, 316, 317, 0, 318, 14, 0, 0, 0,
! 344, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 16, 319, 17, 18, 19, 0, 320, 321, 322, 20,
! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0,
! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0,
! 28, 271, 0, 0, 0, 382, 0, 0, 0, 0,
! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0,
! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0,
! 340, 341, 342, 0, 0, 0, 343, 270, 8, 9,
! 10, 0, 12, 504, 315, 316, 317, 0, 318, 14,
! 0, 0, 0, 344, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 319, 17, 18, 19, 0, 320,
! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327,
! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332,
! 26, 0, 0, 28, 271, 0, 0, 0, 382, 0,
! 0, 0, 0, 0, 335, 0, 0, 630, 0, 0,
! 0, 0, 0, 0, 0, 337, 338, 631, 0, 0,
! 0, 0, 0, 340, 341, 342, 0, 0, 0, 632,
! 270, 8, 9, 10, 0, 12, 504, 315, 316, 317,
! 0, 318, 14, 0, 0, 0, 344, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 16, 319, 17, 0,
! 19, 0, 320, 321, 322, 20, 0, 323, 324, 325,
! 21, 326, 327, 0, 23, 0, 0, 0, 328, 329,
! 330, 331, 332, 26, 0, 0, 28, 271, 0, 0,
! 1649, 382, 0, 0, 0, 0, 0, 335, 0, 0,
! 336, 0, 0, 0, 0, 0, 0, 0, 337, 338,
! 339, 0, 0, 0, 0, 0, 340, 341, 342, 0,
! 0, 0, 343, 270, 8, 9, 10, 173, 12, 314,
! 315, 316, 317, 0, 318, 14, 0, 0, 0, 344,
0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 319, 17, 18, 19, 0, 320, 321, 322, 20, 0,
! 323, 324, 325, 21, 326, 327, 0, 23, 0, 0,
! 0, 328, 329, 330, 331, 332, 26, 0, 0, 28,
! 271, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 335, 0, 0, 336, 0, 0, 0, 0, 0, 0,
! 0, 337, 338, 339, 0, 0, 0, 0, 0, 340,
! 341, 342, 0, 0, 0, 343, 145, 8, 9, 10,
! 0, 12, 504, 315, 316, 317, 0, 318, 14, 0,
! 0, 0, 344, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 16, 319, 17, 18, 19, 0, 320, 321,
! 322, 20, 0, 323, 324, 325, 21, 326, 327, 0,
! 23, 0, 0, 0, 328, 329, 330, 331, 332, 26,
! 0, 0, 28, 29, 0, 0, 0, 382, 0, 0,
! 0, 0, 0, 335, 0, 0, 1710, 0, 0, 0,
! 0, 0, 0, 0, 337, 338, 1711, 0, 0, 0,
! 0, 0, 340, 341, 342, 0, 0, 0, 1712, 270,
! 8, 9, 10, 0, 12, 504, 315, 316, 317, 0,
! 318, 14, 0, 0, 0, 344, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19,
! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21,
! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330,
! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0,
! 334, 0, 0, 0, 0, 0, 335, 0, 0, 336,
! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339,
! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0,
! 0, 343, 270, 8, 9, 10, 0, 12, 504, 315,
! 316, 317, 0, 318, 14, 0, 0, 0, 344, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319,
! 17, 0, 19, 0, 320, 321, 322, 20, 0, 323,
! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0,
! 328, 329, 330, 331, 332, 26, 0, 0, 28, 271,
! 644, 0, 0, 0, 0, 0, 0, 0, 0, 335,
! 0, 0, 336, 0, 0, 0, 0, 0, 0, 0,
! 337, 338, 339, 0, 0, 0, 0, 0, 340, 341,
! 342, 0, 0, 0, 645, 270, 8, 9, 10, 0,
! 12, 504, 315, 316, 317, 0, 318, 14, 0, 0,
! 0, 344, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 319, 17, 0, 19, 0, 320, 321, 322,
! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23,
! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0,
! 0, 28, 271, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 335, 0, 0, 336, 0, 0, 0, 0,
! 0, 0, 0, 337, 338, 339, 0, 0, 0, 0,
! 0, 340, 341, 342, 0, 0, 0, 343, 682, 270,
! 8, 9, 10, 0, 12, 504, 315, 316, 317, 0,
! 318, 14, 0, 0, 344, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 319, 17, 0, 19,
! 0, 320, 321, 322, 20, 0, 323, 324, 325, 21,
! 326, 327, 0, 23, 0, 0, 0, 328, 329, 330,
! 331, 332, 26, 0, 0, 28, 271, 0, 0, 0,
! 382, 0, 0, 0, 0, 0, 335, 0, 0, 336,
! 0, 0, 0, 0, 0, 0, 0, 337, 338, 339,
! 0, 0, 0, 0, 0, 340, 341, 342, 0, 0,
! 0, 343, 270, 8, 9, 10, 0, 12, 504, 315,
! 316, 317, 0, 318, 14, 0, 0, 0, 344, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 319,
! 17, 18, 19, 0, 320, 321, 322, 20, 0, 323,
! 324, 325, 21, 326, 327, 0, 23, 0, 0, 0,
! 328, 329, 330, 331, 332, 26, 0, 0, 28, 271,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 335,
! 0, 0, 630, 0, 0, 0, 0, 0, 0, 0,
! 337, 338, 631, 0, 0, 0, 0, 0, 340, 341,
! 342, 0, 0, 0, 632, 1278, 8, 9, 10, 0,
! 12, 504, 315, 316, 317, 0, 318, 14, 0, 0,
! 0, 344, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 319, 17, 0, 19, 0, 320, 321, 322,
! 20, 0, 323, 324, 325, 21, 326, 327, 0, 23,
! 0, 0, 0, 328, 329, 330, 331, 332, 26, 0,
! 0, 28, 271, 0, 0, 0, 382, 0, 0, 0,
! 0, 0, 335, 0, 0, 336, 0, 0, 0, 0,
! 0, 0, 0, 337, 338, 339, 0, 0, 0, 0,
! 0, 340, 341, 342, 0, 0, 0, 343, 145, 8,
! 9, 10, 0, 12, 314, 315, 316, 317, 0, 318,
! 14, 0, 0, 0, 344, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 319, 17, 18, 19, 0,
! 320, 321, 322, 20, 0, 323, 324, 325, 21, 326,
! 327, 0, 23, 0, 0, 0, 328, 329, 330, 331,
! 332, 26, 0, 0, 28, 29, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 335, 0, 0, 1710, 0,
! 0, 0, 0, 0, 0, 0, 337, 338, 1711, 0,
! 0, 0, 0, 0, 340, 341, 342, 0, 0, 0,
! 1712, 270, 8, 9, 10, 0, 12, 504, 315, 316,
! 317, 0, 318, 14, 0, 0, 0, 344, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 319, 17,
! 0, 19, 0, 320, 321, 322, 20, 0, 323, 324,
! 325, 21, 326, 327, 0, 23, 0, 0, 0, 328,
! 329, 330, 331, 332, 26, 0, 0, 28, 271, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 335, 0,
! 0, 336, 0, 0, 0, 0, 0, 0, 0, 337,
! 338, 339, 0, 0, 0, 0, 0, 340, 341, 342,
! 0, 0, 0, 612, 270, 8, 9, 10, 0, 12,
! 504, 315, 316, 317, 0, 318, 14, 0, 0, 0,
! 344, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 16, 319, 17, 0, 19, 0, 320, 321, 322, 20,
! 0, 323, 324, 325, 21, 326, 327, 0, 23, 0,
! 0, 0, 328, 329, 330, 331, 332, 26, 0, 0,
! 28, 271, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 335, 0, 0, 336, 0, 0, 0, 0, 0,
! 0, 0, 337, 338, 339, 0, 0, 0, 0, 0,
! 340, 341, 342, 0, 0, 0, 614, 270, 8, 9,
! 10, 0, 12, 504, 315, 316, 317, 0, 318, 14,
! 0, 0, 0, 344, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 319, 17, 0, 19, 0, 320,
! 321, 322, 20, 0, 323, 324, 325, 21, 326, 327,
! 0, 23, 0, 0, 0, 328, 329, 330, 331, 332,
! 26, 0, 0, 28, 271, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 335, 0, 0, 336, 0, 0,
! 0, 0, 0, 0, 0, 337, 338, 339, 0, 0,
! 0, 0, 0, 340, 341, 342, 0, 0, 0, 343,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 344, 742, 743, 744,
! 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
! 755, 756, 757, 758, 759, 760, 761, 762, 763, 647,
! 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
! 658, 0, 659, 660, 661, 662, 663, 664, 665, 666,
! 667
};
static const short yycheck[] = { 14,
! 4, 167, 4, 180, 216, 23, 181, 22, 744, 423,
! 182, 363, 81, 4, 4, 483, 817, 318, 319, 369,
! 260, 423, 130, 60, 4, 155, 156, 162, 369, 196,
! 549, 4, 36, 86, 36, 423, 423, 138, 58, 389,
! 642, 984, 254, 45, 45, 36, 36, 251, 389, 799,
! 351, 31, 32, 68, 45, 45, 36, 724, 60, 45,
! 393, 465, 819, 36, 94, 45, 96, 137, 138, 224,
! 225, 73, 45, 1435, 216, 81, 1428, 793, 128, 4,
! 45, 150, 137, 225, 86, 245, 14, 501, 1551, 91,
! 1546, 1551, 94, 77, 96, 4, 1605, 62, 310, 501,
! 1621, 12, 9, 140, 45, 45, 86, 49, 12, 111,
! 112, 36, 142, 128, 1171, 12, 1173, 12, 39, 1758,
! 45, 1642, 56, 62, 1181, 67, 4, 36, 904, 369,
! 1693, 34, 50, 800, 910, 3, 45, 1658, 140, 154,
! 142, 210, 144, 77, 496, 182, 532, 1452, 1453, 389,
! 140, 363, 1791, 95, 34, 507, 84, 64, 36, 56,
! 140, 181, 1618, 62, 1469, 1, 552, 140, 65, 171,
! 171, 110, 26, 175, 175, 155, 156, 49, 371, 372,
! 182, 171, 110, 1692, 175, 175, 1714, 49, 1751, 175,
! 111, 171, 1, 1714, 196, 175, 1724, 1725, 171, 110,
! 141, 96, 175, 1724, 1725, 77, 110, 61, 111, 77,
! 175, 65, 111, 110, 1519, 140, 196, 81, 95, 13,
! 200, 201, 4, 1528, 1529, 61, 1531, 334, 49, 65,
! 245, 246, 141, 95, 175, 175, 49, 430, 431, 49,
! 1696, 49, 1770, 97, 108, 260, 171, 1023, 110, 1770,
! 175, 216, 61, 78, 36, 80, 65, 62, 63, 224,
! 225, 97, 63, 45, 1727, 62, 175, 1727, 62, 62,
! 276, 65, 1, 137, 95, 155, 156, 157, 1734, 3,
! 4, 5, 95, 96, 1227, 95, 150, 95, 97, 254,
! 360, 63, 1042, 171, 1822, 1045, 63, 110, 56, 818,
! 110, 1822, 56, 356, 86, 360, 196, 473, 443, 311,
! 111, 65, 413, 110, 28, 1771, 110, 110, 32, 77,
! 335, 56, 202, 522, 1629, 1630, 50, 0, 256, 34,
! 65, 530, 61, 62, 62, 59, 60, 374, 7, 111,
! 0, 343, 109, 373, 111, 310, 210, 63, 220, 63,
! 1100, 1101, 110, 67, 356, 405, 110, 49, 140, 83,
! 4, 5, 364, 378, 95, 62, 1728, 4, 5, 719,
! 39, 373, 374, 528, 529, 1091, 356, 392, 111, 112,
! 535, 245, 110, 518, 374, 515, 516, 529, 548, 171,
! 405, 62, 49, 175, 374, 111, 551, 111, 363, 786,
! 65, 374, 432, 95, 1756, 425, 13, 49, 812, 813,
! 49, 1468, 276, 110, 196, 59, 60, 49, 1194, 56,
! 1196, 423, 59, 60, 426, 65, 77, 9, 49, 95,
! 432, 13, 3, 4, 5, 77, 73, 95, 95, 110,
! 49, 369, 775, 423, 49, 110, 83, 687, 603, 374,
! 155, 156, 157, 95, 96, 62, 95, 96, 65, 96,
! 1403, 389, 427, 95, 197, 467, 467, 49, 110, 49,
! 110, 110, 712, 493, 95, 495, 496, 467, 1790, 50,
! 62, 467, 64, 65, 77, 67, 95, 467, 59, 60,
! 95, 1158, 494, 1095, 467, 497, 78, 202, 80, 501,
! 1812, 40, 467, 61, 368, 3, 4, 5, 63, 67,
! 540, 65, 83, 95, 96, 95, 96, 56, 986, 1269,
! 1270, 501, 49, 77, 388, 49, 109, 49, 110, 61,
! 110, 496, 725, 548, 26, 515, 516, 63, 540, 13,
! 647, 648, 467, 650, 651, 652, 653, 654, 655, 656,
! 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
! 667, 59, 60, 528, 529, 1341, 62, 99, 95, 96,
! 535, 95, 436, 95, 356, 362, 363, 364, 1354, 49,
! 610, 49, 78, 110, 56, 83, 551, 49, 62, 65,
! 4, 65, 374, 67, 484, 4, 5, 67, 49, 56,
! 1, 77, 3, 4, 5, 77, 49, 32, 610, 802,
! 612, 49, 614, 3, 4, 5, 6, 619, 620, 621,
! 622, 623, 36, 32, 65, 95, 679, 95, 96, 644,
! 632, 86, 87, 95, 811, 515, 516, 517, 603, 3,
! 642, 423, 110, 645, 95, 1164, 56, 56, 49, 77,
! 59, 60, 95, 43, 61, 56, 95, 95, 59, 60,
! 61, 62, 62, 63, 73, 49, 538, 4, 5, 59,
! 60, 56, 687, 62, 83, 776, 678, 679, 1092, 1147,
! 1148, 56, 783, 1033, 548, 467, 95, 891, 892, 78,
! 1092, 80, 1033, 897, 95, 697, 56, 712, 49, 679,
! 49, 91, 704, 50, 1092, 1092, 493, 727, 495, 496,
! 497, 95, 96, 783, 77, 695, 696, 697, 67, 501,
! 932, 611, 59, 60, 704, 1482, 110, 882, 1029, 864,
! 78, 924, 56, 56, 56, 1511, 49, 904, 26, 110,
! 28, 65, 606, 910, 95, 96, 95, 96, 778, 1217,
! 1218, 49, 110, 77, 77, 77, 65, 188, 110, 3,
! 4, 5, 6, 728, 110, 56, 784, 61, 77, 784,
! 839, 65, 792, 61, 65, 1294, 778, 65, 793, 669,
! 708, 12, 95, 8, 9, 675, 77, 677, 678, 1546,
! 15, 524, 900, 1033, 32, 1145, 111, 95, 49, 43,
! 818, 3, 4, 5, 1145, 63, 50, 32, 823, 97,
! 515, 516, 517, 38, 704, 59, 60, 1336, 86, 87,
! 49, 711, 47, 49, 49, 49, 99, 792, 692, 56,
! 56, 721, 834, 95, 1302, 1, 3, 3, 4, 5,
! 842, 63, 56, 707, 95, 96, 61, 91, 50, 77,
! 77, 77, 832, 833, 834, 96, 1023, 59, 60, 110,
! 96, 1618, 842, 77, 901, 1333, 95, 96, 56, 95,
! 95, 95, 96, 65, 65, 905, 906, 65, 908, 49,
! 1232, 83, 95, 49, 95, 77, 619, 867, 868, 77,
! 56, 1084, 113, 59, 60, 901, 1031, 679, 26, 901,
! 28, 95, 904, 905, 906, 1145, 908, 62, 910, 147,
! 901, 26, 840, 28, 152, 697, 649, 882, 4, 5,
! 77, 901, 704, 77, 904, 95, 96, 1395, 901, 95,
! 910, 61, 1109, 61, 1691, 65, 196, 65, 61, 1696,
! 110, 1742, 65, 676, 49, 26, 61, 28, 77, 682,
! 65, 56, 842, 77, 834, 12, 1692, 1161, 1162, 1163,
! 46, 95, 842, 201, 56, 698, 856, 932, 56, 97,
! 56, 110, 77, 59, 60, 839, 901, 1734, 1446, 62,
! 61, 983, 97, 56, 65, 987, 77, 56, 13, 77,
! 95, 1098, 65, 110, 110, 1188, 1189, 1190, 1133, 3,
! 1130, 1131, 6, 28, 77, 792, 870, 32, 77, 1139,
! 1140, 744, 4, 5, 1771, 1017, 97, 110, 1486, 1233,
! 1234, 1023, 1236, 56, 49, 1027, 77, 1194, 32, 1196,
! 77, 269, 3, 4, 5, 6, 110, 62, 63, 43,
! 65, 111, 67, 1023, 111, 1025, 1026, 1027, 4, 5,
! 49, 65, 834, 9, 56, 59, 60, 56, 922, 1795,
! 842, 110, 1077, 65, 56, 56, 1135, 59, 60, 73,
! 95, 96, 43, 110, 65, 77, 1091, 67, 77, 83,
! 83, 84, 85, 86, 87, 110, 77, 91, 59, 60,
! 1092, 95, 1094, 1095, 8, 9, 95, 987, 62, 63,
! 56, 15, 110, 59, 60, 1033, 67, 3, 4, 5,
! 6, 1001, 1092, 1003, 1221, 1005, 62, 73, 32, 901,
! 91, 67, 904, 110, 38, 62, 63, 83, 910, 834,
! 1132, 77, 78, 47, 1171, 113, 1173, 842, 28, 1141,
! 96, 1178, 1179, 1557, 1181, 932, 77, 43, 1150, 77,
! 1130, 1131, 1132, 56, 50, 1557, 62, 63, 1178, 1139,
! 1140, 1141, 28, 59, 60, 1171, 32, 1173, 1032, 1171,
! 1034, 1173, 77, 1179, 1341, 1181, 110, 1179, 113, 1181,
! 1171, 113, 1173, 1173, 62, 63, 110, 1354, 49, 1079,
! 1181, 1171, 1194, 1173, 1196, 91, 62, 63, 1171, 110,
! 1173, 1181, 110, 1218, 1206, 3, 444, 56, 1181, 447,
! 95, 1241, 62, 63, 1194, 8, 1196, 1145, 49, 1006,
! 1413, 459, 62, 67, 484, 4, 5, 1117, 89, 90,
! 9, 63, 93, 94, 95, 96, 111, 77, 78, 1241,
! 80, 1023, 62, 63, 1031, 1027, 1171, 62, 1173, 95,
! 1130, 1131, 1132, 32, 62, 63, 1181, 111, 991, 1139,
! 1140, 1141, 1614, 1265, 3, 4, 5, 56, 7, 8,
! 9, 1135, 510, 63, 1138, 513, 1294, 56, 4, 5,
! 59, 60, 46, 1263, 1264, 1265, 77, 1302, 38, 527,
! 1170, 1024, 56, 32, 73, 67, 60, 1366, 67, 38,
! 62, 63, 1174, 1175, 83, 110, 67, 1309, 1345, 110,
! 1092, 63, 1184, 919, 920, 921, 95, 56, 110, 28,
! 59, 60, 61, 32, 67, 1345, 67, 1307, 1308, 1309,
! 56, 113, 78, 59, 60, 62, 110, 1805, 1375, 1341,
! 1127, 3, 4, 5, 1511, 110, 1133, 73, 1328, 1329,
! 1132, 611, 1354, 62, 63, 110, 110, 83, 67, 1141,
! 1366, 1341, 110, 78, 78, 78, 105, 106, 107, 1375,
! 1722, 78, 110, 1375, 1354, 110, 3, 4, 5, 6,
! 61, 65, 31, 32, 1375, 34, 65, 62, 50, 1171,
! 110, 1173, 3, 4, 5, 1375, 65, 59, 60, 1181,
! 4, 5, 1375, 113, 110, 9, 1296, 110, 1298, 669,
! 1300, 60, 1194, 62, 1196, 675, 43, 677, 678, 68,
! 111, 83, 110, 110, 73, 1130, 1131, 1132, 32, 96,
! 113, 1468, 59, 60, 1139, 1140, 1141, 1612, 91, 1614,
! 1442, 1613, 77, 49, 110, 56, 110, 110, 59, 60,
! 1375, 711, 56, 113, 885, 59, 60, 1463, 110, 110,
! 1247, 721, 1468, 110, 1479, 1170, 1468, 111, 1255, 73,
! 65, 110, 3, 4, 5, 111, 63, 1468, 61, 83,
! 3, 4, 5, 1265, 200, 201, 1358, 110, 1468, 67,
! 110, 95, 1364, 1365, 110, 1468, 1368, 1369, 147, 95,
! 1372, 1503, 1366, 152, 1237, 95, 155, 156, 157, 1511,
! 1722, 95, 111, 3, 4, 5, 95, 1304, 110, 50,
! 113, 1501, 1502, 1503, 110, 8, 1313, 1309, 59, 60,
! 34, 1511, 113, 182, 1424, 110, 59, 60, 61, 188,
! 110, 1707, 1719, 1468, 879, 110, 110, 1551, 110, 1551,
! 98, 200, 201, 202, 110, 1557, 3, 4, 5, 1341,
! 1551, 1551, 62, 1578, 110, 62, 56, 216, 903, 59,
! 60, 1551, 1354, 65, 909, 1439, 225, 1557, 1551, 56,
! 1710, 1711, 110, 110, 1599, 1600, 110, 65, 3, 4,
! 5, 113, 1612, 1375, 1614, 833, 49, 110, 110, 1463,
! 110, 110, 67, 1605, 110, 254, 34, 110, 110, 56,
! 95, 1613, 59, 60, 1605, 1605, 3, 4, 5, 6,
! 269, 1787, 110, 110, 1790, 1605, 1551, 865, 866, 113,
! 110, 110, 1605, 65, 65, 873, 3, 4, 5, 6,
! 1655, 1656, 63, 1809, 59, 60, 1812, 62, 9, 1614,
! 63, 63, 156, 157, 1526, 1527, 43, 1390, 1391, 1392,
! 1393, 310, 311, 50, 17, 111, 110, 110, 1401, 61,
! 95, 95, 59, 60, 63, 63, 43, 3, 4, 5,
! 1605, 67, 56, 1018, 1686, 1020, 1468, 95, 104, 1704,
! 1692, 1693, 59, 60, 343, 109, 83, 18, 202, 63,
! 56, 1692, 1692, 1723, 91, 110, 1686, 3, 4, 5,
! 1712, 63, 1692, 1693, 363, 364, 110, 1504, 1505, 1692,
! 63, 1503, 63, 1727, 91, 1727, 63, 987, 62, 1511,
! 1710, 1711, 95, 59, 60, 67, 1727, 1727, 110, 63,
! 113, 1001, 110, 1003, 63, 1005, 12, 1727, 110, 1751,
! 95, 3, 4, 5, 1727, 63, 63, 1722, 1773, 63,
! 56, 110, 63, 59, 60, 61, 0, 1692, 0, 1551,
! 0, 1751, 1559, 176, 2, 1557, 36, 426, 427, 1669,
! 1656, 3, 4, 5, 6, 1092, 3, 4, 5, 1669,
! 7, 8, 9, 776, 510, 444, 1668, 513, 447, 515,
! 516, 171, 1727, 1718, 453, 454, 455, 59, 60, 175,
! 459, 527, 467, 1179, 3, 4, 5, 1294, 1551, 1079,
! 98, 43, 144, 1605, 1641, 3, 4, 5, 50, 1077,
! 1710, 1711, 1712, 734, 823, 1336, 1164, 59, 60, 343,
! 313, 1375, 59, 60, 4, 494, 1179, 496, 497, 3,
! 4, 5, 6, 1465, 736, 1048, 679, 1117, 1193, 207,
! 1195, 510, 360, 128, 513, 1598, 515, 516, 517, 91,
! 59, 60, 521, 1745, 1546, 1483, 36, 636, 527, 1727,
! 529, 59, 60, 532, 1742, 45, 1739, 1789, 851, 43,
! 1128, 1129, 1442, -1, -1, -1, 50, -1, 58, 1137,
! 60, -1, 551, 552, 1686, 59, 60, -1, -1, -1,
! 1692, 1693, -1, -1, -1, -1, 1347, 1348, 1651, 4,
! 5, -1, 1257, -1, 9, -1, -1, -1, -1, 83,
! -1, 58, -1, -1, -1, 4, 5, 91, -1, -1,
! 9, -1, -1, 1374, -1, 1727, -1, 32, 1379, -1,
! 454, 455, -1, 1686, 603, -1, -1, -1, -1, 1692,
! 1693, -1, -1, 612, 1669, 614, 695, 696, -1, 1751,
! -1, 56, -1, -1, 59, 60, -1, 7, 8, 9,
! 140, 630, 631, 632, -1, 15, 146, 56, 73, -1,
! 59, 60, -1, -1, 1727, -1, 645, -1, 83, -1,
! 3, 4, 5, -1, 73, 1710, 1711, 1712, 38, -1,
! 95, 171, 516, 517, 83, 175, -1, 47, 1751, -1,
! -1, 181, 182, -1, -1, -1, -1, 1458, 1459, -1,
! 1461, 1462, 1765, 1464, -1, -1, 1296, -1, 1298, -1,
! 1300, 3, 4, 5, 6, -1, 695, 696, 697, 3,
! 4, 5, 1785, -1, 181, 704, 59, 60, 3, 4,
! 5, -1, 1795, -1, -1, -1, -1, 1305, 1306, 229,
! 32, -1, -1, -1, 1312, 3, 4, 5, -1, 728,
! -1, 43, 1417, 1816, -1, 1516, 1517, 49, -1, -1,
! 3, 4, 5, -1, 56, -1, 50, 59, 60, -1,
! -1, -1, 229, 832, 833, 59, 60, -1, 612, -1,
! 614, 73, -1, 1448, 59, 60, 832, 833, -1, 1454,
! -1, 83, 3, 4, 5, 6, -1, 631, 632, 91,
! -1, 59, 60, 95, 96, 1470, 1471, 50, 1569, 1570,
! 1571, 645, -1, 792, 793, -1, 59, 60, -1, 865,
! 866, 867, 868, -1, -1, -1, -1, 873, 1493, 40,
! 41, -1, 43, -1, 1424, 3, 4, 5, 6, 83,
! 84, 85, 86, 87, -1, 56, -1, -1, 59, 60,
! -1, -1, -1, 832, 833, 834, -1, 3, 4, 5,
! -1, 7, -1, 842, -1, 1626, 1627, -1, -1, -1,
! 704, -1, 1537, 1538, -1, 43, -1, 856, -1, -1,
! 91, -1, 50, -1, 374, -1, 865, 866, 867, 868,
! 869, 59, 60, 39, 873, 1560, 1561, 1, 1563, 3,
! 4, 5, 6, 7, 8, 9, 885, -1, -1, -1,
! 56, 15, -1, 59, 60, 83, 81, 82, 83, 84,
! 85, 86, 87, 91, -1, 29, -1, 31, 32, 33,
! -1, -1, -1, -1, 38, 425, 3, 4, 5, 43,
! 7, 8, 9, 47, 434, -1, 50, -1, 1007, -1,
! -1, 1010, 56, 932, -1, 59, 60, 3, 4, 5,
! 6, -1, 1021, 9, -1, 32, 1025, 1026, 425, 73,
! -1, 38, -1, -1, -1, -1, -1, 467, -1, 83,
! -1, -1, -1, -1, -1, -1, 32, 91, -1, -1,
! -1, 95, 59, 60, -1, 99, -1, 43, 4, 5,
! 834, -1, 1763, 493, 494, 495, 496, -1, 842, -1,
! 56, 501, 1677, 59, 60, -1, -1, -1, -1, 509,
! -1, -1, 856, -1, -1, -1, 32, 73, 1007, -1,
! -1, 1010, 522, -1, 868, 869, 493, 83, 495, 496,
! 530, -1, 1021, 49, -1, 91, 1025, 1026, 1027, 95,
! 56, -1, 509, 59, 60, -1, -1, -1, -1, -1,
! -1, 518, -1, -1, -1, 522, -1, 73, -1, 1128,
! 1129, 1130, 1131, 530, 564, -1, -1, 83, 1137, -1,
! 1139, 1140, 1128, 1129, 1130, 1131, -1, -1, -1, 95,
! 96, 1137, -1, 1139, 1140, 79, 80, 81, 82, 83,
! 84, 85, 86, 87, -1, 1151, 1152, 1153, -1, -1,
! -1, -1, 1091, -1, 278, 279, 280, 281, 282, 283,
! -1, 285, 286, 287, 288, 289, 290, 291, 292, 293,
! 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
! 304, 305, 306, -1, 308, -1, -1, -1, -1, 1128,
! 1129, 1130, 1131, 1132, 3, 4, 5, 6, 1137, -1,
! 1139, 1140, 1141, 3, 4, 5, 6, -1, -1, -1,
! -1, -1, 1151, 1152, 1153, -1, -1, 7, 8, 9,
! -1, -1, 7, 8, 9, 15, -1, -1, -1, -1,
! 15, 1170, 1026, 1027, 43, -1, -1, -1, -1, -1,
! 1179, 50, 32, 43, 1263, 1264, -1, 32, 38, 49,
! 59, 60, -1, 38, -1, -1, 56, 47, -1, 59,
! 60, -1, 47, 3, 4, 5, 6, 7, 8, 9,
! -1, -1, -1, 73, 83, 15, -1, 727, 63, -1,
! -1, -1, 91, 83, -1, -1, 1305, 1306, 1307, 1308,
! -1, 91, 32, 1312, -1, 95, 96, -1, 38, 1305,
! 1306, 1307, 1308, 43, -1, -1, 1312, 47, -1, 49,
! 727, -1, -1, -1, -1, -1, 56, -1, -1, 59,
! 60, -1, 1328, 1329, 1263, 1264, 1265, -1, -1, -1,
! -1, -1, -1, 73, -1, -1, -1, 1131, 1132, -1,
! -1, -1, 792, 83, -1, -1, 1140, 1141, -1, -1,
! -1, 91, -1, -1, -1, 95, 96, 3, 4, 5,
! 6, -1, -1, 9, -1, -1, 1305, 1306, 1307, 1308,
! 1309, -1, -1, 1312, -1, 792, 1170, 79, 80, 81,
! 82, 83, 84, 85, 86, 87, 32, -1, -1, 1328,
! 1329, 1330, -1, -1, -1, -1, -1, 43, -1, 3,
! 4, 5, 6, 49, -1, 9, -1, -1, 1347, 1348,
! 56, 861, -1, 59, 60, -1, -1, -1, 1437, 1438,
! -1, 1440, -1, -1, -1, -1, -1, 73, 32, -1,
! 880, 1437, 1438, -1, 1440, 1374, -1, 83, -1, 43,
! 1379, -1, -1, -1, 861, 91, -1, 864, 4, 95,
! 96, 901, 56, -1, 578, 59, 60, -1, 14, -1,
! -1, -1, -1, 880, -1, -1, -1, -1, 24, 73,
! 1264, 1265, -1, -1, -1, 31, 32, 601, 34, 83,
! 36, -1, 1501, 1502, -1, 609, -1, 91, -1, 45,
! -1, 95, -1, -1, -1, 1501, 1502, -1, 1437, 1438,
! -1, 1440, 58, -1, 60, 81, 82, 83, 84, 85,
! 86, 87, 68, -1, 1308, 1309, -1, 73, -1, 1458,
! 1459, -1, 1461, 1462, -1, 1464, -1, -1, 84, -1,
! 86, -1, -1, -1, -1, 91, -1, -1, 94, -1,
! 96, 3, 4, 5, 6, 7, 8, 9, -1, -1,
! -1, 13, -1, 15, 110, -1, -1, -1, 4, 5,
! -1, -1, 1501, 1502, 1503, -1, -1, 29, -1, 31,
! 32, -1, -1, -1, -1, -1, 38, 1516, 1517, -1,
! -1, 43, 138, -1, 140, 47, 142, 49, 144, -1,
! 146, 147, -1, -1, 56, 151, 152, 59, 60, 155,
! 156, 157, -1, 49, -1, -1, -1, 4, 5, -1,
! 56, 73, 9, 59, 60, 171, 7, 8, 9, 175,
! -1, 83, -1, -1, 15, 181, 182, 73, -1, 91,
! 1569, 1570, 1571, 95, 96, 32, -1, 83, -1, -1,
! -1, 32, -1, -1, 200, 201, 202, 38, -1, 95,
! 96, -1, 49, -1, -1, -1, 47, -1, -1, 56,
! -1, -1, 59, 60, -1, -1, -1, -1, -1, -1,
! -1, -1, 63, 229, 1613, 1614, 73, 1127, -1, 3,
! 4, 5, 6, -1, -1, -1, 83, 1626, 1627, -1,
! 246, -1, -1, -1, 3, 4, 5, 6, 95, 96,
! 256, -1, -1, -1, 1710, 1711, -1, -1, -1, -1,
! 1127, -1, -1, 269, -1, -1, 1133, -1, -1, 43,
! -1, 1171, -1, 1173, -1, -1, 50, -1, 1178, 1179,
! 1669, 1181, -1, -1, 43, 59, 60, -1, -1, -1,
! 3, 4, 5, 6, 7, 8, 9, 56, -1, -1,
! 59, 60, 15, -1, 63, 311, 312, -1, -1, 83,
! -1, 1178, -1, -1, 73, -1, 29, 91, 31, 32,
! 33, 1710, 1711, 1712, 83, 38, -1, -1, -1, -1,
! 43, -1, 91, 1722, 47, -1, 95, 50, -1, -1,
! -1, 915, 916, 56, -1, -1, 59, 60, -1, -1,
! 356, -1, -1, -1, 360, -1, 362, 363, 364, -1,
! 73, -1, -1, -1, -1, -1, -1, 373, 374, -1,
! 83, -1, -1, -1, 1763, -1, -1, -1, 91, -1,
! -1, -1, 95, -1, -1, -1, 99, -1, -1, -1,
! -1, -1, 3, 4, 5, 6, -1, -1, -1, -1,
! -1, -1, 4, 5, 1304, -1, -1, 413, -1, -1,
! -1, -1, -1, 1313, -1, -1, -1, 423, -1, 425,
! 426, -1, -1, -1, -1, 1669, 432, -1, 434, -1,
! 32, -1, 43, -1, -1, -1, -1, 1304, 444, 50,
! -1, 447, -1, -1, -1, 1345, 1313, 49, 59, 60,
! -1, -1, -1, 459, 56, -1, -1, 59, 60, -1,
! -1, 467, -1, -1, 1331, 1332, -1, 1711, 1712, -1,
! -1, 73, 83, -1, -1, 1375, -1, -1, 1345, -1,
! 91, 83, 3, 4, 5, 6, -1, 493, 494, 495,
! 496, 497, -1, 95, 96, 501, -1, 3, 4, 5,
! 6, -1, -1, 509, 510, -1, -1, 513, -1, 515,
! 516, 517, 518, -1, -1, -1, 522, -1, -1, -1,
! -1, 527, 43, -1, 530, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 540, 56, -1, 43, 59, 60,
! -1, 1, 63, 3, 4, 5, 6, 7, 8, 9,
! 56, -1, 73, 59, 60, 15, -1, -1, 564, -1,
! 1460, -1, 83, -1, -1, 1465, -1, -1, 1468, 29,
! 91, 31, 32, 33, 95, -1, -1, 1444, 38, 39,
! -1, -1, -1, 43, -1, 91, -1, 47, 48, -1,
! 50, -1, -1, 1460, -1, -1, 56, -1, -1, 59,
! 60, -1, 608, 63, 610, 65, -1, -1, -1, -1,
! -1, -1, -1, 73, 620, 621, 622, 623, -1, -1,
! -1, -1, -1, 83, -1, -1, -1, 3, 4, 5,
! 6, 91, -1, -1, -1, 95, 642, 1504, 1505, -1,
! 3, 4, 5, 6, -1, -1, 9, 74, 75, 76,
! 77, 111, 79, 80, 81, 82, 83, 84, 85, 86,
! 87, 3, 4, 5, 6, -1, -1, 43, -1, 32,
! -1, -1, -1, 679, 50, 681, -1, -1, -1, -1,
! 43, -1, -1, 59, 60, -1, 49, 693, -1, 695,
! 696, 697, 1559, 56, -1, -1, 59, 60, 704, -1,
! -1, 43, 708, -1, 3, 4, 5, 6, 50, -1,
! 73, -1, 1612, 1613, 1614, 91, -1, 59, 60, -1,
! 83, 727, -1, -1, -1, -1, -1, 65, 91, -1,
! -1, -1, 95, 96, -1, -1, -1, -1, -1, -1,
! -1, 83, -1, -1, 43, 1612, -1, 1614, 1, 91,
! 3, 4, 5, 6, 7, 8, 9, 56, -1, -1,
! 59, 60, 15, -1, 63, -1, 65, -1, -1, -1,
! 776, -1, 778, -1, 73, 28, 29, 783, 31, 32,
! 33, -1, -1, -1, 83, 38, 792, 793, -1, -1,
! 43, -1, 91, 46, 47, 48, 95, 50, -1, -1,
! -1, -1, -1, 56, 57, -1, 59, 60, 146, -1,
! 63, -1, 3, 4, 5, 6, -1, -1, -1, -1,
! 73, -1, -1, 1723, 162, -1, 832, 833, 834, -1,
! 83, -1, -1, -1, 840, -1, 842, -1, 91, -1,
! -1, -1, 95, -1, -1, -1, 99, -1, -1, 40,
! 41, -1, 43, -1, -1, 861, 1723, -1, 864, 865,
! 866, 867, 868, 869, -1, 56, -1, 873, 59, 60,
! -1, -1, -1, -1, 880, -1, -1, -1, -1, 1,
! -1, 219, 4, 5, -1, -1, 8, 9, -1, 227,
! -1, -1, -1, 15, -1, 901, -1, -1, 904, 905,
! 906, -1, 908, -1, 910, -1, 244, 29, -1, 31,
! 32, -1, -1, 919, 920, 921, 38, 255, 40, 41,
! -1, -1, -1, -1, -1, 47, 932, 49, -1, -1,
! -1, -1, -1, -1, 56, -1, -1, 59, 60, -1,
! 62, -1, -1, -1, 66, 67, 68, 69, 70, 71,
! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
! 82, 83, 84, 85, 86, -1, -1, 89, 90, 91,
! -1, 93, -1, -1, 96, -1, -1, 983, 4, 5,
! -1, -1, 1, 9, 3, 4, 5, 6, -1, 8,
! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1006, 1007, -1, -1, 1010, -1, 32, -1, -1, -1,
! -1, 1017, -1, -1, -1, 1021, -1, 1023, -1, 1025,
! 1026, 1027, -1, 49, 43, 1031, -1, 1033, -1, -1,
! 56, 50, -1, 59, 60, -1, -1, 56, -1, -1,
! 59, 60, -1, -1, -1, -1, -1, 73, 1, -1,
! 3, 4, 5, 6, 7, 8, 9, 83, -1, -1,
! -1, -1, 15, -1, -1, -1, -1, -1, -1, 95,
! 96, -1, 91, -1, -1, -1, 29, -1, 31, 32,
! 33, -1, -1, -1, -1, 38, 1092, -1, 1094, 1095,
! 43, -1, -1, -1, 47, 48, 434, 50, -1, -1,
! -1, -1, -1, 56, -1, 443, 59, 60, -1, -1,
! 63, -1, 65, -1, -1, -1, -1, -1, -1, -1,
! 73, 1127, 1128, 1129, 1130, 1131, 1132, 1133, -1, -1,
! 83, 1137, -1, 1139, 1140, 1141, -1, 475, 91, 1145,
! -1, -1, 95, -1, 1150, 1151, 1152, 1153, -1, -1,
! -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
! -1, 1167, -1, -1, 1170, 1171, -1, 1173, -1, -1,
! -1, 509, 1178, 1179, -1, 1181, -1, -1, -1, -1,
! 518, 32, -1, -1, -1, -1, -1, -1, 1194, -1,
! 1196, -1, 43, -1, 3, 4, 5, 6, 49, 537,
! 1206, -1, -1, -1, -1, 56, -1, -1, 59, 60,
! -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
! -1, -1, 73, 32, -1, -1, 564, 1233, 1234, -1,
! 1236, -1, 83, -1, 43, 1241, -1, -1, -1, -1,
! 91, 1247, -1, -1, 95, 96, -1, 56, -1, 1255,
! 59, 60, 40, 41, -1, 43, -1, 1263, 1264, 1265,
! -1, -1, -1, -1, 73, -1, -1, -1, 56, -1,
! -1, 59, 60, -1, 83, 3, 4, 5, 6, 7,
! 8, 9, 91, -1, -1, -1, 95, 15, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 1304, 1305,
! 1306, 1307, 1308, 1309, 32, -1, 1312, 1313, -1, -1,
! 38, -1, -1, -1, -1, 43, -1, -1, -1, 47,
! -1, 49, 1328, 1329, 1330, 1331, 1332, -1, 56, -1,
! -1, 59, 60, -1, -1, 1341, -1, -1, -1, 1345,
! -1, -1, -1, -1, -1, 73, -1, -1, 1354, 3,
! 4, 5, 6, -1, -1, 83, -1, -1, -1, -1,
! -1, 1367, -1, 91, -1, -1, 4, 95, 96, 1375,
! -1, -1, -1, -1, 91, -1, 14, 94, 32, 96,
! -1, -1, -1, -1, -1, 23, 24, -1, -1, 43,
! -1, -1, -1, 31, 32, 49, 34, -1, 36, -1,
! -1, -1, 56, -1, -1, 59, 60, 45, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 73,
! 58, -1, 60, -1, -1, 142, -1, 144, -1, 83,
! 68, 1437, 1438, -1, 1440, 73, 1442, 91, 1444, -1,
! -1, 95, 96, -1, 3, 4, 5, 6, 86, -1,
! -1, -1, -1, 91, 1460, -1, 94, 1, 96, 1465,
! 4, 5, 1468, -1, 8, 9, 73, 74, 75, 76,
! 77, 15, 79, 80, 81, 82, 83, 84, 85, 86,
! 87, -1, -1, -1, 43, 29, -1, 31, 32, -1,
! -1, 50, -1, -1, 38, 1501, 1502, 1503, 1504, 1505,
! 59, 60, 140, 47, 142, 1511, 144, -1, 146, 147,
! -1, -1, 56, -1, 152, 59, 60, 155, 156, 157,
! -1, -1, -1, 861, 83, -1, 864, -1, -1, -1,
! -1, -1, 91, 171, -1, -1, -1, 175, -1, -1,
! -1, -1, 880, 181, 182, 4, 5, -1, 7, 8,
! 9, 1557, -1, 1559, 13, -1, 15, -1, -1, -1,
! -1, -1, 200, 201, 202, -1, -1, -1, -1, -1,
! 29, -1, 31, 32, -1, -1, -1, -1, -1, 38,
! -1, -1, -1, -1, -1, -1, -1, -1, 47, -1,
! 49, 229, -1, -1, -1, -1, -1, 56, -1, -1,
! 59, 60, -1, 320, 321, -1, 1612, 1613, 1614, -1,
! -1, -1, -1, -1, 73, -1, -1, 334, -1, 336,
! -1, -1, 339, -1, 83, 342, -1, -1, 345, -1,
! -1, 269, 349, -1, -1, -1, 95, 96, -1, 1,
! 357, 3, 4, 5, 6, 7, 8, 9, -1, -1,
! -1, -1, -1, 15, -1, -1, 373, -1, -1, -1,
! -1, -1, -1, 1669, -1, -1, -1, 29, 1006, 31,
! 32, 33, -1, 311, 312, -1, 38, 39, -1, -1,
! -1, 43, -1, -1, -1, 47, 48, -1, 50, -1,
! -1, -1, -1, 1031, 56, -1, -1, 59, 60, -1,
! -1, 63, -1, 65, 1710, 1711, 1712, -1, -1, -1,
! -1, 73, -1, -1, -1, 432, -1, 1723, 356, -1,
! -1, 83, 360, -1, 362, 363, 364, -1, -1, 91,
! -1, 369, -1, 95, -1, 373, 374, -1, -1, -1,
! -1, -1, -1, -1, 3, 4, 5, 6, -1, 111,
! 9, 389, 70, 71, 72, 73, 74, 75, 76, 77,
! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
! -1, -1, -1, 32, -1, 413, -1, -1, -1, -1,
! -1, -1, -1, -1, 43, 423, -1, 425, 426, 1127,
! 49, -1, -1, -1, 432, 1133, 434, 56, -1, -1,
! 59, 60, -1, -1, -1, -1, 444, -1, -1, 447,
! -1, -1, -1, -1, 73, -1, -1, -1, -1, -1,
! -1, 459, -1, 540, 83, -1, -1, -1, -1, 467,
! -1, -1, 91, -1, -1, -1, 95, 96, -1, 4,
! 5, -1, 7, 8, 9, -1, -1, -1, -1, -1,
! 15, -1, -1, -1, -1, 493, 494, 495, 496, 497,
! -1, -1, -1, 501, 29, -1, 31, 32, -1, -1,
! -1, 509, 510, 38, -1, 513, -1, 515, 516, 517,
! 518, -1, 47, -1, 522, 50, -1, -1, -1, 527,
! -1, 56, 530, 610, 59, 60, -1, -1, -1, -1,
! -1, -1, 540, -1, -1, -1, -1, -1, -1, 1247,
! -1, 549, -1, 630, 631, -1, -1, 1255, -1, -1,
! -1, -1, -1, -1, -1, 642, 564, -1, -1, -1,
! 647, 648, -1, 650, 651, 652, 653, 654, 655, 656,
! 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
! 667, -1, -1, -1, -1, -1, -1, -1, -1, 3,
! 4, 5, 6, -1, -1, 9, 1304, -1, -1, -1,
! -1, -1, 610, -1, -1, 1313, -1, -1, -1, -1,
! -1, -1, 620, 621, 622, 623, -1, -1, 32, -1,
! -1, -1, -1, 1331, 1332, -1, -1, -1, -1, 43,
! -1, -1, -1, -1, 642, 49, -1, -1, -1, -1,
! -1, -1, 56, -1, -1, 59, 60, -1, 1, -1,
! 3, 4, 5, 6, 7, 8, 9, -1, -1, 73,
! -1, -1, 15, -1, -1, -1, -1, -1, -1, 83,
! -1, 679, -1, 681, -1, -1, 29, 91, 31, 32,
! 33, 95, 96, -1, -1, 38, 39, 695, 696, 697,
! 43, 778, -1, -1, 47, 48, 704, 50, -1, -1,
! -1, -1, -1, 56, -1, -1, 59, 60, -1, -1,
! 63, 719, 65, -1, -1, -1, -1, -1, -1, 727,
73, 3, 4, 5, 6, 7, 8, 9, -1, -1,
! 83, 13, -1, 15, -1, -1, 1444, -1, 91, -1,
! -1, -1, 95, -1, -1, -1, -1, 29, -1, 31,
! 32, -1, -1, -1, -1, -1, 38, -1, 111, -1,
! -1, 43, -1, -1, -1, 47, -1, 49, 776, -1,
! 778, -1, -1, -1, 56, -1, 784, 59, 60, -1,
! -1, -1, -1, -1, 792, 793, -1, -1, -1, -1,
! -1, 73, -1, -1, 4, 5, 1504, 1505, -1, 9,
! -1, 83, -1, -1, -1, -1, -1, -1, -1, 91,
! 818, -1, -1, 95, 96, -1, -1, -1, 905, 906,
! -1, 908, 32, -1, 832, 833, 834, -1, -1, -1,
! -1, -1, -1, -1, 842, 3, 4, 5, 6, 49,
! -1, 9, -1, -1, -1, -1, 56, -1, -1, 59,
! 60, 1559, -1, 861, -1, -1, 864, 865, 866, 867,
! 868, 869, -1, 73, 32, 873, -1, -1, -1, -1,
! -1, -1, 880, 83, -1, 43, -1, 3, 4, 5,
! 6, 49, -1, 9, -1, 95, 96, -1, 56, -1,
! -1, 59, 60, 901, -1, -1, 904, 905, 906, -1,
! 908, -1, 910, -1, -1, 73, 32, -1, 995, -1,
! -1, 919, 920, 921, -1, 83, -1, 43, -1, -1,
! -1, -1, -1, 91, 932, -1, -1, 95, 96, -1,
! 56, -1, -1, 59, 60, -1, -1, -1, 1025, 1026,
! -1, -1, -1, -1, -1, -1, -1, 73, 1, -1,
! 3, 4, 5, 6, 7, 8, 9, 83, -1, -1,
! -1, -1, 15, -1, -1, 91, -1, -1, -1, 95,
! -1, -1, -1, -1, -1, 983, 29, -1, 31, 32,
! 33, -1, -1, -1, -1, 38, 39, -1, 4, 5,
! 43, -1, -1, 9, 47, 48, -1, 50, 1006, 1007,
! -1, -1, 1010, 56, -1, -1, 59, 60, 1095, 1017,
! 63, 1098, 65, 1021, -1, 1023, 32, 1025, 1026, 1027,
! 73, -1, -1, 1031, -1, 1033, -1, -1, -1, -1,
! 83, -1, -1, 49, -1, -1, -1, -1, 91, -1,
! 56, -1, 95, 59, 60, -1, -1, -1, 3, 4,
! 5, 6, 1139, 1140, -1, -1, -1, 73, 111, 70,
! 71, 72, 73, 74, 75, 76, 77, 83, 79, 80,
! 81, 82, 83, 84, 85, 86, 87, 32, -1, 95,
! 96, -1, -1, -1, 1092, -1, 1094, 1095, 43, -1,
! -1, -1, -1, -1, 49, -1, -1, -1, -1, -1,
! -1, 56, -1, -1, 59, 60, -1, -1, -1, -1,
! -1, 3, 4, 5, 6, -1, -1, -1, 73, 1127,
! 1128, 1129, 1130, 1131, 1132, 1133, -1, -1, 83, 1137,
! -1, 1139, 1140, 1141, 1221, -1, 91, 1145, -1, -1,
! 95, 96, 1150, 1151, 1152, 1153, -1, -1, -1, -1,
! -1, 43, 1239, -1, 1241, -1, 1164, -1, -1, 1167,
! -1, -1, 1170, 1171, 56, 1173, -1, 59, 60, -1,
! 1178, 1179, -1, 1181, -1, -1, -1, -1, -1, -1,
! -1, 73, -1, -1, -1, -1, 1194, -1, 1196, 4,
! 5, 83, -1, 8, 9, -1, -1, -1, 1206, 91,
! 15, -1, -1, 95, -1, -1, -1, -1, 4, -1,
! -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
! -1, -1, -1, 38, -1, 1233, 1234, -1, 1236, -1,
! -1, -1, 47, 1241, 49, 31, 32, -1, 34, 1247,
! 36, 56, -1, -1, 59, 60, -1, 1255, -1, 45,
! -1, -1, -1, -1, -1, 1263, 1264, 1265, 73, -1,
! -1, -1, 58, -1, 60, 75, 76, 77, 83, 79,
! 80, 81, 82, 83, 84, 85, 86, 87, -1, -1,
! 95, 96, -1, -1, -1, 81, 1294, -1, 84, -1,
! -1, -1, -1, -1, -1, -1, 1304, 1305, 1306, 1307,
! 1308, 1309, -1, -1, 1312, 1313, 74, 75, 76, 77,
! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
! 1328, 1329, 1330, 1331, 1332, -1, -1, -1, 1336, -1,
! -1, -1, -1, 1341, -1, -1, -1, 1345, -1, -1,
! -1, 137, 138, -1, 140, -1, 1354, -1, -1, -1,
! 146, 147, -1, -1, 150, 151, 152, -1, -1, 155,
! 156, 157, -1, -1, -1, -1, 162, 1375, -1, -1,
! -1, -1, -1, -1, -1, 171, -1, -1, -1, 175,
! -1, -1, -1, -1, -1, 181, 182, -1, -1, 1,
! -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
! -1, -1, -1, 15, 200, 201, 202, -1, -1, -1,
! -1, -1, -1, -1, 210, -1, -1, 29, -1, 31,
! 32, -1, -1, -1, -1, -1, 38, -1, -1, 1437,
! 1438, 43, 1440, 229, 1442, 47, 1444, -1, 50, -1,
! -1, -1, -1, -1, 56, -1, -1, 59, 60, -1,
! -1, 63, 1460, -1, -1, -1, -1, 1465, -1, -1,
! 1468, 73, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 83, -1, 269, -1, -1, -1, -1, -1, 91,
! 276, 76, 77, 95, 79, 80, 81, 82, 83, 84,
! 85, 86, 87, 1501, 1502, 1503, 1504, 1505, -1, -1,
! -1, -1, -1, 1511, -1, -1, -1, -1, -1, -1,
! 3, 4, 5, 6, 7, 8, 9, -1, 1605, -1,
! 13, -1, 15, 75, 76, 77, 78, 79, 80, 81,
! 82, 83, 84, 85, 86, 87, 29, -1, 31, 32,
! 83, -1, -1, -1, -1, 38, -1, 343, -1, 1557,
! 43, 1559, -1, -1, 47, -1, 49, 3, 4, 5,
! 6, -1, -1, 56, 360, -1, 59, 60, -1, -1,
! -1, -1, 368, -1, -1, -1, -1, -1, 374, -1,
! 73, -1, -1, -1, -1, -1, 32, -1, -1, -1,
! 83, -1, 388, 1601, -1, -1, -1, 43, 91, -1,
! -1, -1, 95, 96, 1612, 1613, 1614, -1, -1, -1,
! 56, -1, -1, 59, 60, -1, -1, 413, -1, -1,
! -1, -1, 165, 1710, 1711, -1, -1, 73, -1, 425,
! -1, -1, -1, -1, -1, -1, -1, 83, 434, -1,
! 436, -1, -1, -1, -1, 91, -1, 443, 444, 95,
! -1, 447, -1, -1, -1, 198, -1, 453, 454, 455,
! -1, 1669, -1, 459, -1, -1, -1, -1, 211, -1,
! -1, 467, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
! -1, -1, -1, -1, -1, 15, -1, 493, 494, 495,
! 496, -1, 1710, 1711, 1712, 501, -1, -1, -1, 29,
! -1, 31, 32, 509, 510, 1723, -1, 513, 38, 515,
! 516, 517, 518, 43, -1, -1, 522, 47, -1, 49,
! -1, 527, -1, -1, 530, -1, 56, -1, -1, 59,
! 60, 3, 4, 5, 6, -1, -1, 9, -1, -1,
! -1, -1, -1, 73, -1, -1, -1, -1, -1, 4,
! -1, -1, -1, 83, -1, -1, -1, -1, 564, -1,
! 32, 91, -1, -1, -1, 95, 96, -1, -1, -1,
! -1, 43, -1, -1, -1, -1, 31, 32, -1, 34,
! -1, 36, -1, -1, 56, -1, -1, 59, 60, -1,
! 45, -1, 3, 4, 5, 6, 7, 8, 9, -1,
! -1, 73, -1, 58, 15, 60, 612, -1, 614, -1,
! -1, 83, -1, -1, -1, -1, -1, -1, 29, 91,
! 31, 32, -1, 95, 630, 631, 632, 38, -1, 84,
! -1, -1, 43, -1, -1, -1, 47, -1, -1, 645,
! -1, -1, -1, -1, -1, 56, -1, -1, 59, 60,
! -1, -1, 63, -1, -1, 71, 72, 73, 74, 75,
! 76, 77, 73, 79, 80, 81, 82, 83, 84, 85,
! 86, 87, 83, -1, -1, -1, -1, -1, -1, -1,
! 91, -1, -1, -1, 95, 140, 692, -1, -1, -1,
! -1, 146, 147, -1, -1, -1, 151, 152, 704, -1,
! 155, 156, 157, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 4, 5, -1, 171, -1, 9, -1,
! 175, 727, -1, -1, -1, -1, 181, 182, 76, 77,
! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
! -1, 32, -1, -1, -1, 200, 201, 202, -1, -1,
! 3, 4, 5, 6, 7, 8, 9, -1, 49, -1,
! 13, -1, 15, -1, -1, 56, -1, 520, 59, 60,
! 776, -1, 525, -1, 229, -1, 29, 783, 31, 32,
! -1, -1, 73, -1, -1, 38, 792, -1, -1, -1,
! 43, -1, 83, -1, 47, -1, -1, -1, -1, -1,
! -1, 554, -1, 56, 95, 96, 59, 60, 561, -1,
! -1, -1, -1, -1, 269, -1, -1, -1, -1, -1,
! 73, -1, -1, -1, -1, -1, 832, 833, 834, -1,
! 83, -1, -1, 839, 840, -1, 842, -1, 91, -1,
! -1, -1, 95, 3, 4, 5, 6, -1, -1, 9,
! 856, 604, 605, -1, 607, 861, -1, -1, 864, 865,
! 866, 867, 868, 869, -1, -1, -1, 873, -1, -1,
! -1, -1, 32, -1, 880, -1, 3, 4, 5, 6,
! 7, 8, 9, 43, -1, -1, -1, -1, 15, -1,
! -1, -1, -1, -1, -1, 901, 56, -1, -1, 59,
! 60, -1, 29, -1, 31, 32, -1, -1, -1, -1,
! -1, 38, -1, 73, 369, -1, 43, 4, 5, 374,
! 47, 8, 9, 83, -1, -1, -1, -1, 15, 56,
! -1, 91, 59, 60, 389, 95, -1, -1, 65, -1,
! -1, -1, -1, -1, -1, 32, 73, 700, 701, -1,
! -1, 38, 705, -1, -1, -1, 83, -1, -1, -1,
! 47, -1, 49, -1, 91, -1, -1, -1, 95, 56,
! 425, -1, 59, 60, -1, -1, -1, -1, -1, 434,
! -1, -1, -1, -1, -1, -1, 73, -1, -1, 444,
! -1, -1, 447, -1, -1, -1, 83, -1, -1, -1,
! -1, -1, -1, -1, 459, -1, -1, -1, 95, 96,
! -1, -1, 467, -1, -1, -1, -1, -1, -1, 1025,
! 1026, 1027, -1, -1, -1, 1031, 1032, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 493, 494,
! 495, 496, -1, -1, -1, -1, 501, -1, -1, -1,
! -1, -1, -1, -1, 509, 510, -1, -1, 513, -1,
! 515, 516, 517, -1, -1, -1, -1, 522, -1, -1,
! -1, -1, 527, -1, -1, 530, -1, -1, -1, -1,
! -1, -1, -1, 836, 34, 4, 5, -1, -1, 8,
! 9, -1, -1, -1, -1, -1, 15, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 58, 564,
! 29, -1, 31, 32, -1, -1, -1, -1, 871, 38,
! -1, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 47, 1135,
! -1, 1137, 1138, 1139, 1140, 1141, -1, 56, -1, 1145,
! 59, 60, 3, 4, 5, 6, 7, 8, 9, -1,
! -1, -1, -1, -1, 15, -1, -1, -1, 911, -1,
! 913, -1, -1, -1, 1170, 1171, -1, 1173, 29, -1,
! 31, 32, 1178, 1179, -1, 1181, 95, 38, -1, -1,
! -1, -1, 43, -1, -1, -1, 47, -1, -1, -1,
! -1, -1, 4, 5, -1, 56, 8, 9, 59, 60,
! -1, -1, 63, 15, -1, 155, 156, 157, -1, -1,
! -1, -1, 73, -1, -1, -1, -1, 29, -1, 31,
! 32, -1, 83, -1, -1, -1, 38, -1, -1, -1,
! 91, 181, -1, -1, 95, 47, 989, 990, 693, 992,
! -1, -1, -1, -1, 56, -1, -1, 59, 60, 61,
! 200, 201, 202, -1, -1, -1, -1, 1263, 1264, 1265,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 1022,
! -1, -1, 727, -1, -1, -1, 4, 5, -1, 229,
! 8, 9, -1, 95, -1, -1, -1, 15, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 1304, 1305,
! 1306, 1307, 1308, 1309, 32, -1, 1312, 1313, -1, -1,
! 38, -1, -1, -1, -1, -1, -1, -1, -1, 47,
! -1, 49, -1, -1, -1, -1, -1, -1, 56, -1,
! -1, 59, 60, -1, -1, -1, -1, 792, -1, 1345,
! -1, -1, -1, -1, -1, 73, 3, 4, 5, 6,
! 7, 8, 9, -1, -1, 83, -1, -1, 15, -1,
! 1366, 1367, 312, -1, -1, -1, -1, 95, 96, 1375,
! -1, -1, 29, -1, 31, 32, -1, 832, 833, 834,
! -1, 38, -1, 1136, -1, 840, 43, 842, -1, -1,
47, -1, -1, -1, -1, -1, -1, -1, -1, 56,
! -1, -1, 59, 60, -1, -1, 861, -1, -1, -1,
! 865, 866, 362, 363, 364, -1, 73, -1, 873, -1,
! 3, 4, 5, 6, -1, 880, 83, -1, -1, -1,
! -1, -1, -1, -1, 91, -1, -1, -1, 95, 3,
! 4, 5, 6, 7, 8, 9, 901, -1, -1, 32,
! -1, 15, -1, -1, 1460, -1, -1, 1463, -1, 1465,
! 43, -1, 1468, -1, -1, 29, -1, 31, 32, -1,
! -1, -1, -1, 56, 38, 425, 59, 60, -1, 43,
! -1, -1, -1, 47, -1, -1, -1, -1, -1, -1,
! 73, -1, 56, -1, -1, 59, 60, -1, 1251, -1,
! 83, -1, -1, -1, -1, -1, -1, -1, 91, 73,
! -1, -1, 95, -1, -1, -1, -1, -1, -1, 83,
-1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
! -1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 493, -1, 495, 496, 497, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, 1310, -1, 509,
! 510, -1, -1, 513, -1, 515, 516, 517, 518, -1,
! 4, 5, 522, 7, 8, 9, -1, 527, 1033, 13,
! 530, 15, -1, -1, -1, -1, -1, 1340, -1, -1,
! -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
! 1353, -1, -1, -1, 38, -1, 1612, 1613, 1614, -1,
! -1, -1, -1, 47, -1, 49, -1, -1, -1, -1,
! -1, -1, 56, -1, -1, 59, 60, 1380, -1, -1,
! -1, 1384, -1, 72, 73, 74, 75, 76, 77, 73,
! 79, 80, 81, 82, 83, 84, 85, 86, 87, 83,
! -1, -1, -1, -1, -1, -1, -1, 58, -1, -1,
! -1, 95, 96, 1669, -1, -1, 1419, -1, -1, -1,
! -1, -1, 1127, 1128, 1129, 1130, 1131, 1132, -1, -1,
! 81, -1, 1137, 84, 1139, 1140, 1141, -1, -1, -1,
! 1145, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1710, 1711, 1712, 108, -1, 110,
! -1, -1, -1, -1, -1, 1170, 1171, 1723, 1173, 1472,
! 1473, -1, -1, 1178, 1179, -1, 1181, -1, -1, -1,
! -1, 681, 3, 4, 5, 6, 7, 8, 9, -1,
! -1, -1, -1, -1, 15, 695, 696, 697, -1, -1,
! -1, -1, -1, -1, 704, -1, 1509, 1510, -1, -1,
! -1, 32, 1515, -1, -1, -1, -1, 38, -1, -1,
! -1, -1, 43, -1, -1, -1, 47, 727, 49, -1,
! 181, -1, -1, -1, -1, 56, -1, -1, 59, 60,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 200,
! 201, 202, 73, -1, -1, -1, -1, -1, -1, 210,
! 4, 5, 83, 7, 8, 9, 3, 4, 5, 6,
! 91, 15, 9, -1, 95, -1, -1, -1, 229, -1,
! -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
! -1, -1, 792, -1, 38, 32, -1, -1, -1, 1304,
! 1305, 1306, -1, 47, -1, 256, 43, 1312, 1313, -1,
! -1, -1, 56, -1, -1, 59, 60, -1, -1, 56,
! -1, 1624, 59, 60, -1, 276, -1, -1, -1, -1,
! -1, -1, 832, 833, 834, -1, 73, -1, -1, -1,
! 1345, -1, 842, -1, -1, -1, 83, -1, -1, -1,
! -1, -1, -1, -1, 91, 4, 5, -1, 95, -1,
! 9, 861, 1367, -1, 864, 865, 866, 867, 868, 869,
! 1375, -1, -1, 873, -1, -1, -1, -1, -1, -1,
! 880, -1, -1, 32, -1, -1, -1, 3, 4, 5,
! 6, -1, -1, 9, -1, -1, 3, 4, 5, 6,
! 49, -1, 9, -1, -1, -1, -1, 56, -1, -1,
! 59, 60, -1, -1, -1, -1, 32, 368, 369, 919,
! 920, 921, -1, -1, 73, 32, -1, 43, -1, -1,
! -1, -1, 932, -1, 83, -1, 43, 388, 389, -1,
! 56, -1, -1, 59, 60, -1, 95, 96, -1, 56,
! -1, -1, 59, 60, -1, 1460, -1, 73, -1, -1,
! 1465, -1, -1, 1468, -1, -1, 73, 83, -1, -1,
! -1, -1, -1, -1, 425, 91, 83, -1, -1, 95,
! -1, -1, -1, 196, 91, -1, -1, -1, 95, -1,
! 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 1006, 1007, -1, -1,
! 1010, -1, -1, -1, -1, -1, -1, -1, -1, 32,
! -1, 1021, -1, -1, -1, 1025, 1026, 1027, -1, -1,
! 43, 1031, 3, 4, 5, 6, -1, -1, -1, -1,
! -1, -1, 493, 56, 495, 496, 59, 60, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 509, 510,
! 73, 32, 513, -1, 515, 516, 517, 518, -1, -1,
! 83, 522, 43, -1, -1, -1, 527, -1, 91, 530,
! -1, -1, 95, -1, -1, 56, -1, -1, 59, 60,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 73, -1, -1, -1, -1, 1612, 1613, 1614,
! -1, -1, 83, -1, -1, -1, -1, -1, -1, -1,
! 91, -1, -1, -1, 95, -1, -1, 1127, 1128, 1129,
! 1130, 1131, 1132, 1133, -1, -1, -1, 1137, -1, 1139,
! 1140, 1141, -1, 3, 4, 5, 6, -1, -1, -1,
! -1, 1151, 1152, 1153, -1, -1, -1, -1, 3, 4,
! 5, 6, -1, -1, 1669, -1, -1, -1, -1, 382,
! 1170, -1, 32, -1, -1, -1, -1, -1, 1178, -1,
! -1, -1, -1, 43, -1, -1, -1, 32, -1, -1,
! -1, -1, 3, 4, 5, 6, 56, -1, 43, 59,
! 60, -1, -1, -1, -1, 1710, 1711, 1712, -1, -1,
! -1, 56, -1, 73, 59, 60, -1, -1, 1723, -1,
! -1, -1, -1, 83, -1, -1, -1, -1, 73, -1,
! -1, 91, 43, 1233, 1234, 95, 1236, -1, 83, -1,
! -1, 111, 112, -1, -1, 56, 91, 1247, 59, 60,
! 95, -1, -1, -1, 65, 1255, 707, 708, -1, -1,
! -1, -1, 73, 1263, 1264, 1265, -1, -1, -1, -1,
! 483, 484, 83, -1, -1, -1, 727, -1, -1, -1,
! 91, -1, -1, -1, 95, -1, -1, 3, 4, 5,
! 6, -1, -1, -1, -1, -1, -1, -1, 3, 4,
! 5, 6, -1, -1, 1304, 1305, 1306, 1307, 1308, 1309,
! -1, -1, 1312, 1313, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 196, 43, 1328, 1329,
! 1330, 1331, 1332, -1, -1, -1, -1, -1, 43, -1,
! 56, 792, -1, 59, 60, 1345, -1, -1, -1, 65,
! -1, 56, -1, -1, 59, 60, -1, 73, -1, -1,
! 65, -1, -1, -1, -1, -1, -1, 83, 73, -1,
! -1, -1, -1, -1, -1, 91, -1, -1, 83, 95,
! -1, 832, 833, 834, -1, -1, 91, -1, 839, 840,
! 95, 842, -1, -1, -1, -1, -1, -1, 611, -1,
! -1, -1, -1, -1, -1, 618, -1, -1, -1, -1,
! 861, -1, -1, 864, 865, 866, 867, 868, 869, 870,
! -1, -1, 873, 4, 5, -1, 7, 8, 9, 880,
! -1, 644, 13, -1, 15, -1, -1, 1437, 1438, -1,
! 1440, -1, -1, -1, 1444, -1, -1, -1, 29, 900,
! 31, 32, -1, -1, -1, -1, 669, 38, -1, -1,
! 1460, -1, 675, -1, 677, 678, 47, -1, -1, -1,
! -1, -1, -1, 343, -1, 56, -1, -1, 59, 60,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 704, -1, -1, -1, -1, -1, -1, 711, -1,
! -1, 1501, 1502, 1503, 1504, 1505, -1, -1, 721, 71,
! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
! 82, 83, 84, 85, 86, 87, -1, 740, 741, 742,
! 743, -1, 745, 746, 747, 748, 749, 750, 751, 752,
! 753, 754, 755, 756, 757, 758, 759, 760, 761, 762,
! 763, 4, 5, 423, 7, 8, 9, -1, -1, 1559,
! 13, -1, 15, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 29, -1, 31, 32,
! -1, 1032, 1033, 1034, -1, 38, -1, -1, -1, -1,
! -1, -1, 13, -1, 47, -1, -1, -1, -1, -1,
-1, -1, -1, 56, -1, -1, 59, 60, -1, -1,
! 823, -1, 1612, -1, 1614, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 842,
! -1, 501, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 856, 65, 66, 67, 68, 69, 70,
! 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
! 81, 82, 83, 84, 85, 86, 87, -1, -1, 1669,
! -1, -1, -1, -1, -1, -1, 1127, 1128, 1129, 1130,
! 1131, 1132, 1133, -1, 1135, -1, 1137, 1138, 1139, 1140,
! 1141, -1, -1, -1, 1145, -1, -1, -1, -1, -1,
! 1151, 1152, 1153, 4, 5, -1, -1, 8, 9, -1,
! 1710, 1711, 1712, -1, 15, -1, -1, -1, -1, -1,
! -1, -1, -1, 1723, -1, -1, -1, 1178, 29, -1,
! 31, 32, -1, -1, -1, -1, 949, 38, -1, -1,
! -1, -1, 612, -1, 614, -1, 47, -1, -1, 619,
! 620, 621, 622, 623, -1, 56, -1, -1, 59, 60,
! -1, -1, 632, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 986, 987, 645, -1, -1, -1, -1,
! -1, -1, -1, -1, 14, -1, -1, -1, 1001, -1,
! 1003, -1, 1005, 23, 24, -1, -1, -1, -1, -1,
! -1, 31, 32, -1, 34, -1, -1, -1, 678, -1,
! -1, -1, -1, -1, -1, -1, -1, 4, 5, -1,
! -1, 8, 9, -1, -1, -1, -1, 697, 15, -1,
! -1, -1, -1, 1046, 704, -1, -1, -1, 68, -1,
! -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
! -1, 38, -1, 1304, 1305, 1306, 1307, 1308, 1309, -1,
! 47, 1312, 1313, -1, -1, -1, 1079, -1, -1, 56,
! -1, -1, 59, 60, -1, -1, -1, 1328, 1329, 1330,
! 1331, 1332, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1345, -1, -1, -1, 128, -1,
! 130, -1, -1, -1, 1117, -1, -1, 137, 138, -1,
! -1, -1, -1, -1, -1, 1366, 146, 147, -1, -1,
! 150, 151, 152, -1, 154, 155, 156, 157, -1, -1,
! -1, -1, -1, -1, 1147, 1148, 72, 73, 74, 75,
! 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
! 86, 87, -1, -1, -1, -1, 1169, -1, -1, -1,
! 362, 363, 364, -1, 834, -1, -1, -1, -1, -1,
! -1, -1, 842, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 1437, 1438, 1439, 1440,
! -1, -1, -1, 1444, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1217, 1218, -1, -1, -1, 1460,
! -1, -1, -1, -1, -1, 245, 246, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
! 86, 87, -1, -1, 904, -1, -1, -1, -1, 269,
! 910, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1501, 1502, 1503, 1504, 1505, -1, -1, -1, -1, -1,
! -1, -1, 1275, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 312, 1296, -1, 1298, -1, 1300, -1, 1302,
! -1, 493, -1, 495, 496, 497, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 1559, -1,
! -1, -1, -1, 983, -1, -1, -1, -1, -1, -1,
! 1333, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 360, -1, 362, 363, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1357, -1, -1, 1017, -1, -1,
! -1, -1, -1, 1023, -1, -1, -1, 1027, -1, -1,
! -1, 1612, -1, 1614, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 1395, 413, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 434, -1, 436, -1, -1, -1,
! -1, 1424, -1, -1, 444, -1, -1, 447, 1669, -1,
! -1, -1, 1092, -1, 1094, -1, -1, -1, -1, 459,
! -1, -1, -1, 1446, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 1456, 1457, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 1710,
! 1711, 1712, 1132, -1, -1, -1, -1, -1, -1, -1,
! -1, 1141, 1723, 1486, -1, -1, -1, -1, -1, -1,
! 1150, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 695, 696, 697, -1, -1, -1, -1,
! -1, -1, 704, -1, -1, -1, -1, -1, -1, 1522,
! -1, -1, -1, -1, -1, -1, -1, -1, 548, 549,
! -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1,
! -1, -1, -1, -1, 564, -1, 1206, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1567, 1568, -1, -1, -1, -1,
! -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 606, -1, 608, -1,
! -1, 1594, -1, -1, -1, -1, -1, -1, -1, -1,
! 792, -1, -1, -1, -1, 1265, 66, 67, 68, 69,
! 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
! 80, 81, 82, 83, 84, 85, 86, 87, -1, 1632,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 832, 833, 834, -1, -1, -1, -1, -1, -1, 1309,
! 842, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 681, -1, -1, -1, -1, 1669, -1, -1, -1,
! -1, -1, 692, 693, -1, 695, 696, -1, -1, -1,
! -1, 1341, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 1694, -1, -1, 1354, 66, 67, 68, 69, 70,
! 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
! 81, 82, 83, 84, 85, 86, 87, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
! 932, -1, 113, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 776, -1, -1, -1,
! 109, -1, -1, 783, 784, -1, -1, -1, -1, -1,
! -1, -1, -1, 793, -1, -1, -1, -1, -1, -1,
! -1, -1, 1442, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 818, -1,
! -1, -1, 1805, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1006, 1007, -1, -1, 1010, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 1021,
! -1, -1, -1, 1025, 1026, 1027, -1, -1, -1, 1031,
! -1, -1, -1, 1503, -1, -1, -1, -1, 62, -1,
! -1, 1511, 66, 67, 68, 69, 70, 71, 72, 73,
! 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
! 84, 85, 86, 87, -1, -1, -1, -1, -1, -1,
! 900, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, 1557, -1, 919,
! 920, 921, 922, -1, -1, -1, -1, -1, -1, 62,
! -1, -1, 932, 66, 67, 68, 69, 70, 71, 72,
! 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
! 83, 84, 85, 86, 87, 1127, 1128, 1129, 1130, 1131,
! 1132, 1133, -1, -1, -1, 1137, -1, 1139, 1140, 1141,
! 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
! 85, 86, 87, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 1006, 1007, -1, -1,
! 1010, -1, -1, -1, -1, 1, -1, 3, 4, 5,
! 6, 1021, 8, 9, 10, 11, 12, -1, 14, 15,
! -1, 1031, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
! 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
! -1, 47, -1, -1, -1, 51, 52, 53, 54, 55,
! 56, -1, 1712, 59, 60, 1247, -1, 63, 64, -1,
! -1, -1, -1, 1255, 70, -1, -1, 73, -1, -1,
! -1, 1263, 1264, 1265, -1, 81, 82, 83, -1, -1,
! -1, -1, -1, 89, 90, 91, -1, -1, -1, 95,
! -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
! 4, 5, 6, 7, 8, 9, 112, -1, -1, 13,
! -1, 15, 1304, 1305, 1306, 1307, 1308, 1309, -1, -1,
! 1312, 1313, 26, -1, 28, -1, -1, -1, 32, -1,
! -1, -1, -1, -1, 38, -1, -1, -1, -1, 43,
! -1, -1, -1, 47, 1164, 49, -1, 1167, -1, -1,
! 1170, -1, 56, -1, -1, 59, 60, 61, 62, 63,
! -1, 65, 66, 67, 68, 69, 70, 71, 72, 73,
! 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
! 84, 85, 86, 87, -1, 89, 90, 91, -1, 93,
! 94, 95, 96, 97, -1, -1, -1, -1, -1, 103,
! 104, -1, -1, -1, -1, 109, 110, 111, -1, 113,
! -1, -1, -1, 1233, 1234, -1, 1236, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, 1247, -1, -1,
! -1, -1, -1, -1, -1, 1255, -1, -1, -1, -1,
! -1, -1, -1, 1263, 1264, 1437, 1438, -1, 1440, -1,
! 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
! -1, 14, 15, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1294, -1, 29, 30, 31, 32,
! 33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
! 43, 44, 45, -1, 47, -1, 49, -1, 51, 52,
! 53, 54, 55, 56, -1, -1, 59, 60, -1, 1501,
! 1502, 1503, 1504, 1505, -1, -1, 1336, 70, -1, -1,
! 73, -1, -1, -1, -1, -1, -1, -1, 81, 82,
! 83, -1, -1, -1, -1, -1, 89, 90, 91, -1,
! -1, -1, 95, 96, -1, -1, -1, 1367, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
! -1, -1, -1, -1, -1, -1, 1, 1559, 3, 4,
! 5, 6, 7, 8, 9, 10, 11, 12, -1, 14,
! 15, 16, -1, 18, 19, 20, 21, 22, 23, 24,
! 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
! 35, 36, 37, 38, -1, 40, 41, 42, 43, 44,
! 45, 46, 47, 48, -1, -1, 51, 52, 53, 54,
! 55, 56, -1, -1, 59, 60, 61, -1, 63, 64,
! -1, -1, -1, -1, -1, 70, -1, -1, 73, -1,
! -1, -1, -1, 1463, -1, 1465, 81, 82, 83, -1,
! -1, -1, -1, -1, 89, 90, 91, -1, -1, -1,
! 95, -1, 97, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 111, 112, 1, -1,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, 14, 15, 16, -1, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, -1, -1, 51, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, -1,
! 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
73, -1, -1, -1, -1, -1, -1, -1, 81, 82,
83, -1, -1, -1, -1, -1, 89, 90, 91, -1,
! -1, -1, 95, 1, 97, 3, 4, 5, 6, 7,
! 8, 9, 10, 11, 12, 13, 14, 15, -1, 112,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
! 38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
! -1, 49, -1, 51, 52, 53, 54, 55, 56, -1,
! -1, 59, 60, 61, -1, -1, 64, -1, -1, -1,
! -1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
! -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
! -1, 89, 90, 91, -1, -1, -1, 95, 96, 1,
! -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
! 12, 13, 14, 15, 112, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
! 32, 33, -1, 35, 36, 37, 38, -1, 40, 41,
! 42, 43, 44, 45, -1, 47, -1, 49, -1, 51,
! 52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
! -1, -1, 64, -1, -1, -1, -1, -1, 70, -1,
! -1, 73, -1, -1, -1, -1, -1, -1, -1, 81,
! 82, 83, -1, -1, -1, -1, -1, 89, 90, 91,
! -1, -1, -1, 95, 96, 1, -1, 3, 4, 5,
! 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
-1, 47, -1, -1, -1, 51, 52, 53, 54, 55,
! 56, -1, -1, 59, 60, -1, -1, -1, 64, -1,
-1, -1, -1, -1, 70, -1, -1, 73, -1, -1,
-1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
-1, -1, -1, 89, 90, 91, -1, -1, 1, 95,
! 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
! -1, 14, 15, -1, 110, -1, 112, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
43, 44, 45, -1, 47, -1, -1, -1, 51, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, -1,
! 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
73, -1, -1, -1, -1, -1, -1, -1, 81, 82,
83, -1, -1, -1, -1, -1, 89, 90, 91, -1,
! -1, 1, 95, 3, 4, 5, 6, -1, 8, 9,
! 10, 11, 12, -1, 14, 15, -1, -1, -1, 112,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
! 30, 31, -1, 33, -1, 35, 36, 37, 38, -1,
! 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
! -1, 51, 52, 53, 54, 55, 56, -1, -1, 59,
! 60, 61, -1, -1, 64, -1, -1, -1, -1, -1,
! 70, -1, -1, 73, -1, -1, -1, -1, -1, -1,
! -1, 81, 82, 83, -1, -1, -1, -1, -1, 89,
! 90, 91, -1, -1, -1, 95, 96, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 111, 112, 1, -1, 3, 4, 5, 6, -1,
8, 9, 10, 11, 12, -1, 14, 15, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
-1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, -1, -1, 64, -1, -1, -1,
-1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
-1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
! -1, 89, 90, 91, -1, -1, 1, 95, 3, 4,
! 5, 6, -1, 8, 9, 10, 11, 12, -1, 14,
! 15, -1, -1, -1, 112, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
! 35, 36, 37, 38, -1, 40, 41, 42, 43, 44,
! 45, -1, 47, -1, -1, -1, 51, 52, 53, 54,
! 55, 56, -1, -1, 59, 60, 61, -1, -1, 64,
! -1, -1, -1, -1, -1, 70, -1, -1, 73, -1,
! -1, -1, -1, -1, -1, -1, 81, 82, 83, -1,
! -1, -1, -1, -1, 89, 90, 91, -1, -1, -1,
! 95, 96, 1, -1, 3, 4, 5, 6, -1, 8,
! 9, 10, 11, 12, -1, 14, 15, 112, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 29, 30, 31, -1, 33, -1, 35, 36, 37, 38,
! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
! -1, -1, 51, 52, 53, 54, 55, 56, -1, -1,
! 59, 60, 61, -1, -1, 64, -1, -1, -1, -1,
! -1, 70, -1, -1, 73, -1, -1, -1, -1, -1,
! -1, -1, 81, 82, 83, -1, -1, -1, -1, -1,
! 89, 90, 91, -1, -1, -1, 95, 1, -1, 3,
! 4, 5, 6, 102, 8, 9, 10, 11, 12, -1,
! 14, 15, -1, 112, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
-1, 35, 36, 37, 38, -1, 40, 41, 42, 43,
44, 45, -1, 47, -1, -1, -1, 51, 52, 53,
--- 1090,3941 ----
1, 2, 2, 2, 2, 1, 1, 1, 1, 2,
2, 3, 3, 3, 4, 1, 2, 2, 1, 1,
2, 2, 2, 1, 2, 2, 3, 1, 2, 2,
! 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
! 4, 1, 1, 1, 1, 3, 1, 3, 1, 3,
! 0, 4, 0, 6, 3, 0, 4, 1, 3, 3,
! 0, 4, 3, 0, 1, 1, 2, 6, 1, 3,
! 0, 1, 4, 6, 4, 1, 1, 1, 1, 1,
! 3, 0, 2, 1, 2, 3, 4, 1, 1, 3,
! 4, 3, 5, 3, 3, 3, 0, 3, 3, 3,
! 0, 2, 2, 0, 6, 0, 5, 2, 2, 2,
! 0, 0, 0, 11, 1, 0, 1, 0, 1, 1,
! 2, 2, 2, 2, 2, 2, 3, 4, 3, 2,
! 3, 4, 1, 2, 1, 2, 2, 2, 2, 3,
! 3, 2, 0, 2, 3, 1, 4, 1, 3, 1,
! 1, 2, 2, 3, 3, 0, 1, 3, 2, 2,
! 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
! 2, 3, 1, 2, 2, 4, 4, 2, 1, 5,
! 4, 1, 0, 1, 3, 0, 1, 3, 1, 1,
! 1, 1, 4, 4, 4, 4, 4, 3, 4, 4,
! 4, 4, 3, 2, 1, 1, 3, 1, 3, 2,
! 1, 6, 0, 2, 1, 2, 1, 2, 3, 3,
! 1, 3, 1, 2, 3, 3, 2, 2, 3, 1,
! 4, 4, 3, 3, 2, 1, 1, 2, 1, 1,
! 2, 2, 1, 2, 3, 3, 2, 2, 3, 1,
! 3, 3, 2, 2, 3, 1, 4, 3, 4, 3,
! 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
! 4, 4, 2, 1, 1, 1, 1, 2, 4, 3,
! 3, 2, 2, 2, 2, 1, 2, 2, 2, 2,
! 3, 1, 2, 3, 4, 2, 2, 2, 2, 2,
! 2, 4, 2, 1, 2, 2, 3, 1, 3, 2,
! 3, 2, 2, 3, 1, 3, 4, 1, 2, 3,
! 2, 2, 1, 3, 2, 2, 1, 2, 3, 1,
! 3, 6, 4, 4, 3, 5, 3, 3, 3, 2,
! 1, 1, 2, 2, 2, 0, 1, 1, 2, 3,
! 0, 4, 1, 0, 0, 5, 1, 0, 3, 1,
! 2, 1, 2, 0, 4, 1, 0, 0, 5, 0,
! 0, 7, 0, 0, 0, 0, 12, 0, 0, 7,
! 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
! 6, 8, 10, 8, 12, 10, 10, 4, 3, 2,
! 2, 1, 1, 1, 1, 1, 0, 0, 5, 0,
! 0, 5, 1, 2, 0, 0, 0, 5, 1, 1,
! 3, 3, 2, 2, 2, 2, 2, 1, 2, 0,
! 1, 0, 1, 1, 0, 1, 1, 3, 4, 7,
! 1, 3, 0, 1, 1, 1, 2, 2, 2, 1,
! 2, 2, 0, 3, 1, 1, 1, 2, 2, 2,
! 4, 2, 2, 2, 2, 2, 2, 1, 2, 1,
! 2, 1, 1, 0, 0, 1, 5, 3, 0, 3,
! 0, 0, 4, 2, 1, 1, 1, 3, 0, 3,
! 3, 3, 1, 0, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
! 3, 3, 3, 3, 3, 3, 3, 4, 3, 3,
! 3, 3, 4, 3, 3, 5, 5, 4, 3, 0
};
static const short yydefact[] = { 3,
! 12, 12, 5, 0, 4, 0, 313, 674, 675, 0,
! 420, 436, 615, 0, 11, 434, 0, 0, 10, 520,
! 893, 0, 0, 0, 178, 708, 16, 314, 315, 88,
! 0, 0, 874, 0, 47, 0, 0, 13, 27, 0,
29, 8, 52, 53, 0, 18, 15, 95, 118, 92,
! 0, 676, 182, 334, 311, 335, 650, 0, 409, 0,
! 408, 0, 424, 0, 449, 617, 466, 435, 0, 533,
! 535, 515, 543, 419, 639, 437, 640, 116, 333, 661,
! 637, 0, 677, 613, 0, 89, 0, 312, 85, 87,
! 86, 189, 0, 682, 189, 683, 189, 316, 178, 151,
! 152, 153, 154, 155, 506, 508, 0, 704, 0, 509,
0, 0, 0, 152, 153, 154, 155, 25, 0, 0,
! 0, 0, 0, 0, 0, 510, 686, 0, 692, 0,
0, 0, 39, 0, 0, 33, 0, 0, 49, 0,
! 0, 189, 684, 0, 313, 617, 0, 648, 643, 0,
! 0, 0, 647, 0, 0, 0, 0, 334, 0, 325,
! 0, 0, 0, 333, 613, 30, 0, 28, 3, 48,
0, 68, 420, 0, 0, 8, 71, 67, 70, 95,
! 0, 0, 0, 435, 96, 14, 0, 464, 0, 0,
! 482, 93, 83, 685, 621, 0, 0, 613, 84, 0,
! 0, 0, 114, 0, 445, 399, 630, 400, 636, 0,
! 613, 422, 421, 82, 117, 410, 0, 447, 423, 115,
! 0, 416, 442, 443, 411, 426, 428, 431, 444, 0,
! 79, 467, 521, 522, 523, 524, 542, 160, 159, 161,
! 526, 534, 183, 530, 525, 0, 0, 536, 537, 538,
! 539, 874, 0, 616, 425, 618, 0, 461, 313, 675,
! 0, 314, 706, 182, 667, 668, 664, 642, 678, 0,
! 313, 315, 663, 641, 662, 638, 0, 894, 894, 894,
! 894, 894, 894, 894, 0, 894, 894, 894, 894, 894,
! 894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
! 894, 894, 894, 894, 894, 894, 894, 0, 894, 819,
! 424, 820, 889, 316, 615, 338, 341, 388, 432, 433,
! 0, 0, 0, 384, 382, 355, 386, 387, 0, 0,
! 0, 0, 0, 314, 307, 0, 0, 199, 198, 0,
! 200, 201, 0, 0, 202, 0, 0, 190, 191, 0,
! 257, 0, 285, 196, 337, 225, 0, 0, 339, 340,
! 0, 193, 406, 0, 0, 424, 407, 669, 367, 357,
! 0, 0, 881, 0, 0, 189, 0, 518, 504, 0,
! 0, 0, 705, 703, 283, 0, 203, 260, 204, 0,
! 0, 0, 471, 3, 23, 31, 700, 696, 697, 699,
! 701, 698, 151, 152, 153, 0, 154, 155, 688, 689,
! 693, 690, 687, 0, 313, 323, 324, 322, 666, 665,
! 35, 34, 51, 0, 168, 0, 0, 424, 166, 17,
! 0, 0, 189, 644, 618, 646, 0, 645, 152, 153,
! 309, 310, 329, 617, 0, 654, 328, 0, 653, 0,
! 336, 314, 315, 0, 0, 0, 327, 326, 658, 0,
! 0, 12, 0, 178, 9, 9, 74, 0, 69, 0,
! 0, 75, 78, 0, 463, 465, 132, 101, 807, 99,
! 390, 100, 135, 0, 0, 133, 94, 0, 850, 224,
! 0, 223, 845, 868, 0, 406, 424, 407, 0, 844,
! 846, 875, 857, 0, 0, 660, 0, 0, 882, 617,
! 0, 628, 623, 0, 627, 0, 0, 0, 0, 0,
! 613, 464, 0, 81, 0, 613, 635, 0, 413, 414,
! 0, 80, 464, 0, 0, 418, 417, 412, 429, 430,
! 451, 450, 189, 540, 541, 151, 154, 527, 531, 529,
! 0, 544, 511, 427, 464, 680, 613, 102, 0, 0,
! 0, 0, 681, 613, 108, 614, 0, 649, 675, 707,
! 182, 929, 0, 925, 0, 924, 922, 904, 909, 910,
! 894, 916, 915, 901, 902, 900, 919, 908, 905, 906,
! 907, 911, 912, 898, 899, 895, 896, 897, 921, 913,
! 914, 903, 920, 894, 917, 426, 613, 613, 0, 613,
! 0, 894, 189, 0, 247, 248, 0, 0, 0, 0,
! 0, 0, 308, 231, 228, 227, 229, 0, 0, 0,
! 0, 0, 337, 0, 930, 0, 226, 187, 188, 331,
! 0, 230, 0, 0, 258, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 348, 0, 350, 353,
+ 354, 392, 391, 0, 0, 0, 0, 0, 236, 611,
+ 0, 244, 389, 381, 0, 0, 874, 370, 373, 374,
+ 0, 0, 401, 727, 723, 0, 0, 613, 613, 613,
+ 403, 730, 0, 232, 0, 234, 0, 673, 405, 0,
+ 0, 404, 369, 0, 0, 364, 383, 195, 365, 385,
+ 670, 0, 366, 0, 0, 186, 186, 0, 176, 0,
+ 424, 174, 519, 608, 605, 0, 518, 606, 518, 0,
+ 284, 440, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 441, 477, 478, 479,
! 476, 0, 469, 472, 0, 3, 0, 691, 189, 694,
! 0, 43, 44, 0, 57, 0, 0, 0, 61, 65,
! 54, 873, 424, 57, 872, 63, 179, 164, 162, 179,
! 186, 332, 0, 652, 651, 336, 0, 655, 0, 20,
! 22, 95, 9, 9, 77, 76, 0, 137, 0, 930,
! 91, 90, 488, 0, 484, 483, 0, 622, 619, 849,
! 863, 852, 727, 723, 0, 864, 613, 867, 869, 0,
! 0, 865, 0, 866, 620, 848, 862, 851, 847, 876,
! 859, 870, 860, 853, 858, 659, 0, 673, 0, 657,
! 624, 618, 626, 625, 617, 0, 0, 0, 0, 0,
! 0, 613, 634, 0, 459, 458, 446, 633, 0, 882,
! 0, 629, 415, 448, 460, 438, 439, 464, 0, 528,
! 532, 674, 675, 874, 874, 676, 545, 546, 548, 874,
! 551, 550, 0, 0, 462, 882, 843, 189, 189, 679,
! 189, 882, 843, 613, 105, 613, 111, 894, 894, 918,
! 923, 889, 889, 889, 0, 928, 0, 0, 0, 0,
! 0, 0, 424, 0, 0, 0, 344, 0, 342, 343,
! 0, 0, 255, 192, 313, 674, 675, 314, 315, 0,
! 0, 489, 516, 0, 306, 305, 834, 833, 0, 303,
! 302, 300, 301, 299, 298, 297, 295, 296, 293, 294,
! 288, 289, 290, 291, 292, 286, 287, 0, 0, 0,
! 0, 0, 0, 0, 238, 252, 0, 0, 237, 613,
! 613, 0, 613, 610, 715, 0, 0, 0, 0, 0,
! 372, 0, 376, 0, 378, 0, 617, 726, 725, 718,
! 722, 721, 873, 0, 0, 740, 0, 0, 882, 402,
! 882, 728, 613, 843, 0, 0, 0, 727, 723, 0,
! 0, 613, 0, 617, 0, 0, 0, 0, 197, 0,
! 877, 181, 185, 317, 179, 172, 170, 179, 0, 507,
! 519, 604, 0, 222, 221, 220, 219, 282, 281, 0,
! 279, 278, 276, 277, 275, 274, 273, 270, 271, 272,
! 268, 269, 263, 264, 265, 266, 267, 261, 262, 471,
! 0, 0, 26, 0, 0, 695, 0, 40, 46, 45,
! 59, 56, 49, 57, 0, 50, 0, 0, 58, 526,
! 0, 169, 179, 179, 167, 180, 331, 330, 19, 21,
! 73, 95, 452, 808, 150, 156, 143, 157, 158, 0,
! 0, 139, 0, 0, 0, 0, 485, 0, 134, 617,
! 726, 722, 727, 723, 0, 617, 637, 0, 613, 728,
! 0, 727, 723, 0, 337, 0, 669, 0, 871, 0,
! 0, 884, 0, 0, 0, 0, 456, 632, 631, 455,
! 186, 553, 552, 874, 874, 874, 0, 579, 675, 0,
! 569, 0, 0, 0, 582, 0, 131, 126, 0, 182,
! 583, 586, 0, 0, 561, 0, 129, 573, 104, 0,
! 0, 0, 0, 110, 0, 882, 843, 882, 843, 927,
! 926, 891, 890, 892, 318, 356, 0, 362, 363, 0,
! 0, 0, 0, 343, 346, 751, 0, 0, 0, 0,
! 256, 0, 347, 349, 352, 250, 249, 240, 0, 239,
! 254, 0, 0, 712, 710, 0, 713, 0, 245, 0,
! 0, 189, 379, 0, 0, 0, 719, 618, 724, 720,
! 731, 613, 739, 737, 738, 0, 729, 882, 0, 735,
! 0, 233, 235, 671, 672, 727, 723, 0, 368, 880,
! 177, 179, 179, 175, 609, 607, 505, 0, 470, 468,
! 313, 0, 24, 32, 702, 60, 55, 62, 66, 64,
! 165, 163, 72, 815, 0, 141, 0, 145, 0, 147,
! 0, 149, 0, 97, 0, 486, 618, 726, 722, 727,
! 723, 0, 613, 642, 728, 0, 0, 672, 364, 365,
! 670, 366, 861, 855, 856, 854, 886, 885, 887, 0,
! 0, 0, 0, 618, 0, 0, 453, 184, 0, 555,
! 554, 549, 613, 843, 578, 0, 570, 583, 571, 464,
! 464, 567, 568, 565, 566, 613, 843, 313, 674, 0,
! 451, 127, 574, 584, 589, 590, 451, 451, 0, 0,
! 451, 125, 575, 587, 451, 0, 464, 0, 562, 563,
! 564, 464, 613, 320, 319, 321, 613, 107, 0, 113,
! 0, 0, 0, 0, 0, 0, 746, 0, 492, 0,
! 490, 259, 304, 0, 241, 242, 251, 253, 711, 709,
! 716, 714, 0, 246, 0, 0, 371, 375, 377, 882,
! 733, 613, 734, 173, 171, 280, 0, 473, 475, 816,
! 809, 813, 142, 140, 0, 0, 0, 746, 487, 726,
! 722, 0, 728, 343, 0, 883, 617, 457, 0, 547,
! 882, 0, 0, 572, 482, 482, 882, 0, 0, 0,
! 464, 464, 0, 464, 464, 0, 464, 0, 560, 512,
! 0, 482, 882, 882, 613, 613, 351, 0, 0, 0,
! 0, 0, 215, 752, 0, 747, 748, 491, 0, 0,
! 243, 717, 380, 319, 736, 882, 0, 0, 814, 144,
! 146, 148, 98, 727, 723, 0, 618, 0, 888, 454,
! 121, 613, 613, 843, 577, 581, 124, 613, 464, 464,
! 598, 482, 313, 674, 0, 585, 591, 592, 451, 451,
! 482, 482, 0, 482, 588, 501, 576, 103, 109, 882,
! 882, 358, 359, 360, 361, 480, 0, 0, 0, 742,
! 753, 760, 741, 0, 749, 493, 612, 732, 474, 0,
! 817, 617, 882, 882, 0, 882, 597, 594, 596, 0,
! 0, 464, 464, 464, 593, 595, 580, 0, 106, 112,
! 0, 750, 745, 218, 0, 216, 744, 743, 313, 674,
! 675, 754, 767, 770, 773, 778, 0, 0, 0, 0,
! 0, 0, 0, 0, 314, 802, 810, 0, 830, 806,
! 805, 804, 0, 762, 0, 0, 424, 766, 761, 803,
! 930, 0, 0, 930, 119, 122, 613, 123, 464, 464,
! 603, 482, 482, 503, 0, 502, 497, 481, 217, 823,
! 825, 826, 0, 0, 758, 0, 0, 0, 785, 787,
! 788, 789, 0, 0, 0, 0, 0, 0, 0, 824,
! 930, 398, 831, 0, 763, 396, 451, 0, 397, 0,
! 451, 0, 0, 764, 801, 800, 821, 822, 818, 882,
! 602, 600, 599, 601, 0, 0, 514, 207, 0, 755,
! 768, 757, 0, 930, 0, 0, 0, 781, 930, 790,
! 0, 799, 41, 155, 36, 155, 0, 37, 811, 0,
! 394, 395, 0, 0, 0, 393, 758, 120, 500, 499,
! 92, 95, 214, 0, 424, 0, 758, 758, 771, 0,
! 746, 828, 774, 0, 0, 0, 930, 786, 798, 42,
! 38, 815, 0, 765, 0, 498, 208, 451, 756, 769,
! 0, 759, 829, 0, 827, 779, 783, 782, 812, 835,
! 835, 0, 496, 494, 495, 464, 205, 0, 0, 211,
! 0, 210, 758, 930, 0, 0, 0, 836, 837, 0,
! 791, 0, 0, 772, 775, 780, 784, 0, 0, 0,
! 0, 0, 0, 835, 0, 212, 206, 0, 0, 0,
! 841, 0, 794, 838, 0, 0, 792, 0, 0, 839,
! 0, 0, 0, 0, 0, 0, 213, 776, 0, 842,
! 796, 797, 0, 793, 758, 0, 0, 777, 840, 795,
! 0, 0, 0
};
! static const short yydefgoto[] = { 1831,
! 462, 2, 463, 171, 811, 346, 187, 3, 4, 38,
! 141, 776, 394, 39, 777, 1175, 1611, 41, 414, 1658,
! 781, 42, 43, 424, 44, 1176, 788, 1091, 789, 790,
! 791, 46, 178, 179, 47, 820, 190, 186, 480, 1438,
! 48, 49, 907, 1197, 913, 1199, 50, 1178, 1179, 191,
! 192, 821, 481, 1121, 1122, 734, 1123, 242, 51, 1104,
! 1103, 800, 797, 1273, 1272, 1048, 1045, 140, 1102, 52,
! 244, 53, 1042, 640, 347, 348, 349, 350, 632, 1769,
! 1690, 1771, 1724, 1808, 1484, 387, 1031, 351, 678, 989,
! 352, 388, 389, 354, 355, 376, 55, 266, 782, 443,
! 160, 56, 57, 356, 635, 357, 358, 359, 360, 822,
! 361, 1614, 541, 699, 362, 1181, 494, 225, 495, 363,
! 226, 364, 365, 62, 508, 227, 204, 217, 64, 522,
! 542, 1449, 875, 1336, 205, 218, 65, 555, 876, 66,
! 67, 772, 773, 774, 1547, 486, 952, 953, 1722, 1687,
! 1636, 1578, 68, 739, 378, 904, 1536, 1637, 1220, 735,
! 69, 70, 71, 72, 73, 253, 897, 898, 899, 900,
! 1183, 1378, 1184, 1185, 1186, 1363, 1373, 1364, 1526, 1365,
! 1366, 1527, 1528, 736, 737, 738, 679, 1019, 367, 198,
! 520, 513, 207, 75, 76, 77, 148, 149, 163, 79,
! 136, 368, 369, 370, 81, 391, 83, 902, 127, 128,
! 129, 561, 110, 84, 392, 994, 995, 1014, 1010, 702,
! 1549, 1550, 1485, 1486, 1487, 1551, 1397, 1552, 1618, 1643,
! 1727, 1693, 1694, 1553, 1619, 1717, 1644, 1728, 1645, 1751,
! 1646, 1754, 1798, 1825, 1647, 1773, 1737, 1774, 1699, 482,
! 818, 1294, 1620, 1661, 1742, 1431, 1432, 1498, 1624, 1726,
! 1561, 1621, 1733, 1664, 959, 1777, 1778, 1779, 1802, 499,
! 1015, 855, 1151, 1326, 501, 502, 503, 851, 504, 154,
! 853, 1188, 93, 725, 860, 1329, 1330, 612, 87, 572,
! 88, 942
};
! static const short yypact[] = { 166,
! 189,-32768,-32768, 2909,-32768, 58, 121, 405, 440, 60,
! 158,-32768,-32768, 1066,-32768,-32768, 107, 228,-32768,-32768,
! -32768, 1235, 1578, 1102, 254,-32768,-32768, 281, 504,-32768,
! 1072, 1072,-32768, 2487,-32768, 2909, 304,-32768,-32768, 351,
! -32768, 152,-32768,-32768, 4624,-32768,-32768, 315, 911, 401,
! 371, 442,-32768,-32768,-32768,-32768, 529, 2462,-32768, 7370,
! -32768, 409, 3123, 867,-32768, 477,-32768,-32768, 996, 577,
! 724,-32768, 458, 7869,-32768,-32768,-32768, 830,-32768,-32768,
! -32768, 826,-32768,-32768, 2245,-32768, 6505, 449,-32768,-32768,
! -32768, 11743, 533,-32768, 11743,-32768, 11743,-32768,-32768,-32768,
! 405, 440, 281, 495,-32768, 505, 442,-32768, 1885,-32768,
! 331, 11836, 464,-32768,-32768,-32768,-32768,-32768, 94, 535,
! 508, 572, 617, 545, 553,-32768,-32768, 1913,-32768, 1588,
! 405, 440,-32768, 281, 495,-32768, 1376, 3330, 563, 13256,
! 565, 11743,-32768, 11743, 645, 7187, 2200,-32768,-32768, 1396,
! 3508, 2200,-32768, 1697, 5083, 5083, 2487, 607, 618,-32768,
! 529, 327, 620, 632,-32768,-32768, 742,-32768, 649,-32768,
! 6188,-32768,-32768, 254, 5248, 663,-32768,-32768,-32768, 315,
! 1800, 13317, 878, 707,-32768,-32768, 689, 477, 783, 162,
! 407, 729,-32768,-32768,-32768, 9182, 10694,-32768,-32768, 6052,
! 6052, 7434, 830, 893,-32768,-32768, 629,-32768,-32768, 1596,
! -32768,-32768,-32768,-32768,-32768, 3123, 918,-32768, 477, 830,
! 11836,-32768,-32768,-32768, 1297, 3123,-32768, 477,-32768, 1800,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 722, 877, 442,-32768, 477, 2005, 1719,-32768,-32768,-32768,
! -32768,-32768, 748,-32768, 2045, 477, 331,-32768, 740, 443,
! 1315, 745,-32768, 196,-32768,-32768,-32768,-32768,-32768, 6289,
! -32768, 495,-32768,-32768,-32768,-32768, 2473,-32768, 730, 737,
! -32768,-32768,-32768,-32768, 785,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ -32768,-32768,-32768,-32768,-32768,-32768,-32768, 705,-32768,-32768,
+ 2045, 7869, 342,-32768, 757,-32768,-32768,-32768,-32768,-32768,
+ 12953, 12953, 762,-32768,-32768,-32768,-32768,-32768, 765, 806,
+ 822, 824, 836, 1108, 12301, 1833, 12953,-32768,-32768, 12953,
+ -32768,-32768, 12953, 9480,-32768, 12953, 364, 865,-32768, 12953,
+ -32768, 12394,-32768, 8489, 288, 1023, 3814, 12487,-32768, 907,
+ 485,-32768, 991, 13046, 13139, 5389, 5285,-32768, 435,-32768,
+ 1469, 2101, 869, 364, 364, 11743, 13256, 973,-32768, 904,
+ 1833, 745,-32768,-32768, 12581, 855, 906,-32768, 13413, 874,
+ 1819, 2400, 1613, 649,-32768,-32768,-32768,-32768,-32768,-32768,
+ -32768,-32768, 535, 508, 572, 1833, 617, 545, 909, 553,
+ -32768, 933,-32768, 3467, 904, 405, 440,-32768,-32768,-32768,
+ -32768,-32768,-32768, 5180,-32768, 1800, 7547, 857,-32768,-32768,
+ 364, 588, 11743,-32768, 7187,-32768, 3944,-32768, 948, 953,
+ -32768,-32768,-32768, 327, 2200,-32768,-32768, 2200,-32768, 929,
+ -32768,-32768,-32768, 327, 327, 327,-32768,-32768,-32768, 6289,
+ 86, 931, 935,-32768,-32768,-32768,-32768, 13256,-32768, 930,
+ 975,-32768,-32768, 742,-32768, 477,-32768,-32768,-32768,-32768,
+ 979,-32768,-32768, 10136, 12581,-32768,-32768, 939,-32768, 906,
+ 943, 13413, 383, 2035, 13317, 2035, 2020, 6996, 949,-32768,
+ 253, 2838, 1006, 1012, 757,-32768, 950, 498, 74, 7877,
+ 6382,-32768,-32768, 6382,-32768, 6600, 6600, 7434, 8192, 955,
+ -32768, 477, 1800,-32768, 10787,-32768,-32768, 6649, 1297, 3123,
+ 1800,-32768, 477, 978, 983,-32768,-32768, 1297,-32768, 477,
+ 1070,-32768, 11743,-32768,-32768, 904, 745, 722,-32768,-32768,
+ 2005, 1677,-32768, 2045, 477,-32768,-32768,-32768, 1018, 1031,
+ 1058, 1047,-32768,-32768,-32768,-32768, 7187,-32768, 1005,-32768,
+ 564,-32768, 1024,-32768, 1029,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768, 2045,-32768,-32768, 685,-32768,
! 640,-32768, 11743, 12581,-32768,-32768, 12581, 11836, 8172, 8172,
! 8172, 8172, 8489,-32768,-32768,-32768,-32768, 1034, 12674, 12674,
! 9480, 1054, 192, 1077,-32768, 1082,-32768,-32768,-32768, 1150,
! 11743,-32768, 9573, 9480,-32768, 12301, 12301, 10229, 12301, 12301,
! 12301, 12301, 12301, 12301, 12301, 12301, 12301, 12301, 12301, 12301,
! 12301, 12301, 12301, 12301, 12301, 12301,-32768, 12581,-32768,-32768,
! -32768,-32768,-32768, 12581, 12581, 12581, 11836, 3924, 597, 815,
! 10880,-32768,-32768,-32768, 1101, 1315, 1169, 567, 603, 687,
! 2587, 640,-32768, 2359, 2359, 3337, 10973, 1085, 1133,-32768,
! -32768, 741, 9480,-32768, 9480,-32768, 11367, 1236,-32768, 876,
! 331,-32768,-32768, 12581, 1315,-32768,-32768, 281,-32768,-32768,
! -32768, 393, 449, 12581, 1132,-32768,-32768, 364,-32768, 1800,
! 2987,-32768,-32768, 1130,-32768, 1098, 1149,-32768, 973, 909,
! 13484,-32768, 10415, 10508, 12581, 12581, 10229, 12581, 12581, 12581,
! 12581, 12581, 12581, 12581, 12581, 12581, 12581, 12581, 12581, 12581,
! 12581, 12581, 12581, 12581, 12581, 12581,-32768,-32768,-32768,-32768,
! -32768, 129,-32768, 1118, 1115, 649, 3467, 1173, 11743,-32768,
! 1168,-32768,-32768, 3330, 1704, 1155, 1196, 613, 1170, 1177,
! -32768,-32768, 4050, 996,-32768, 1179,-32768,-32768,-32768,-32768,
! -32768,-32768, 364,-32768,-32768, 1126, 1138,-32768, 1184,-32768,
! -32768, 315,-32768,-32768,-32768,-32768, 90,-32768, 528,-32768,
! -32768,-32768,-32768, 9368, 13484,-32768, 1140,-32768,-32768,-32768,
! -32768,-32768, 1898, 1898, 4226,-32768,-32768,-32768,-32768, 1596,
! 2245,-32768, 11461,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768, 1012, 1192,-32768,-32768,-32768, 11929, 1133, 692,-32768,
! -32768, 7877,-32768,-32768, 8192, 6382, 6382, 6823, 6823, 8192,
! 876,-32768,-32768, 6649,-32768, 1193,-32768,-32768, 1151, 74,
! 7877,-32768, 1297,-32768,-32768,-32768,-32768, 477, 1188, 722,
! -32768, 508, 572,-32768,-32768, 553, 1189,-32768,-32768, 137,
! -32768,-32768, 2177, 6742,-32768, 74, 6934, 11743, 11743,-32768,
! 11743, 74, 6934,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768, 1425, 1425, 1425, 1008,-32768, 364, 1159, 13439, 1160,
! 1161, 1194, 5788, 1197, 1201, 1204,-32768, 1164,-32768,-32768,
! 1174, 1222,-32768,-32768, 1221, 363, 469, 392, 866, 12581,
! 1223,-32768, 1225, 1187, 8489, 8489,-32768,-32768, 1234, 13312,
! 8944, 7399, 5868, 5598, 5991, 4656, 3360, 3360, 2388, 2388,
! 1732, 1732, 998, 998, 998,-32768,-32768, 1200, 1203, 1202,
! 1191, 1212, 1214, 8172, 597,-32768, 10136, 12581,-32768,-32768,
! -32768, 12581,-32768,-32768, 1229, 12953, 1213, 1245, 1262, 1296,
! -32768, 12581,-32768, 12581,-32768, 12581, 2708, 2624,-32768,-32768,
! 2624,-32768, 139, 1240, 1243,-32768, 1242, 8172, 74,-32768,
! 74, 3264,-32768, 6934, 11066, 1247, 1249, 11555, 11555, 8848,
! 1251, 12394, 1255, 2119, 4340, 2400, 1304, 1256, 1031, 1263,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 12581,-32768,
! 1833,-32768, 1261,-32768, 13484,-32768, 13484, 13484, 13484, 1313,
! 7561, 5576, 8216, 7900, 5890, 4525, 5728, 3691, 3691, 3691,
! 2502, 2502, 1761, 1761, 1049, 1049, 1049,-32768,-32768, 1613,
! 1273, 12767,-32768, 1278, 1321,-32768, 364,-32768,-32768,-32768,
! -32768,-32768,-32768, 1737, 5180,-32768, 8172, 11743,-32768, 1112,
! 12301,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! -32768, 315,-32768,-32768,-32768, 535,-32768, 617, 545, 12581,
! 202,-32768, 699, 702, 709, 1329,-32768, 111,-32768, 4503,
! 2134, 2134, 3038, 3038, 4226, 4977, 83, 1596,-32768, 3179,
! 4413, 11649, 11649, 9072, 224, 1284, 356, 3050,-32768, 10136,
! 9669,-32768, 6619, 2666, 2666, 3164,-32768,-32768,-32768, 1331,
! -32768,-32768,-32768,-32768,-32768,-32768, 2093,-32768, 1043, 1217,
! -32768, 12581, 8459, 8037,-32768, 8037, 216, 216, 514, 772,
! 5485, 7528, 79, 7166,-32768, 227, 216,-32768,-32768, 1286,
! 364, 364, 364,-32768, 1294, 74, 6934, 74, 6934,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768, 8172,-32768,-32768, 1310,
! 1312, 1316, 1320, 1126,-32768,-32768, 13347, 10136, 9764, 1299,
! -32768, 12301,-32768,-32768,-32768,-32768,-32768, 616, 1298,-32768,
! -32768, 1308, 229, 601, 601, 1307, 601, 12581,-32768, 12953,
! 1416, 11743,-32768, 1317, 1335, 1338,-32768, 2708,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768, 2708,-32768, 74, 1341,-32768,
! 1339,-32768,-32768,-32768,-32768, 4406, 4406, 4903,-32768,-32768,
! -32768,-32768,-32768,-32768, 13484,-32768,-32768, 12581,-32768,-32768,
! 230, 1343,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8489,
! -32768,-32768,-32768, 1356, 1348,-32768, 459,-32768, 12581,-32768,
! 12581,-32768, 12581,-32768, 9857,-32768, 4503, 2134, 2134, 4725,
! 4725, 6322,-32768, 457, 3179, 4503, 1350, 537, 559, 749,
! 751, 311,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 232,
! 3445, 3445, 1893, 1893, 1893, 10136,-32768,-32768, 1677,-32768,
! -32768,-32768,-32768, 6934, 13484, 240,-32768, 3821,-32768, 477,
! 477,-32768,-32768,-32768,-32768,-32768, 6934, 497, 602, 12581,
! 1070,-32768, 1399,-32768,-32768,-32768, 451, 542, 826, 3508,
! 566, 216, 1401,-32768, 746, 1404, 477, 8341,-32768,-32768,
! -32768, 477,-32768,-32768, 1420,-32768,-32768,-32768, 1367,-32768,
! 1370, 1372, 12581, 12581, 12581, 12581, 75, 10136,-32768, 1418,
! -32768,-32768, 8489, 12581,-32768, 616,-32768,-32768,-32768,-32768,
! -32768,-32768, 1373,-32768, 1440, 364,-32768,-32768,-32768, 74,
! -32768,-32768,-32768,-32768,-32768, 13484, 12581,-32768,-32768,-32768,
! 1356,-32768,-32768,-32768, 1380, 1383, 1385, 75,-32768, 3645,
! 3645, 876, 3660, 753, 6619,-32768, 1893,-32768, 10136,-32768,
! 74, 1386, 775,-32768, 1430, 1430, 74, 1390, 12581, 12581,
! 7042, 477, 6894, 477, 477, 4759, 477, 8334,-32768,-32768,
! 8949, 1430, 74, 74,-32768,-32768,-32768, 1392, 1393, 1394,
! 1397, 1833,-32768,-32768, 8738, 1482,-32768,-32768, 10136, 1405,
! -32768,-32768,-32768,-32768,-32768, 74, 1407, 1427,-32768,-32768,
! -32768,-32768,-32768, 4188, 4188, 3528, 4298, 4298,-32768,-32768,
! -32768,-32768,-32768, 6934,-32768,-32768,-32768,-32768, 7042, 7042,
! -32768, 1430, 549, 902, 12581,-32768,-32768,-32768, 1070, 1070,
! 1430, 1430, 1005, 1430,-32768,-32768,-32768,-32768,-32768, 74,
! 74,-32768,-32768,-32768,-32768,-32768, 1067, 246, 8604,-32768,
! -32768,-32768,-32768, 11177,-32768,-32768,-32768,-32768,-32768, 7298,
! -32768, 4298, 74, 74, 1410, 74,-32768,-32768,-32768, 12581,
! 12581, 7042, 477, 477,-32768,-32768,-32768, 7710,-32768,-32768,
! 1833,-32768,-32768,-32768, 251,-32768,-32768,-32768, 1458, 905,
! 954,-32768,-32768,-32768,-32768,-32768, 12581, 1467, 1470, 1475,
! 12022, 295, 1833, 701, 655,-32768,-32768, 12115, 1531,-32768,
! -32768,-32768, 1480,-32768, 4123, 13210, 5661, 1528,-32768,-32768,
! 1435, 1437, 1439,-32768,-32768,-32768,-32768,-32768, 7042, 7042,
! -32768, 1430, 1430,-32768, 10601,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768, 778, 778, 1489, 1462, 1466, 4801,-32768,-32768,
! -32768,-32768, 1499, 12581, 1500, 1501, 1510, 2271, 2295,-32768,
! -32768,-32768,-32768, 1474,-32768,-32768, 1070, 1084,-32768, 1137,
! 1070, 12208, 1145,-32768,-32768,-32768,-32768,-32768,-32768, 74,
! -32768,-32768,-32768,-32768, 1463, 13369, 1471,-32768, 11836,-32768,
! -32768,-32768, 1556,-32768, 9275, 11836, 12581,-32768,-32768,-32768,
! 1513,-32768,-32768, 1523,-32768, 1510, 2271,-32768,-32768, 742,
! -32768,-32768, 12860, 12860, 9950,-32768, 1489,-32768,-32768,-32768,
! 401, 315,-32768, 1484, 718, 1800, 1489, 1489,-32768, 11272,
! 75,-32768,-32768, 1521, 1486, 13462,-32768,-32768,-32768,-32768,
! -32768, 1356, 175,-32768, 163,-32768,-32768, 1070,-32768,-32768,
! 828,-32768,-32768, 10043,-32768,-32768,-32768,-32768, 1356, 64,
! 64, 1527,-32768,-32768,-32768, 477,-32768, 12581, 1540,-32768,
! 1541,-32768, 1489,-32768, 1511, 1833, 161, 1543,-32768, 100,
! -32768, 1544, 1502,-32768,-32768,-32768,-32768, 12581, 1497, 742,
! 1551, 64, 742, 64, 1560,-32768,-32768, 10322, 1516, 1615,
! 907, 267,-32768,-32768, 349, 239,-32768, 10136, 1519,-32768,
! 1535, 742, 1569, 1573, 742, 1577,-32768,-32768, 12581, 907,
! -32768,-32768, 368,-32768, 1489, 1532, 1580,-32768,-32768,-32768,
! 1649, 1658,-32768
};
static const short yypgoto[] = {-32768,
! 1661,-32768, -330, 1487, -401, 44, -3, 1662,-32768, 1632,
! -32768,-32768,-32768, -1477,-32768, 280,-32768, -1476,-32768, 11,
! 894, 37, -387,-32768,-32768, 97,-32768, -725,-32768,-32768,
! 579, 36, 1508, 1207, 1515,-32768, -31, -178, -808,-32768,
! -21, 186,-32768,-32768,-32768,-32768,-32768, 510,-32768,-32768,
! -32768,-32768,-32768,-32768, 399, -14,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1598, -759, 7802,
! -180, 28, -681, -247, -70, 1555, -603,-32768, 131,-32768,
! 62,-32768, -1574,-32768, -1370, 39, 1266, -322,-32768, -935,
! 7005, 5257, 6906, 1950, 4998, 1391, -343, -66, -81, 834,
! -134, -76, 119,-32768,-32768,-32768, -340,-32768, -162,-32768,
! -32768, -1524, 61, -349, 4916, 54, 17, -101, 43, 59,
! -204,-32768,-32768,-32768, -1, -165, -168, -166, 0, -38,
! -266,-32768, -397,-32768,-32768,-32768,-32768,-32768, 555, 1354,
! 3136,-32768, 633,-32768,-32768, -1325, -480, 891,-32768,-32768,
! -32768,-32768, 42,-32768,-32768,-32768,-32768,-32768,-32768, 980,
! -390,-32768,-32768,-32768,-32768,-32768,-32768, 379, 552,-32768,
! -32768,-32768, 347, -1068,-32768,-32768,-32768,-32768,-32768,-32768,
! 544,-32768, 260, 992,-32768, 679, 1056, 2999, 81, 1536,
! 2626, 1770,-32768, -516,-32768, 12, 1899, 3865, -136, 298,
! -63, 5586, 1374,-32768, 6554, 2282, 1962, -16, -108,-32768,
! 1622, -58,-32768, 6007, 3657, -69,-32768, 3173, 524,-32768,
! -32768, 203,-32768,-32768, 272, 1124,-32768, -1252,-32768,-32768,
! -32768, -1512,-32768, -1449, 31,-32768,-32768,-32768,-32768,-32768,
! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 20,
! -32768,-32768,-32768,-32768,-32768, 24, -1364,-32768,-32768, -56,
! -32768,-32768,-32768,-32768, -738, -1420,-32768, -24, -1376, -762,
! -173, 919,-32768,-32768,-32768,-32768, -410,-32768, -409, -213,
! -32768, 99,-32768,-32768, 2380, 338,-32768, 92,-32768, 5700,
! -243, -766
};
! #define YYLAST 13571
! static const short yytable[] = { 106,
! 37, 469, 63, 826, 461, 267, 126, 119, 1060, 1114,
! 188, 530, 470, 795, 796, 471, 708, 562, 446, 449,
! 59, 413, 500, 180, 374, 108, 375, 458, 719, 645,
! 313, 720, 37, 794, 63, 901, 787, 944, 552, 258,
! 1105, 704, 706, 63, 183, 1043, 60, 36, 719, 1230,
! 554, 720, 59, 1126, 241, 420, 421, 58, 216, 537,
! 539, 59, 61, 775, 812, 549, 1499, 1503, 1099, 412,
! 419, 431, 255, 267, 422, 1775, 1610, 1612, 60, 36,
! 177, 176, 566, 1662, 74, 311, 184, 182, 175, 58,
! 366, 795, 852, 366, 61, 366, 274, 683, 181, 1588,
! 45, 683, 86, 61, 229, 1347, 606, 1349, 1482, 264,
! 366, 147, 152, 409, 529, 1379, 74, 1376, 203, 1106,
! 89, 1735, 383, -879, 538, 74, 726, 727, 723, 1515,
! 1516, -636, 45, 267, 86, 885, 98, 859, 428, 441,
! 366, 45, 366, 1165, 1190, 310, 1537, 708, 723, 466,
! 1195, 830, 161, 180, 395, 1793, 59, 905, 858, 1776,
! 396, 606, 478, 1763, 1794, -1, 90, 312, 91, 63,
! 1732, 1676, 1305, 63, 183, 1166, 430, -636, -636, 1772,
! 216, 533, 427, 801, 802, 1483, 683, 59, -2, 1377,
! 1080, 59, -636, 426, 497, 809, 1569, 92, 61, 1113,
! 831, 112, 1296, 832, 1744, 1575, 1576, 99, 1577, 1795,
! 177, 176, 169, 60, 1749, 1750, 184, 182, 175, 366,
! 74, 1306, -137, -137, 58, 1790, -137, -137, 181, 61,
! 1760, 548, 550, 61, 490, 445, 448, 45, 1081, 1761,
! 667, 203, 386, 15, 564, 215, 560, -451, 943, 1738,
! 170, 74, 1610, 1612, 496, 74, 877, 229, 479, 479,
! 1786, 1259, -136, 1297, 884, 846, 229, 229, 274, 86,
! 1791, 45, -334, 161, 161, 161, 498, 693, -451, 689,
! 511, 514, -451, 40, 1762, 1271, 668, 1758, 1274, 1380,
! 565, 1427, 1405, 1445, 688, 96, 229, 100, 114, 115,
! 680, -327, 1124, 1815, 571, 728, 1683, 1684, 1583, 458,
! 255, 817, 1828, 1583, 847, 40, 97, 848, -334, -334,
! 161, 624, 113, 857, 1787, 425, -451, 507, 1812, 271,
! 139, 164, 10, -327, 8, 9, 667, 1381, 1408, 1428,
! 1780, 1446, 366, 1291, 1292, 131, 132, 778, 1816, 1453,
! 783, 534, 229, 116, 117, 311, 1584, 142, 18, -312,
! 1753, 1639, 803, 537, 539, 255, 740, 215, 1286, 21,
! 891, 1679, 537, 1806, 366, 731, 1813, 1654, 771, 446,
! 449, 720, 668, 274, 458, 452, 453, 314, 539, 134,
! 135, 740, 1692, 59, 1499, 830, 1094, 26, 167, 454,
! 134, 135, 1379, 274, -661, -312, -312, 229, 1709, 455,
! 1812, 1111, 1112, 168, 607, 310, 1805, 33, 94, 427,
! -312, 456, 793, 185, 608, 216, 189, -152, 883, 1812,
! 730, 366, 324, 193, 1389, 61, 1391, 312, 1823, 95,
! 539, 638, 562, 639, 831, 1084, 814, 832, 26, -873,
! -661, -661, 164, 164, 164, 483, -154, 74, 1814, 1115,
! 94, 1116, 892, 893, 1692, -661, 63, 183, 142, 229,
! 1491, 562, 889, 484, 1692, 1692, -399, 1827, 15, 1338,
! 1044, 95, 496, 713, 59, 684, 798, 271, 416, 417,
! 10, 557, 685, 216, 1289, 96, 255, 194, 96, 164,
! 793, 485, 888, 221, 498, -635, 1231, 1117, 18, 184,
! 182, -399, 1424, 1425, 26, -399, 97, 1118, 1119, 97,
! 1692, 181, 252, 490, 96, 314, 61, 21, 1115, 714,
! 1116, 892, 893, -153, 686, 373, 890, 558, 229, 1352,
! 26, 366, 927, 28, 272, 97, 693, -399, 74, -336,
! 143, -635, -635, 1120, 836, 1107, 842, 844, 393, 143,
! 496, 1459, 729, 398, -336, 379, -635, -400, -336, 15,
! 229, 229, 1692, 433, 1353, 687, 1117, 195, 1354, 229,
! 144, 1452, 498, 26, 95, -336, 1118, 1119, -138, -138,
! 397, -130, 857, 15, 1458, 229, 866, 867, -336, -336,
! 401, -336, -400, -336, 131, 132, -400, -313, 402, 566,
! 1355, 366, 916, 1570, 174, 1001, 366, 933, 933, 933,
! 933, 680, 1120, 196, 197, 433, -130, 399, 951, 366,
! -130, -336, -336, 1110, 161, 161, 161, 248, -400, 366,
! 423, 249, 366, 131, 132, 986, -336, 229, 97, 641,
! 901, 1003, 490, -313, -313, 879, 26, 94, 917, 134,
! 135, 1002, -130, 987, 986, 638, 1460, 639, -313, 1323,
! 1325, 999, 400, 990, 1095, 366, 311, 195, 95, 1205,
! 1162, 1163, 987, 991, 795, 796, 1167, 380, 131, 132,
! 1096, 988, 719, 142, 793, 720, 992, 1004, 134, 135,
! 1039, 366, 1089, 366, 794, 497, 490, 787, 1087, 645,
! 988, 1404, 490, 783, 490, 490, -327, 537, 1554, 1660,
! 1090, 433, 274, 196, 525, 223, 224, 451, 606, 459,
! 458, 142, 14, 500, 381, 1005, 310, 1399, 1401, 500,
! 1152, -656, 475, 382, 135, 490, 133, 1298, 930, 18,
! 1300, 1565, 490, 318, 496, 20, 26, 1302, 312, -7,
! 1657, 170, 490, 267, 23, 496, 693, 263, 126, 473,
! 1092, -128, 229, 15, 1008, 1011, 498, 366, 958, 1100,
! 1124, 1006, 1554, 474, 250, 477, 1153, 498, 251, 1023,
! 1046, 487, 723, 1299, 413, 556, 1301, -311, 543, -662,
! 563, -336, 1125, 1303, 1320, 980, -128, 720, 553, 951,
! -128, 997, 857, 164, 164, 164, 433, 604, 131, 132,
! 1356, 142, 901, 1513, 1401, 573, 1688, 1017, 259, 8,
! 260, 10, 575, 793, 229, 1024, 1025, 1191, 1192, 1285,
! 1193, 497, -128, -311, -311, -662, -662, -336, -336, 581,
! 500, 614, 274, 844, 1554, 1448, 617, 15, -311, 618,
! -662, -451, -330, 222, 223, 224, 1357, 159, 21, 1514,
! 26, 14, 1689, 134, 135, 261, 1767, 958, 380, 8,
! 9, 490, 619, 858, 262, 29, 701, 990, 18, 709,
! 712, -451, -451, 496, 20, 490, -451, 991, 620, 458,
! 621, 496, 63, 23, 1322, 793, 366, 366, 263, 366,
! 992, 793, 622, 1131, 1132, 498, 33, 1488, 683, 799,
! 59, 143, 1768, 498, 229, 381, 641, 1730, 230, 231,
! -155, 1180, 1554, 1293, 382, 135, 1764, 544, 15, 230,
! 472, 545, -451, 1384, 1385, 1386, 1182, 1174, 1154, 1155,
! 1339, 1340, 1341, 161, 523, 524, 1734, 94, 263, 556,
! 94, 161, 61, 724, 742, 496, 1571, 743, 1510, 1641,
! 1554, 496, -451, -451, 229, 100, 114, 115, 95, 531,
! 532, 95, 933, 767, 74, 779, 1233, 498, 780, 447,
! 450, 523, 815, 498, 131, 132, 446, 449, 100, 101,
! 102, 458, 233, 234, 235, 446, 449, 1554, 1556, 96,
! 380, 131, 132, 1202, 1203, 1204, 933, 838, 1642, 701,
! 709, 712, 793, 500, 95, 500, 490, 18, 497, 97,
! 97, 116, 117, 236, 733, 159, 531, 816, 806, 693,
! 490, -6, 490, 819, 490, 810, 26, 274, 828, 134,
! 135, 26, 829, 914, 103, 104, 237, 381, 845, 1809,
! 96, 267, 856, 694, 873, 771, 382, 135, 100, 101,
! 102, 669, -872, 695, 145, 131, 132, 10, 854, 1092,
! 13, 97, 496, 665, 666, 696, 697, 886, 496, 1177,
! 570, 1343, 887, 793, 908, 933, 366, 15, 96, 915,
! 238, 239, 240, 18, 498, 131, 132, 909, 1008, 1011,
! 498, 670, 671, 910, 21, 672, 673, 674, 675, 97,
! 490, 26, 1236, 911, 103, 104, 105, 26, 1581, 1582,
! 28, 29, 164, 793, 765, 766, 918, 1344, 1350, 1351,
! 164, 919, 497, 937, 31, 523, 1711, 133, 1382, 795,
! 1623, 933, -878, 496, 32, 1261, 998, 26, 490, 274,
! 134, 135, 33, 939, 1409, 1410, 34, 1412, 1494, -194,
! 500, 1416, 63, -56, 63, 498, 1000, 634, -56, 1018,
! 216, 1020, 63, 500, 142, -194, 940, -194, 543, -56,
! 59, 943, 59, 496, 1041, 793, 1049, 793, 531, 1712,
! 59, 1180, 496, 1180, 1400, 933, 523, 1716, 1050, 1180,
! 1051, 1180, 1082, 1308, 1309, 498, 1182, 1174, 1182, 1174,
! 131, 132, 1308, 1309, 498, 1083, 1182, 1174, 1086, 1348,
! 1088, 1093, 61, 20, 61, -330, 1097, 100, 114, 115,
! 366, 1362, 61, 1098, -613, 1101, 1109, 1108, -613, 1129,
! 1164, 161, 161, 161, 74, 496, 74, 496, 1150, 1157,
! 161, 161, 161, 1158, 74, 1161, 793, 858, 1206, 1208,
! 1209, 1210, 26, 1214, 1211, 134, 135, 498, 1212, 498,
! 1125, 1213, 1216, 1215, 1020, -151, 1219, 1218, 447, 807,
! 1400, 161, 267, 116, 117, 118, 1221, -613, 1222, -613,
! -613, 1226, -613, 536, 223, 224, 380, 8, 9, 1223,
! 793, 14, 1224, -613, 1225, -613, 709, 100, 114, 115,
! 559, 1227, 1462, 1228, 1238, 1240, 496, 1817, 1464, 1465,
! -613, -613, 1462, 1467, 20, 1241, 1465, 490, 1242, 490,
! 500, 490, 793, 23, 1243, -613, 1008, 1011, 498, 1251,
! 447, 450, 1252, 381, 1253, 793, 1262, 21, 1263, 1177,
! 1264, 1177, 382, 135, 1265, 1269, 1361, 1371, 1413, 1177,
! 496, 1277, 1270, 116, 117, 858, 63, 1278, 415, 416,
! 417, 10, 1280, 1284, 146, 146, 570, 162, 1283, 1304,
! 1440, 1441, 498, 1318, 59, 1383, 264, 1337, 259, 131,
! 132, 10, 496, 1387, 1393, 1180, 1394, 1406, 1362, 1402,
! 1395, 1154, 1155, 219, 1396, 496, 228, 1407, 21, 1411,
! 1182, 1174, 245, 1415, 498, 261, 1417, 256, 131, 132,
! 164, 164, 164, 566, 262, 272, 61, 498, 21, 164,
! 164, 164, 1160, 933, 1418, 261, 1668, 1419, 1673, 1670,
! 1422, 1423, 1429, 1430, 262, 29, 709, 1433, 74, 1444,
! 1463, 491, 1468, 447, 938, 490, 33, 1546, 1469, 63,
! 164, 415, 8, 9, 10, -702, 1475, 634, 263, 1476,
! 26, 1477, 1489, 134, 135, 1492, 33, 59, 1493, 1500,
! 1573, 1574, 1501, 571, 1502, 1512, 484, 607, 1180, 1518,
! 435, 1542, 1543, 1544, 793, 435, 1545, 608, 444, 444,
! 162, 21, 793, 1182, 1174, 1482, 1559, 1557, 715, 1627,
! 606, 1560, 1640, 1478, 1479, 1480, 1481, 262, 272, 61,
! 1247, 1649, 1650, 1361, 1490, 219, 634, 1651, 634, 1663,
! 1033, 476, 1665, 1746, 1674, 1675, 1677, 1743, 1678, -930,
! 1609, 74, 1617, 510, 510, 519, 1695, 1247, 793, 33,
! 1696, 1700, 1702, 1177, 496, 1703, 1638, 396, 1710, 228,
! 59, 1719, 496, 1729, 1721, 1739, 446, 449, 1740, 540,
! 120, 121, 122, 1755, 1440, 1441, 498, 1655, 1656, 1781,
! 120, 121, 122, 1747, 498, 1756, 1616, 1608, 259, 8,
! 9, 10, 1784, 1785, 1792, 1788, 1617, 1615, 228, 1800,
! 1796, 1797, 61, 1803, 216, 100, 114, 115, 496, 768,
! 769, 770, 1807, 567, 59, 1810, 1811, 1801, 1818, 1819,
! 1801, 1821, 533, 26, 74, 1822, 123, 124, 21, 1824,
! 498, 1829, 1830, 1705, 1708, 261, 123, 124, 1832, 1820,
! 1616, 1608, 1801, 1247, 262, 29, 1177, 1833, 229, 1247,
! 1, 1615, 468, 5, 228, 256, 61, 166, 159, 1707,
! 1085, 116, 117, 1287, 813, 1667, 1146, 1667, 263, 120,
! 892, 893, 467, 894, 1613, 465, 33, 1725, 74, 1745,
! 1033, 1372, 1741, 1617, 1725, 1434, 377, 444, 432, 100,
! 439, 440, 447, 807, 613, 1691, 403, 404, 405, 1766,
! 490, 59, 1279, 366, 1128, 895, 1052, 1450, 1342, 228,
! 256, 100, 101, 102, 1471, 1374, 1609, 1535, 1617, 1276,
! 1053, 1653, 26, 985, 690, 123, 124, 1616, 1608, 100,
! 114, 115, 526, 233, 234, 235, 59, 310, 1615, 411,
! 827, 1587, 1725, 61, 310, 103, 117, 1555, 941, 26,
! 1752, 1789, 407, 408, 1765, 1759, 229, 1804, 18, 312,
! 1149, 1247, 1616, 1608, 236, 74, 312, 103, 104, 1247,
! 219, 228, 1509, 1615, 1701, 0, 1748, 0, 61, 0,
! 161, 0, 0, 866, 867, 116, 117, 0, 435, 0,
! 0, 435, 145, 8, 9, 10, 0, 162, 162, 162,
! 74, 0, 310, 567, 662, 663, 664, 665, 666, 1723,
! 0, 415, 8, 9, 10, 958, 1723, 206, 0, 0,
! 1247, 161, 161, 161, 312, 100, 114, 115, 0, 1247,
! 0, 0, 21, 762, 763, 764, 765, 766, 219, 0,
! 228, 256, 0, 0, 0, 26, 0, 0, 28, 29,
! 1613, 21, 447, 938, 862, 0, 0, 862, 261, 865,
! 865, 519, 200, 0, 0, 476, 0, 262, 272, 928,
! 0, 881, 201, 540, 1723, 0, 476, 380, 8, 9,
! 33, 116, 117, 0, 202, 0, 8, 9, 1783, 0,
! 145, 8, 9, 10, 1455, 1456, 13, 540, 476, 33,
! 0, 0, 0, 0, 0, 403, 404, 405, 1799, 0,
! 0, 0, 0, 0, 18, 0, 0, 0, 958, 18,
! 153, 1470, 0, 978, 381, 0, 1472, 0, 0, 979,
! 21, 981, 982, 382, 135, 0, 693, 0, 26, 1826,
! 206, 134, 135, 26, 0, 0, 28, 29, 0, 540,
! 0, 0, 406, 0, 0, 1331, 0, 447, 450, 164,
! 833, 407, 408, 0, 0, 1332, 447, 1317, 0, 1038,
! 834, 0, 162, 162, 444, 0, 0, 1333, 33, 1040,
! 0, 0, 835, 697, 0, 0, 0, 444, 0, 206,
! 0, 0, 0, 0, 0, 0, 159, 546, 101, 102,
! 164, 164, 164, 0, 0, 1521, 1522, 0, 1531, 1532,
! 0, 1534, 145, 8, 9, 10, 222, 223, 224, 0,
! 1247, 1247, 0, 0, 14, 0, 0, 145, 8, 9,
! 10, 0, 0, 269, 0, 436, 0, 1007, 1007, 1007,
! 438, 18, 223, 224, 381, 0, 444, 20, 444, 14,
! 1034, 0, 21, 547, 104, 0, 23, 0, 693, 0,
! 269, 0, 0, 1567, 1568, 26, 18, 21, 28, 29,
! 0, 0, 20, 693, 228, 1247, 0, 0, 0, 0,
! 26, 23, 833, 28, 29, 120, 892, 893, 269, 153,
! 447, 807, 834, 716, 8, 9, 10, 833, 0, 0,
! 33, 269, 0, 0, 843, 697, 0, 834, 0, 0,
! 0, 271, 131, 132, 10, 33, 1631, 1632, 1633, 835,
! 697, 0, 0, 0, 0, 0, 145, 8, 9, 10,
! 324, 717, 254, 21, 447, 807, 228, 245, 26, 0,
! 18, 123, 124, 0, 0, 0, 26, 0, 0, 718,
! 135, 21, 0, 0, 0, 18, 0, 693, 568, 0,
! 0, 269, 0, 0, 26, 0, 21, 28, 272, 120,
! 892, 893, 693, 1681, 1682, 0, 1130, 1130, 1136, 26,
! 0, 1266, 28, 29, 0, 206, 1136, 0, 0, 0,
! 0, 1267, 145, 131, 132, 10, 833, 269, 254, 33,
! 162, 0, 0, 1268, 697, 0, 834, 0, 0, 862,
! 862, 865, 865, 519, 33, 0, 0, 881, 835, 697,
! 0, 18, 0, 0, 0, 123, 124, 0, 269, 0,
! 0, 476, 21, 0, 0, 0, 0, 271, 8, 9,
! 10, 0, 0, 1232, 0, 26, 0, 0, 28, 29,
! 0, 0, 0, 206, 0, 206, 206, 1244, 0, 1245,
! 0, 1246, 31, 100, 114, 115, 0, 0, 0, 861,
! 0, 0, 32, 0, 623, 82, 228, 21, 861, 0,
! 33, 0, 206, 0, 34, 109, 0, 100, 114, 115,
! 206, 0, 0, 28, 272, 137, 0, 0, 0, 0,
! 0, 0, 150, 150, 0, 150, 0, 82, 0, 0,
! 1782, 0, 0, 0, 0, 0, 82, 0, 0, 116,
! 1704, 0, 269, 0, 0, 33, 0, 0, 0, 210,
! 0, 82, 0, 804, 0, 0, 805, 1282, 0, 0,
! 246, 0, 269, 116, 1706, 109, 0, 0, 808, 0,
! 0, 1248, 131, 132, 1248, 0, 277, 13, 109, 0,
! 0, 0, 0, 371, 0, 1256, 371, 0, 371, 0,
! 0, 1034, 1034, 1034, 0, 1295, 0, 0, 0, 0,
! 18, 0, 109, 0, 0, 0, 0, 0, 269, 0,
! 0, 0, 716, 8, 9, 10, 0, 693, 0, 436,
! 0, 0, 438, 0, 26, 0, 0, 134, 135, 137,
! 0, 82, 0, 371, 0, 371, 568, 150, 150, 0,
! 0, 694, 437, 150, 0, 0, 150, 150, 150, 324,
! 717, 695, 21, 0, 0, 0, 0, 245, 0, 0,
! 0, 0, 82, 696, 697, 26, 82, 0, 134, 135,
! 0, 0, 210, 82, 145, 8, 9, 10, 660, 661,
! 662, 663, 664, 665, 666, 415, 8, 569, 10, 0,
! 0, 210, 210, 210, 1307, 1307, 1136, 1136, 1136, 145,
! 131, 132, 10, 1316, 0, 1136, 1136, 1136, 0, 206,
! 0, 0, 0, 0, 21, 1146, 0, 1334, 1334, 1335,
! 0, 210, 269, 0, 0, 21, 0, 26, 18, 0,
! 28, 29, 261, 0, 199, 0, 162, 0, 551, 21,
! 0, 262, 272, 0, 200, 219, 0, 0, 109, 0,
! 0, 0, 26, 0, 201, 28, 29, 447, 1317, 0,
! 0, 150, 33, 0, 0, 570, 202, 0, 0, 155,
! 0, 0, 206, 33, 1435, 0, 1436, 0, 1437, 156,
! 269, 0, 0, 0, 0, 0, 0, 33, 0, 0,
! 0, 157, 760, 761, 762, 763, 764, 765, 766, 415,
! 131, 132, 10, 109, 609, 955, 956, 0, 960, 961,
! 962, 963, 964, 965, 966, 967, 968, 969, 970, 971,
! 972, 973, 974, 975, 976, 977, 0, 0, 0, 1034,
! 1034, 1034, 0, 0, 0, 0, 0, 131, 132, 21,
! 0, 861, 254, 0, 861, 0, 261, 0, 109, 0,
! 0, 0, 691, 0, 609, 262, 272, 609, 710, 0,
! 861, 0, 269, 0, 0, 18, 0, 371, 82, 0,
! 0, 1307, 1307, 1136, 1136, 1136, 0, 0, 1316, 8,
! 9, 269, 693, 0, 254, 0, 0, 33, 0, 26,
! 0, 0, 134, 135, 1447, 1447, 1335, 0, 0, 0,
! 0, 0, 1497, 0, 0, 137, 694, 18, 0, 0,
! 0, 0, 0, 476, 476, 109, 695, 210, 109, 0,
! 0, 131, 132, 0, 371, 0, 150, 0, 696, 697,
! 0, 26, 0, 0, 134, 135, 150, 0, 0, 150,
! 476, 0, 153, 0, 0, 476, 0, 0, 1331, 18,
! 0, 150, 0, 0, 0, 0, 0, 0, 1332, 82,
! 0, 0, 0, 0, 0, 0, 693, 0, 0, 0,
! 1333, 0, 0, 26, 804, 805, 134, 135, 0, 0,
! 0, 0, 808, 0, 0, 210, 840, 210, 210, 710,
! 694, 0, 0, 840, 0, 0, 0, 0, 0, 0,
! 695, 210, 210, 1507, 1507, 210, 1508, 210, 210, 210,
! 871, 269, 696, 697, 210, 0, 0, 0, 0, 210,
! 0, 0, 210, 0, 476, 476, 0, 476, 476, 0,
! 476, 0, 0, 0, 371, 512, 515, 0, 0, 0,
! 0, 0, 269, 0, 0, 0, 0, 0, 0, 0,
! 145, 8, 9, 10, 173, 12, 13, 0, 150, 0,
! 849, 0, 14, 0, 0, 0, 0, 1562, 1562, 1562,
! 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
! 0, 0, 476, 476, 0, 20, 0, 0, 0, 0,
! 21, 0, 0, 0, 23, 0, 269, 0, 0, 0,
! 0, 0, 925, 26, 371, 0, 28, 29, 0, 861,
! 109, 109, 109, 109, 0, 861, 0, 0, 0, 6,
! 31, 7, 8, 9, 10, 11, 12, 13, 0, 0,
! 32, 0, 371, 14, 0, 476, 476, 476, 33, 0,
! 0, 0, 34, 0, 0, 0, 15, 16, 0, 17,
! 18, 19, 0, 0, 0, 0, 20, 0, 0, 0,
! 1367, 21, 0, 0, 22, 23, 24, 0, 25, 109,
! 0, 609, 0, 0, 26, 27, 0, 28, 29, 219,
! 228, 30, 0, 691, 0, 609, 609, 710, 0, 0,
! 0, 31, 476, 476, 0, 0, 0, 0, 1035, 0,
! 0, 32, 1037, 222, 223, 224, 269, 0, 269, 33,
! 0, 14, 0, 34, 0, 0, 0, 35, 0, 0,
! 0, 210, 0, 0, 0, 0, 0, 0, 18, 0,
! 0, 0, 0, 0, 20, 519, 0, 0, 0, 436,
! 438, 0, 0, 23, 0, 0, 0, 0, 568, 0,
! 145, 8, 9, 10, 0, 0, 13, 0, 0, 1047,
! 1290, 0, 1319, 8, 9, 10, 0, 0, 137, 0,
! 371, 0, 0, 0, 0, 137, 865, 865, 865, 18,
! 0, 0, 0, 0, 210, 246, 861, 0, 228, 0,
! 21, 0, 270, 0, 0, 861, 693, 0, 0, 324,
! 717, 0, 21, 26, 0, 0, 28, 29, 0, 269,
! 0, 0, 269, 861, 861, 26, 0, 0, 28, 272,
! 1133, 0, 0, 0, 210, 210, 1138, 1367, 0, 476,
! 1134, 0, 1141, 0, 1138, 0, 0, 0, 33, 222,
! 223, 224, 1135, 697, 0, 0, 863, 14, 0, 864,
! 33, 512, 515, 210, 0, 0, 871, 210, 210, 871,
! 871, 871, 0, 882, 18, 210, 0, 0, 0, 0,
! 20, 0, 210, 460, 0, 0, 0, 8, 9, 23,
! 0, 1403, 566, 0, 0, 0, 0, 0, 0, 0,
! 0, 145, 8, 9, 10, 82, 0, 566, 109, 371,
! 371, 0, 371, 0, 109, 18, 509, 0, 0, 0,
! 0, 232, 0, 609, 609, 609, 804, 805, 0, 528,
! 18, 0, 0, 808, 609, 0, 861, 0, 0, 26,
! 0, 21, 134, 135, 0, 0, 0, 693, 0, 0,
! 0, 0, 1529, 0, 26, 0, 1331, 28, 29, 0,
! 0, 0, 0, 0, 0, 0, 1332, 0, 0, 0,
! 0, 833, 0, 0, 0, 0, 0, 0, 1333, 1159,
! 0, 834, 0, 0, 0, 109, 0, 131, 132, 33,
! 0, 0, 566, 835, 697, 0, 861, 861, 0, 0,
! 0, 232, 0, 0, 0, 1189, 0, 0, 609, 609,
! 0, 1194, 609, 0, 0, 18, 0, 232, 0, 109,
! 0, 0, 0, 609, 0, 109, 0, 0, 0, 1035,
! 1035, 1035, 693, 0, 0, 609, 0, 1141, 0, 26,
0, 0, 134, 135, 0, 0, 0, 0, 0, 0,
! 269, 861, 271, 416, 417, 10, 694, 0, 0, 0,
! 8, 9, 0, 173, 12, 13, 695, 0, 0, 489,
! 0, 14, 0, 0, 232, 0, 0, 0, 696, 697,
! 0, 0, 0, 232, 0, 16, 0, 17, 18, 0,
! 0, 0, 21, 0, 20, 0, 109, 0, 109, 371,
! 232, 0, 0, 23, 206, 693, 206, 0, 28, 272,
! 0, 232, 26, 0, 0, 134, 135, 0, 1254, 0,
! 1255, 0, 0, 269, 0, 0, 0, 0, 0, 694,
! 0, 210, 210, 210, 210, 210, 1138, 871, 0, 695,
! 33, 210, 0, 1138, 1138, 1138, 0, 269, 0, 1141,
! 0, 696, 697, 0, 109, 871, 871, 871, 658, 659,
! 660, 661, 662, 663, 664, 665, 666, 0, 8, 9,
! 0, 137, 0, 13, 150, 82, 0, 82, 512, 515,
! 0, 0, 1369, 82, 0, 82, 0, 0, 0, 271,
! 416, 417, 10, 0, 0, 0, 18, 0, 109, 0,
! 109, 0, 0, 0, 0, 0, 0, 0, 109, 0,
! 0, 863, 864, 512, 515, 206, 0, 0, 0, 882,
! 26, 0, 0, 134, 135, 0, 0, 0, 0, 21,
! 271, 131, 132, 10, 0, 609, 609, 1331, 609, 874,
! 0, 0, 26, 371, 880, 28, 272, 1332, 0, 609,
! 0, 8, 9, 0, 173, 12, 13, 609, 0, 1333,
! 489, 0, 14, 0, 0, 0, 0, 609, 609, 710,
! 21, 0, 0, 0, 0, 906, 16, 33, 17, 18,
! 0, 0, 912, 0, 0, 20, 28, 272, 0, 0,
! 232, 0, 0, 0, 23, 1388, 693, 1390, 0, 232,
! 0, 0, 0, 26, 0, 0, 134, 135, 210, 210,
! 210, 871, 871, 1442, 0, 0, 210, 210, 33, 0,
! 1504, 0, 0, 0, 0, 922, 923, 0, 924, 0,
! 1505, 232, 871, 871, 871, 871, 871, 0, 0, 0,
! 0, 0, 1506, 697, 0, 109, 0, 0, 0, 1369,
! 0, 0, 0, 0, 0, 0, 0, 1421, 109, 0,
! 0, 0, 0, 0, 0, 232, 0, 0, 8, 9,
! 0, 1466, 0, 254, 232, 0, 0, 0, 0, 82,
! 85, 0, 0, 8, 9, 0, 0, 0, 566, 0,
! 111, 0, 0, 0, 0, 232, 18, 0, 0, 130,
! 138, 0, 0, 0, 0, 0, 0, 151, 151, 0,
! 151, 18, 85, 693, 0, 0, 0, 1021, 1022, 0,
! 26, 85, 232, 134, 135, 0, 1021, 0, 693, 0,
! 0, 0, 0, 0, 151, 26, 85, 1504, 134, 135,
! 0, 871, 871, 0, 871, 247, 109, 1505, 871, 0,
! 257, 0, 1504, 0, 0, 0, 0, 0, 0, 1506,
! 697, 0, 1505, 257, 210, 0, 0, 0, 372, 150,
! 0, 372, 82, 372, 1506, 697, 863, 864, 512, 515,
! 0, 0, 0, 0, 0, 882, 0, 512, 515, 758,
! 759, 760, 761, 762, 763, 764, 765, 766, 0, 863,
! 864, 882, 0, 0, 0, 871, 871, 1442, 871, 871,
! 0, 0, 0, 0, 0, 109, 85, 0, 372, 1495,
! 372, 0, 151, 151, 0, 0, 0, 0, 151, 0,
! 0, 151, 151, 151, 0, 0, 0, 8, 9, 0,
! 0, 12, 13, 1358, 1359, 9, 10, 85, 14, 0,
! 1511, 85, 0, 0, 0, 1140, 1517, 151, 85, 0,
! 0, 109, 16, 871, 17, 18, 0, 0, 0, 0,
! 0, 20, 1538, 1539, 0, 0, 151, 151, 151, 0,
! 23, 0, 0, 21, 0, 0, 1009, 1012, 78, 26,
! 1156, 0, 134, 135, 676, 1558, 26, 0, 0, 28,
! 29, 0, 0, 1454, 0, 1360, 151, 0, 0, 0,
! 0, 0, 0, 200, 0, 0, 210, 840, 210, 0,
! 78, 0, 0, 201, 0, 0, 0, 0, 677, 78,
! 0, 33, 1196, 0, 1198, 202, 0, 0, 0, 1579,
! 1580, 0, 208, 0, 220, 0, 151, 8, 9, 0,
! 0, 12, 13, 863, 864, 512, 515, 0, 14, 0,
! 882, 0, 1625, 1626, 0, 1628, 415, 131, 132, 10,
! 0, 0, 16, 1138, 17, 18, 512, 515, 0, 0,
! 0, 20, 0, 0, 0, 0, 0, 0, 257, 611,
! 23, 0, 0, 0, 0, 0, 0, 0, 0, 26,
! 0, 0, 134, 135, 0, 0, 21, 0, 1234, 1235,
! 0, 1237, 0, 261, 1138, 1138, 1138, 232, 0, 0,
! 232, 0, 262, 272, 429, 1009, 1012, 210, 0, 0,
! 434, 0, 0, 257, 0, 0, 232, 692, 984, 611,
! 0, 1258, 611, 711, 0, 0, 570, 0, 722, 0,
! 0, 0, 372, 85, 33, 78, 0, 0, 0, 78,
! 0, 0, 0, 0, 0, 208, 220, 0, 722, 0,
! 0, 0, 145, 8, 9, 10, 222, 223, 224, 1718,
! 0, 0, 0, 0, 14, 863, 864, 0, 882, 0,
! 784, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 257, 18, 151, 257, 0, 0, 0, 20, 0, 372,
! 0, 151, 21, 0, 208, 0, 23, 0, 693, 0,
! 0, 151, 0, 0, 151, 26, 0, 0, 28, 29,
! 0, 0, 0, 0, 0, 0, 151, 0, 0, 0,
! 0, 0, 833, 0, 85, 145, 8, 9, 10, 512,
! 515, 0, 834, 0, 0, 0, 0, 1315, 0, 0,
! 33, 0, 232, 0, 835, 697, 0, 0, 0, 0,
! 151, 841, 151, 151, 711, 0, 0, 0, 841, 0,
! 0, 0, 0, 0, 0, 21, 151, 151, 0, 232,
! 151, 0, 151, 151, 151, 611, 0, 0, 26, 151,
! 1249, 28, 29, 1250, 151, 1666, 0, 151, 0, 0,
! 0, 8, 9, 0, 1257, 200, 13, 0, 0, 372,
! 1009, 1012, 0, 0, 0, 201, 0, 0, 903, 0,
! 0, 0, 0, 33, 0, 0, 0, 202, 0, 18,
! 0, 0, 0, 151, 0, 0, 0, 0, 145, 8,
! 9, 10, 173, 12, 13, 0, 693, 0, 489, 0,
! 14, 732, 0, 26, 0, 0, 134, 135, 0, 0,
! 1420, 0, 0, 0, 16, 0, 17, 18, 0, 0,
! 1504, 0, 0, 20, 0, 232, 0, 0, 21, 372,
! 1505, 232, 23, 0, 693, 257, 257, 257, 257, 0,
! 0, 26, 1506, 697, 28, 29, 0, 0, 0, 0,
! 208, 0, 0, 0, 0, 0, 0, 372, 1133, 434,
! 0, 8, 9, 1249, 1250, 1009, 1012, 0, 1134, 0,
! 0, 1443, 1257, 0, 1009, 1012, 33, 0, 0, 0,
! 1135, 697, 0, 0, 0, 0, 0, 0, 0, 18,
! 0, 0, 78, 0, 257, 0, 611, 0, 512, 515,
! 0, 1451, 415, 8, 9, 10, 693, 0, 0, 0,
! 611, 611, 711, 26, 1457, 0, 134, 135, 208, 839,
! 208, 208, 0, 1036, 0, 0, 850, 0, 0, 0,
! 1504, 0, 0, 0, 434, 0, 0, 0, 722, 0,
! 1505, 1473, 21, 232, 0, 1474, 151, 208, 0, 261,
! 0, 232, 1506, 697, 0, 208, 0, 0, 262, 272,
! 0, 0, 0, 0, 0, 0, 0, 0, 271, 131,
! 132, 10, 0, 0, 13, 415, 8, 9, 10, 0,
! 1496, 0, 263, 0, 0, 0, 0, 0, 0, 0,
! 33, 434, 0, 784, 0, 372, 0, 18, 1009, 1012,
! 0, 130, 232, 0, 0, 0, 0, 0, 21, 151,
! 247, 232, 0, 0, 693, 21, 0, 0, 0, 0,
! 0, 26, 261, 0, 28, 272, 0, 0, 0, 232,
! 232, 262, 272, 1540, 1541, 903, 0, 0, 1266, 0,
! 1249, 1250, 1009, 1012, 0, 0, 0, 1257, 1267, 151,
! 151, 841, 0, 0, 0, 570, 33, 0, 0, 1148,
! 1268, 697, 0, 33, 0, 145, 8, 9, 10, 0,
! 1563, 1564, 0, 0, 0, 0, 1566, 0, 151, 0,
! 0, 611, 151, 151, 611, 611, 611, 0, 0, 0,
! 151, 0, 0, 0, 18, 0, 0, 151, 0, 0,
! 0, 0, 0, 0, 0, 21, 0, 0, 0, 0,
! 0, 693, 0, 0, 0, 0, 0, 0, 26, 0,
! 85, 28, 29, 257, 372, 372, 0, 372, 0, 257,
! 0, 0, 0, 0, 0, 833, 0, 0, 611, 611,
! 611, 0, 232, 0, 0, 834, 0, 0, 0, 611,
! 0, 0, 0, 33, 208, 0, 0, 835, 697, 754,
! 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
! 765, 766, 1249, 1250, 0, 1257, 0, 0, 0, 0,
! 0, 0, 0, 0, 172, 1680, 145, 8, 9, 10,
! 173, 12, 13, 0, 0, 0, 0, 0, 14, 0,
! 257, 0, 232, 232, 0, 0, 0, 0, 0, 0,
! 0, 0, 16, 0, 17, 18, 19, 208, 0, 0,
! 0, 20, 0, 611, 611, 0, 21, 611, 0, 0,
! 23, 0, 0, 174, 257, 0, 1009, 1012, 611, 26,
! 257, 0, 28, 29, 1036, 1036, 1036, 0, 0, 0,
! 611, 0, 722, 0, 0, 0, 31, 232, 0, 0,
! 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
! 0, 0, 0, 0, 33, 0, 0, 0, 34, 0,
! 0, 0, 35, 0, 0, 0, 434, 271, 8, 9,
! 10, 656, 657, 13, 658, 659, 660, 661, 662, 663,
! 664, 665, 666, 0, 0, 434, 0, 0, 0, 0,
! 0, 257, 0, 257, 372, 0, 18, 0, 0, 0,
! 0, 415, 131, 1533, 10, 0, 0, 21, 1187, 0,
! 0, 0, 0, 693, 0, 0, 0, 0, 0, 0,
! 26, 0, 0, 28, 272, 0, 151, 151, 151, 151,
! 151, 841, 611, 0, 0, 0, 151, 1310, 1148, 1148,
! 1148, 21, 0, 0, 722, 0, 0, 1311, 261, 257,
! 611, 611, 611, 1697, 0, 33, 0, 262, 272, 1312,
! 697, 0, 0, 903, 0, 0, 138, 0, 0, 151,
! 85, 0, 85, 0, 0, 0, 0, 1370, 85, 0,
! 85, 570, 0, 0, 0, 0, 0, 0, 0, 33,
! 0, 0, 0, 257, 0, 257, 0, 0, 0, 0,
! 0, 0, 0, 257, 0, 1698, 745, 746, 747, 748,
! 749, 750, 751, 752, 753, 754, 755, 756, 757, 758,
! 759, 760, 761, 762, 763, 764, 765, 766, 0, 0,
! 611, 611, 0, 611, 0, 0, 0, 0, 372, 0,
! 0, 0, 0, 0, 611, 271, 8, 9, 10, 173,
! 12, 13, 611, 0, 0, 489, 0, 14, 0, 0,
! 0, 0, 611, 611, 711, 0, 0, 0, 0, 0,
! 0, 16, 0, 17, 18, 0, 0, 0, 0, 0,
20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
! 0, 693, 0, 903, 0, 0, 0, 0, 26, 0,
! 0, 28, 272, 151, 151, 151, 611, 611, 711, 0,
! 0, 151, 151, 0, 0, 1266, 0, 0, 0, 271,
! 8, 9, 10, 0, 0, 1267, 0, 611, 611, 611,
! 611, 611, 0, 33, 434, 903, 0, 1268, 697, 0,
! 257, 54, 0, 0, 1370, 0, 0, 0, 18, 0,
! 0, 0, 0, 257, 0, 0, 0, 0, 0, 21,
! 0, 0, 0, 0, 0, 693, 0, 390, 54, 54,
! 0, 158, 26, 54, 85, 28, 272, 0, 1187, 0,
! 1187, 0, 54, 0, 0, 1368, 1375, 0, 1187, 1310,
! 0, 0, 0, 0, 0, 54, 0, 54, 0, 1311,
! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0,
! 0, 1312, 697, 0, 0, 0, 0, 0, 0, 265,
! 0, 0, 273, 0, 0, 145, 131, 132, 10, 0,
! 0, 13, 0, 0, 0, 0, 611, 611, 0, 611,
! 0, 257, 0, 611, 0, 0, 0, 0, 0, 0,
! 0, 493, 0, 0, 18, 0, 0, 0, 0, 151,
! 0, 0, 0, 0, 151, 21, 0, 85, 0, 0,
! 0, 0, 0, 0, 418, 418, 535, 54, 26, 0,
! 0, 28, 29, 54, 54, 0, 0, 265, 273, 54,
! 0, 0, 158, 158, 158, 155, 0, 0, 0, 457,
! 611, 611, 711, 611, 611, 156, 0, 0, 54, 0,
! 257, 434, 54, 33, 0, 0, 0, 157, 54, 54,
! 434, 0, 0, 8, 9, 0, 173, 12, 13, 0,
! 0, 0, 0, 0, 14, 0, 0, 54, 54, 158,
! 0, 0, 0, 0, 0, 0, 0, 265, 16, 0,
! 17, 18, 1368, 0, 0, 0, 257, 20, 611, 0,
! 0, 0, 0, 0, 0, 0, 785, 54, 0, 786,
! 0, 0, 0, 0, 0, 26, 0, 0, 134, 135,
! 0, 0, 1187, 0, 0, 0, 0, 0, 0, 0,
! 145, 8, 9, 10, 173, 12, 13, 0, 0, 636,
! 1659, 0, 14, 0, 0, 0, 0, 54, 0, 0,
! 0, 151, 841, 151, 265, 0, 16, 0, 17, 18,
! 19, 0, 0, 0, 0, 20, 0, 0, 8, 9,
! 21, 0, 12, 254, 23, 0, 0, 174, 0, 14,
0, 0, 0, 26, 0, 0, 28, 29, 0, 0,
! 0, 0, 0, 16, 0, 17, 18, 0, 0, 0,
! 31, 0, 20, 0, 0, 0, 0, 1530, 1148, 0,
! 32, 23, 1530, 693, 0, 1187, 0, 0, 33, 792,
! 26, 633, 34, 134, 135, 0, 35, 0, 353, 0,
! 0, 353, 0, 353, 0, 0, 0, 694, 418, 0,
! 0, 0, 0, 0, 0, 0, 0, 695, 265, 1148,
! 1148, 1148, 0, 0, 54, 0, 0, 0, 0, 696,
! 697, 0, 151, 0, 0, 0, 0, 0, 265, 0,
! 0, 0, 131, 132, 0, 0, 223, 224, 353, 0,
! 353, 0, 0, 14, 0, 0, 0, 0, 0, 0,
! 0, 418, 0, 0, 0, 0, 0, 792, 0, 0,
! 18, 0, 0, 54, 0, 0, 20, 0, 0, 0,
! 0, 0, 54, 0, 265, 23, 0, 693, 0, 0,
! 0, 457, 54, 0, 26, 54, 0, 134, 135, 0,
! 0, 457, 457, 457, 0, 0, 0, 54, 0, 0,
! 0, 694, 0, 0, 0, 54, 0, 0, 0, 0,
! 0, 695, 0, 0, 0, 0, 0, 0, 0, 208,
! 1671, 208, 0, 707, 697, 0, 0, 1358, 1359, 9,
! 10, 54, 54, 54, 54, 0, 0, 0, 0, 54,
! 0, 0, 0, 0, 0, 0, 0, 54, 54, 0,
! 0, 54, 0, 158, 158, 158, 457, 0, 0, 0,
! 54, 0, 0, 0, 0, 54, 0, 21, 54, 0,
! 0, 0, 0, 931, 932, 934, 935, 936, 0, 0,
! 26, 0, 0, 28, 29, 0, 636, 0, 0, 1360,
! 0, 0, 0, 0, 0, 0, 0, 200, 0, 954,
! 0, 0, 0, 0, 54, 0, 0, 201, 0, 0,
! 0, 0, 0, 0, 0, 33, 0, 615, 616, 202,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,
! 208, 353, 983, 625, 0, 0, 626, 0, 0, 627,
! 0, 0, 637, 0, 0, 0, 642, 0, 0, 0,
! 0, 1013, 0, 0, 682, 0, 80, 80, 1026, 80,
! 1027, 80, 1013, 0, 0, 0, 633, 633, 633, 0,
! 80, 0, 353, 0, 0, 0, 0, 0, 0, 0,
! 0, 633, 0, 80, 0, 80, 750, 751, 752, 753,
754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
! 764, 765, 766, 145, 8, 9, 10, 222, 223, 224,
! 275, 654, 655, 656, 657, 14, 658, 659, 660, 661,
! 662, 663, 664, 665, 666, 0, 0, 0, 265, 353,
! 0, 0, 18, 0, 0, 0, 0, 0, 20, 0,
! 633, 0, 633, 21, 633, 0, 0, 23, 0, 693,
! 0, 0, 0, 0, 0, 0, 26, 0, 0, 28,
! 29, 0, 0, 0, 0, 80, 0, 54, 0, 0,
! 0, 80, 80, 200, 0, 0, 275, 80, 0, 0,
! 80, 80, 80, 201, 0, 0, 0, 0, 0, 0,
! 1013, 33, 0, 0, 0, 1672, 80, 0, 1013, 0,
! 80, 0, 0, 0, 0, 0, 80, 80, 0, 0,
! 0, 0, 0, 0, 418, 0, 0, 0, 0, 0,
! 0, 418, 0, 0, 0, 80, 80, 80, 0, 0,
! 54, 131, 132, 0, 0, 223, 224, 0, 0, 353,
! 0, 0, 14, 755, 756, 757, 758, 759, 760, 761,
! 762, 763, 764, 765, 766, 80, 0, 0, 0, 18,
! 0, 0, 493, 0, 0, 20, 0, 0, 493, 0,
! 54, 54, 158, 0, 23, 0, 693, 265, 273, 0,
! 1145, 0, 0, 26, 0, 0, 134, 135, 0, 0,
! 0, 0, 0, 0, 633, 80, 0, 0, 0, 54,
! 694, 0, 457, 54, 54, 457, 457, 457, 0, 353,
! 695, 54, 0, 0, 0, 0, 0, 0, 54, 0,
! 0, 0, 696, 697, 0, 625, 626, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 353, 0, 1229,
! 0, 54, 353, 353, 0, 353, 353, 353, 353, 353,
! 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
! 353, 353, 353, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 954, 0, 0, 0, 0, 0, 493,
! 653, 654, 655, 656, 657, 1013, 658, 659, 660, 661,
! 662, 663, 664, 665, 666, 0, 0, 721, 0, 0,
! 0, 0, 80, 753, 754, 755, 756, 757, 758, 759,
! 760, 761, 762, 763, 764, 765, 766, 721, 574, 576,
! 577, 578, 579, 580, 0, 582, 583, 584, 585, 586,
! 587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
! 597, 598, 599, 600, 601, 602, 603, 0, 605, 0,
! 792, 80, 1288, 0, 0, 0, 0, 0, 0, 0,
! 80, 0, 0, 0, 0, 633, 633, 633, 0, 0,
! 80, 457, 265, 80, 0, 353, 0, 0, 0, 0,
! 165, 0, 0, 0, 0, 80, 0, 0, 0, 0,
! 1013, 0, 0, 80, 145, 8, 9, 10, 0, 1013,
! 13, 0, 0, 0, 211, 655, 656, 657, 1328, 658,
! 659, 660, 661, 662, 663, 664, 665, 666, 0, 80,
! 80, 80, 80, 18, 0, 0, 0, 80, 0, 0,
! 0, 0, 0, 0, 21, 80, 80, 0, 0, 80,
! 0, 80, 80, 80, 0, 0, 0, 26, 80, 0,
! 28, 29, 493, 80, 493, 0, 80, 0, 0, 0,
! 0, 0, 1392, 0, 200, 0, 0, 54, 54, 54,
! 158, 158, 158, 457, 201, 265, 0, 54, 265, 1145,
! 1145, 1145, 33, 0, 0, 273, 202, 0, 0, 0,
! 0, 0, 80, 0, 0, 0, 0, 0, 0, 0,
! 0, 165, 165, 165, 353, 353, 0, 353, 0, 0,
! 158, 54, 0, 54, 0, 0, 0, 0, 54, 54,
! 0, 54, 0, 1013, 0, 0, 0, 211, 6, 0,
! 7, 8, 9, 10, 11, 12, 13, 0, 0, 0,
! 0, 0, 14, 0, 0, 0, 211, 211, 521, 0,
0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
! 0, 0, 0, 0, 0, 20, 0, 1013, 0, 0,
! 21, 0, 0, 0, 23, 0, 211, 464, 0, 0,
! 0, 0, 0, 26, 0, 0, 28, 29, 0, 0,
! 30, 0, 1239, 0, 0, 0, 0, 0, 0, 493,
! 31, 0, 0, 457, 457, 457, 0, 0, 0, 0,
! 32, 0, 493, 0, 0, 0, 0, 721, 33, 0,
! 920, 0, 34, 0, 625, 626, 0, 0, 0, 0,
! 0, 145, 131, 132, 10, 0, 0, 566, 0, 0,
! 0, 0, 0, 921, 54, 54, 54, 457, 457, 457,
! 0, 926, 54, 54, 0, 80, 0, 0, 0, 610,
! 18, 0, 0, 0, 271, 8, 9, 10, 173, 12,
! 13, 21, 0, 0, 489, 0, 14, 0, 0, 0,
! 0, 0, 0, 0, 26, 54, 0, 28, 29, 0,
! 16, 0, 17, 18, 353, 0, 0, 353, 0, 20,
! 1328, 31, 0, 0, 21, 0, 265, 273, 23, 700,
! 693, 32, 700, 700, 0, 54, 0, 26, 80, 33,
! 28, 272, 0, 34, 145, 8, 9, 10, 0, 0,
! 254, 0, 0, 0, 1310, 0, 0, 0, 625, 626,
! 0, 0, 0, 0, 1311, 0, 0, 0, 0, 0,
! 0, 0, 33, 18, 0, 0, 1312, 697, 80, 80,
! 80, 1013, 0, 0, 21, 0, 275, 0, 1147, 493,
! 0, 0, 211, 0, 0, 0, 0, 26, 0, 0,
! 28, 29, 0, 0, 0, 0, 0, 80, 0, 0,
! 0, 80, 80, 0, 200, 0, 0, 0, 0, 80,
! 54, 0, 0, 265, 201, 54, 80, 0, 54, 0,
! 0, 0, 33, 0, 0, 792, 202, 0, 353, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,
! 0, 0, 0, 0, 0, 0, 1414, 0, 353, 0,
! 837, 0, 837, 837, 700, 278, 0, 0, 8, 9,
! 0, 0, 12, 13, 0, 0, 211, 211, 0, 14,
! 211, 0, 521, 521, 521, 872, 0, 0, 0, 211,
! 0, 0, 0, 16, 211, 17, 18, 211, 0, 0,
! 0, 0, 20, 0, 279, 280, 0, 0, 0, 0,
! 0, 23, 0, 281, 0, 0, 0, 0, 0, 0,
! 26, 0, 0, 134, 135, 0, 282, 0, 0, 0,
! 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
! 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
! 303, 0, 0, 304, 305, 306, 0, 307, 0, 0,
! 308, 0, 145, 8, 9, 10, 0, 0, 13, 0,
! 0, 209, 54, 54, 54, 0, 309, 1200, 1201, 1327,
! 0, 721, 8, 9, 0, 0, 12, 13, 0, 0,
! 636, 18, 0, 14, 0, 268, 0, 0, 276, 0,
! 0, 0, 21, 0, 0, 0, 0, 16, 0, 17,
! 18, 145, 8, 9, 10, 26, 20, 566, 28, 29,
! 0, 0, 268, 0, 384, 23, 0, 0, 0, 1145,
! 0, 0, 516, 0, 26, 0, 0, 134, 135, 0,
! 18, 0, 517, 0, 0, 0, 993, 0, 0, 0,
! 33, 21, 0, 0, 518, 0, 0, 0, 0, 0,
! 700, 700, 700, 0, 26, 0, 0, 28, 29, 0,
! 1145, 1145, 1145, 700, 0, 80, 80, 80, 80, 80,
! 80, 200, 0, 54, 0, 80, 0, 1147, 1147, 1147,
! 0, 201, 0, 1321, 209, 0, 211, 0, 0, 33,
! 0, 0, 1168, 202, 7, 8, 1169, 10, 173, 12,
! 13, 0, 0, 209, 209, 209, 14, 0, 80, 80,
! 0, 80, 0, 527, 0, 0, 80, 80, 0, 80,
! 16, 0, 17, 18, 19, 0, 0, 0, 0, 20,
! -556, 0, 0, 209, 21, 0, 0, 0, 23, 1170,
! 0, 174, 0, 0, 0, 0, 0, 26, 0, 837,
! 28, 29, 0, 0, 1171, 0, 1172, 0, 0, 0,
! 276, 0, 0, 0, 31, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 32, 271, 8, 9, 10, 0,
! 268, 13, 33, 0, 0, 0, 1173, 0, 0, 837,
! 837, 1139, 0, 0, 0, 0, 0, 0, 0, 1139,
! 0, 0, -556, 0, 18, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 637, 21, 0, 0, 211, 0,
! 0, 872, 211, 211, 872, 872, 872, 0, 26, 0,
! 211, 28, 272, 0, 0, 0, 0, 211, 0, 0,
! 0, 0, 80, 80, 80, 868, 1523, 1524, 9, 10,
! 80, 80, 0, 0, 0, 869, 0, 0, 0, 0,
! 0, 0, 0, 33, 0, 0, 0, 870, 0, 0,
! 0, 0, 0, 0, 268, 276, 0, 0, 610, 610,
! 610, 0, 0, 80, 0, 0, 21, 8, 9, 700,
! 173, 12, 13, 0, 268, 276, 489, 0, 14, 26,
! 0, 0, 28, 29, 0, 275, 0, 0, 1525, 0,
! 0, 0, 16, 80, 17, 18, 200, 0, 0, 625,
! 626, 20, 0, 0, 0, 0, 201, 0, 0, 209,
! 23, 0, 0, 0, 33, 0, 0, 0, 202, 26,
! 0, 0, 134, 135, 0, 0, 0, 0, -419, 8,
! 9, -419, -419, 12, 254, 0, 0, 0, 0, 0,
! 14, 0, 0, 700, 700, 0, 0, 700, 0, 0,
! 0, 0, 0, 0, 16, 0, 17, 18, 700, 0,
! 0, 0, 0, 20, 700, 700, 700, 0, -419, 0,
! 700, 0, 23, 0, 693, 0, 0, 209, 80, 209,
! 209, 26, 0, 80, 134, 135, 80, 0, 0, 0,
! 0, 0, 0, 209, 209, 0, 0, 209, 694, 209,
! 209, 209, 209, 18, 0, 0, 209, 0, 695, 0,
! 0, 209, 0, 0, 209, 0, -419, 0, 0, 0,
! 696, 697, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 492, 0, 0, 0, 0, 0, 745, 746, 747,
! 748, 749, 750, 751, 752, 753, 754, 755, 756, 757,
! 758, 759, 760, 761, 762, 763, 764, 765, 766, 0,
! 0, 0, 0, 0, 0, 0, 837, 837, 837, 1139,
! 1139, 1139, 1313, 0, 0, 0, 837, 0, 1139, 1139,
! 1139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 872, 872, 872, 0, 0, 0, 1168, 0, 7, 8,
! 1169, 10, 173, 12, 13, 0, 0, 0, 0, 165,
! 14, 0, 0, 0, 0, 0, 0, 211, 0, 145,
! 131, 132, 10, 0, 16, 0, 17, 18, 19, 0,
! 80, 80, 80, 20, -557, 0, 0, 0, 21, 0,
! 0, 0, 23, 1170, 0, 174, 0, 0, 18, 0,
! 0, 26, 0, 0, 28, 29, 0, 0, 1171, 21,
! 1172, 0, 0, 0, 0, 0, 0, 0, 31, 0,
! 993, 993, 26, 993, 0, 28, 29, 0, 32, 0,
! 0, 0, 0, 0, 700, 0, 33, 1147, 0, 31,
! 1173, 0, 700, 268, 276, 0, 0, 0, 0, 32,
! 0, 0, 700, 700, 700, 0, -557, 33, 0, 0,
! 0, 34, 0, 209, 0, 0, 0, 0, 0, 0,
! 741, 0, 0, 0, 0, 0, 0, 0, 1147, 1147,
! 1147, 8, 9, 0, 173, 12, 13, 0, 0, 0,
! 1622, 80, 14, 837, 837, 837, 1313, 1313, 1313, 0,
! 0, 837, 837, 0, 0, 0, 16, 0, 17, 18,
! 0, 0, 0, 0, 0, 20, 0, 872, 872, 872,
! 872, 872, 0, 0, 23, 0, 209, 0, 0, 0,
! 0, 0, 0, 26, 211, 0, 134, 135, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 698, 0, 0,
! 698, 698, 145, 8, 9, 10, 212, 12, 213, 0,
! 0, 0, 0, 0, 14, 0, 209, 209, 1137, 825,
! 492, 0, 0, 268, 276, 0, 1137, 0, 16, 0,
! 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
! 0, 0, 21, 0, 0, 209, 23, 0, 209, 209,
! 209, 209, 209, 209, 527, 26, 0, 209, 28, 29,
! 0, 0, 214, 0, 209, 0, 145, 8, 9, 10,
! 0, 0, 31, 0, 0, 0, 1313, 1313, 0, 1313,
! 0, 0, 32, 872, 0, 0, 276, 0, 0, 0,
! 33, 0, 0, 0, 34, 18, 0, 0, 0, 211,
! 652, 653, 654, 655, 656, 657, 21, 658, 659, 660,
! 661, 662, 663, 664, 665, 666, 0, 0, 0, 26,
! 0, 0, 28, 29, 0, 0, 0, 0, 698, 0,
! 698, 698, 698, 0, 0, 0, 516, 0, 0, 0,
! 1313, 1313, 1313, 1313, 1313, 0, 517, 0, 0, 492,
! 0, 0, 929, 0, 33, 0, 0, 0, 518, 0,
! 1358, 8, 1169, 10, 212, 12, 213, 0, 0, 0,
! 0, 0, 14, 0, 0, 0, 0, 0, 825, 0,
! 8, 9, 0, 212, 12, 213, 16, 0, 17, 18,
! 0, 14, 0, 0, 0, 20, 0, 0, 1313, 0,
! 21, 0, 0, 492, 23, 16, 0, 17, 18, 492,
! 0, 492, 492, 26, 20, 0, 28, 29, 268, 276,
! 268, 0, 1360, 23, 0, 0, 0, 0, 0, 0,
! 31, 0, 26, 0, 0, 134, 135, 0, 0, 0,
! 32, 0, 492, 0, 0, 0, 0, 0, 33, 492,
! 0, 211, 1173, 211, 0, 0, 0, 0, 0, 492,
749, 750, 751, 752, 753, 754, 755, 756, 757, 758,
! 759, 760, 761, 762, 763, 764, 765, 766, 1055, 1057,
! 1058, 1059, 0, 1061, 1062, 1063, 1064, 1065, 1066, 1067,
! 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077,
! 1078, 1079, 0, 0, 0, 0, 0, 0, 521, 0,
! 0, 0, 0, 209, 209, 209, 209, 209, 1137, 209,
! 0, 1314, 0, 209, 268, 1137, 1137, 1137, 698, 698,
! 698, 276, 0, 0, 0, 0, 0, 209, 209, 209,
! 1634, 1032, -513, -513, -513, -513, -513, -513, -513, 521,
! 521, 521, -513, 0, -513, 0, 0, 0, 0, 825,
! 0, 0, 211, 0, 209, -513, 0, -513, 0, 0,
! 0, -513, 0, 0, 0, 0, 0, -513, 492, 0,
! 0, 0, -513, 0, 0, 0, -513, 0, -513, 0,
! 0, 0, 492, 0, 0, -513, 0, 0, -513, -513,
! -513, -513, -513, 0, -513, -513, -513, -513, -513, -513,
! -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
! -513, -513, -513, -513, -513, -513, -513, 698, -513, -513,
! -513, 0, -513, -513, -513, -513, -513, 0, 0, 0,
! 0, 0, 1635, -513, 0, 107, 0, 0, -513, -513,
! -513, 0, -513, 0, 125, 107, 0, 0, 0, 0,
! 0, 0, 107, 107, 0, 107, 0, 698, 698, 698,
! 0, 0, 0, 0, 0, 0, 0, 1032, 0, 0,
! 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0,
! 209, 209, 209, 209, 209, 1137, 0, 0, 209, 209,
! 243, 0, 8, 9, 0, 0, 12, 254, 0, 145,
! 8, 9, 10, 14, 209, 209, 209, 209, 209, 0,
! 0, 0, 825, 492, 0, 0, 0, 16, 0, 17,
! 18, 209, 0, 0, 0, 0, 20, 492, 18, 492,
! 0, 492, 0, 0, 0, 23, 0, 0, 0, 21,
! 0, 0, 527, 0, 26, 0, 0, 134, 135, 410,
! 0, 125, 26, 0, 0, 28, 29, 698, 107, 107,
! 0, 0, 0, 0, 0, 0, 0, 107, 107, 200,
! 0, 107, 107, 107, 1275, 442, 107, 107, 107, 201,
! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0,
! 0, 202, 752, 753, 754, 755, 756, 757, 758, 759,
! 760, 761, 762, 763, 764, 765, 766, 492, 0, 0,
! 0, 0, 0, 209, 209, 1314, 209, 0, 0, 0,
! 209, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 698, 698, 0, 0, 698, 209, 0, 0, 0,
! 0, 0, 0, 0, 0, 492, 698, 0, 0, 0,
! 0, 0, 1032, 1032, 1032, 0, 0, 1168, 698, 7,
! 8, 1169, 10, 173, 12, 13, 0, 243, 107, 0,
! 0, 14, 0, 0, 0, 825, 825, 209, 209, 1137,
! 209, 209, 0, 0, 0, 16, 0, 17, 18, 19,
! 0, 107, 0, 0, 20, 0, 0, 1345, 0, 21,
! 0, 0, 0, 23, 1170, 0, 174, 0, 0, 0,
! 0, 0, 26, 0, 0, 28, 29, 0, 0, 1171,
! 0, 1172, 0, 0, 0, 0, 0, 0, 0, 31,
! 0, 0, 0, 0, 107, 209, 0, 0, 0, 32,
! 0, 0, 0, 825, 825, 0, 0, 33, 0, 0,
! 0, 1173, 0, 0, 698, 698, 698, 698, 698, 698,
! 698, 0, 0, 0, 698, 0, 1032, 1032, 1032, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 107, 0, 107, 0, 0, 107, 209, 0,
! 209, 0, 0, 0, 0, 8, 9, 0, 0, 12,
! 13, 0, 0, 1426, 0, 0, 14, 0, 0, 0,
! 0, 0, 0, 0, 271, 8, 9, 10, 0, 0,
! 16, 0, 17, 18, 492, 0, 492, 0, 492, 20,
! 825, 0, 0, 0, 0, 107, 0, 0, 23, 0,
! 0, 0, 0, 18, 0, 1137, 0, 26, 0, 0,
! 134, 135, 0, 0, 21, 0, 107, 0, 107, 0,
! 0, 825, 0, 0, 0, 0, 107, 26, 0, 107,
! 28, 272, 698, 0, 0, 0, 0, 0, 0, 0,
! 698, 107, 0, 0, 868, 1461, 1137, 1137, 1137, 0,
! 698, 698, 698, 0, 869, 0, 0, 0, 0, 209,
! 0, 0, 33, 0, 0, 0, 870, 751, 752, 753,
! 754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
! 764, 765, 766, 825, 0, 0, 0, 0, 0, 0,
! 0, 698, 698, 698, 698, 698, 698, 0, 0, 698,
! 698, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 492, 0, 0, 0, 1523, 131, 132, 10,
! 0, 1168, 0, 7, 8, 1169, 10, 173, 12, 13,
! 0, 0, 243, 896, 825, 14, 0, 0, 0, 0,
! 0, 0, 0, 0, 1519, 1520, 0, 0, 107, 16,
! 0, 17, 18, 19, 0, 0, 21, 0, 20, -559,
! 0, 0, 0, 21, 0, 0, 0, 23, 1170, 26,
! 174, 0, 28, 29, 825, 0, 26, 0, 1525, 28,
! 29, 0, 0, 1171, 0, 1172, 31, 0, 0, 0,
! 107, 0, 107, 31, 0, 0, 32, 0, 0, 0,
! 0, 0, 0, 32, 33, 0, 0, 0, 34, 0,
! 1572, 33, 0, 0, 0, 1173, 0, 0, 0, 0,
! 0, 0, 0, 0, 698, 698, 0, 698, 0, 0,
! 0, -559, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 145, 131, 1346, 10, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 1629, 1630, 0, 0, 0,
! 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
! 18, 0, 107, 107, 0, 107, 107, 0, 0, 0,
! 0, 21, 1648, 0, 0, 0, 0, 0, 698, 698,
! 698, 698, 698, 0, 26, 0, 0, 28, 29, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 155, 0, 0, 0, 0, 0, 0, 0, 0,
! 1686, 156, 0, 0, 0, 0, 0, 0, 0, 33,
! 0, 0, 0, 157, 646, 647, 648, 649, 650, 651,
! 652, 653, 654, 655, 656, 657, 698, 658, 659, 660,
! 661, 662, 663, 664, 665, 666, 0, 492, 107, 0,
! 0, 0, 0, 0, 0, 107, 125, 0, 0, 0,
! 0, 0, 0, 0, 0, 243, 0, 0, 0, 0,
! 0, 0, 1736, 0, 1585, 0, -930, -930, -930, -930,
! -930, -930, -930, -930, -930, -930, 0, -930, -930, -930,
! 896, -930, -930, -930, -930, -930, -930, -930, -930, -930,
! -930, -930, -930, -930, -930, -930, -930, 0, -930, -930,
! -930, -930, 0, -930, -930, -930, -930, -930, -930, -930,
! -930, -930, 0, 0, -930, -930, -930, -930, -930, -930,
! 0, 0, -930, -930, -930, 0, -930, -930, 0, 0,
! 0, 0, 0, -930, 0, 0, -930, 0, 0, 0,
! 0, 0, 0, 0, -930, -930, -930, 0, 0, 0,
! 0, 0, -930, -930, -930, 0, 0, 0, -930, 0,
! -930, 0, 0, 0, 896, 0, 0, 0, 0, 0,
! 0, 0, 0, 825, 1586, -930, 0, 0, 0, 0,
! 0, 0, 0, 107, 107, 107, 107, 0, 0, 0,
! 0, 0, 0, 0, 107, 0, 0, 0, 1548, 0,
! -930, -930, -930, -930, -930, -930, -930, -930, -930, -930,
! 0, -930, -930, -930, 0, -930, -930, -930, -930, -930,
! -930, -930, -930, -930, -930, -930, -930, -930, -930, -930,
! -930, 0, -930, -930, -930, -930, 0, -930, -930, -930,
! -930, -930, -930, -930, -930, -930, 0, 0, -930, -930,
! -930, -930, -930, -930, 0, 0, -930, -930, -930, 0,
! -930, -930, 0, 0, 0, 0, 0, -930, 107, 107,
! -930, 0, 107, 0, 0, 0, 0, 0, -930, -930,
! -930, 0, 0, 107, 0, 0, -930, -930, -930, 0,
! 0, 0, -930, 0, -930, 107, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 628, -930,
! 271, 8, 9, 10, 173, 12, 315, 316, 317, 318,
! 489, 319, 14, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 16, 320, 17, 18,
! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326,
! 21, 327, 328, 0, 23, 0, 693, 0, 329, 330,
! 331, 332, 333, 26, 0, 0, 28, 272, -345, 0,
! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0,
! 1028, 0, 0, 0, 0, 0, 0, 0, 338, 339,
! 1029, 0, 0, 0, 0, 0, 341, 342, 343, 0,
! 0, 0, 1030, 697, 0, 0, 0, 0, 0, 1168,
! 0, 7, 8, 1169, 10, 173, 12, 13, 0, 345,
! 0, 0, 0, 14, 0, 0, 0, 0, 896, 0,
! 0, 107, 0, 0, 107, 0, 0, 16, 0, 17,
! 18, 19, 0, 0, 0, 0, 20, -558, 0, 0,
! 0, 21, 0, 0, 0, 23, 1170, 0, 174, 0,
! 0, 0, 0, 0, 26, 0, 0, 28, 29, 0,
! 0, 1171, 0, 1172, 651, 652, 653, 654, 655, 656,
! 657, 31, 658, 659, 660, 661, 662, 663, 664, 665,
! 666, 32, 0, 0, 0, 107, 107, 0, 107, 33,
! 0, 0, 0, 1173, 0, 0, 0, 0, 0, 107,
! 0, 0, 0, 0, 0, 0, 0, 107, 0, -558,
! 0, 0, 0, 0, 0, 0, 0, 107, 107, 0,
! 0, 0, 628, 0, 145, 8, 9, 10, 173, 12,
! 315, 316, 317, 318, 489, 319, 14, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 896, 0,
! 16, 320, 17, 18, 19, 0, 321, 322, 323, 20,
! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0,
! 693, 0, 329, 330, 331, 332, 333, 26, 0, 0,
! 28, 29, -345, 0, 0, 385, 0, 0, 0, 0,
! 896, 336, 0, 0, 1142, 0, 0, 0, 0, 0,
! 0, 0, 338, 339, 1143, 0, 0, 0, 0, 0,
! 341, 342, 343, 0, 0, 0, 1144, 697, 0, 0,
! 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 488, 345, 271, 8, 9, 10, 173, 12,
! 315, 316, 317, 318, 489, 319, 14, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 16, 320, 17, 18, 19, 0, 321, 322, 323, 20,
! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0,
! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0,
! 28, 272, 0, 0, 0, 385, 0, 0, 0, 0,
! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0,
! 0, 0, 338, 339, 340, 0, 0, 107, 0, 107,
! 341, 342, 343, 0, 0, 957, 344, 271, 8, 9,
! 10, 173, 12, 315, 316, 317, 318, 0, 319, 14,
! 0, -843, 0, 345, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 320, 17, 18, 19, 0, 321,
! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328,
! 0, 23, 0, 0, 0, 329, 330, 331, 332, 333,
! 26, 0, 0, 28, 272, 1731, 0, -832, 385, 0,
! 0, 0, 0, 0, 336, 0, 0, 337, 0, 0,
! 0, 0, 0, 0, 0, 338, 339, 340, 0, 0,
! 0, 0, 0, 341, 342, 343, 0, 0, 823, 344,
! 945, 946, 947, 10, 0, 12, 505, 316, 317, 318,
! 0, 319, 14, 0, 0, 0, 345, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 16, 320, 17, 0,
! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326,
! 21, 327, 328, 0, 23, 0, 0, 0, 329, 330,
! 331, 332, 333, 26, 0, 0, 948, 949, 824, 0,
! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0,
! 337, 0, 0, 0, 0, 0, 0, 0, 338, 339,
! 340, 0, 0, 0, 0, 0, 341, 342, 343, 0,
! 0, 0, 344, 950, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 1127, 345,
! 628, 0, 271, 8, 9, 10, 0, 12, 315, 316,
! 317, 318, 0, 319, 14, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320,
! 17, 18, 19, 0, 321, 322, 323, 20, 0, 324,
! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0,
! 329, 330, 331, 332, 333, 26, 0, 0, 28, 272,
! -345, 0, 0, 385, 0, 0, 0, 0, 0, 336,
! 0, 0, 629, 0, 0, 0, 0, 0, 0, 0,
! 338, 339, 630, 0, 0, 0, 0, 0, 341, 342,
! 343, 0, 0, 823, 631, 945, 946, 947, 10, 0,
! 12, 505, 316, 317, 318, 0, 319, 14, 0, 0,
! 0, 345, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 320, 17, 0, 19, 0, 321, 322, 323,
! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23,
! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0,
! 0, 948, 949, 824, 0, 0, 385, 0, 0, 0,
! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0,
! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
! 0, 341, 342, 343, 0, 0, 0, 344, 950, 823,
! 0, 271, 8, 9, 10, 0, 12, 505, 316, 317,
! 318, 0, 319, 14, 345, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17,
! 0, 19, 0, 321, 322, 323, 20, 0, 324, 325,
! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329,
! 330, 331, 332, 333, 26, 0, 0, 28, 272, 824,
! 0, 0, 385, 0, 0, 0, 0, 0, 336, 0,
! 0, 337, 0, 0, 0, 0, 0, 0, 0, 338,
! 339, 340, 0, 0, 0, 0, 0, 341, 342, 343,
! 0, 0, 0, 344, 823, 0, 945, 946, 947, 10,
! 1324, 12, 505, 316, 317, 318, 0, 319, 14, 0,
! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 16, 320, 17, 0, 19, 0, 321, 322,
! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0,
! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26,
! 0, 0, 948, 949, 824, 0, 0, 385, 0, 0,
! 0, 0, 0, 336, 0, 0, 337, 0, 0, 0,
! 0, 0, 0, 0, 338, 339, 340, 0, 0, 0,
! 0, 0, 341, 342, 343, 0, 0, 823, 344, 945,
! 946, 947, 10, 0, 12, 505, 316, 317, 318, 0,
! 319, 14, 0, 0, -517, 345, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19,
! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21,
! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331,
! 332, 333, 26, 0, 0, 948, 949, 824, 0, 0,
! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337,
! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340,
! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0,
! 628, 344, 145, 8, 9, 10, 0, 12, 315, 316,
! 317, 318, 0, 319, 14, 0, 0, 1439, 345, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320,
! 17, 18, 19, 0, 321, 322, 323, 20, 0, 324,
! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0,
! 329, 330, 331, 332, 333, 26, 0, 0, 28, 29,
! -345, 0, 0, 385, 0, 0, 0, 0, 0, 336,
! 0, 0, 1713, 0, 0, 0, 0, 0, 0, 0,
! 338, 339, 1714, 0, 0, 0, 0, 0, 341, 342,
! 343, 0, 0, 1770, 1715, 271, 8, 9, 10, 0,
! 12, 315, 316, 317, 318, 0, 319, 14, 0, 0,
! 0, 345, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 320, 17, 18, 19, 0, 321, 322, 323,
! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23,
! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0,
! 0, 28, 272, 0, 0, -209, 385, 0, 0, 0,
! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0,
! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
! 0, 341, 342, 343, 0, 0, 823, 344, 271, 8,
! 9, 10, 0, 12, 505, 316, 317, 318, 0, 319,
! 14, 0, 0, 0, 345, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 320, 17, 0, 19, 0,
! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327,
! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332,
! 333, 26, 0, 0, 28, 272, 824, 0, 0, 385,
! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0,
! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0,
! 0, 0, 0, 0, 341, 342, 343, 0, 0, 957,
! 344, 271, 8, 9, 10, 0, 12, 505, 316, 317,
! 318, 0, 319, 14, 0, 0, 0, 345, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17,
! 0, 19, 0, 321, 322, 323, 20, 0, 324, 325,
! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329,
! 330, 331, 332, 333, 26, 0, 0, 28, 272, 0,
! 0, 0, 385, -832, 0, 0, 0, 0, 336, 0,
! 0, 337, 0, 0, 0, 0, 0, 0, 0, 338,
! 339, 340, 0, 0, 0, 0, 0, 341, 342, 343,
! 0, 0, 957, 344, 271, 8, 9, 10, 0, 12,
! 505, 316, 317, 318, 0, 319, 14, 0, 0, 0,
! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 16, 320, 17, 0, 19, 0, 321, 322, 323, 20,
! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0,
! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0,
! 28, 272, 0, 0, 0, 385, 0, 0, 0, 0,
! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0,
! 0, 0, 338, 339, 340, 0, 0, 0, 0, 0,
! 341, 342, 343, 0, 0, 1054, 344, 271, 8, 9,
! 10, 0, 12, 505, 316, 317, 318, 0, 319, 14,
! 0, -832, 0, 345, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 320, 17, 0, 19, 0, 321,
! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328,
! 0, 23, 0, 0, 0, 329, 330, 331, 332, 333,
! 26, 0, 0, 28, 272, 0, 0, 0, 385, 0,
! 0, 0, 0, 0, 336, 0, 0, 337, 0, 0,
! 0, 0, 0, 0, 0, 338, 339, 340, 0, 0,
! 0, 0, 0, 341, 342, 343, 0, 0, 1056, 344,
! 271, 8, 9, 10, 0, 12, 505, 316, 317, 318,
! 0, 319, 14, 0, 0, 0, 345, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 16, 320, 17, 0,
! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326,
! 21, 327, 328, 0, 23, 0, 0, 0, 329, 330,
! 331, 332, 333, 26, 0, 0, 28, 272, 0, 0,
! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0,
! 337, 0, 0, 0, 0, 0, 0, 0, 338, 339,
! 340, 0, 0, 0, 0, 0, 341, 342, 343, 0,
! 0, 1685, 344, 271, 8, 9, 10, 0, 12, 505,
! 316, 317, 318, 0, 319, 14, 0, 0, 0, 345,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 320, 17, 0, 19, 0, 321, 322, 323, 20, 0,
! 324, 325, 326, 21, 327, 328, 0, 23, 0, 0,
! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28,
! 272, 0, 0, 0, 385, 0, 0, 0, 0, 0,
! 336, 0, 0, 337, 0, 0, 0, 0, 0, 0,
! 0, 338, 339, 340, 0, 0, 0, 0, 0, 341,
! 342, 343, 0, 0, 0, 344, 271, 8, 9, 10,
! 0, 12, 505, 316, 317, 318, 0, 319, 14, 0,
! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 16, 320, 17, 0, 19, 0, 321, 322,
! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0,
! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26,
! 0, 0, 28, 272, 0, 0, 0, 385, 0, 0,
! 0, 0, 0, 336, 0, 0, 337, 0, 0, 0,
! 0, 0, 0, 0, 338, 339, 340, 0, 0, 0,
! 0, 0, 341, 342, 343, 0, 0, 0, 344, 271,
! 8, 9, 10, 0, 12, 505, 316, 317, 318, 0,
! 319, 14, 0, 0, 0, 345, 506, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19,
! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21,
! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331,
! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0,
! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337,
! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340,
! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0,
! 0, 344, 271, 8, 9, 10, 0, 12, 505, 316,
! 317, 318, 0, 319, 14, 0, 0, 0, 345, 878,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320,
! 17, 0, 19, 0, 321, 322, 323, 20, 0, 324,
! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0,
! 329, 330, 331, 332, 333, 26, 0, 0, 28, 272,
! 0, 0, 0, 385, 0, 0, 0, 0, 0, 336,
! 0, 0, 337, 0, 0, 0, 0, 0, 0, 0,
! 338, 339, 340, 0, 0, 0, 0, 0, 341, 342,
! 343, 0, 0, 0, 344, 271, 8, 9, 10, 0,
! 12, 505, 316, 317, 318, 0, 319, 14, 0, 0,
! 0, 345, 996, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 320, 17, 0, 19, 0, 321, 322, 323,
! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23,
! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0,
! 0, 28, 272, 0, 0, 0, 385, 0, 0, 0,
! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0,
! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
! 0, 341, 342, 343, 0, 0, 0, 344, 271, 8,
! 9, 10, 0, 12, 505, 316, 317, 318, 0, 319,
! 14, 0, 0, 0, 345, 1016, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 320, 17, 0, 19, 0,
! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327,
! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332,
! 333, 26, 0, 0, 28, 272, 0, 0, 0, 385,
! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0,
! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0,
! 0, 0, 0, 0, 341, 342, 343, 0, 0, 0,
344, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 345, 1260, 1589,
! 1590, 1591, 10, 173, 12, 315, 316, 317, 318, 0,
! 319, 14, 1592, 0, 1593, 1594, 1595, 1596, 1597, 1598,
! 1599, 1600, 1601, 1602, 15, 16, 320, 17, 18, 19,
! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21,
! 327, 328, 1603, 23, 1604, 0, 0, 329, 330, 331,
! 332, 333, 26, 0, 0, 1605, 272, 1216, 0, 1606,
! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337,
! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340,
! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0,
! 0, 344, 0, 1607, 1589, 1590, 1591, 10, 173, 12,
! 315, 316, 317, 318, 0, 319, 14, 1592, 345, 1593,
! 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 15,
! 16, 320, 17, 18, 19, 0, 321, 322, 323, 20,
! 0, 324, 325, 326, 21, 327, 328, 1603, 23, 1604,
! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0,
! 1605, 272, 0, 0, 1606, 385, 0, 0, 0, 0,
! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0,
! 0, 0, 338, 339, 340, 0, 0, 0, 0, 0,
! 341, 342, 343, 0, 0, 0, 344, 0, 1607, 271,
! 8, 9, 10, 173, 12, 315, 316, 317, 318, 489,
! 319, 14, 0, 345, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 320, 17, 18, 19,
! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21,
! 327, 328, 0, 23, 0, 693, 0, 329, 330, 331,
! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0,
! 385, 0, 0, 0, 0, 0, 336, 0, 0, 1028,
! 0, 0, 0, 0, 0, 0, 0, 338, 339, 1029,
! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0,
! 0, 1030, 697, 145, 8, 9, 10, 173, 12, 315,
! 316, 317, 318, 489, 319, 14, 0, 0, 345, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 320, 17, 18, 19, 0, 321, 322, 323, 20, 0,
! 324, 325, 326, 21, 327, 328, 0, 23, 0, 693,
! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28,
! 29, 0, 0, 0, 385, 0, 0, 0, 0, 0,
! 336, 0, 0, 1142, 0, 0, 0, 0, 0, 0,
! 0, 338, 339, 1143, 0, 0, 0, 0, 0, 341,
! 342, 343, 0, 0, 0, 1144, 697, 271, 8, 9,
! 10, 0, 12, 315, 316, 317, 318, 0, 319, 14,
! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 320, 17, 18, 19, 0, 321,
! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328,
! 0, 23, 0, 693, 0, 329, 330, 331, 332, 333,
! 26, 0, 0, 28, 272, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 336, 0, 0, 1028, 0, 0,
! 0, 0, 0, 0, 0, 338, 339, 1029, 0, 0,
! 0, 0, 0, 341, 342, 343, 0, 0, 0, 1030,
! 697, 145, 8, 9, 10, 0, 12, 315, 316, 317,
! 318, 0, 319, 14, 0, 0, 345, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17,
! 18, 19, 0, 321, 322, 323, 20, 0, 324, 325,
! 326, 21, 327, 328, 0, 23, 0, 693, 0, 329,
! 330, 331, 332, 333, 26, 0, 0, 28, 29, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 336, 0,
! 0, 1142, 0, 0, 0, 0, 0, 0, 0, 338,
! 339, 1143, 0, 0, 0, 0, 0, 341, 342, 343,
! 0, 0, 0, 1144, 697, 271, 8, 9, 10, 0,
! 12, 315, 316, 317, 318, 0, 319, 14, 0, 0,
! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 320, 17, 18, 19, 0, 321, 322, 323,
! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23,
! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0,
! 0, 334, 272, 0, 0, 0, 335, 0, 0, 0,
! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0,
! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
! 0, 341, 342, 343, 0, 0, 0, 344, 271, 8,
! 9, 10, 0, 12, 315, 316, 317, 318, 0, 319,
! 14, 0, 0, 0, 345, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 320, 17, 18, 19, 0,
! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327,
! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332,
! 333, 26, 0, 0, 28, 272, 0, 0, 0, 385,
! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0,
! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0,
! 0, 0, 0, 0, 341, 342, 343, 0, 0, 0,
! 344, 271, 8, 9, 10, 0, 12, 505, 316, 317,
! 318, 0, 319, 14, 0, 0, 0, 345, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17,
! 18, 19, 0, 321, 322, 323, 20, 0, 324, 325,
! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329,
! 330, 331, 332, 333, 26, 0, 0, 28, 272, 0,
! 0, 0, 385, 0, 0, 0, 0, 0, 336, 0,
! 0, 629, 0, 0, 0, 0, 0, 0, 0, 338,
! 339, 630, 0, 0, 0, 0, 0, 341, 342, 343,
! 0, 0, 0, 631, 271, 8, 9, 10, 0, 12,
! 505, 316, 317, 318, 0, 319, 14, 0, 0, 0,
! 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 16, 320, 17, 0, 19, 0, 321, 322, 323, 20,
! 0, 324, 325, 326, 21, 327, 328, 0, 23, 0,
! 0, 0, 329, 330, 331, 332, 333, 26, 0, 0,
! 28, 272, 0, 0, 1652, 385, 0, 0, 0, 0,
! 0, 336, 0, 0, 337, 0, 0, 0, 0, 0,
! 0, 0, 338, 339, 340, 0, 0, 0, 0, 0,
! 341, 342, 343, 0, 0, 0, 344, 271, 8, 9,
! 10, 173, 12, 315, 316, 317, 318, 0, 319, 14,
! 0, 0, 0, 345, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 16, 320, 17, 18, 19, 0, 321,
! 322, 323, 20, 0, 324, 325, 326, 21, 327, 328,
! 0, 23, 0, 0, 0, 329, 330, 331, 332, 333,
! 26, 0, 0, 28, 272, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 336, 0, 0, 337, 0, 0,
! 0, 0, 0, 0, 0, 338, 339, 340, 0, 0,
! 0, 0, 0, 341, 342, 343, 0, 0, 0, 344,
! 145, 8, 9, 10, 0, 12, 505, 316, 317, 318,
! 0, 319, 14, 0, 0, 0, 345, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 16, 320, 17, 18,
! 19, 0, 321, 322, 323, 20, 0, 324, 325, 326,
! 21, 327, 328, 0, 23, 0, 0, 0, 329, 330,
! 331, 332, 333, 26, 0, 0, 28, 29, 0, 0,
! 0, 385, 0, 0, 0, 0, 0, 336, 0, 0,
! 1713, 0, 0, 0, 0, 0, 0, 0, 338, 339,
! 1714, 0, 0, 0, 0, 0, 341, 342, 343, 0,
! 0, 0, 1715, 271, 8, 9, 10, 0, 12, 505,
! 316, 317, 318, 0, 319, 14, 0, 0, 0, 345,
0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 320, 17, 0, 19, 0, 321, 322, 323, 20, 0,
! 324, 325, 326, 21, 327, 328, 0, 23, 0, 0,
! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28,
! 272, 0, 0, 0, 335, 0, 0, 0, 0, 0,
! 336, 0, 0, 337, 0, 0, 0, 0, 0, 0,
! 0, 338, 339, 340, 0, 0, 0, 0, 0, 341,
! 342, 343, 0, 0, 0, 344, 271, 8, 9, 10,
! 0, 12, 505, 316, 317, 318, 0, 319, 14, 0,
! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 16, 320, 17, 0, 19, 0, 321, 322,
! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0,
! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26,
! 0, 0, 28, 272, 643, 0, 0, 0, 0, 0,
! 0, 0, 0, 336, 0, 0, 337, 0, 0, 0,
! 0, 0, 0, 0, 338, 339, 340, 0, 0, 0,
! 0, 0, 341, 342, 343, 0, 0, 0, 644, 271,
! 8, 9, 10, 0, 12, 505, 316, 317, 318, 0,
! 319, 14, 0, 0, 0, 345, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19,
! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21,
! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331,
! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0,
! 0, 0, 0, 0, 0, 0, 336, 0, 0, 337,
! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340,
! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0,
! 0, 344, 681, 271, 8, 9, 10, 0, 12, 505,
! 316, 317, 318, 0, 319, 14, 0, 0, 345, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
! 320, 17, 0, 19, 0, 321, 322, 323, 20, 0,
! 324, 325, 326, 21, 327, 328, 0, 23, 0, 0,
! 0, 329, 330, 331, 332, 333, 26, 0, 0, 28,
! 272, 0, 0, 0, 385, 0, 0, 0, 0, 0,
! 336, 0, 0, 337, 0, 0, 0, 0, 0, 0,
! 0, 338, 339, 340, 0, 0, 0, 0, 0, 341,
! 342, 343, 0, 0, 0, 344, 271, 8, 9, 10,
! 0, 12, 505, 316, 317, 318, 0, 319, 14, 0,
! 0, 0, 345, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 16, 320, 17, 18, 19, 0, 321, 322,
! 323, 20, 0, 324, 325, 326, 21, 327, 328, 0,
! 23, 0, 0, 0, 329, 330, 331, 332, 333, 26,
! 0, 0, 28, 272, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 336, 0, 0, 629, 0, 0, 0,
! 0, 0, 0, 0, 338, 339, 630, 0, 0, 0,
! 0, 0, 341, 342, 343, 0, 0, 0, 631, 1281,
! 8, 9, 10, 0, 12, 505, 316, 317, 318, 0,
! 319, 14, 0, 0, 0, 345, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 16, 320, 17, 0, 19,
! 0, 321, 322, 323, 20, 0, 324, 325, 326, 21,
! 327, 328, 0, 23, 0, 0, 0, 329, 330, 331,
! 332, 333, 26, 0, 0, 28, 272, 0, 0, 0,
! 385, 0, 0, 0, 0, 0, 336, 0, 0, 337,
! 0, 0, 0, 0, 0, 0, 0, 338, 339, 340,
! 0, 0, 0, 0, 0, 341, 342, 343, 0, 0,
! 0, 344, 145, 8, 9, 10, 0, 12, 315, 316,
! 317, 318, 0, 319, 14, 0, 0, 0, 345, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 16, 320,
! 17, 18, 19, 0, 321, 322, 323, 20, 0, 324,
! 325, 326, 21, 327, 328, 0, 23, 0, 0, 0,
! 329, 330, 331, 332, 333, 26, 0, 0, 28, 29,
! 0, 0, 0, 0, 0, 0, 0, 0, 0, 336,
! 0, 0, 1713, 0, 0, 0, 0, 0, 0, 0,
! 338, 339, 1714, 0, 0, 0, 0, 0, 341, 342,
! 343, 0, 0, 0, 1715, 271, 8, 9, 10, 0,
! 12, 505, 316, 317, 318, 0, 319, 14, 0, 0,
! 0, 345, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 16, 320, 17, 0, 19, 0, 321, 322, 323,
! 20, 0, 324, 325, 326, 21, 327, 328, 0, 23,
! 0, 0, 0, 329, 330, 331, 332, 333, 26, 0,
! 0, 28, 272, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 336, 0, 0, 337, 0, 0, 0, 0,
! 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
! 0, 341, 342, 343, 0, 0, 0, 344, 271, 8,
! 9, 10, 0, 12, 505, 316, 317, 318, 0, 319,
! 14, 0, 0, 0, 345, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 16, 320, 17, 0, 19, 0,
! 321, 322, 323, 20, 0, 324, 325, 326, 21, 327,
! 328, 0, 23, 0, 0, 0, 329, 330, 331, 332,
! 333, 26, 0, 0, 28, 272, 0, 0, 0, 0,
! 0, 0, 0, 0, 0, 336, 0, 0, 337, 0,
! 0, 0, 0, 0, 0, 0, 338, 339, 340, 0,
! 0, 0, 0, 0, 341, 342, 343, 0, 0, 0,
! 703, 271, 8, 9, 10, 0, 12, 505, 316, 317,
! 318, 0, 319, 14, 0, 0, 0, 345, 0, 0,
! 0, 0, 0, 0, 0, 0, 0, 16, 320, 17,
! 0, 19, 0, 321, 322, 323, 20, 0, 324, 325,
! 326, 21, 327, 328, 0, 23, 0, 0, 0, 329,
! 330, 331, 332, 333, 26, 0, 0, 28, 272, 0,
! 0, 0, 0, 0, 0, 0, 0, 0, 336, 0,
! 0, 337, 145, 8, 9, 10, 212, 12, 213, 338,
! 339, 340, 0, 0, 14, 0, 0, 341, 342, 343,
! 0, 0, 0, 705, 0, 0, 0, 0, 16, 0,
! 17, 18, 0, 0, 0, 0, 0, 20, 0, 0,
! 345, 0, 21, 0, 0, 0, 23, 0, 145, 8,
! 9, 10, 173, 12, 13, 26, 0, 0, 28, 29,
! 14, 0, 1669, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 31, 0, 16, 0, 17, 18, 0, 0,
! 0, 0, 32, 20, 0, 0, 0, 0, 21, 0,
! 33, 0, 23, 0, 34, 0, 0, 0, 0, 0,
! 0, 26, 0, 0, 28, 29, 0, 0, 0, 145,
! 8, 9, 10, 212, 12, 213, 0, 0, 31, 0,
! 0, 14, 0, 0, 0, 0, 0, 0, 32, 0,
! 0, 0, 0, 0, 0, 16, 33, 17, 18, 0,
! 34, 0, 0, 0, 20, 0, 0, 0, 0, 21,
! 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
! 0, 0, 26, 0, 0, 28, 29, 0, 0, 0,
! 0, 650, 651, 652, 653, 654, 655, 656, 657, 31,
! 658, 659, 660, 661, 662, 663, 664, 665, 666, 32,
! 0, 0, 0, 0, 0, 0, 0, 33, 0, 0,
! 0, 34, 745, 746, 747, 748, 749, 750, 751, 752,
! 753, 754, 755, 756, 757, 758, 759, 760, 761, 762,
! 763, 764, 765, 766, 745, 746, 747, 748, 749, 750,
! 751, 752, 753, 754, 755, 756, 757, 758, 759, 760,
! 761, 762, 763, 764, 765, 766, 0, 0, 0, 1398,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 0, 0, 0, 0, 744, 0, 0, 1720, 745, 746,
! 747, 748, 749, 750, 751, 752, 753, 754, 755, 756,
! 757, 758, 759, 760, 761, 762, 763, 764, 765, 766,
! 1207, 0, 0, 0, 745, 746, 747, 748, 749, 750,
! 751, 752, 753, 754, 755, 756, 757, 758, 759, 760,
! 761, 762, 763, 764, 765, 766, 1757, 745, 746, 747,
! 748, 749, 750, 751, 752, 753, 754, 755, 756, 757,
! 758, 759, 760, 761, 762, 763, 764, 765, 766, 745,
! 746, 747, 748, 749, 750, 751, 752, 753, 754, 755,
! 756, 757, 758, 759, 760, 761, 762, 763, 764, 765,
! 766
};
static const short yycheck[] = { 14,
! 4, 180, 4, 484, 167, 82, 23, 22, 747, 818,
! 49, 216, 181, 424, 424, 182, 366, 261, 155, 156,
! 4, 130, 196, 45, 95, 14, 97, 162, 372, 352,
! 87, 372, 36, 424, 36, 552, 424, 641, 252, 78,
! 800, 364, 365, 45, 45, 727, 4, 4, 392, 985,
! 255, 392, 36, 820, 69, 137, 138, 4, 60, 225,
! 226, 45, 4, 394, 466, 246, 1431, 1438, 794, 128,
! 137, 142, 74, 150, 138, 12, 1554, 1554, 36, 36,
! 45, 45, 9, 1608, 4, 87, 45, 45, 45, 36,
! 92, 502, 502, 95, 36, 97, 85, 12, 45, 1549,
! 4, 12, 4, 45, 63, 1174, 311, 1176, 34, 82,
! 112, 31, 32, 128, 216, 1184, 36, 39, 58, 801,
! 63, 1696, 111, 3, 226, 45, 374, 375, 372, 1455,
! 1456, 49, 36, 210, 36, 533, 77, 64, 140, 154,
! 142, 45, 144, 7, 907, 87, 1472, 497, 392, 171,
! 913, 13, 34, 175, 61, 56, 140, 555, 508, 96,
! 67, 366, 1, 1, 65, 0, 109, 87, 111, 171,
! 1695, 1621, 62, 175, 175, 39, 141, 95, 96, 1754,
! 182, 220, 140, 431, 432, 111, 12, 171, 0, 111,
! 62, 175, 110, 140, 196, 110, 1522, 77, 140, 110,
! 62, 95, 1, 65, 1717, 1531, 1532, 50, 1534, 110,
! 175, 175, 61, 171, 1727, 1728, 175, 175, 175, 221,
! 140, 111, 61, 61, 171, 65, 65, 65, 175, 171,
! 56, 246, 247, 175, 196, 155, 156, 141, 110, 65,
! 49, 181, 112, 28, 49, 60, 261, 32, 110, 1699,
! 99, 171, 1730, 1730, 196, 175, 523, 216, 97, 97,
! 1773, 1024, 61, 62, 531, 13, 225, 226, 257, 171,
! 110, 175, 49, 155, 156, 157, 196, 49, 63, 361,
! 200, 201, 67, 4, 110, 1045, 95, 1737, 1048, 63,
! 95, 62, 1228, 62, 361, 56, 255, 3, 4, 5,
! 357, 110, 819, 65, 277, 376, 1632, 1633, 63, 444,
! 312, 474, 1825, 63, 62, 36, 77, 65, 95, 96,
! 202, 336, 95, 95, 1774, 140, 111, 197, 62, 3,
! 77, 34, 6, 110, 4, 5, 49, 111, 110, 110,
! 1761, 110, 344, 1103, 1104, 4, 5, 406, 110, 110,
! 414, 221, 311, 59, 60, 357, 111, 77, 32, 49,
! 1731, 111, 433, 529, 530, 367, 381, 182, 1094, 43,
! 551, 1624, 538, 1794, 376, 377, 110, 83, 393, 516,
! 517, 722, 95, 372, 519, 59, 60, 77, 554, 59,
! 60, 406, 1645, 377, 1759, 13, 787, 56, 95, 73,
! 59, 60, 1471, 392, 49, 95, 96, 366, 1661, 83,
! 62, 813, 814, 63, 73, 357, 1793, 91, 56, 377,
! 110, 95, 424, 109, 83, 427, 26, 65, 530, 62,
! 377, 433, 40, 63, 1197, 377, 1199, 357, 1815, 77,
! 606, 78, 686, 80, 62, 776, 468, 65, 56, 67,
! 95, 96, 155, 156, 157, 49, 65, 377, 110, 1,
! 56, 3, 4, 5, 1717, 110, 468, 468, 77, 428,
! 1406, 715, 543, 67, 1727, 1728, 26, 110, 28, 1161,
! 728, 77, 424, 49, 468, 1, 426, 3, 4, 5,
! 6, 49, 8, 495, 1098, 56, 498, 56, 56, 202,
! 502, 95, 541, 95, 424, 49, 987, 49, 32, 468,
! 468, 61, 1272, 1273, 56, 65, 77, 59, 60, 77,
! 1773, 468, 65, 485, 56, 77, 468, 43, 1, 95,
! 3, 4, 5, 65, 50, 3, 551, 95, 497, 26,
! 56, 543, 613, 59, 60, 77, 49, 97, 468, 13,
! 56, 95, 96, 95, 494, 803, 496, 497, 95, 56,
! 502, 65, 377, 56, 28, 61, 110, 26, 32, 28,
! 529, 530, 1825, 77, 61, 91, 49, 49, 65, 538,
! 77, 1344, 502, 56, 77, 49, 59, 60, 61, 62,
! 56, 26, 95, 28, 1357, 554, 516, 517, 62, 63,
! 56, 65, 61, 67, 4, 5, 65, 49, 56, 9,
! 97, 613, 49, 65, 50, 49, 618, 619, 620, 621,
! 622, 678, 95, 95, 96, 77, 61, 56, 643, 631,
! 65, 95, 96, 812, 516, 517, 518, 61, 97, 641,
! 78, 65, 644, 4, 5, 49, 110, 606, 77, 62,
! 1167, 49, 614, 95, 96, 525, 56, 56, 95, 59,
! 60, 95, 97, 67, 49, 78, 65, 80, 110, 1150,
! 1151, 686, 56, 73, 62, 677, 678, 49, 77, 927,
! 894, 895, 67, 83, 1095, 1095, 900, 3, 4, 5,
! 78, 95, 1036, 77, 696, 1036, 96, 95, 59, 60,
! 715, 703, 784, 705, 1095, 707, 668, 1095, 779, 1032,
! 95, 96, 674, 777, 676, 677, 110, 883, 1485, 65,
! 784, 77, 711, 95, 96, 8, 9, 110, 933, 110,
! 865, 77, 15, 907, 50, 49, 678, 1218, 1219, 913,
! 49, 110, 188, 59, 60, 707, 46, 49, 618, 32,
! 49, 1514, 714, 12, 696, 38, 56, 49, 678, 111,
! 60, 99, 724, 840, 47, 707, 49, 83, 785, 63,
! 785, 26, 731, 28, 694, 695, 696, 779, 648, 794,
! 1297, 95, 1549, 95, 61, 3, 95, 707, 65, 49,
! 730, 63, 1036, 95, 903, 56, 95, 49, 77, 49,
! 56, 49, 819, 95, 1148, 675, 61, 1148, 61, 824,
! 65, 681, 95, 516, 517, 518, 77, 113, 4, 5,
! 49, 77, 1339, 49, 1305, 96, 49, 697, 3, 4,
! 5, 6, 96, 835, 793, 95, 96, 908, 909, 1087,
! 911, 843, 97, 95, 96, 95, 96, 95, 96, 65,
! 1024, 95, 841, 793, 1621, 1336, 95, 28, 110, 95,
! 110, 32, 110, 7, 8, 9, 95, 34, 43, 95,
! 56, 15, 95, 59, 60, 50, 49, 747, 3, 4,
! 5, 843, 77, 1233, 59, 60, 363, 73, 32, 366,
! 367, 62, 63, 835, 38, 857, 67, 83, 77, 1034,
! 77, 843, 904, 47, 1148, 907, 908, 909, 83, 911,
! 96, 913, 77, 833, 834, 835, 91, 1398, 12, 63,
! 904, 56, 95, 843, 883, 50, 62, 1694, 62, 63,
! 65, 904, 1699, 1112, 59, 60, 1745, 61, 28, 62,
! 63, 65, 32, 1191, 1192, 1193, 904, 904, 868, 869,
! 1164, 1165, 1166, 835, 62, 63, 1695, 56, 83, 56,
! 56, 843, 904, 95, 110, 907, 65, 62, 1449, 65,
! 1737, 913, 62, 63, 933, 3, 4, 5, 77, 62,
! 63, 77, 984, 110, 904, 77, 988, 907, 56, 156,
! 157, 62, 63, 913, 4, 5, 1133, 1134, 3, 4,
! 5, 1136, 7, 8, 9, 1142, 1143, 1774, 1489, 56,
! 3, 4, 5, 922, 923, 924, 1018, 494, 65, 496,
! 497, 498, 1024, 1197, 77, 1199, 988, 32, 1030, 77,
! 77, 59, 60, 38, 62, 202, 62, 63, 110, 49,
! 1002, 111, 1004, 65, 1006, 111, 56, 1036, 110, 59,
! 60, 56, 110, 49, 59, 60, 61, 50, 110, 1798,
! 56, 1138, 113, 73, 110, 1080, 59, 60, 3, 4,
! 5, 49, 67, 83, 3, 4, 5, 6, 67, 1094,
! 9, 77, 1024, 86, 87, 95, 96, 110, 1030, 904,
! 83, 49, 110, 1095, 77, 1097, 1098, 28, 56, 95,
! 105, 106, 107, 32, 1024, 4, 5, 77, 1028, 1029,
! 1030, 89, 90, 56, 43, 93, 94, 95, 96, 77,
! 1082, 56, 992, 77, 59, 60, 61, 56, 62, 63,
! 59, 60, 835, 1135, 86, 87, 113, 95, 1177, 1178,
! 843, 113, 1144, 110, 73, 62, 63, 46, 1187, 1560,
! 1560, 1153, 3, 1095, 83, 1025, 56, 56, 1120, 1148,
! 59, 60, 91, 110, 1234, 1235, 95, 1237, 1416, 62,
! 1344, 1242, 1174, 62, 1176, 1095, 8, 344, 67, 95,
! 1182, 49, 1184, 1357, 77, 78, 110, 80, 77, 78,
! 1174, 110, 1176, 1135, 63, 1197, 67, 1199, 62, 63,
! 1184, 1174, 1144, 1176, 1219, 1207, 62, 63, 111, 1182,
! 62, 1184, 95, 1133, 1134, 1135, 1174, 1174, 1176, 1176,
! 4, 5, 1142, 1143, 1144, 111, 1184, 1184, 56, 1176,
! 63, 77, 1174, 38, 1176, 110, 67, 3, 4, 5,
! 1242, 1181, 1184, 67, 9, 67, 63, 110, 13, 110,
! 62, 1133, 1134, 1135, 1174, 1197, 1176, 1199, 67, 67,
! 1142, 1143, 1144, 113, 1184, 78, 1268, 1617, 110, 110,
! 110, 78, 56, 110, 78, 59, 60, 1197, 78, 1199,
! 1297, 78, 61, 110, 49, 65, 62, 65, 455, 456,
! 1305, 1173, 1369, 59, 60, 61, 110, 62, 65, 64,
! 65, 111, 67, 7, 8, 9, 3, 4, 5, 110,
! 1312, 15, 110, 78, 113, 80, 793, 3, 4, 5,
! 6, 110, 1361, 110, 96, 113, 1268, 1808, 1367, 1368,
! 95, 96, 1371, 1372, 38, 91, 1375, 1299, 77, 1301,
! 1514, 1303, 1344, 47, 49, 110, 1266, 1267, 1268, 110,
! 517, 518, 110, 50, 113, 1357, 110, 43, 110, 1174,
! 110, 1176, 59, 60, 110, 110, 1181, 1182, 1238, 1184,
! 1312, 111, 110, 59, 60, 1725, 1378, 65, 3, 4,
! 5, 6, 110, 63, 31, 32, 83, 34, 111, 61,
! 1310, 1311, 1312, 110, 1378, 110, 1369, 67, 3, 4,
! 5, 6, 1344, 110, 95, 1378, 95, 110, 1348, 111,
! 95, 1331, 1332, 60, 95, 1357, 63, 110, 43, 113,
! 1378, 1378, 69, 8, 1344, 50, 110, 74, 4, 5,
! 1133, 1134, 1135, 9, 59, 60, 1378, 1357, 43, 1142,
! 1143, 1144, 888, 1445, 110, 50, 1615, 110, 1617, 1616,
! 110, 113, 110, 98, 59, 60, 933, 110, 1378, 110,
! 62, 196, 62, 630, 631, 1427, 91, 1482, 65, 1471,
! 1173, 3, 4, 5, 6, 56, 110, 644, 83, 110,
! 56, 110, 65, 59, 60, 113, 91, 1471, 49, 110,
! 1529, 1530, 110, 1466, 110, 110, 67, 73, 1471, 110,
! 147, 110, 110, 110, 1506, 152, 110, 83, 155, 156,
! 157, 43, 1514, 1471, 1471, 34, 110, 113, 50, 110,
! 1725, 95, 65, 1393, 1394, 1395, 1396, 59, 60, 1471,
! 1007, 65, 63, 1348, 1404, 182, 703, 63, 705, 9,
! 707, 188, 63, 1722, 17, 111, 110, 1710, 110, 61,
! 1554, 1471, 1554, 200, 201, 202, 95, 1034, 1560, 91,
! 95, 63, 63, 1378, 1506, 56, 1581, 67, 95, 216,
! 1554, 109, 1514, 18, 104, 63, 1713, 1714, 56, 226,
! 3, 4, 5, 63, 1504, 1505, 1506, 1602, 1603, 63,
! 3, 4, 5, 110, 1514, 110, 1554, 1554, 3, 4,
! 5, 6, 63, 63, 62, 95, 1608, 1554, 255, 113,
! 67, 110, 1554, 63, 1616, 3, 4, 5, 1560, 7,
! 8, 9, 63, 270, 1608, 110, 12, 1790, 110, 95,
! 1793, 63, 1671, 56, 1554, 63, 59, 60, 43, 63,
! 1560, 110, 63, 1658, 1659, 50, 59, 60, 0, 1812,
! 1608, 1608, 1815, 1130, 59, 60, 1471, 0, 1617, 1136,
! 0, 1608, 176, 2, 311, 312, 1608, 36, 835, 1659,
! 777, 59, 60, 1095, 468, 1615, 843, 1617, 83, 3,
! 4, 5, 175, 7, 1554, 171, 91, 1689, 1608, 1721,
! 857, 1182, 1707, 1695, 1696, 1297, 99, 344, 144, 3,
! 4, 5, 869, 870, 314, 1644, 3, 4, 5, 1748,
! 1672, 1695, 1080, 1715, 824, 39, 737, 1339, 1167, 366,
! 367, 3, 4, 5, 1378, 1182, 1730, 1468, 1730, 1051,
! 739, 1601, 56, 678, 361, 59, 60, 1695, 1695, 3,
! 4, 5, 207, 7, 8, 9, 1730, 1689, 1695, 128,
! 485, 1549, 1754, 1695, 1696, 59, 60, 1486, 635, 56,
! 1730, 1776, 59, 60, 1745, 1742, 1725, 1792, 32, 1689,
! 852, 1248, 1730, 1730, 38, 1695, 1696, 59, 60, 1256,
! 427, 428, 1445, 1730, 1654, -1, 1726, -1, 1730, -1,
! 1672, -1, -1, 1713, 1714, 59, 60, -1, 445, -1,
! -1, 448, 3, 4, 5, 6, -1, 454, 455, 456,
! 1730, -1, 1754, 460, 83, 84, 85, 86, 87, 1689,
! -1, 3, 4, 5, 6, 1695, 1696, 58, -1, -1,
! 1307, 1713, 1714, 1715, 1754, 3, 4, 5, -1, 1316,
! -1, -1, 43, 83, 84, 85, 86, 87, 495, -1,
! 497, 498, -1, -1, -1, 56, -1, -1, 59, 60,
! 1730, 43, 1029, 1030, 511, -1, -1, 514, 50, 516,
! 517, 518, 73, -1, -1, 522, -1, 59, 60, 614,
! -1, 528, 83, 530, 1754, -1, 533, 3, 4, 5,
! 91, 59, 60, -1, 95, -1, 4, 5, 1768, -1,
! 3, 4, 5, 6, 1350, 1351, 9, 554, 555, 91,
! -1, -1, -1, -1, -1, 3, 4, 5, 1788, -1,
! -1, -1, -1, -1, 32, -1, -1, -1, 1798, 32,
! 32, 1377, -1, 668, 50, -1, 1382, -1, -1, 674,
! 43, 676, 677, 59, 60, -1, 49, -1, 56, 1819,
! 181, 59, 60, 56, -1, -1, 59, 60, -1, 606,
! -1, -1, 50, -1, -1, 73, -1, 1134, 1135, 1672,
! 73, 59, 60, -1, -1, 83, 1143, 1144, -1, 714,
! 83, -1, 629, 630, 631, -1, -1, 95, 91, 724,
! -1, -1, 95, 96, -1, -1, -1, 644, -1, 230,
! -1, -1, -1, -1, -1, -1, 1173, 3, 4, 5,
! 1713, 1714, 1715, -1, -1, 1461, 1462, -1, 1464, 1465,
! -1, 1467, 3, 4, 5, 6, 7, 8, 9, -1,
! 1507, 1508, -1, -1, 15, -1, -1, 3, 4, 5,
! 6, -1, -1, 82, -1, 147, -1, 694, 695, 696,
! 152, 32, 8, 9, 50, -1, 703, 38, 705, 15,
! 707, -1, 43, 59, 60, -1, 47, -1, 49, -1,
! 109, -1, -1, 1519, 1520, 56, 32, 43, 59, 60,
! -1, -1, 38, 49, 731, 1562, -1, -1, -1, -1,
! 56, 47, 73, 59, 60, 3, 4, 5, 137, 201,
! 1267, 1268, 83, 3, 4, 5, 6, 73, -1, -1,
! 91, 150, -1, -1, 95, 96, -1, 83, -1, -1,
! -1, 3, 4, 5, 6, 91, 1572, 1573, 1574, 95,
! 96, -1, -1, -1, -1, -1, 3, 4, 5, 6,
! 40, 41, 9, 43, 1311, 1312, 793, 794, 56, -1,
! 32, 59, 60, -1, -1, -1, 56, -1, -1, 59,
! 60, 43, -1, -1, -1, 32, -1, 49, 270, -1,
! -1, 210, -1, -1, 56, -1, 43, 59, 60, 3,
! 4, 5, 49, 1629, 1630, -1, 833, 834, 835, 56,
! -1, 73, 59, 60, -1, 426, 843, -1, -1, -1,
! -1, 83, 3, 4, 5, 6, 73, 246, 9, 91,
! 857, -1, -1, 95, 96, -1, 83, -1, -1, 866,
! 867, 868, 869, 870, 91, -1, -1, 874, 95, 96,
! -1, 32, -1, -1, -1, 59, 60, -1, 277, -1,
! -1, 888, 43, -1, -1, -1, -1, 3, 4, 5,
! 6, -1, -1, 988, -1, 56, -1, -1, 59, 60,
! -1, -1, -1, 494, -1, 496, 497, 1002, -1, 1004,
! -1, 1006, 73, 3, 4, 5, -1, -1, -1, 510,
! -1, -1, 83, -1, 335, 4, 933, 43, 519, -1,
! 91, -1, 523, -1, 95, 14, -1, 3, 4, 5,
! 531, -1, -1, 59, 60, 24, -1, -1, -1, -1,
! -1, -1, 31, 32, -1, 34, -1, 36, -1, -1,
! 1766, -1, -1, -1, -1, -1, 45, -1, -1, 59,
! 60, -1, 371, -1, -1, 91, -1, -1, -1, 58,
! -1, 60, -1, 445, -1, -1, 448, 1082, -1, -1,
! 69, -1, 391, 59, 60, 74, -1, -1, 460, -1,
! -1, 1008, 4, 5, 1011, -1, 85, 9, 87, -1,
! -1, -1, -1, 92, -1, 1022, 95, -1, 97, -1,
! -1, 1028, 1029, 1030, -1, 1120, -1, -1, -1, -1,
! 32, -1, 111, -1, -1, -1, -1, -1, 437, -1,
! -1, -1, 3, 4, 5, 6, -1, 49, -1, 511,
! -1, -1, 514, -1, 56, -1, -1, 59, 60, 138,
! -1, 140, -1, 142, -1, 144, 528, 146, 147, -1,
! -1, 73, 151, 152, -1, -1, 155, 156, 157, 40,
! 41, 83, 43, -1, -1, -1, -1, 1094, -1, -1,
! -1, -1, 171, 95, 96, 56, 175, -1, 59, 60,
! -1, -1, 181, 182, 3, 4, 5, 6, 81, 82,
! 83, 84, 85, 86, 87, 3, 4, 5, 6, -1,
! -1, 200, 201, 202, 1131, 1132, 1133, 1134, 1135, 3,
! 4, 5, 6, 1140, -1, 1142, 1143, 1144, -1, 730,
! -1, -1, -1, -1, 43, 1672, -1, 1154, 1155, 1156,
! -1, 230, 551, -1, -1, 43, -1, 56, 32, -1,
! 59, 60, 50, -1, 63, -1, 1173, -1, 247, 43,
! -1, 59, 60, -1, 73, 1182, -1, -1, 257, -1,
! -1, -1, 56, -1, 83, 59, 60, 1714, 1715, -1,
! -1, 270, 91, -1, -1, 83, 95, -1, -1, 73,
! -1, -1, 793, 91, 1299, -1, 1301, -1, 1303, 83,
! 609, -1, -1, -1, -1, -1, -1, 91, -1, -1,
! -1, 95, 81, 82, 83, 84, 85, 86, 87, 3,
! 4, 5, 6, 312, 313, 646, 647, -1, 649, 650,
! 651, 652, 653, 654, 655, 656, 657, 658, 659, 660,
! 661, 662, 663, 664, 665, 666, -1, -1, -1, 1266,
! 1267, 1268, -1, -1, -1, -1, -1, 4, 5, 43,
! -1, 862, 9, -1, 865, -1, 50, -1, 357, -1,
! -1, -1, 361, -1, 363, 59, 60, 366, 367, -1,
! 881, -1, 691, -1, -1, 32, -1, 376, 377, -1,
! -1, 1308, 1309, 1310, 1311, 1312, -1, -1, 1315, 4,
! 5, 710, 49, -1, 9, -1, -1, 91, -1, 56,
! -1, -1, 59, 60, 1331, 1332, 1333, -1, -1, -1,
! -1, -1, 1427, -1, -1, 414, 73, 32, -1, -1,
! -1, -1, -1, 1350, 1351, 424, 83, 426, 427, -1,
! -1, 4, 5, -1, 433, -1, 435, -1, 95, 96,
! -1, 56, -1, -1, 59, 60, 445, -1, -1, 448,
! 1377, -1, 834, -1, -1, 1382, -1, -1, 73, 32,
! -1, 460, -1, -1, -1, -1, -1, -1, 83, 468,
! -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
! 95, -1, -1, 56, 866, 867, 59, 60, -1, -1,
! -1, -1, 874, -1, -1, 494, 495, 496, 497, 498,
! 73, -1, -1, 502, -1, -1, -1, -1, -1, -1,
! 83, 510, 511, 1440, 1441, 514, 1443, 516, 517, 518,
! 519, 840, 95, 96, 523, -1, -1, -1, -1, 528,
! -1, -1, 531, -1, 1461, 1462, -1, 1464, 1465, -1,
! 1467, -1, -1, -1, 543, 200, 201, -1, -1, -1,
! -1, -1, 871, -1, -1, -1, -1, -1, -1, -1,
! 3, 4, 5, 6, 7, 8, 9, -1, 567, -1,
! 13, -1, 15, -1, -1, -1, -1, 1504, 1505, 1506,
! -1, -1, -1, -1, -1, -1, 29, -1, 31, 32,
! -1, -1, 1519, 1520, -1, 38, -1, -1, -1, -1,
! 43, -1, -1, -1, 47, -1, 925, -1, -1, -1,
! -1, -1, 611, 56, 613, -1, 59, 60, -1, 1130,
! 619, 620, 621, 622, -1, 1136, -1, -1, -1, 1,
73, 3, 4, 5, 6, 7, 8, 9, -1, -1,
! 83, -1, 641, 15, -1, 1572, 1573, 1574, 91, -1,
! -1, -1, 95, -1, -1, -1, 28, 29, -1, 31,
! 32, 33, -1, -1, -1, -1, 38, -1, -1, -1,
! 1181, 43, -1, -1, 46, 47, 48, -1, 50, 678,
! -1, 680, -1, -1, 56, 57, -1, 59, 60, 1616,
! 1617, 63, -1, 692, -1, 694, 695, 696, -1, -1,
! -1, 73, 1629, 1630, -1, -1, -1, -1, 707, -1,
! -1, 83, 711, 7, 8, 9, 1035, -1, 1037, 91,
! -1, 15, -1, 95, -1, -1, -1, 99, -1, -1,
! -1, 730, -1, -1, -1, -1, -1, -1, 32, -1,
! -1, -1, -1, -1, 38, 1672, -1, -1, -1, 1131,
! 1132, -1, -1, 47, -1, -1, -1, -1, 1140, -1,
! 3, 4, 5, 6, -1, -1, 9, -1, -1, 63,
! 1101, -1, 3, 4, 5, 6, -1, -1, 777, -1,
! 779, -1, -1, -1, -1, 784, 1713, 1714, 1715, 32,
! -1, -1, -1, -1, 793, 794, 1307, -1, 1725, -1,
! 43, -1, 84, -1, -1, 1316, 49, -1, -1, 40,
! 41, -1, 43, 56, -1, -1, 59, 60, -1, 1138,
! -1, -1, 1141, 1334, 1335, 56, -1, -1, 59, 60,
! 73, -1, -1, -1, 833, 834, 835, 1348, -1, 1766,
! 83, -1, 841, -1, 843, -1, -1, -1, 91, 7,
! 8, 9, 95, 96, -1, -1, 511, 15, -1, 514,
! 91, 516, 517, 862, -1, -1, 865, 866, 867, 868,
! 869, 870, -1, 528, 32, 874, -1, -1, -1, -1,
! 38, -1, 881, 165, -1, -1, -1, 4, 5, 47,
! -1, 1222, 9, -1, -1, -1, -1, -1, -1, -1,
! -1, 3, 4, 5, 6, 904, -1, 9, 907, 908,
! 909, -1, 911, -1, 913, 32, 198, -1, -1, -1,
! -1, 66, -1, 922, 923, 924, 1308, 1309, -1, 211,
! 32, -1, -1, 1315, 933, -1, 1447, -1, -1, 56,
! -1, 43, 59, 60, -1, -1, -1, 49, -1, -1,
! -1, -1, 1463, -1, 56, -1, 73, 59, 60, -1,
! -1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
! -1, 73, -1, -1, -1, -1, -1, -1, 95, 880,
! -1, 83, -1, -1, -1, 984, -1, 4, 5, 91,
! -1, -1, 9, 95, 96, -1, 1507, 1508, -1, -1,
! -1, 146, -1, -1, -1, 906, -1, -1, 1007, 1008,
! -1, 912, 1011, -1, -1, 32, -1, 162, -1, 1018,
! -1, -1, -1, 1022, -1, 1024, -1, -1, -1, 1028,
! 1029, 1030, 49, -1, -1, 1034, -1, 1036, -1, 56,
! -1, -1, 59, 60, -1, -1, -1, -1, -1, -1,
! 1369, 1562, 3, 4, 5, 6, 73, -1, -1, -1,
! 4, 5, -1, 7, 8, 9, 83, -1, -1, 13,
! -1, 15, -1, -1, 219, -1, -1, -1, 95, 96,
! -1, -1, -1, 228, -1, 29, -1, 31, 32, -1,
! -1, -1, 43, -1, 38, -1, 1095, -1, 1097, 1098,
! 245, -1, -1, 47, 1615, 49, 1617, -1, 59, 60,
! -1, 256, 56, -1, -1, 59, 60, -1, 1019, -1,
! 1021, -1, -1, 1442, -1, -1, -1, -1, -1, 73,
! -1, 1130, 1131, 1132, 1133, 1134, 1135, 1136, -1, 83,
! 91, 1140, -1, 1142, 1143, 1144, -1, 1466, -1, 1148,
! -1, 95, 96, -1, 1153, 1154, 1155, 1156, 79, 80,
! 81, 82, 83, 84, 85, 86, 87, -1, 4, 5,
! -1, 1170, -1, 9, 1173, 1174, -1, 1176, 833, 834,
! -1, -1, 1181, 1182, -1, 1184, -1, -1, -1, 3,
! 4, 5, 6, -1, -1, -1, 32, -1, 1197, -1,
! 1199, -1, -1, -1, -1, -1, -1, -1, 1207, -1,
! -1, 866, 867, 868, 869, 1726, -1, -1, -1, 874,
! 56, -1, -1, 59, 60, -1, -1, -1, -1, 43,
! 3, 4, 5, 6, -1, 1234, 1235, 73, 1237, 521,
! -1, -1, 56, 1242, 526, 59, 60, 83, -1, 1248,
! -1, 4, 5, -1, 7, 8, 9, 1256, -1, 95,
! 13, -1, 15, -1, -1, -1, -1, 1266, 1267, 1268,
! 43, -1, -1, -1, -1, 557, 29, 91, 31, 32,
! -1, -1, 564, -1, -1, 38, 59, 60, -1, -1,
! 435, -1, -1, -1, 47, 1196, 49, 1198, -1, 444,
! -1, -1, -1, 56, -1, -1, 59, 60, 1307, 1308,
! 1309, 1310, 1311, 1312, -1, -1, 1315, 1316, 91, -1,
! 73, -1, -1, -1, -1, 607, 608, -1, 610, -1,
! 83, 476, 1331, 1332, 1333, 1334, 1335, -1, -1, -1,
! -1, -1, 95, 96, -1, 1344, -1, -1, -1, 1348,
! -1, -1, -1, -1, -1, -1, -1, 1258, 1357, -1,
! -1, -1, -1, -1, -1, 510, -1, -1, 4, 5,
! -1, 1370, -1, 9, 519, -1, -1, -1, -1, 1378,
! 4, -1, -1, 4, 5, -1, -1, -1, 9, -1,
! 14, -1, -1, -1, -1, 540, 32, -1, -1, 23,
! 24, -1, -1, -1, -1, -1, -1, 31, 32, -1,
! 34, 32, 36, 49, -1, -1, -1, 699, 700, -1,
! 56, 45, 567, 59, 60, -1, 708, -1, 49, -1,
! -1, -1, -1, -1, 58, 56, 60, 73, 59, 60,
! -1, 1440, 1441, -1, 1443, 69, 1445, 83, 1447, -1,
! 74, -1, 73, -1, -1, -1, -1, -1, -1, 95,
! 96, -1, 83, 87, 1463, -1, -1, -1, 92, 1468,
! -1, 95, 1471, 97, 95, 96, 1131, 1132, 1133, 1134,
! -1, -1, -1, -1, -1, 1140, -1, 1142, 1143, 79,
! 80, 81, 82, 83, 84, 85, 86, 87, -1, 1154,
! 1155, 1156, -1, -1, -1, 1504, 1505, 1506, 1507, 1508,
! -1, -1, -1, -1, -1, 1514, 140, -1, 142, 1420,
! 144, -1, 146, 147, -1, -1, -1, -1, 152, -1,
! -1, 155, 156, 157, -1, -1, -1, 4, 5, -1,
! -1, 8, 9, 3, 4, 5, 6, 171, 15, -1,
! 1451, 175, -1, -1, -1, 837, 1457, 181, 182, -1,
! -1, 1560, 29, 1562, 31, 32, -1, -1, -1, -1,
! -1, 38, 1473, 1474, -1, -1, 200, 201, 202, -1,
! 47, -1, -1, 43, -1, -1, 694, 695, 4, 56,
! 872, -1, 59, 60, 61, 1496, 56, -1, -1, 59,
! 60, -1, -1, 63, -1, 65, 230, -1, -1, -1,
! -1, -1, -1, 73, -1, -1, 1615, 1616, 1617, -1,
! 36, -1, -1, 83, -1, -1, -1, -1, 95, 45,
! -1, 91, 914, -1, 916, 95, -1, -1, -1, 1540,
! 1541, -1, 58, -1, 60, -1, 270, 4, 5, -1,
! -1, 8, 9, 1308, 1309, 1310, 1311, -1, 15, -1,
! 1315, -1, 1563, 1564, -1, 1566, 3, 4, 5, 6,
! -1, -1, 29, 1672, 31, 32, 1331, 1332, -1, -1,
! -1, 38, -1, -1, -1, -1, -1, -1, 312, 313,
47, -1, -1, -1, -1, -1, -1, -1, -1, 56,
! -1, -1, 59, 60, -1, -1, 43, -1, 990, 991,
! -1, 993, -1, 50, 1713, 1714, 1715, 862, -1, -1,
! 865, -1, 59, 60, 140, 833, 834, 1726, -1, -1,
! 146, -1, -1, 357, -1, -1, 881, 361, 95, 363,
! -1, 1023, 366, 367, -1, -1, 83, -1, 372, -1,
! -1, -1, 376, 377, 91, 171, -1, -1, -1, 175,
! -1, -1, -1, -1, -1, 181, 182, -1, 392, -1,
! -1, -1, 3, 4, 5, 6, 7, 8, 9, 1680,
! -1, -1, -1, -1, 15, 1440, 1441, -1, 1443, -1,
! 414, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 424, 32, 426, 427, -1, -1, -1, 38, -1, 433,
! -1, 435, 43, -1, 230, -1, 47, -1, 49, -1,
! -1, 445, -1, -1, 448, 56, -1, -1, 59, 60,
! -1, -1, -1, -1, -1, -1, 460, -1, -1, -1,
! -1, -1, 73, -1, 468, 3, 4, 5, 6, 1504,
! 1505, -1, 83, -1, -1, -1, -1, 1139, -1, -1,
! 91, -1, 1007, -1, 95, 96, -1, -1, -1, -1,
! 494, 495, 496, 497, 498, -1, -1, -1, 502, -1,
! -1, -1, -1, -1, -1, 43, 510, 511, -1, 1034,
! 514, -1, 516, 517, 518, 519, -1, -1, 56, 523,
! 1008, 59, 60, 1011, 528, 63, -1, 531, -1, -1,
! -1, 4, 5, -1, 1022, 73, 9, -1, -1, 543,
! 1028, 1029, -1, -1, -1, 83, -1, -1, 552, -1,
! -1, -1, -1, 91, -1, -1, -1, 95, -1, 32,
! -1, -1, -1, 567, -1, -1, -1, -1, 3, 4,
! 5, 6, 7, 8, 9, -1, 49, -1, 13, -1,
! 15, 377, -1, 56, -1, -1, 59, 60, -1, -1,
! 1252, -1, -1, -1, 29, -1, 31, 32, -1, -1,
! 73, -1, -1, 38, -1, 1130, -1, -1, 43, 613,
! 83, 1136, 47, -1, 49, 619, 620, 621, 622, -1,
! -1, 56, 95, 96, 59, 60, -1, -1, -1, -1,
! 426, -1, -1, -1, -1, -1, -1, 641, 73, 435,
! -1, 4, 5, 1131, 1132, 1133, 1134, -1, 83, -1,
! -1, 1313, 1140, -1, 1142, 1143, 91, -1, -1, -1,
! 95, 96, -1, -1, -1, -1, -1, -1, -1, 32,
! -1, -1, 468, -1, 678, -1, 680, -1, 1713, 1714,
! -1, 1343, 3, 4, 5, 6, 49, -1, -1, -1,
! 694, 695, 696, 56, 1356, -1, 59, 60, 494, 495,
! 496, 497, -1, 707, -1, -1, 502, -1, -1, -1,
! 73, -1, -1, -1, 510, -1, -1, -1, 722, -1,
! 83, 1383, 43, 1248, -1, 1387, 730, 523, -1, 50,
! -1, 1256, 95, 96, -1, 531, -1, -1, 59, 60,
! -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
! 5, 6, -1, -1, 9, 3, 4, 5, 6, -1,
! 1422, -1, 83, -1, -1, -1, -1, -1, -1, -1,
! 91, 567, -1, 777, -1, 779, -1, 32, 1266, 1267,
! -1, 785, 1307, -1, -1, -1, -1, -1, 43, 793,
! 794, 1316, -1, -1, 49, 43, -1, -1, -1, -1,
! -1, 56, 50, -1, 59, 60, -1, -1, -1, 1334,
! 1335, 59, 60, 1475, 1476, 819, -1, -1, 73, -1,
! 1308, 1309, 1310, 1311, -1, -1, -1, 1315, 83, 833,
! 834, 835, -1, -1, -1, 83, 91, -1, -1, 843,
! 95, 96, -1, 91, -1, 3, 4, 5, 6, -1,
! 1512, 1513, -1, -1, -1, -1, 1518, -1, 862, -1,
! -1, 865, 866, 867, 868, 869, 870, -1, -1, -1,
! 874, -1, -1, -1, 32, -1, -1, 881, -1, -1,
! -1, -1, -1, -1, -1, 43, -1, -1, -1, -1,
! -1, 49, -1, -1, -1, -1, -1, -1, 56, -1,
! 904, 59, 60, 907, 908, 909, -1, 911, -1, 913,
! -1, -1, -1, -1, -1, 73, -1, -1, 922, 923,
! 924, -1, 1447, -1, -1, 83, -1, -1, -1, 933,
! -1, -1, -1, 91, 730, -1, -1, 95, 96, 75,
! 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
! 86, 87, 1440, 1441, -1, 1443, -1, -1, -1, -1,
! -1, -1, -1, -1, 1, 1627, 3, 4, 5, 6,
! 7, 8, 9, -1, -1, -1, -1, -1, 15, -1,
! 984, -1, 1507, 1508, -1, -1, -1, -1, -1, -1,
! -1, -1, 29, -1, 31, 32, 33, 793, -1, -1,
! -1, 38, -1, 1007, 1008, -1, 43, 1011, -1, -1,
! 47, -1, -1, 50, 1018, -1, 1504, 1505, 1022, 56,
! 1024, -1, 59, 60, 1028, 1029, 1030, -1, -1, -1,
! 1034, -1, 1036, -1, -1, -1, 73, 1562, -1, -1,
! -1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
! -1, -1, -1, -1, 91, -1, -1, -1, 95, -1,
! -1, -1, 99, -1, -1, -1, 862, 3, 4, 5,
! 6, 76, 77, 9, 79, 80, 81, 82, 83, 84,
! 85, 86, 87, -1, -1, 881, -1, -1, -1, -1,
! -1, 1095, -1, 1097, 1098, -1, 32, -1, -1, -1,
! -1, 3, 4, 5, 6, -1, -1, 43, 904, -1,
! -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
! 56, -1, -1, 59, 60, -1, 1130, 1131, 1132, 1133,
! 1134, 1135, 1136, -1, -1, -1, 1140, 73, 1142, 1143,
! 1144, 43, -1, -1, 1148, -1, -1, 83, 50, 1153,
! 1154, 1155, 1156, 13, -1, 91, -1, 59, 60, 95,
! 96, -1, -1, 1167, -1, -1, 1170, -1, -1, 1173,
! 1174, -1, 1176, -1, -1, -1, -1, 1181, 1182, -1,
! 1184, 83, -1, -1, -1, -1, -1, -1, -1, 91,
! -1, -1, -1, 1197, -1, 1199, -1, -1, -1, -1,
! -1, -1, -1, 1207, -1, 65, 66, 67, 68, 69,
! 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
! 80, 81, 82, 83, 84, 85, 86, 87, -1, -1,
! 1234, 1235, -1, 1237, -1, -1, -1, -1, 1242, -1,
! -1, -1, -1, -1, 1248, 3, 4, 5, 6, 7,
! 8, 9, 1256, -1, -1, 13, -1, 15, -1, -1,
! -1, -1, 1266, 1267, 1268, -1, -1, -1, -1, -1,
! -1, 29, -1, 31, 32, -1, -1, -1, -1, -1,
! 38, -1, -1, -1, -1, 43, -1, -1, -1, 47,
! -1, 49, -1, 1297, -1, -1, -1, -1, 56, -1,
! -1, 59, 60, 1307, 1308, 1309, 1310, 1311, 1312, -1,
! -1, 1315, 1316, -1, -1, 73, -1, -1, -1, 3,
! 4, 5, 6, -1, -1, 83, -1, 1331, 1332, 1333,
! 1334, 1335, -1, 91, 1130, 1339, -1, 95, 96, -1,
! 1344, 4, -1, -1, 1348, -1, -1, -1, 32, -1,
! -1, -1, -1, 1357, -1, -1, -1, -1, -1, 43,
! -1, -1, -1, -1, -1, 49, -1, 112, 31, 32,
! -1, 34, 56, 36, 1378, 59, 60, -1, 1174, -1,
! 1176, -1, 45, -1, -1, 1181, 1182, -1, 1184, 73,
! -1, -1, -1, -1, -1, 58, -1, 60, -1, 83,
-1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
! -1, 95, 96, -1, -1, -1, -1, -1, -1, 82,
! -1, -1, 85, -1, -1, 3, 4, 5, 6, -1,
! -1, 9, -1, -1, -1, -1, 1440, 1441, -1, 1443,
! -1, 1445, -1, 1447, -1, -1, -1, -1, -1, -1,
! -1, 196, -1, -1, 32, -1, -1, -1, -1, 1463,
! -1, -1, -1, -1, 1468, 43, -1, 1471, -1, -1,
! -1, -1, -1, -1, 137, 138, 221, 140, 56, -1,
! -1, 59, 60, 146, 147, -1, -1, 150, 151, 152,
! -1, -1, 155, 156, 157, 73, -1, -1, -1, 162,
! 1504, 1505, 1506, 1507, 1508, 83, -1, -1, 171, -1,
! 1514, 1307, 175, 91, -1, -1, -1, 95, 181, 182,
! 1316, -1, -1, 4, 5, -1, 7, 8, 9, -1,
! -1, -1, -1, -1, 15, -1, -1, 200, 201, 202,
! -1, -1, -1, -1, -1, -1, -1, 210, 29, -1,
! 31, 32, 1348, -1, -1, -1, 1560, 38, 1562, -1,
! -1, -1, -1, -1, -1, -1, 47, 230, -1, 50,
! -1, -1, -1, -1, -1, 56, -1, -1, 59, 60,
! -1, -1, 1378, -1, -1, -1, -1, -1, -1, -1,
! 3, 4, 5, 6, 7, 8, 9, -1, -1, 344,
! 1604, -1, 15, -1, -1, -1, -1, 270, -1, -1,
! -1, 1615, 1616, 1617, 277, -1, 29, -1, 31, 32,
! 33, -1, -1, -1, -1, 38, -1, -1, 4, 5,
! 43, -1, 8, 9, 47, -1, -1, 50, -1, 15,
! -1, -1, -1, 56, -1, -1, 59, 60, -1, -1,
! -1, -1, -1, 29, -1, 31, 32, -1, -1, -1,
! 73, -1, 38, -1, -1, -1, -1, 1463, 1672, -1,
! 83, 47, 1468, 49, -1, 1471, -1, -1, 91, 424,
! 56, 344, 95, 59, 60, -1, 99, -1, 92, -1,
! -1, 95, -1, 97, -1, -1, -1, 73, 361, -1,
! -1, -1, -1, -1, -1, -1, -1, 83, 371, 1713,
! 1714, 1715, -1, -1, 377, -1, -1, -1, -1, 95,
! 96, -1, 1726, -1, -1, -1, -1, -1, 391, -1,
! -1, -1, 4, 5, -1, -1, 8, 9, 142, -1,
! 144, -1, -1, 15, -1, -1, -1, -1, -1, -1,
! -1, 414, -1, -1, -1, -1, -1, 502, -1, -1,
! 32, -1, -1, 426, -1, -1, 38, -1, -1, -1,
! -1, -1, 435, -1, 437, 47, -1, 49, -1, -1,
! -1, 444, 445, -1, 56, 448, -1, 59, 60, -1,
! -1, 454, 455, 456, -1, -1, -1, 460, -1, -1,
! -1, 73, -1, -1, -1, 468, -1, -1, -1, -1,
! -1, 83, -1, -1, -1, -1, -1, -1, -1, 1615,
! 1616, 1617, -1, 95, 96, -1, -1, 3, 4, 5,
! 6, 494, 495, 496, 497, -1, -1, -1, -1, 502,
! -1, -1, -1, -1, -1, -1, -1, 510, 511, -1,
! -1, 514, -1, 516, 517, 518, 519, -1, -1, -1,
! 523, -1, -1, -1, -1, 528, -1, 43, 531, -1,
! -1, -1, -1, 618, 619, 620, 621, 622, -1, -1,
! 56, -1, -1, 59, 60, -1, 631, -1, -1, 65,
! -1, -1, -1, -1, -1, -1, -1, 73, -1, 644,
! -1, -1, -1, -1, 567, -1, -1, 83, -1, -1,
! -1, -1, -1, -1, -1, 91, -1, 321, 322, 95,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
! 1726, 335, 677, 337, -1, -1, 340, -1, -1, 343,
! -1, -1, 346, -1, -1, -1, 350, -1, -1, -1,
! -1, 696, -1, -1, 358, -1, 31, 32, 703, 34,
! 705, 36, 707, -1, -1, -1, 629, 630, 631, -1,
! 45, -1, 376, -1, -1, -1, -1, -1, -1, -1,
! -1, 644, -1, 58, -1, 60, 71, 72, 73, 74,
! 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
! 85, 86, 87, 3, 4, 5, 6, 7, 8, 9,
! 85, 74, 75, 76, 77, 15, 79, 80, 81, 82,
! 83, 84, 85, 86, 87, -1, -1, -1, 691, 433,
! -1, -1, 32, -1, -1, -1, -1, -1, 38, -1,
! 703, -1, 705, 43, 707, -1, -1, 47, -1, 49,
! -1, -1, -1, -1, -1, -1, 56, -1, -1, 59,
! 60, -1, -1, -1, -1, 140, -1, 730, -1, -1,
! -1, 146, 147, 73, -1, -1, 151, 152, -1, -1,
! 155, 156, 157, 83, -1, -1, -1, -1, -1, -1,
! 835, 91, -1, -1, -1, 95, 171, -1, 843, -1,
! 175, -1, -1, -1, -1, -1, 181, 182, -1, -1,
! -1, -1, -1, -1, 777, -1, -1, -1, -1, -1,
! -1, 784, -1, -1, -1, 200, 201, 202, -1, -1,
! 793, 4, 5, -1, -1, 8, 9, -1, -1, 543,
! -1, -1, 15, 76, 77, 78, 79, 80, 81, 82,
! 83, 84, 85, 86, 87, 230, -1, -1, -1, 32,
! -1, -1, 907, -1, -1, 38, -1, -1, 913, -1,
! 833, 834, 835, -1, 47, -1, 49, 840, 841, -1,
! 843, -1, -1, 56, -1, -1, 59, 60, -1, -1,
! -1, -1, -1, -1, 857, 270, -1, -1, -1, 862,
! 73, -1, 865, 866, 867, 868, 869, 870, -1, 613,
! 83, 874, -1, -1, -1, -1, -1, -1, 881, -1,
! -1, -1, 95, 96, -1, 629, 630, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, 641, -1, 984,
! -1, 904, 646, 647, -1, 649, 650, 651, 652, 653,
! 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
! 664, 665, 666, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 1018, -1, -1, -1, -1, -1, 1024,
! 73, 74, 75, 76, 77, 1030, 79, 80, 81, 82,
! 83, 84, 85, 86, 87, -1, -1, 372, -1, -1,
! -1, -1, 377, 74, 75, 76, 77, 78, 79, 80,
! 81, 82, 83, 84, 85, 86, 87, 392, 279, 280,
! 281, 282, 283, 284, -1, 286, 287, 288, 289, 290,
! 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
! 301, 302, 303, 304, 305, 306, 307, -1, 309, -1,
! 1095, 426, 1097, -1, -1, -1, -1, -1, -1, -1,
! 435, -1, -1, -1, -1, 1028, 1029, 1030, -1, -1,
! 445, 1034, 1035, 448, -1, 779, -1, -1, -1, -1,
! 34, -1, -1, -1, -1, 460, -1, -1, -1, -1,
! 1135, -1, -1, 468, 3, 4, 5, 6, -1, 1144,
! 9, -1, -1, -1, 58, 75, 76, 77, 1153, 79,
! 80, 81, 82, 83, 84, 85, 86, 87, -1, 494,
! 495, 496, 497, 32, -1, -1, -1, 502, -1, -1,
! -1, -1, -1, -1, 43, 510, 511, -1, -1, 514,
! -1, 516, 517, 518, -1, -1, -1, 56, 523, -1,
! 59, 60, 1197, 528, 1199, -1, 531, -1, -1, -1,
! -1, -1, 1207, -1, 73, -1, -1, 1130, 1131, 1132,
! 1133, 1134, 1135, 1136, 83, 1138, -1, 1140, 1141, 1142,
! 1143, 1144, 91, -1, -1, 1148, 95, -1, -1, -1,
! -1, -1, 567, -1, -1, -1, -1, -1, -1, -1,
! -1, 155, 156, 157, 908, 909, -1, 911, -1, -1,
! 1173, 1174, -1, 1176, -1, -1, -1, -1, 1181, 1182,
! -1, 1184, -1, 1268, -1, -1, -1, 181, 1, -1,
! 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
! -1, -1, 15, -1, -1, -1, 200, 201, 202, -1,
-1, -1, -1, -1, -1, -1, 29, -1, 31, 32,
! -1, -1, -1, -1, -1, 38, -1, 1312, -1, -1,
! 43, -1, -1, -1, 47, -1, 230, 50, -1, -1,
-1, -1, -1, 56, -1, -1, 59, 60, -1, -1,
! 63, -1, 996, -1, -1, -1, -1, -1, -1, 1344,
! 73, -1, -1, 1266, 1267, 1268, -1, -1, -1, -1,
! 83, -1, 1357, -1, -1, -1, -1, 692, 91, -1,
! 581, -1, 95, -1, 1028, 1029, -1, -1, -1, -1,
! -1, 3, 4, 5, 6, -1, -1, 9, -1, -1,
! -1, -1, -1, 604, 1307, 1308, 1309, 1310, 1311, 1312,
! -1, 612, 1315, 1316, -1, 730, -1, -1, -1, 313,
! 32, -1, -1, -1, 3, 4, 5, 6, 7, 8,
! 9, 43, -1, -1, 13, -1, 15, -1, -1, -1,
! -1, -1, -1, -1, 56, 1348, -1, 59, 60, -1,
! 29, -1, 31, 32, 1098, -1, -1, 1101, -1, 38,
! 1445, 73, -1, -1, 43, -1, 1369, 1370, 47, 363,
! 49, 83, 366, 367, -1, 1378, -1, 56, 793, 91,
! 59, 60, -1, 95, 3, 4, 5, 6, -1, -1,
! 9, -1, -1, -1, 73, -1, -1, -1, 1142, 1143,
! -1, -1, -1, -1, 83, -1, -1, -1, -1, -1,
! -1, -1, 91, 32, -1, -1, 95, 96, 833, 834,
! 835, 1506, -1, -1, 43, -1, 841, -1, 843, 1514,
! -1, -1, 426, -1, -1, -1, -1, 56, -1, -1,
! 59, 60, -1, -1, -1, -1, -1, 862, -1, -1,
! -1, 866, 867, -1, 73, -1, -1, -1, -1, 874,
! 1463, -1, -1, 1466, 83, 1468, 881, -1, 1471, -1,
! -1, -1, 91, -1, -1, 1560, 95, -1, 1222, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 904,
! -1, -1, -1, -1, -1, -1, 1240, -1, 1242, -1,
! 494, -1, 496, 497, 498, 1, -1, -1, 4, 5,
! -1, -1, 8, 9, -1, -1, 510, 511, -1, 15,
! 514, -1, 516, 517, 518, 519, -1, -1, -1, 523,
! -1, -1, -1, 29, 528, 31, 32, 531, -1, -1,
! -1, -1, 38, -1, 40, 41, -1, -1, -1, -1,
! -1, 47, -1, 49, -1, -1, -1, -1, -1, -1,
! 56, -1, -1, 59, 60, -1, 62, -1, -1, -1,
! 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
! 86, -1, -1, 89, 90, 91, -1, 93, -1, -1,
! 96, -1, 3, 4, 5, 6, -1, -1, 9, -1,
! -1, 58, 1615, 1616, 1617, -1, 112, 918, 919, 1,
! -1, 1036, 4, 5, -1, -1, 8, 9, -1, -1,
! 1715, 32, -1, 15, -1, 82, -1, -1, 85, -1,
! -1, -1, 43, -1, -1, -1, -1, 29, -1, 31,
! 32, 3, 4, 5, 6, 56, 38, 9, 59, 60,
! -1, -1, 109, -1, 111, 47, -1, -1, -1, 1672,
! -1, -1, 73, -1, 56, -1, -1, 59, 60, -1,
! 32, -1, 83, -1, -1, -1, 680, -1, -1, -1,
! 91, 43, -1, -1, 95, -1, -1, -1, -1, -1,
! 694, 695, 696, -1, 56, -1, -1, 59, 60, -1,
! 1713, 1714, 1715, 707, -1, 1130, 1131, 1132, 1133, 1134,
! 1135, 73, -1, 1726, -1, 1140, -1, 1142, 1143, 1144,
! -1, 83, -1, 1148, 181, -1, 730, -1, -1, 91,
! -1, -1, 1, 95, 3, 4, 5, 6, 7, 8,
! 9, -1, -1, 200, 201, 202, 15, -1, 1173, 1174,
! -1, 1176, -1, 210, -1, -1, 1181, 1182, -1, 1184,
! 29, -1, 31, 32, 33, -1, -1, -1, -1, 38,
! 39, -1, -1, 230, 43, -1, -1, -1, 47, 48,
! -1, 50, -1, -1, -1, -1, -1, 56, -1, 793,
! 59, 60, -1, -1, 63, -1, 65, -1, -1, -1,
! 257, -1, -1, -1, 73, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 83, 3, 4, 5, 6, -1,
! 277, 9, 91, -1, -1, -1, 95, -1, -1, 833,
! 834, 835, -1, -1, -1, -1, -1, -1, -1, 843,
! -1, -1, 111, -1, 32, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 1608, 43, -1, -1, 862, -1,
! -1, 865, 866, 867, 868, 869, 870, -1, 56, -1,
! 874, 59, 60, -1, -1, -1, -1, 881, -1, -1,
! -1, -1, 1307, 1308, 1309, 73, 3, 4, 5, 6,
! 1315, 1316, -1, -1, -1, 83, -1, -1, -1, -1,
! -1, -1, -1, 91, -1, -1, -1, 95, -1, -1,
! -1, -1, -1, -1, 371, 372, -1, -1, 922, 923,
! 924, -1, -1, 1348, -1, -1, 43, 4, 5, 933,
! 7, 8, 9, -1, 391, 392, 13, -1, 15, 56,
! -1, -1, 59, 60, -1, 1370, -1, -1, 65, -1,
! -1, -1, 29, 1378, 31, 32, 73, -1, -1, 1713,
! 1714, 38, -1, -1, -1, -1, 83, -1, -1, 426,
! 47, -1, -1, -1, 91, -1, -1, -1, 95, 56,
! -1, -1, 59, 60, -1, -1, -1, -1, 3, 4,
! 5, 6, 7, 8, 9, -1, -1, -1, -1, -1,
! 15, -1, -1, 1007, 1008, -1, -1, 1011, -1, -1,
! -1, -1, -1, -1, 29, -1, 31, 32, 1022, -1,
! -1, -1, -1, 38, 1028, 1029, 1030, -1, 43, -1,
! 1034, -1, 47, -1, 49, -1, -1, 494, 1463, 496,
! 497, 56, -1, 1468, 59, 60, 1471, -1, -1, -1,
! -1, -1, -1, 510, 511, -1, -1, 514, 73, 516,
! 517, 518, 519, 32, -1, -1, 523, -1, 83, -1,
! -1, 528, -1, -1, 531, -1, 91, -1, -1, -1,
! 95, 96, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 196, -1, -1, -1, -1, -1, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
! -1, -1, -1, -1, -1, -1, 1130, 1131, 1132, 1133,
! 1134, 1135, 1136, -1, -1, -1, 1140, -1, 1142, 1143,
! 1144, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1154, 1155, 1156, -1, -1, -1, 1, -1, 3, 4,
! 5, 6, 7, 8, 9, -1, -1, -1, -1, 1173,
! 15, -1, -1, -1, -1, -1, -1, 1181, -1, 3,
! 4, 5, 6, -1, 29, -1, 31, 32, 33, -1,
! 1615, 1616, 1617, 38, 39, -1, -1, -1, 43, -1,
! -1, -1, 47, 48, -1, 50, -1, -1, 32, -1,
! -1, 56, -1, -1, 59, 60, -1, -1, 63, 43,
! 65, -1, -1, -1, -1, -1, -1, -1, 73, -1,
! 1234, 1235, 56, 1237, -1, 59, 60, -1, 83, -1,
! -1, -1, -1, -1, 1248, -1, 91, 1672, -1, 73,
! 95, -1, 1256, 710, 711, -1, -1, -1, -1, 83,
! -1, -1, 1266, 1267, 1268, -1, 111, 91, -1, -1,
! -1, 95, -1, 730, -1, -1, -1, -1, -1, -1,
! 385, -1, -1, -1, -1, -1, -1, -1, 1713, 1714,
! 1715, 4, 5, -1, 7, 8, 9, -1, -1, -1,
! 13, 1726, 15, 1307, 1308, 1309, 1310, 1311, 1312, -1,
! -1, 1315, 1316, -1, -1, -1, 29, -1, 31, 32,
! -1, -1, -1, -1, -1, 38, -1, 1331, 1332, 1333,
! 1334, 1335, -1, -1, 47, -1, 793, -1, -1, -1,
! -1, -1, -1, 56, 1348, -1, 59, 60, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, 363, -1, -1,
! 366, 367, 3, 4, 5, 6, 7, 8, 9, -1,
! -1, -1, -1, -1, 15, -1, 833, 834, 835, 484,
! 485, -1, -1, 840, 841, -1, 843, -1, 29, -1,
! 31, 32, -1, -1, -1, -1, -1, 38, -1, -1,
! -1, -1, 43, -1, -1, 862, 47, -1, 865, 866,
! 867, 868, 869, 870, 871, 56, -1, 874, 59, 60,
! -1, -1, 63, -1, 881, -1, 3, 4, 5, 6,
! -1, -1, 73, -1, -1, -1, 1440, 1441, -1, 1443,
! -1, -1, 83, 1447, -1, -1, 903, -1, -1, -1,
! 91, -1, -1, -1, 95, 32, -1, -1, -1, 1463,
! 72, 73, 74, 75, 76, 77, 43, 79, 80, 81,
! 82, 83, 84, 85, 86, 87, -1, -1, -1, 56,
! -1, -1, 59, 60, -1, -1, -1, -1, 494, -1,
! 496, 497, 498, -1, -1, -1, 73, -1, -1, -1,
! 1504, 1505, 1506, 1507, 1508, -1, 83, -1, -1, 614,
! -1, -1, 617, -1, 91, -1, -1, -1, 95, -1,
! 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
! -1, -1, 15, -1, -1, -1, -1, -1, 643, -1,
! 4, 5, -1, 7, 8, 9, 29, -1, 31, 32,
! -1, 15, -1, -1, -1, 38, -1, -1, 1562, -1,
! 43, -1, -1, 668, 47, 29, -1, 31, 32, 674,
! -1, 676, 677, 56, 38, -1, 59, 60, 1035, 1036,
! 1037, -1, 65, 47, -1, -1, -1, -1, -1, -1,
! 73, -1, 56, -1, -1, 59, 60, -1, -1, -1,
! 83, -1, 707, -1, -1, -1, -1, -1, 91, 714,
! -1, 1615, 95, 1617, -1, -1, -1, -1, -1, 724,
! 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
! 80, 81, 82, 83, 84, 85, 86, 87, 743, 744,
! 745, 746, -1, 748, 749, 750, 751, 752, 753, 754,
! 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
! 765, 766, -1, -1, -1, -1, -1, -1, 1672, -1,
! -1, -1, -1, 1130, 1131, 1132, 1133, 1134, 1135, 1136,
! -1, 1138, -1, 1140, 1141, 1142, 1143, 1144, 694, 695,
! 696, 1148, -1, -1, -1, -1, -1, 1154, 1155, 1156,
! 1, 707, 3, 4, 5, 6, 7, 8, 9, 1713,
! 1714, 1715, 13, -1, 15, -1, -1, -1, -1, 824,
! -1, -1, 1726, -1, 1181, 26, -1, 28, -1, -1,
! -1, 32, -1, -1, -1, -1, -1, 38, 843, -1,
! -1, -1, 43, -1, -1, -1, 47, -1, 49, -1,
! -1, -1, 857, -1, -1, 56, -1, -1, 59, 60,
! 61, 62, 63, -1, 65, 66, 67, 68, 69, 70,
! 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
! 81, 82, 83, 84, 85, 86, 87, 793, 89, 90,
! 91, -1, 93, 94, 95, 96, 97, -1, -1, -1,
! -1, -1, 103, 104, -1, 14, -1, -1, 109, 110,
! 111, -1, 113, -1, 23, 24, -1, -1, -1, -1,
! -1, -1, 31, 32, -1, 34, -1, 833, 834, 835,
! -1, -1, -1, -1, -1, -1, -1, 843, -1, -1,
! -1, -1, -1, -1, -1, 950, -1, -1, -1, -1,
! 1307, 1308, 1309, 1310, 1311, 1312, -1, -1, 1315, 1316,
! 69, -1, 4, 5, -1, -1, 8, 9, -1, 3,
! 4, 5, 6, 15, 1331, 1332, 1333, 1334, 1335, -1,
! -1, -1, 987, 988, -1, -1, -1, 29, -1, 31,
! 32, 1348, -1, -1, -1, -1, 38, 1002, 32, 1004,
! -1, 1006, -1, -1, -1, 47, -1, -1, -1, 43,
! -1, -1, 1369, -1, 56, -1, -1, 59, 60, 128,
! -1, 130, 56, -1, -1, 59, 60, 933, 137, 138,
! -1, -1, -1, -1, -1, -1, -1, 146, 147, 73,
! -1, 150, 151, 152, 1049, 154, 155, 156, 157, 83,
! -1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
! -1, 95, 73, 74, 75, 76, 77, 78, 79, 80,
! 81, 82, 83, 84, 85, 86, 87, 1082, -1, -1,
! -1, -1, -1, 1440, 1441, 1442, 1443, -1, -1, -1,
! 1447, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 1007, 1008, -1, -1, 1011, 1463, -1, -1, -1,
! -1, -1, -1, -1, -1, 1120, 1022, -1, -1, -1,
! -1, -1, 1028, 1029, 1030, -1, -1, 1, 1034, 3,
! 4, 5, 6, 7, 8, 9, -1, 246, 247, -1,
! -1, 15, -1, -1, -1, 1150, 1151, 1504, 1505, 1506,
! 1507, 1508, -1, -1, -1, 29, -1, 31, 32, 33,
! -1, 270, -1, -1, 38, -1, -1, 1172, -1, 43,
! -1, -1, -1, 47, 48, -1, 50, -1, -1, -1,
! -1, -1, 56, -1, -1, 59, 60, -1, -1, 63,
! -1, 65, -1, -1, -1, -1, -1, -1, -1, 73,
! -1, -1, -1, -1, 313, 1562, -1, -1, -1, 83,
! -1, -1, -1, 1218, 1219, -1, -1, 91, -1, -1,
! -1, 95, -1, -1, 1130, 1131, 1132, 1133, 1134, 1135,
! 1136, -1, -1, -1, 1140, -1, 1142, 1143, 1144, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 361, -1, 363, -1, -1, 366, 1615, -1,
! 1617, -1, -1, -1, -1, 4, 5, -1, -1, 8,
! 9, -1, -1, 1278, -1, -1, 15, -1, -1, -1,
! -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
! 29, -1, 31, 32, 1299, -1, 1301, -1, 1303, 38,
! 1305, -1, -1, -1, -1, 414, -1, -1, 47, -1,
! -1, -1, -1, 32, -1, 1672, -1, 56, -1, -1,
! 59, 60, -1, -1, 43, -1, 435, -1, 437, -1,
! -1, 1336, -1, -1, -1, -1, 445, 56, -1, 448,
! 59, 60, 1248, -1, -1, -1, -1, -1, -1, -1,
! 1256, 460, -1, -1, 73, 1360, 1713, 1714, 1715, -1,
! 1266, 1267, 1268, -1, 83, -1, -1, -1, -1, 1726,
! -1, -1, 91, -1, -1, -1, 95, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
! 85, 86, 87, 1398, -1, -1, -1, -1, -1, -1,
! -1, 1307, 1308, 1309, 1310, 1311, 1312, -1, -1, 1315,
! 1316, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 1427, -1, -1, -1, 3, 4, 5, 6,
! -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
! -1, -1, 551, 552, 1449, 15, -1, -1, -1, -1,
! -1, -1, -1, -1, 1459, 1460, -1, -1, 567, 29,
! -1, 31, 32, 33, -1, -1, 43, -1, 38, 39,
! -1, -1, -1, 43, -1, -1, -1, 47, 48, 56,
! 50, -1, 59, 60, 1489, -1, 56, -1, 65, 59,
! 60, -1, -1, 63, -1, 65, 73, -1, -1, -1,
! 609, -1, 611, 73, -1, -1, 83, -1, -1, -1,
! -1, -1, -1, 83, 91, -1, -1, -1, 95, -1,
! 1525, 91, -1, -1, -1, 95, -1, -1, -1, -1,
! -1, -1, -1, -1, 1440, 1441, -1, 1443, -1, -1,
! -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 3, 4, 5, 6, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, 1570, 1571, -1, -1, -1,
! -1, 680, -1, -1, -1, -1, -1, -1, -1, -1,
! 32, -1, 691, 692, -1, 694, 695, -1, -1, -1,
! -1, 43, 1597, -1, -1, -1, -1, -1, 1504, 1505,
! 1506, 1507, 1508, -1, 56, -1, -1, 59, 60, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 73, -1, -1, -1, -1, -1, -1, -1, -1,
! 1635, 83, -1, -1, -1, -1, -1, -1, -1, 91,
! -1, -1, -1, 95, 66, 67, 68, 69, 70, 71,
! 72, 73, 74, 75, 76, 77, 1562, 79, 80, 81,
! 82, 83, 84, 85, 86, 87, -1, 1672, 777, -1,
! -1, -1, -1, -1, -1, 784, 785, -1, -1, -1,
! -1, -1, -1, -1, -1, 794, -1, -1, -1, -1,
! -1, -1, 1697, -1, 1, -1, 3, 4, 5, 6,
! 7, 8, 9, 10, 11, 12, -1, 14, 15, 16,
! 819, 18, 19, 20, 21, 22, 23, 24, 25, 26,
! 27, 28, 29, 30, 31, 32, 33, -1, 35, 36,
! 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
! 47, 48, -1, -1, 51, 52, 53, 54, 55, 56,
! -1, -1, 59, 60, 61, -1, 63, 64, -1, -1,
! -1, -1, -1, 70, -1, -1, 73, -1, -1, -1,
! -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
! -1, -1, 89, 90, 91, -1, -1, -1, 95, -1,
! 97, -1, -1, -1, 903, -1, -1, -1, -1, -1,
! -1, -1, -1, 1808, 111, 112, -1, -1, -1, -1,
! -1, -1, -1, 922, 923, 924, 925, -1, -1, -1,
! -1, -1, -1, -1, 933, -1, -1, -1, 1, -1,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, 14, 15, 16, -1, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, -1, -1, 51, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, -1,
! 63, 64, -1, -1, -1, -1, -1, 70, 1007, 1008,
! 73, -1, 1011, -1, -1, -1, -1, -1, 81, 82,
! 83, -1, -1, 1022, -1, -1, 89, 90, 91, -1,
! -1, -1, 95, -1, 97, 1034, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 1, 112,
! 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
! 13, 14, 15, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
! 33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
! 43, 44, 45, -1, 47, -1, 49, -1, 51, 52,
! 53, 54, 55, 56, -1, -1, 59, 60, 61, -1,
! -1, 64, -1, -1, -1, -1, -1, 70, -1, -1,
73, -1, -1, -1, -1, -1, -1, -1, 81, 82,
83, -1, -1, -1, -1, -1, 89, 90, 91, -1,
! -1, -1, 95, 96, -1, -1, -1, -1, -1, 1,
! -1, 3, 4, 5, 6, 7, 8, 9, -1, 112,
! -1, -1, -1, 15, -1, -1, -1, -1, 1167, -1,
! -1, 1170, -1, -1, 1173, -1, -1, 29, -1, 31,
! 32, 33, -1, -1, -1, -1, 38, 39, -1, -1,
! -1, 43, -1, -1, -1, 47, 48, -1, 50, -1,
! -1, -1, -1, -1, 56, -1, -1, 59, 60, -1,
! -1, 63, -1, 65, 71, 72, 73, 74, 75, 76,
! 77, 73, 79, 80, 81, 82, 83, 84, 85, 86,
! 87, 83, -1, -1, -1, 1234, 1235, -1, 1237, 91,
! -1, -1, -1, 95, -1, -1, -1, -1, -1, 1248,
! -1, -1, -1, -1, -1, -1, -1, 1256, -1, 111,
! -1, -1, -1, -1, -1, -1, -1, 1266, 1267, -1,
! -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
! 9, 10, 11, 12, 13, 14, 15, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 1297, -1,
! 29, 30, 31, 32, 33, -1, 35, 36, 37, 38,
! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
! 49, -1, 51, 52, 53, 54, 55, 56, -1, -1,
! 59, 60, 61, -1, -1, 64, -1, -1, -1, -1,
! 1339, 70, -1, -1, 73, -1, -1, -1, -1, -1,
! -1, -1, 81, 82, 83, -1, -1, -1, -1, -1,
! 89, 90, 91, -1, -1, -1, 95, 96, -1, -1,
! -1, 1370, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 1, 112, 3, 4, 5, 6, 7, 8,
! 9, 10, 11, 12, 13, 14, 15, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 29, 30, 31, 32, 33, -1, 35, 36, 37, 38,
! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
! -1, -1, 51, 52, 53, 54, 55, 56, -1, -1,
! 59, 60, -1, -1, -1, 64, -1, -1, -1, -1,
! -1, 70, -1, -1, 73, -1, -1, -1, -1, -1,
! -1, -1, 81, 82, 83, -1, -1, 1466, -1, 1468,
! 89, 90, 91, -1, -1, 1, 95, 3, 4, 5,
! 6, 7, 8, 9, 10, 11, 12, -1, 14, 15,
! -1, 110, -1, 112, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
-1, 47, -1, -1, -1, 51, 52, 53, 54, 55,
! 56, -1, -1, 59, 60, 61, -1, 63, 64, -1,
-1, -1, -1, -1, 70, -1, -1, 73, -1, -1,
-1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
-1, -1, -1, 89, 90, 91, -1, -1, 1, 95,
! 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
! -1, 14, 15, -1, -1, -1, 112, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
43, 44, 45, -1, 47, -1, -1, -1, 51, 52,
53, 54, 55, 56, -1, -1, 59, 60, 61, -1,
! -1, 64, -1, -1, -1, -1, -1, 70, -1, -1,
73, -1, -1, -1, -1, -1, -1, -1, 81, 82,
83, -1, -1, -1, -1, -1, 89, 90, 91, -1,
! -1, -1, 95, 96, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
! 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
! 11, 12, -1, 14, 15, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
! 31, 32, 33, -1, 35, 36, 37, 38, -1, 40,
! 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
! 51, 52, 53, 54, 55, 56, -1, -1, 59, 60,
! 61, -1, -1, 64, -1, -1, -1, -1, -1, 70,
! -1, -1, 73, -1, -1, -1, -1, -1, -1, -1,
! 81, 82, 83, -1, -1, -1, -1, -1, 89, 90,
! 91, -1, -1, 1, 95, 3, 4, 5, 6, -1,
8, 9, 10, 11, 12, -1, 14, 15, -1, -1,
! -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
-1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
-1, 59, 60, 61, -1, -1, 64, -1, -1, -1,
-1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
-1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
! -1, 89, 90, 91, -1, -1, -1, 95, 96, 1,
! -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
! 12, -1, 14, 15, 112, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
! -1, 33, -1, 35, 36, 37, 38, -1, 40, 41,
! 42, 43, 44, 45, -1, 47, -1, -1, -1, 51,
! 52, 53, 54, 55, 56, -1, -1, 59, 60, 61,
! -1, -1, 64, -1, -1, -1, -1, -1, 70, -1,
! -1, 73, -1, -1, -1, -1, -1, -1, -1, 81,
! 82, 83, -1, -1, -1, -1, -1, 89, 90, 91,
! -1, -1, -1, 95, 1, -1, 3, 4, 5, 6,
! 102, 8, 9, 10, 11, 12, -1, 14, 15, -1,
! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
! 37, 38, -1, 40, 41, 42, 43, 44, 45, -1,
! 47, -1, -1, -1, 51, 52, 53, 54, 55, 56,
! -1, -1, 59, 60, 61, -1, -1, 64, -1, -1,
! -1, -1, -1, 70, -1, -1, 73, -1, -1, -1,
! -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
! -1, -1, 89, 90, 91, -1, -1, 1, 95, 3,
! 4, 5, 6, -1, 8, 9, 10, 11, 12, -1,
! 14, 15, -1, -1, 111, 112, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
-1, 35, 36, 37, 38, -1, 40, 41, 42, 43,
44, 45, -1, 47, -1, -1, -1, 51, 52, 53,
*************** static const short yycheck[] = { 14,
*** 4034,4040 ****
1, 95, 3, 4, 5, 6, -1, 8, 9, 10,
11, 12, -1, 14, 15, -1, -1, 111, 112, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
! 31, -1, 33, -1, 35, 36, 37, 38, -1, 40,
41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
51, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, -1, -1, 64, -1, -1, -1, -1, -1, 70,
--- 3946,3952 ----
1, 95, 3, 4, 5, 6, -1, 8, 9, 10,
11, 12, -1, 14, 15, -1, -1, 111, 112, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
! 31, 32, 33, -1, 35, 36, 37, 38, -1, 40,
41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
51, 52, 53, 54, 55, 56, -1, -1, 59, 60,
61, -1, -1, 64, -1, -1, -1, -1, -1, 70,
*************** static const short yycheck[] = { 14,
*** 4042,4052 ****
81, 82, 83, -1, -1, -1, -1, -1, 89, 90,
91, -1, -1, 1, 95, 3, 4, 5, 6, -1,
8, 9, 10, 11, 12, -1, 14, 15, -1, -1,
! 111, 112, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
-1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
! -1, 59, 60, 61, -1, -1, 64, -1, -1, -1,
-1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
-1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
-1, 89, 90, 91, -1, -1, 1, 95, 3, 4,
--- 3954,3964 ----
81, 82, 83, -1, -1, -1, -1, -1, 89, 90,
91, -1, -1, 1, 95, 3, 4, 5, 6, -1,
8, 9, 10, 11, 12, -1, 14, 15, -1, -1,
! -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
-1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
! -1, 59, 60, -1, -1, 63, 64, -1, -1, -1,
-1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
-1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
-1, 89, 90, 91, -1, -1, 1, 95, 3, 4,
*************** static const short yycheck[] = { 14,
*** 4205,4210 ****
--- 4117,4150 ----
12, -1, 14, 15, -1, -1, 112, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
32, 33, -1, 35, 36, 37, 38, -1, 40, 41,
+ 42, 43, 44, 45, -1, 47, -1, 49, -1, 51,
+ 52, 53, 54, 55, 56, -1, -1, 59, 60, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
+ -1, 73, -1, -1, -1, -1, -1, -1, -1, 81,
+ 82, 83, -1, -1, -1, -1, -1, 89, 90, 91,
+ -1, -1, -1, 95, 96, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, -1, 14, 15, -1, -1,
+ 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
+ 38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
+ -1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
+ -1, 59, 60, -1, -1, -1, 64, -1, -1, -1,
+ -1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
+ -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
+ -1, 89, 90, 91, -1, -1, -1, 95, 3, 4,
+ 5, 6, -1, 8, 9, 10, 11, 12, -1, 14,
+ 15, -1, -1, -1, 112, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
+ 35, 36, 37, 38, -1, 40, 41, 42, 43, 44,
+ 45, -1, 47, -1, -1, -1, 51, 52, 53, 54,
+ 55, 56, -1, -1, 59, 60, -1, -1, -1, 64,
+ -1, -1, -1, -1, -1, 70, -1, -1, 73, -1,
+ -1, -1, -1, -1, -1, -1, 81, 82, 83, -1,
+ -1, -1, -1, -1, 89, 90, 91, -1, -1, -1,
+ 95, 3, 4, 5, 6, -1, 8, 9, 10, 11,
+ 12, -1, 14, 15, -1, -1, -1, 112, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
+ 32, 33, -1, 35, 36, 37, 38, -1, 40, 41,
42, 43, 44, 45, -1, 47, -1, -1, -1, 51,
52, 53, 54, 55, 56, -1, -1, 59, 60, -1,
-1, -1, 64, -1, -1, -1, -1, -1, 70, -1,
*************** static const short yycheck[] = { 14,
*** 4213,4259 ****
-1, -1, -1, 95, 3, 4, 5, 6, -1, 8,
9, 10, 11, 12, -1, 14, 15, -1, -1, -1,
112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 29, 30, 31, 32, 33, -1, 35, 36, 37, 38,
-1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
-1, -1, 51, 52, 53, 54, 55, 56, -1, -1,
! 59, 60, -1, -1, -1, 64, -1, -1, -1, -1,
-1, 70, -1, -1, 73, -1, -1, -1, -1, -1,
-1, -1, 81, 82, 83, -1, -1, -1, -1, -1,
89, 90, 91, -1, -1, -1, 95, 3, 4, 5,
! 6, -1, 8, 9, 10, 11, 12, -1, 14, 15,
-1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
-1, 47, -1, -1, -1, 51, 52, 53, 54, 55,
! 56, -1, -1, 59, 60, -1, -1, -1, 64, -1,
-1, -1, -1, -1, 70, -1, -1, 73, -1, -1,
-1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
-1, -1, -1, 89, 90, 91, -1, -1, -1, 95,
3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
-1, 14, 15, -1, -1, -1, 112, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
43, 44, 45, -1, 47, -1, -1, -1, 51, 52,
53, 54, 55, 56, -1, -1, 59, 60, -1, -1,
! 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
73, -1, -1, -1, -1, -1, -1, -1, 81, 82,
83, -1, -1, -1, -1, -1, 89, 90, 91, -1,
! -1, -1, 95, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, 14, 15, -1, -1, -1, 112,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
! 30, 31, 32, 33, -1, 35, 36, 37, 38, -1,
40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
-1, 51, 52, 53, 54, 55, 56, -1, -1, 59,
! 60, -1, -1, -1, -1, -1, -1, -1, -1, -1,
70, -1, -1, 73, -1, -1, -1, -1, -1, -1,
-1, 81, 82, 83, -1, -1, -1, -1, -1, 89,
90, 91, -1, -1, -1, 95, 3, 4, 5, 6,
-1, 8, 9, 10, 11, 12, -1, 14, 15, -1,
-1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 29, 30, 31, 32, 33, -1, 35, 36,
37, 38, -1, 40, 41, 42, 43, 44, 45, -1,
47, -1, -1, -1, 51, 52, 53, 54, 55, 56,
! -1, -1, 59, 60, -1, -1, -1, 64, -1, -1,
-1, -1, -1, 70, -1, -1, 73, -1, -1, -1,
-1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
-1, -1, 89, 90, 91, -1, -1, -1, 95, 3,
--- 4153,4199 ----
-1, -1, -1, 95, 3, 4, 5, 6, -1, 8,
9, 10, 11, 12, -1, 14, 15, -1, -1, -1,
112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 29, 30, 31, -1, 33, -1, 35, 36, 37, 38,
-1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
-1, -1, 51, 52, 53, 54, 55, 56, -1, -1,
! 59, 60, -1, -1, 63, 64, -1, -1, -1, -1,
-1, 70, -1, -1, 73, -1, -1, -1, -1, -1,
-1, -1, 81, 82, 83, -1, -1, -1, -1, -1,
89, 90, 91, -1, -1, -1, 95, 3, 4, 5,
! 6, 7, 8, 9, 10, 11, 12, -1, 14, 15,
-1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
-1, 47, -1, -1, -1, 51, 52, 53, 54, 55,
! 56, -1, -1, 59, 60, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 70, -1, -1, 73, -1, -1,
-1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
-1, -1, -1, 89, 90, 91, -1, -1, -1, 95,
3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
-1, 14, 15, -1, -1, -1, 112, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
33, -1, 35, 36, 37, 38, -1, 40, 41, 42,
43, 44, 45, -1, 47, -1, -1, -1, 51, 52,
53, 54, 55, 56, -1, -1, 59, 60, -1, -1,
! -1, 64, -1, -1, -1, -1, -1, 70, -1, -1,
73, -1, -1, -1, -1, -1, -1, -1, 81, 82,
83, -1, -1, -1, -1, -1, 89, 90, 91, -1,
! -1, -1, 95, 3, 4, 5, 6, -1, 8, 9,
10, 11, 12, -1, 14, 15, -1, -1, -1, 112,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
! 30, 31, -1, 33, -1, 35, 36, 37, 38, -1,
40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
-1, 51, 52, 53, 54, 55, 56, -1, -1, 59,
! 60, -1, -1, -1, 64, -1, -1, -1, -1, -1,
70, -1, -1, 73, -1, -1, -1, -1, -1, -1,
-1, 81, 82, 83, -1, -1, -1, -1, -1, 89,
90, 91, -1, -1, -1, 95, 3, 4, 5, 6,
-1, 8, 9, 10, 11, 12, -1, 14, 15, -1,
-1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
37, 38, -1, 40, 41, 42, 43, 44, 45, -1,
47, -1, -1, -1, 51, 52, 53, 54, 55, 56,
! -1, -1, 59, 60, 61, -1, -1, -1, -1, -1,
-1, -1, -1, 70, -1, -1, 73, -1, -1, -1,
-1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
-1, -1, 89, 90, 91, -1, -1, -1, 95, 3,
*************** static const short yycheck[] = { 14,
*** 4263,4292 ****
-1, 35, 36, 37, 38, -1, 40, 41, 42, 43,
44, 45, -1, 47, -1, -1, -1, 51, 52, 53,
54, 55, 56, -1, -1, 59, 60, -1, -1, -1,
! 64, -1, -1, -1, -1, -1, 70, -1, -1, 73,
-1, -1, -1, -1, -1, -1, -1, 81, 82, 83,
-1, -1, -1, -1, -1, 89, 90, 91, -1, -1,
! -1, 95, 3, 4, 5, 6, -1, 8, 9, 10,
! 11, 12, -1, 14, 15, -1, -1, -1, 112, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
! 31, -1, 33, -1, 35, 36, 37, 38, -1, 40,
! 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
! 51, 52, 53, 54, 55, 56, -1, -1, 59, 60,
! 61, -1, -1, -1, -1, -1, -1, -1, -1, 70,
! -1, -1, 73, -1, -1, -1, -1, -1, -1, -1,
! 81, 82, 83, -1, -1, -1, -1, -1, 89, 90,
! 91, -1, -1, -1, 95, 3, 4, 5, 6, -1,
! 8, 9, 10, 11, 12, -1, 14, 15, -1, -1,
! -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
! 38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
! -1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
! -1, 59, 60, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
! -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
! -1, 89, 90, 91, -1, -1, -1, 95, 96, 3,
4, 5, 6, -1, 8, 9, 10, 11, 12, -1,
! 14, 15, -1, -1, 112, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
-1, 35, 36, 37, 38, -1, 40, 41, 42, 43,
44, 45, -1, 47, -1, -1, -1, 51, 52, 53,
--- 4203,4232 ----
-1, 35, 36, 37, 38, -1, 40, 41, 42, 43,
44, 45, -1, 47, -1, -1, -1, 51, 52, 53,
54, 55, 56, -1, -1, 59, 60, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 70, -1, -1, 73,
-1, -1, -1, -1, -1, -1, -1, 81, 82, 83,
-1, -1, -1, -1, -1, 89, 90, 91, -1, -1,
! -1, 95, 96, 3, 4, 5, 6, -1, 8, 9,
! 10, 11, 12, -1, 14, 15, -1, -1, 112, -1,
! -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
! 30, 31, -1, 33, -1, 35, 36, 37, 38, -1,
! 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
! -1, 51, 52, 53, 54, 55, 56, -1, -1, 59,
! 60, -1, -1, -1, 64, -1, -1, -1, -1, -1,
! 70, -1, -1, 73, -1, -1, -1, -1, -1, -1,
! -1, 81, 82, 83, -1, -1, -1, -1, -1, 89,
! 90, 91, -1, -1, -1, 95, 3, 4, 5, 6,
! -1, 8, 9, 10, 11, 12, -1, 14, 15, -1,
! -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 29, 30, 31, 32, 33, -1, 35, 36,
! 37, 38, -1, 40, 41, 42, 43, 44, 45, -1,
! 47, -1, -1, -1, 51, 52, 53, 54, 55, 56,
! -1, -1, 59, 60, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 70, -1, -1, 73, -1, -1, -1,
! -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
! -1, -1, 89, 90, 91, -1, -1, -1, 95, 3,
4, 5, 6, -1, 8, 9, 10, 11, 12, -1,
! 14, 15, -1, -1, -1, 112, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
-1, 35, 36, 37, 38, -1, 40, 41, 42, 43,
44, 45, -1, 47, -1, -1, -1, 51, 52, 53,
*************** static const short yycheck[] = { 14,
*** 4309,4321 ****
-1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
-1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
! -1, 59, 60, -1, -1, -1, 64, -1, -1, -1,
-1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
-1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
-1, 89, 90, 91, -1, -1, -1, 95, 3, 4,
5, 6, -1, 8, 9, 10, 11, 12, -1, 14,
15, -1, -1, -1, 112, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
35, 36, 37, 38, -1, 40, 41, 42, 43, 44,
45, -1, 47, -1, -1, -1, 51, 52, 53, 54,
55, 56, -1, -1, 59, 60, -1, -1, -1, -1,
--- 4249,4261 ----
-1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
38, -1, 40, 41, 42, 43, 44, 45, -1, 47,
-1, -1, -1, 51, 52, 53, 54, 55, 56, -1,
! -1, 59, 60, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 70, -1, -1, 73, -1, -1, -1, -1,
-1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
-1, 89, 90, 91, -1, -1, -1, 95, 3, 4,
5, 6, -1, 8, 9, 10, 11, 12, -1, 14,
15, -1, -1, -1, 112, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
35, 36, 37, 38, -1, 40, 41, 42, 43, 44,
45, -1, 47, -1, -1, -1, 51, 52, 53, 54,
55, 56, -1, -1, 59, 60, -1, -1, -1, -1,
*************** static const short yycheck[] = { 14,
*** 4329,4361 ****
42, 43, 44, 45, -1, 47, -1, -1, -1, 51,
52, 53, 54, 55, 56, -1, -1, 59, 60, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
! -1, 73, -1, -1, -1, -1, -1, -1, -1, 81,
! 82, 83, -1, -1, -1, -1, -1, 89, 90, 91,
! -1, -1, -1, 95, 3, 4, 5, 6, -1, 8,
! 9, 10, 11, 12, -1, 14, 15, -1, -1, -1,
! 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 29, 30, 31, -1, 33, -1, 35, 36, 37, 38,
! -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
! -1, -1, 51, 52, 53, 54, 55, 56, -1, -1,
! 59, 60, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, 70, -1, -1, 73, -1, -1, -1, -1, -1,
! -1, -1, 81, 82, 83, -1, -1, -1, -1, -1,
! 89, 90, 91, -1, -1, -1, 95, 3, 4, 5,
! 6, -1, 8, 9, 10, 11, 12, -1, 14, 15,
! -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
! 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
! -1, 47, -1, -1, -1, 51, 52, 53, 54, 55,
! 56, -1, -1, 59, 60, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 70, -1, -1, 73, -1, -1,
! -1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
! -1, -1, -1, 89, 90, 91, -1, -1, -1, 95,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, -1, -1, 112, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
! 77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
--- 4269,4310 ----
42, 43, 44, 45, -1, 47, -1, -1, -1, 51,
52, 53, 54, 55, 56, -1, -1, 59, 60, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
! -1, 73, 3, 4, 5, 6, 7, 8, 9, 81,
! 82, 83, -1, -1, 15, -1, -1, 89, 90, 91,
! -1, -1, -1, 95, -1, -1, -1, -1, 29, -1,
! 31, 32, -1, -1, -1, -1, -1, 38, -1, -1,
! 112, -1, 43, -1, -1, -1, 47, -1, 3, 4,
! 5, 6, 7, 8, 9, 56, -1, -1, 59, 60,
! 15, -1, 63, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, 73, -1, 29, -1, 31, 32, -1, -1,
! -1, -1, 83, 38, -1, -1, -1, -1, 43, -1,
! 91, -1, 47, -1, 95, -1, -1, -1, -1, -1,
! -1, 56, -1, -1, 59, 60, -1, -1, -1, 3,
! 4, 5, 6, 7, 8, 9, -1, -1, 73, -1,
! -1, 15, -1, -1, -1, -1, -1, -1, 83, -1,
! -1, -1, -1, -1, -1, 29, 91, 31, 32, -1,
! 95, -1, -1, -1, 38, -1, -1, -1, -1, 43,
! -1, -1, -1, 47, -1, -1, -1, -1, -1, -1,
! -1, -1, 56, -1, -1, 59, 60, -1, -1, -1,
! -1, 70, 71, 72, 73, 74, 75, 76, 77, 73,
! 79, 80, 81, 82, 83, 84, 85, 86, 87, 83,
! -1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
! -1, 95, 66, 67, 68, 69, 70, 71, 72, 73,
! 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
! 84, 85, 86, 87, 66, 67, 68, 69, 70, 71,
! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
! 82, 83, 84, 85, 86, 87, -1, -1, -1, 113,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! -1, -1, -1, -1, 62, -1, -1, 109, 66, 67,
! 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
! 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
! 62, -1, -1, -1, 66, 67, 68, 69, 70, 71,
! 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
! 82, 83, 84, 85, 86, 87, 65, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
! 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
87
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
*************** case 170:
*** 5548,5592 ****
{ do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype, 1);
yyungetc (';', 1); ;
break;}
case 172:
! #line 1036 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 174:
#line 1040 "parse.y"
{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
break;}
case 176:
! #line 1043 "parse.y"
{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
break;}
! case 178:
#line 1048 "parse.y"
{ begin_explicit_instantiation(); ;
break;}
case 179:
! #line 1052 "parse.y"
{ end_explicit_instantiation(); ;
break;}
case 180:
! #line 1062 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 181:
! #line 1065 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 184:
! #line 1073 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 185:
! #line 1079 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 186:
! #line 1083 "parse.y"
{
if (yychar == YYEMPTY)
yychar = YYLEX;
--- 5497,5557 ----
{ do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype, 1);
yyungetc (';', 1); ;
break;}
+ case 171:
+ #line 1034 "parse.y"
+ {;
+ break;}
case 172:
! #line 1037 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 173:
#line 1040 "parse.y"
+ {;
+ break;}
+ case 174:
+ #line 1042 "parse.y"
{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
break;}
+ case 175:
+ #line 1044 "parse.y"
+ {;
+ break;}
case 176:
! #line 1046 "parse.y"
{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
break;}
! case 177:
#line 1048 "parse.y"
+ {;
+ break;}
+ case 178:
+ #line 1052 "parse.y"
{ begin_explicit_instantiation(); ;
break;}
case 179:
! #line 1056 "parse.y"
{ end_explicit_instantiation(); ;
break;}
case 180:
! #line 1066 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 181:
! #line 1069 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 184:
! #line 1077 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 185:
! #line 1083 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 186:
! #line 1087 "parse.y"
{
if (yychar == YYEMPTY)
yychar = YYLEX;
*************** case 186:
*** 5596,5602 ****
;
break;}
case 188:
! #line 1095 "parse.y"
{
/* Handle `Class>' without space in the `>>' */
pedwarn ("`>>' should be `> >' in template class name");
--- 5561,5567 ----
;
break;}
case 188:
! #line 1099 "parse.y"
{
/* Handle `Class>' without space in the `>>' */
pedwarn ("`>>' should be `> >' in template class name");
*************** case 188:
*** 5604,5626 ****
;
break;}
case 189:
! #line 1104 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 191:
! #line 1110 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
case 192:
! #line 1112 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 193:
! #line 1117 "parse.y"
{ yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
break;}
case 194:
! #line 1119 "parse.y"
{
yyval.ttype = lastiddecl;
if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype))
--- 5569,5591 ----
;
break;}
case 189:
! #line 1108 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 191:
! #line 1114 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
case 192:
! #line 1116 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 193:
! #line 1121 "parse.y"
{ yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
break;}
case 194:
! #line 1123 "parse.y"
{
yyval.ttype = lastiddecl;
if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype))
*************** case 194:
*** 5628,5634 ****
;
break;}
case 195:
! #line 1125 "parse.y"
{
yyval.ttype = lastiddecl;
if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype))
--- 5593,5599 ----
;
break;}
case 195:
! #line 1129 "parse.y"
{
yyval.ttype = lastiddecl;
if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype))
*************** case 195:
*** 5636,5642 ****
;
break;}
case 197:
! #line 1132 "parse.y"
{
if (!processing_template_decl)
{
--- 5601,5607 ----
;
break;}
case 197:
! #line 1136 "parse.y"
{
if (!processing_template_decl)
{
*************** case 197:
*** 5648,5706 ****
;
break;}
case 198:
! #line 1145 "parse.y"
{ yyval.code = NEGATE_EXPR; ;
break;}
case 199:
! #line 1147 "parse.y"
{ yyval.code = CONVERT_EXPR; ;
break;}
case 200:
! #line 1149 "parse.y"
{ yyval.code = PREINCREMENT_EXPR; ;
break;}
case 201:
! #line 1151 "parse.y"
{ yyval.code = PREDECREMENT_EXPR; ;
break;}
case 202:
! #line 1153 "parse.y"
{ yyval.code = TRUTH_NOT_EXPR; ;
break;}
case 203:
! #line 1158 "parse.y"
{ yyval.ttype = build_x_compound_expr (yyval.ttype); ;
break;}
case 205:
! #line 1164 "parse.y"
{ error ("ISO C++ forbids an empty condition for `%s'",
cond_stmt_keyword);
yyval.ttype = integer_zero_node; ;
break;}
case 206:
! #line 1168 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 207:
! #line 1173 "parse.y"
{ error ("ISO C++ forbids an empty condition for `%s'",
cond_stmt_keyword);
yyval.ttype = integer_zero_node; ;
break;}
case 208:
! #line 1177 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 209:
! #line 1182 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 211:
! #line 1185 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 212:
! #line 1190 "parse.y"
{ {
tree d;
for (d = getdecls (); d; d = TREE_CHAIN (d))
--- 5613,5671 ----
;
break;}
case 198:
! #line 1149 "parse.y"
{ yyval.code = NEGATE_EXPR; ;
break;}
case 199:
! #line 1151 "parse.y"
{ yyval.code = CONVERT_EXPR; ;
break;}
case 200:
! #line 1153 "parse.y"
{ yyval.code = PREINCREMENT_EXPR; ;
break;}
case 201:
! #line 1155 "parse.y"
{ yyval.code = PREDECREMENT_EXPR; ;
break;}
case 202:
! #line 1157 "parse.y"
{ yyval.code = TRUTH_NOT_EXPR; ;
break;}
case 203:
! #line 1162 "parse.y"
{ yyval.ttype = build_x_compound_expr (yyval.ttype); ;
break;}
case 205:
! #line 1168 "parse.y"
{ error ("ISO C++ forbids an empty condition for `%s'",
cond_stmt_keyword);
yyval.ttype = integer_zero_node; ;
break;}
case 206:
! #line 1172 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 207:
! #line 1177 "parse.y"
{ error ("ISO C++ forbids an empty condition for `%s'",
cond_stmt_keyword);
yyval.ttype = integer_zero_node; ;
break;}
case 208:
! #line 1181 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 209:
! #line 1186 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 211:
! #line 1189 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 212:
! #line 1194 "parse.y"
{ {
tree d;
for (d = getdecls (); d; d = TREE_CHAIN (d))
*************** case 212:
*** 5717,5723 ****
;
break;}
case 213:
! #line 1205 "parse.y"
{
parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
--- 5682,5688 ----
;
break;}
case 213:
! #line 1209 "parse.y"
{
parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
*************** case 213:
*** 5726,5890 ****
;
break;}
case 219:
! #line 1223 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 220:
! #line 1226 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
build_tree_list (NULL_TREE, error_mark_node)); ;
break;}
case 221:
! #line 1229 "parse.y"
{ chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 222:
! #line 1231 "parse.y"
{ chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
break;}
case 223:
! #line 1236 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
case 225:
! #line 1242 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 226:
! #line 1245 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
case 227:
! #line 1248 "parse.y"
{ yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
break;}
case 228:
! #line 1250 "parse.y"
{ yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
break;}
case 229:
! #line 1252 "parse.y"
{ yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
break;}
case 230:
! #line 1254 "parse.y"
{ yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
break;}
case 231:
! #line 1257 "parse.y"
{ yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
break;}
case 232:
! #line 1259 "parse.y"
! { yyval.ttype = finish_sizeof (yyvsp[0].ttype); ;
break;}
case 233:
! #line 1261 "parse.y"
{ yyval.ttype = finish_sizeof (groktypename (yyvsp[-1].ftype.t));
! check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
break;}
case 234:
! #line 1264 "parse.y"
! { yyval.ttype = finish_alignof (yyvsp[0].ttype); ;
break;}
case 235:
! #line 1266 "parse.y"
{ yyval.ttype = finish_alignof (groktypename (yyvsp[-1].ftype.t));
! check_for_new_type ("alignof", yyvsp[-1].ftype); ;
break;}
case 236:
! #line 1272 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
check_for_new_type ("new", yyvsp[0].ftype); ;
break;}
case 237:
! #line 1275 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 238:
! #line 1278 "parse.y"
{ yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
check_for_new_type ("new", yyvsp[0].ftype); ;
break;}
case 239:
! #line 1281 "parse.y"
{ yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 240:
! #line 1285 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
NULL_TREE, yyvsp[-3].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 241:
! #line 1289 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
check_for_new_type ("new", yyvsp[-2].ftype); ;
break;}
case 242:
! #line 1292 "parse.y"
{ yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 243:
! #line 1295 "parse.y"
{ yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
check_for_new_type ("new", yyvsp[-2].ftype); ;
break;}
case 244:
! #line 1299 "parse.y"
{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
break;}
case 245:
! #line 1301 "parse.y"
{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
if (yychar == YYEMPTY)
yychar = YYLEX; ;
break;}
case 246:
! #line 1305 "parse.y"
{ yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
if (yychar == YYEMPTY)
yychar = YYLEX; ;
break;}
case 247:
! #line 1309 "parse.y"
{ yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
break;}
case 248:
! #line 1311 "parse.y"
{ yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
break;}
case 249:
! #line 1316 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 250:
! #line 1318 "parse.y"
{ pedwarn ("old style placement syntax, use () instead");
yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 251:
! #line 1324 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 252:
! #line 1326 "parse.y"
{ yyval.ttype = void_zero_node; ;
break;}
case 253:
! #line 1328 "parse.y"
{
error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
yyval.ttype = error_mark_node;
;
break;}
case 254:
! #line 1338 "parse.y"
{
if (pedantic)
pedwarn ("ISO C++ forbids initialization of new expression with `='");
--- 5691,5859 ----
;
break;}
case 219:
! #line 1227 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 220:
! #line 1230 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
build_tree_list (NULL_TREE, error_mark_node)); ;
break;}
case 221:
! #line 1233 "parse.y"
{ chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 222:
! #line 1235 "parse.y"
{ chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
break;}
case 223:
! #line 1240 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
case 225:
! #line 1246 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 226:
! #line 1249 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
case 227:
! #line 1252 "parse.y"
{ yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
break;}
case 228:
! #line 1254 "parse.y"
{ yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
break;}
case 229:
! #line 1256 "parse.y"
{ yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
break;}
case 230:
! #line 1258 "parse.y"
{ yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
break;}
case 231:
! #line 1261 "parse.y"
{ yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
break;}
case 232:
! #line 1263 "parse.y"
! { yyval.ttype = finish_sizeof (yyvsp[0].ttype);
! skip_evaluation--; ;
break;}
case 233:
! #line 1266 "parse.y"
{ yyval.ttype = finish_sizeof (groktypename (yyvsp[-1].ftype.t));
! check_for_new_type ("sizeof", yyvsp[-1].ftype);
! skip_evaluation--; ;
break;}
case 234:
! #line 1270 "parse.y"
! { yyval.ttype = finish_alignof (yyvsp[0].ttype);
! skip_evaluation--; ;
break;}
case 235:
! #line 1273 "parse.y"
{ yyval.ttype = finish_alignof (groktypename (yyvsp[-1].ftype.t));
! check_for_new_type ("alignof", yyvsp[-1].ftype);
! skip_evaluation--; ;
break;}
case 236:
! #line 1280 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
check_for_new_type ("new", yyvsp[0].ftype); ;
break;}
case 237:
! #line 1283 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 238:
! #line 1286 "parse.y"
{ yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
check_for_new_type ("new", yyvsp[0].ftype); ;
break;}
case 239:
! #line 1289 "parse.y"
{ yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 240:
! #line 1293 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
NULL_TREE, yyvsp[-3].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 241:
! #line 1297 "parse.y"
{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
check_for_new_type ("new", yyvsp[-2].ftype); ;
break;}
case 242:
! #line 1300 "parse.y"
{ yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
check_for_new_type ("new", yyvsp[-1].ftype); ;
break;}
case 243:
! #line 1303 "parse.y"
{ yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
check_for_new_type ("new", yyvsp[-2].ftype); ;
break;}
case 244:
! #line 1307 "parse.y"
{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
break;}
case 245:
! #line 1309 "parse.y"
{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
if (yychar == YYEMPTY)
yychar = YYLEX; ;
break;}
case 246:
! #line 1313 "parse.y"
{ yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
if (yychar == YYEMPTY)
yychar = YYLEX; ;
break;}
case 247:
! #line 1317 "parse.y"
{ yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
break;}
case 248:
! #line 1319 "parse.y"
{ yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
break;}
case 249:
! #line 1324 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 250:
! #line 1326 "parse.y"
{ pedwarn ("old style placement syntax, use () instead");
yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 251:
! #line 1332 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 252:
! #line 1334 "parse.y"
{ yyval.ttype = void_zero_node; ;
break;}
case 253:
! #line 1336 "parse.y"
{
error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
yyval.ttype = error_mark_node;
;
break;}
case 254:
! #line 1346 "parse.y"
{
if (pedantic)
pedwarn ("ISO C++ forbids initialization of new expression with `='");
*************** case 254:
*** 5897,5919 ****
;
break;}
case 255:
! #line 1353 "parse.y"
{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
check_for_new_type ("cast", yyvsp[-1].ftype); ;
break;}
case 256:
! #line 1357 "parse.y"
{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
check_for_new_type ("cast", yyvsp[-1].ftype); ;
break;}
case 258:
! #line 1365 "parse.y"
{ yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 259:
! #line 1367 "parse.y"
{
tree init = build_nt (CONSTRUCTOR, NULL_TREE,
nreverse (yyvsp[-2].ttype));
--- 5866,5888 ----
;
break;}
case 255:
! #line 1361 "parse.y"
{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
check_for_new_type ("cast", yyvsp[-1].ftype); ;
break;}
case 256:
! #line 1365 "parse.y"
{ yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
check_for_new_type ("cast", yyvsp[-1].ftype); ;
break;}
case 258:
! #line 1373 "parse.y"
{ yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 259:
! #line 1375 "parse.y"
{
tree init = build_nt (CONSTRUCTOR, NULL_TREE,
nreverse (yyvsp[-2].ttype));
*************** case 259:
*** 5926,6165 ****
;
break;}
case 261:
! #line 1383 "parse.y"
{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 262:
! #line 1385 "parse.y"
{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 263:
! #line 1387 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 264:
! #line 1389 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 265:
! #line 1391 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 266:
! #line 1393 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 267:
! #line 1395 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 268:
! #line 1397 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 269:
! #line 1399 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 270:
! #line 1401 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 271:
! #line 1403 "parse.y"
{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 272:
! #line 1405 "parse.y"
{ yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 273:
! #line 1407 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 274:
! #line 1409 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 275:
! #line 1411 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 276:
! #line 1413 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 277:
! #line 1415 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 278:
! #line 1417 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 279:
! #line 1419 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 280:
! #line 1421 "parse.y"
{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 281:
! #line 1423 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
if (yyval.ttype != error_mark_node)
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
break;}
case 282:
! #line 1427 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
break;}
case 283:
! #line 1429 "parse.y"
{ yyval.ttype = build_throw (NULL_TREE); ;
break;}
case 284:
! #line 1431 "parse.y"
{ yyval.ttype = build_throw (yyvsp[0].ttype); ;
break;}
case 286:
! #line 1438 "parse.y"
{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 287:
! #line 1440 "parse.y"
{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 288:
! #line 1442 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 289:
! #line 1444 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 290:
! #line 1446 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 291:
! #line 1448 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 292:
! #line 1450 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 293:
! #line 1452 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 294:
! #line 1454 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 295:
! #line 1456 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 296:
! #line 1458 "parse.y"
{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 297:
! #line 1460 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 298:
! #line 1462 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 299:
! #line 1464 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 300:
! #line 1466 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 301:
! #line 1468 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 302:
! #line 1470 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 303:
! #line 1472 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 304:
! #line 1474 "parse.y"
{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 305:
! #line 1476 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
if (yyval.ttype != error_mark_node)
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
break;}
case 306:
! #line 1480 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
break;}
case 307:
! #line 1482 "parse.y"
{ yyval.ttype = build_throw (NULL_TREE); ;
break;}
case 308:
! #line 1484 "parse.y"
{ yyval.ttype = build_throw (yyvsp[0].ttype); ;
break;}
case 309:
! #line 1489 "parse.y"
{ yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ;
break;}
case 310:
! #line 1491 "parse.y"
{ yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ;
break;}
case 316:
! #line 1500 "parse.y"
{
/* If lastiddecl is a TREE_LIST, it's a baselink, which
means that we're in an expression like S::f, so
don't do_identifier; we only do that for unqualified
identifiers. */
if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST)
! yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
else
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 317:
! #line 1514 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 318:
! #line 1516 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 319:
! #line 1521 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 320:
! #line 1523 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 321:
! #line 1526 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 326:
! #line 1538 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
--- 5895,6134 ----
;
break;}
case 261:
! #line 1391 "parse.y"
{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 262:
! #line 1393 "parse.y"
{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 263:
! #line 1395 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 264:
! #line 1397 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 265:
! #line 1399 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 266:
! #line 1401 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 267:
! #line 1403 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 268:
! #line 1405 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 269:
! #line 1407 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 270:
! #line 1409 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 271:
! #line 1411 "parse.y"
{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 272:
! #line 1413 "parse.y"
{ yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 273:
! #line 1415 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 274:
! #line 1417 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 275:
! #line 1419 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 276:
! #line 1421 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 277:
! #line 1423 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 278:
! #line 1425 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 279:
! #line 1427 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 280:
! #line 1429 "parse.y"
{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 281:
! #line 1431 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
if (yyval.ttype != error_mark_node)
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
break;}
case 282:
! #line 1435 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
break;}
case 283:
! #line 1437 "parse.y"
{ yyval.ttype = build_throw (NULL_TREE); ;
break;}
case 284:
! #line 1439 "parse.y"
{ yyval.ttype = build_throw (yyvsp[0].ttype); ;
break;}
case 286:
! #line 1446 "parse.y"
{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 287:
! #line 1448 "parse.y"
{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 288:
! #line 1450 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 289:
! #line 1452 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 290:
! #line 1454 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 291:
! #line 1456 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 292:
! #line 1458 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 293:
! #line 1460 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 294:
! #line 1462 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 295:
! #line 1464 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 296:
! #line 1466 "parse.y"
{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 297:
! #line 1468 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 298:
! #line 1470 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 299:
! #line 1472 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 300:
! #line 1474 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 301:
! #line 1476 "parse.y"
{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 302:
! #line 1478 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 303:
! #line 1480 "parse.y"
{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
break;}
case 304:
! #line 1482 "parse.y"
{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 305:
! #line 1484 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
if (yyval.ttype != error_mark_node)
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
break;}
case 306:
! #line 1488 "parse.y"
{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
break;}
case 307:
! #line 1490 "parse.y"
{ yyval.ttype = build_throw (NULL_TREE); ;
break;}
case 308:
! #line 1492 "parse.y"
{ yyval.ttype = build_throw (yyvsp[0].ttype); ;
break;}
case 309:
! #line 1497 "parse.y"
{ yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ;
break;}
case 310:
! #line 1499 "parse.y"
{ yyval.ttype = build_nt (BIT_NOT_EXPR, yyvsp[0].ttype); ;
break;}
case 316:
! #line 1508 "parse.y"
{
/* If lastiddecl is a TREE_LIST, it's a baselink, which
means that we're in an expression like S::f, so
don't do_identifier; we only do that for unqualified
identifiers. */
if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST)
! yyval.ttype = do_identifier (yyvsp[-1].ttype, 3, NULL_TREE);
else
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 317:
! #line 1522 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 318:
! #line 1524 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 319:
! #line 1529 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 320:
! #line 1531 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 321:
! #line 1534 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 326:
! #line 1546 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
*************** case 326:
*** 6167,6197 ****
;
break;}
case 328:
! #line 1548 "parse.y"
{ yyval.ttype = build_nt (INDIRECT_REF, yyvsp[0].ttype); ;
break;}
case 329:
! #line 1550 "parse.y"
{ yyval.ttype = build_nt (ADDR_EXPR, yyvsp[0].ttype); ;
break;}
case 330:
! #line 1552 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 331:
! #line 1557 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 332:
! #line 1559 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 336:
! #line 1569 "parse.y"
{ yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
break;}
case 337:
! #line 1574 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
--- 6136,6166 ----
;
break;}
case 328:
! #line 1556 "parse.y"
{ yyval.ttype = build_nt (INDIRECT_REF, yyvsp[0].ttype); ;
break;}
case 329:
! #line 1558 "parse.y"
{ yyval.ttype = build_nt (ADDR_EXPR, yyvsp[0].ttype); ;
break;}
case 330:
! #line 1560 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 331:
! #line 1565 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 332:
! #line 1567 "parse.y"
{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 336:
! #line 1577 "parse.y"
{ yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
break;}
case 337:
! #line 1582 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
*************** case 337:
*** 6200,6206 ****
;
break;}
case 340:
! #line 1583 "parse.y"
{
yyval.ttype = combine_strings (yyval.ttype);
/* combine_strings doesn't set up TYPE_MAIN_VARIANT of
--- 6169,6175 ----
;
break;}
case 340:
! #line 1591 "parse.y"
{
yyval.ttype = combine_strings (yyval.ttype);
/* combine_strings doesn't set up TYPE_MAIN_VARIANT of
*************** case 340:
*** 6212,6218 ****
;
break;}
case 341:
! #line 1593 "parse.y"
{
yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype);
if (processing_template_decl)
--- 6181,6187 ----
;
break;}
case 341:
! #line 1601 "parse.y"
{
yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype);
if (processing_template_decl)
*************** case 341:
*** 6220,6239 ****
;
break;}
case 342:
! #line 1599 "parse.y"
{ yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
break;}
case 343:
! #line 1601 "parse.y"
{ yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
break;}
case 344:
! #line 1604 "parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 345:
! #line 1606 "parse.y"
{ tree scope = current_scope ();
if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
{
--- 6189,6208 ----
;
break;}
case 342:
! #line 1607 "parse.y"
{ yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
break;}
case 343:
! #line 1609 "parse.y"
{ yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
break;}
case 344:
! #line 1612 "parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 345:
! #line 1614 "parse.y"
{ tree scope = current_scope ();
if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
{
*************** case 345:
*** 6246,6293 ****
;
break;}
case 346:
! #line 1617 "parse.y"
{ yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ;
break;}
case 347:
! #line 1622 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
break;}
case 348:
! #line 1624 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
break;}
case 349:
! #line 1626 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
break;}
case 350:
! #line 1628 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
break;}
case 351:
! #line 1630 "parse.y"
{ yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t));
check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ;
break;}
case 352:
! #line 1633 "parse.y"
{ yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 353:
! #line 1635 "parse.y"
{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
break;}
case 354:
! #line 1637 "parse.y"
{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
break;}
case 355:
! #line 1640 "parse.y"
{ yyval.ttype = finish_this_expr (); ;
break;}
case 356:
! #line 1642 "parse.y"
{
/* This is a C cast in C++'s `functional' notation
using the "implicit int" extension so that:
--- 6215,6262 ----
;
break;}
case 346:
! #line 1625 "parse.y"
{ yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ;
break;}
case 347:
! #line 1630 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
break;}
case 348:
! #line 1632 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
break;}
case 349:
! #line 1634 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
break;}
case 350:
! #line 1636 "parse.y"
{ yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
break;}
case 351:
! #line 1638 "parse.y"
{ yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t));
check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ;
break;}
case 352:
! #line 1641 "parse.y"
{ yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 353:
! #line 1643 "parse.y"
{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
break;}
case 354:
! #line 1645 "parse.y"
{ yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
break;}
case 355:
! #line 1648 "parse.y"
{ yyval.ttype = finish_this_expr (); ;
break;}
case 356:
! #line 1650 "parse.y"
{
/* This is a C cast in C++'s `functional' notation
using the "implicit int" extension so that:
*************** case 356:
*** 6300,6348 ****
;
break;}
case 358:
! #line 1654 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
break;}
case 359:
! #line 1658 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("static_cast", yyvsp[-4].ftype);
yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
break;}
case 360:
! #line 1662 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
break;}
case 361:
! #line 1666 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("const_cast", yyvsp[-4].ftype);
yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
break;}
case 362:
! #line 1670 "parse.y"
{ yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
break;}
case 363:
! #line 1672 "parse.y"
{ tree type = groktypename (yyvsp[-1].ftype.t);
check_for_new_type ("typeid", yyvsp[-1].ftype);
yyval.ttype = get_typeid (type); ;
break;}
case 364:
! #line 1676 "parse.y"
{ yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
break;}
case 365:
! #line 1678 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 366:
! #line 1680 "parse.y"
{
got_scope = NULL_TREE;
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
--- 6269,6317 ----
;
break;}
case 358:
! #line 1662 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
break;}
case 359:
! #line 1666 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("static_cast", yyvsp[-4].ftype);
yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
break;}
case 360:
! #line 1670 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
break;}
case 361:
! #line 1674 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("const_cast", yyvsp[-4].ftype);
yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
break;}
case 362:
! #line 1678 "parse.y"
{ yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
break;}
case 363:
! #line 1680 "parse.y"
{ tree type = groktypename (yyvsp[-1].ftype.t);
check_for_new_type ("typeid", yyvsp[-1].ftype);
yyval.ttype = get_typeid (type); ;
break;}
case 364:
! #line 1684 "parse.y"
{ yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
break;}
case 365:
! #line 1686 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 366:
! #line 1688 "parse.y"
{
got_scope = NULL_TREE;
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
*************** case 366:
*** 6352,6614 ****
;
break;}
case 367:
! #line 1688 "parse.y"
{ yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
break;}
case 368:
! #line 1690 "parse.y"
{ yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 369:
! #line 1692 "parse.y"
{ yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
break;}
case 370:
! #line 1694 "parse.y"
{
yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
;
break;}
case 371:
! #line 1698 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 372:
! #line 1700 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 373:
! #line 1702 "parse.y"
{ yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
break;}
case 374:
! #line 1704 "parse.y"
{ if (processing_template_decl)
yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
else
yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
break;}
case 375:
! #line 1709 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 376:
! #line 1711 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 377:
! #line 1713 "parse.y"
{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 378:
! #line 1715 "parse.y"
{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 379:
! #line 1718 "parse.y"
{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 380:
! #line 1720 "parse.y"
{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 381:
! #line 1722 "parse.y"
{
yyval.ttype = error_mark_node;
;
break;}
case 382:
! #line 1767 "parse.y"
{ yyval.itype = 0; ;
break;}
case 383:
! #line 1769 "parse.y"
{ got_scope = NULL_TREE; yyval.itype = 1; ;
break;}
case 384:
! #line 1774 "parse.y"
{ yyval.itype = 0; ;
break;}
case 385:
! #line 1776 "parse.y"
{ got_scope = NULL_TREE; yyval.itype = 1; ;
break;}
case 386:
! #line 1781 "parse.y"
{ yyval.ttype = boolean_true_node; ;
break;}
case 387:
! #line 1783 "parse.y"
{ yyval.ttype = boolean_false_node; ;
break;}
case 389:
! #line 1790 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 390:
! #line 1795 "parse.y"
{
if (DECL_CONSTRUCTOR_P (current_function_decl))
finish_mem_initializers (NULL_TREE);
;
break;}
case 391:
! #line 1803 "parse.y"
{ got_object = TREE_TYPE (yyval.ttype); ;
break;}
case 392:
! #line 1805 "parse.y"
{
yyval.ttype = build_x_arrow (yyval.ttype);
got_object = TREE_TYPE (yyval.ttype);
;
break;}
case 393:
! #line 1813 "parse.y"
{
if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
note_got_semicolon (yyvsp[-2].ftype.t);
;
break;}
case 394:
! #line 1818 "parse.y"
{
note_list_got_semicolon (yyvsp[-2].ftype.t);
;
break;}
case 395:
! #line 1822 "parse.y"
{;
break;}
case 396:
! #line 1824 "parse.y"
{
shadow_tag (yyvsp[-1].ftype.t);
note_list_got_semicolon (yyvsp[-1].ftype.t);
;
break;}
case 397:
! #line 1829 "parse.y"
{ warning ("empty declaration"); ;
break;}
case 398:
! #line 1831 "parse.y"
{ pedantic = yyvsp[-1].itype; ;
break;}
case 401:
! #line 1845 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
NULL_TREE, NULL_TREE); ;
break;}
case 402:
! #line 1848 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
NULL_TREE); ;
break;}
case 403:
! #line 1855 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 404:
! #line 1858 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 405:
! #line 1861 "parse.y"
{ yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t),
yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 406:
! #line 1865 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 407:
! #line 1868 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 408:
! #line 1879 "parse.y"
{ yyval.ftype.lookups = type_lookups; ;
break;}
case 409:
! #line 1881 "parse.y"
{ yyval.ftype.lookups = type_lookups; ;
break;}
case 410:
! #line 1886 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 411:
! #line 1889 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 412:
! #line 1892 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
break;}
case 413:
! #line 1895 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 414:
! #line 1898 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 415:
! #line 1901 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t)));
yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
break;}
case 416:
! #line 1908 "parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyval.ttype));
yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
case 417:
! #line 1913 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
break;}
case 418:
! #line 1915 "parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 419:
! #line 1937 "parse.y"
{ yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ;
break;}
case 420:
! #line 1939 "parse.y"
{
yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
;
break;}
case 421:
! #line 1944 "parse.y"
{
yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
TREE_STATIC (yyval.ftype.t) = 1;
;
break;}
case 422:
! #line 1949 "parse.y"
{
if (extra_warnings && TREE_STATIC (yyval.ftype.t))
warning ("`%s' is not at beginning of declaration",
--- 6321,6583 ----
;
break;}
case 367:
! #line 1696 "parse.y"
{ yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
break;}
case 368:
! #line 1698 "parse.y"
{ yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 369:
! #line 1700 "parse.y"
{ yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
break;}
case 370:
! #line 1702 "parse.y"
{
yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
;
break;}
case 371:
! #line 1706 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 372:
! #line 1708 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 373:
! #line 1710 "parse.y"
{ yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
break;}
case 374:
! #line 1712 "parse.y"
{ if (processing_template_decl)
yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
else
yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
break;}
case 375:
! #line 1717 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 376:
! #line 1719 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 377:
! #line 1721 "parse.y"
{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 378:
! #line 1723 "parse.y"
{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 379:
! #line 1726 "parse.y"
{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 380:
! #line 1728 "parse.y"
{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 381:
! #line 1730 "parse.y"
{
yyval.ttype = error_mark_node;
;
break;}
case 382:
! #line 1775 "parse.y"
{ yyval.itype = 0; ;
break;}
case 383:
! #line 1777 "parse.y"
{ got_scope = NULL_TREE; yyval.itype = 1; ;
break;}
case 384:
! #line 1782 "parse.y"
{ yyval.itype = 0; ;
break;}
case 385:
! #line 1784 "parse.y"
{ got_scope = NULL_TREE; yyval.itype = 1; ;
break;}
case 386:
! #line 1789 "parse.y"
{ yyval.ttype = boolean_true_node; ;
break;}
case 387:
! #line 1791 "parse.y"
{ yyval.ttype = boolean_false_node; ;
break;}
case 389:
! #line 1798 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 390:
! #line 1803 "parse.y"
{
if (DECL_CONSTRUCTOR_P (current_function_decl))
finish_mem_initializers (NULL_TREE);
;
break;}
case 391:
! #line 1811 "parse.y"
{ got_object = TREE_TYPE (yyval.ttype); ;
break;}
case 392:
! #line 1813 "parse.y"
{
yyval.ttype = build_x_arrow (yyval.ttype);
got_object = TREE_TYPE (yyval.ttype);
;
break;}
case 393:
! #line 1821 "parse.y"
{
if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
note_got_semicolon (yyvsp[-2].ftype.t);
;
break;}
case 394:
! #line 1826 "parse.y"
{
note_list_got_semicolon (yyvsp[-2].ftype.t);
;
break;}
case 395:
! #line 1830 "parse.y"
{;
break;}
case 396:
! #line 1832 "parse.y"
{
shadow_tag (yyvsp[-1].ftype.t);
note_list_got_semicolon (yyvsp[-1].ftype.t);
;
break;}
case 397:
! #line 1837 "parse.y"
{ warning ("empty declaration"); ;
break;}
case 398:
! #line 1839 "parse.y"
{ pedantic = yyvsp[-1].itype; ;
break;}
case 401:
! #line 1853 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
NULL_TREE, NULL_TREE); ;
break;}
case 402:
! #line 1856 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
NULL_TREE); ;
break;}
case 403:
! #line 1863 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 404:
! #line 1866 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 405:
! #line 1869 "parse.y"
{ yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t),
yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 406:
! #line 1873 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 407:
! #line 1876 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 408:
! #line 1887 "parse.y"
{ yyval.ftype.lookups = type_lookups; ;
break;}
case 409:
! #line 1889 "parse.y"
{ yyval.ftype.lookups = type_lookups; ;
break;}
case 410:
! #line 1894 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 411:
! #line 1897 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 412:
! #line 1900 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
break;}
case 413:
! #line 1903 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 414:
! #line 1906 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 415:
! #line 1909 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t)));
yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
break;}
case 416:
! #line 1916 "parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyval.ttype));
yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
case 417:
! #line 1921 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
break;}
case 418:
! #line 1923 "parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 419:
! #line 1945 "parse.y"
{ yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ;
break;}
case 420:
! #line 1947 "parse.y"
{
yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
;
break;}
case 421:
! #line 1952 "parse.y"
{
yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
TREE_STATIC (yyval.ftype.t) = 1;
;
break;}
case 422:
! #line 1957 "parse.y"
{
if (extra_warnings && TREE_STATIC (yyval.ftype.t))
warning ("`%s' is not at beginning of declaration",
*************** case 422:
*** 6618,6686 ****
;
break;}
case 423:
! #line 1957 "parse.y"
{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ;
break;}
case 424:
! #line 1968 "parse.y"
{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 425:
! #line 1971 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 426:
! #line 1974 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 427:
! #line 1977 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 428:
! #line 1983 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
break;}
case 429:
! #line 1985 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
break;}
case 430:
! #line 1987 "parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 431:
! #line 1989 "parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 432:
! #line 1998 "parse.y"
! { yyval.ftype.lookups = NULL_TREE; ;
break;}
case 433:
! #line 2000 "parse.y"
! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
break;}
case 434:
! #line 2002 "parse.y"
! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
break;}
case 435:
! #line 2004 "parse.y"
! { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
break;}
case 436:
! #line 2007 "parse.y"
! { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
break;}
case 437:
! #line 2010 "parse.y"
{ tree type = TREE_TYPE (yyvsp[-1].ttype);
yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
--- 6587,6669 ----
;
break;}
case 423:
! #line 1965 "parse.y"
{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ;
break;}
case 424:
! #line 1976 "parse.y"
{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 425:
! #line 1979 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 426:
! #line 1982 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 427:
! #line 1985 "parse.y"
{ yyval.ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 428:
! #line 1991 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
break;}
case 429:
! #line 1993 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
break;}
case 430:
! #line 1995 "parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 431:
! #line 1997 "parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 432:
! #line 2001 "parse.y"
! { skip_evaluation++; ;
break;}
case 433:
! #line 2005 "parse.y"
! { skip_evaluation++; ;
break;}
case 434:
! #line 2009 "parse.y"
! { skip_evaluation++; ;
break;}
case 435:
! #line 2018 "parse.y"
! { yyval.ftype.lookups = NULL_TREE; ;
break;}
case 436:
! #line 2020 "parse.y"
! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
break;}
case 437:
! #line 2022 "parse.y"
! { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
! break;}
! case 438:
! #line 2024 "parse.y"
! { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
! skip_evaluation--; ;
! break;}
! case 439:
! #line 2028 "parse.y"
! { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
! yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
! skip_evaluation--; ;
! break;}
! case 440:
! #line 2032 "parse.y"
{ tree type = TREE_TYPE (yyvsp[-1].ttype);
yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
*************** case 437:
*** 6696,6703 ****
}
;
break;}
! case 438:
! #line 2025 "parse.y"
{ tree type = groktypename (yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
--- 6679,6686 ----
}
;
break;}
! case 441:
! #line 2047 "parse.y"
{ tree type = groktypename (yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
*************** case 438:
*** 6713,6985 ****
}
;
break;}
! case 439:
! #line 2045 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
! case 440:
! #line 2047 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
! case 443:
! #line 2054 "parse.y"
{ check_multiple_declarators (); ;
break;}
! case 445:
! #line 2060 "parse.y"
{ check_multiple_declarators (); ;
break;}
! case 447:
! #line 2066 "parse.y"
{ check_multiple_declarators (); ;
break;}
! case 448:
! #line 2071 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 449:
! #line 2073 "parse.y"
{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 450:
! #line 2078 "parse.y"
{ yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
break;}
! case 451:
! #line 2081 "parse.y"
{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 452:
! #line 2083 "parse.y"
{
yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0);
parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype);
;
break;}
! case 453:
! #line 2097 "parse.y"
{ yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t,
yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ;
break;}
! case 454:
! #line 2102 "parse.y"
{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 455:
! #line 2104 "parse.y"
{ tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t,
yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0);
parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 456:
! #line 2111 "parse.y"
{;
break;}
! case 457:
! #line 2116 "parse.y"
{;
break;}
! case 458:
! #line 2121 "parse.y"
{ /* Set things up as initdcl0_innards expects. */
yyval.ttype = yyvsp[0].ttype;
yyvsp[0].ttype = yyvsp[-1].ttype;
yyvsp[-1].ftype.t = NULL_TREE;
yyvsp[-1].ftype.lookups = NULL_TREE; ;
break;}
! case 459:
! #line 2127 "parse.y"
{;
break;}
! case 460:
! #line 2129 "parse.y"
{ tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0);
parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 461:
! #line 2137 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 462:
! #line 2139 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 463:
! #line 2144 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 464:
! #line 2146 "parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 465:
! #line 2151 "parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ;
break;}
! case 466:
! #line 2156 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 467:
! #line 2158 "parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 468:
! #line 2163 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 469:
! #line 2165 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
! case 470:
! #line 2167 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
! case 471:
! #line 2169 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;}
! case 472:
! #line 2171 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 477:
! #line 2187 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 478:
! #line 2189 "parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
! case 479:
! #line 2194 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 480:
! #line 2196 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 482:
! #line 2205 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
! case 483:
! #line 2208 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
! case 484:
! #line 2211 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
! case 485:
! #line 2214 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 486:
! #line 2221 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
! case 487:
! #line 2223 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
! case 488:
! #line 2226 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 489:
! #line 2228 "parse.y"
{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 490:
! #line 2230 "parse.y"
{ yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
break;}
! case 491:
! #line 2235 "parse.y"
{
expand_body (finish_function (2));
process_next_inline (yyvsp[-2].pi);
;
break;}
! case 492:
! #line 2240 "parse.y"
{
expand_body (finish_function (2));
process_next_inline (yyvsp[-2].pi);
;
break;}
! case 493:
! #line 2245 "parse.y"
{
finish_function (2);
process_next_inline (yyvsp[-2].pi); ;
break;}
! case 496:
! #line 2259 "parse.y"
{ replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 497:
! #line 2261 "parse.y"
{ replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
break;}
! case 499:
! #line 2267 "parse.y"
{ do_pending_defargs (); ;
break;}
! case 500:
! #line 2269 "parse.y"
{ do_pending_defargs (); ;
break;}
! case 501:
! #line 2274 "parse.y"
{ yyval.ttype = current_enum_type;
current_enum_type = start_enum (yyvsp[-1].ttype); ;
break;}
! case 502:
! #line 2277 "parse.y"
{ yyval.ftype.t = current_enum_type;
finish_enum (current_enum_type);
yyval.ftype.new_type_flag = 1;
current_enum_type = yyvsp[-2].ttype;
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
! case 503:
! #line 2283 "parse.y"
{ yyval.ttype = current_enum_type;
current_enum_type = start_enum (make_anon_name ()); ;
break;}
! case 504:
! #line 2286 "parse.y"
{ yyval.ftype.t = current_enum_type;
finish_enum (current_enum_type);
yyval.ftype.new_type_flag = 1;
current_enum_type = yyvsp[-2].ttype;
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
! case 505:
! #line 2292 "parse.y"
{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 506:
! #line 2295 "parse.y"
{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 507:
! #line 2298 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype;
yyval.ftype.new_type_flag = 0;
if (!processing_template_decl)
pedwarn ("using `typename' outside of template"); ;
break;}
! case 508:
! #line 2304 "parse.y"
{
if (yyvsp[-1].ttype && yyvsp[-2].ftype.t != error_mark_node)
{
--- 6696,6968 ----
}
;
break;}
! case 442:
! #line 2067 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
! case 443:
! #line 2069 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
! case 446:
! #line 2076 "parse.y"
{ check_multiple_declarators (); ;
break;}
! case 448:
! #line 2082 "parse.y"
{ check_multiple_declarators (); ;
break;}
! case 450:
! #line 2088 "parse.y"
{ check_multiple_declarators (); ;
break;}
! case 451:
! #line 2093 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 452:
! #line 2095 "parse.y"
{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 453:
! #line 2100 "parse.y"
{ yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
break;}
! case 454:
! #line 2103 "parse.y"
{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 455:
! #line 2105 "parse.y"
{
yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0);
parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype);
;
break;}
! case 456:
! #line 2119 "parse.y"
{ yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t,
yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ;
break;}
! case 457:
! #line 2124 "parse.y"
{ parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
! case 458:
! #line 2126 "parse.y"
{ tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t,
yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0);
parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 459:
! #line 2133 "parse.y"
{;
break;}
! case 460:
! #line 2138 "parse.y"
{;
break;}
! case 461:
! #line 2143 "parse.y"
{ /* Set things up as initdcl0_innards expects. */
yyval.ttype = yyvsp[0].ttype;
yyvsp[0].ttype = yyvsp[-1].ttype;
yyvsp[-1].ftype.t = NULL_TREE;
yyvsp[-1].ftype.lookups = NULL_TREE; ;
break;}
! case 462:
! #line 2149 "parse.y"
{;
break;}
! case 463:
! #line 2151 "parse.y"
{ tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0);
parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 464:
! #line 2159 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 465:
! #line 2161 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 466:
! #line 2166 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 467:
! #line 2168 "parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 468:
! #line 2173 "parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ;
break;}
! case 469:
! #line 2178 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 470:
! #line 2180 "parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 471:
! #line 2185 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 472:
! #line 2187 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
! case 473:
! #line 2189 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
! case 474:
! #line 2191 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;}
! case 475:
! #line 2193 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 480:
! #line 2209 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 481:
! #line 2211 "parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
! case 482:
! #line 2216 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 483:
! #line 2218 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 485:
! #line 2227 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
! case 486:
! #line 2230 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
! case 487:
! #line 2233 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
! case 488:
! #line 2236 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 489:
! #line 2243 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
! case 490:
! #line 2245 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
! case 491:
! #line 2248 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 492:
! #line 2250 "parse.y"
{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 493:
! #line 2252 "parse.y"
{ yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
break;}
! case 494:
! #line 2257 "parse.y"
{
expand_body (finish_function (2));
process_next_inline (yyvsp[-2].pi);
;
break;}
! case 495:
! #line 2262 "parse.y"
{
expand_body (finish_function (2));
process_next_inline (yyvsp[-2].pi);
;
break;}
! case 496:
! #line 2267 "parse.y"
{
finish_function (2);
process_next_inline (yyvsp[-2].pi); ;
break;}
! case 499:
! #line 2281 "parse.y"
{ replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 500:
! #line 2283 "parse.y"
{ replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
break;}
! case 502:
! #line 2289 "parse.y"
{ do_pending_defargs (); ;
break;}
! case 503:
! #line 2291 "parse.y"
{ do_pending_defargs (); ;
break;}
! case 504:
! #line 2296 "parse.y"
{ yyval.ttype = current_enum_type;
current_enum_type = start_enum (yyvsp[-1].ttype); ;
break;}
! case 505:
! #line 2299 "parse.y"
{ yyval.ftype.t = current_enum_type;
finish_enum (current_enum_type);
yyval.ftype.new_type_flag = 1;
current_enum_type = yyvsp[-2].ttype;
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
! case 506:
! #line 2305 "parse.y"
{ yyval.ttype = current_enum_type;
current_enum_type = start_enum (make_anon_name ()); ;
break;}
! case 507:
! #line 2308 "parse.y"
{ yyval.ftype.t = current_enum_type;
finish_enum (current_enum_type);
yyval.ftype.new_type_flag = 1;
current_enum_type = yyvsp[-2].ttype;
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
! case 508:
! #line 2314 "parse.y"
{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 509:
! #line 2317 "parse.y"
{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 510:
! #line 2320 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype;
yyval.ftype.new_type_flag = 0;
if (!processing_template_decl)
pedwarn ("using `typename' outside of template"); ;
break;}
! case 511:
! #line 2326 "parse.y"
{
if (yyvsp[-1].ttype && yyvsp[-2].ftype.t != error_mark_node)
{
*************** case 508:
*** 6997,7004 ****
check_class_key (current_aggr, yyvsp[-2].ftype.t);
current_aggr = NULL_TREE; ;
break;}
! case 509:
! #line 2321 "parse.y"
{
int semi;
tree t;
--- 6980,6987 ----
check_class_key (current_aggr, yyvsp[-2].ftype.t);
current_aggr = NULL_TREE; ;
break;}
! case 512:
! #line 2343 "parse.y"
{
int semi;
tree t;
*************** case 509:
*** 7017,7144 ****
? class_type_node : record_type_node;
;
break;}
! case 510:
! #line 2339 "parse.y"
{
done_pending_defargs ();
begin_inline_definitions ();
;
break;}
! case 511:
! #line 2344 "parse.y"
{
finish_inline_definitions ();
yyval.ftype.t = yyvsp[-3].ttype;
yyval.ftype.new_type_flag = 1;
;
break;}
! case 512:
! #line 2350 "parse.y"
{
yyval.ftype.t = TREE_TYPE (yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag;
check_class_key (current_aggr, yyval.ftype.t);
;
break;}
! case 516:
! #line 2365 "parse.y"
{ if (pedantic && !in_system_header)
pedwarn ("comma at end of enumerator list"); ;
break;}
! case 518:
! #line 2372 "parse.y"
{ error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
! case 519:
! #line 2374 "parse.y"
{ error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
! case 520:
! #line 2376 "parse.y"
{ error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
! case 521:
! #line 2378 "parse.y"
{ error ("no body nor ';' separates two class, struct or union declarations"); ;
break;}
! case 522:
! #line 2380 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 523:
! #line 2385 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
;
break;}
! case 524:
! #line 2390 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
! case 525:
! #line 2395 "parse.y"
{
current_aggr = yyvsp[-3].ttype;
yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
! case 526:
! #line 2400 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = build_tree_list (global_namespace, yyvsp[0].ttype);
;
break;}
! case 527:
! #line 2408 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 528:
! #line 2413 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 529:
! #line 2418 "parse.y"
{
current_aggr = yyvsp[-3].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 530:
! #line 2426 "parse.y"
{
yyval.ftype.t = handle_class_head (current_aggr,
TREE_PURPOSE (yyvsp[0].ttype), TREE_VALUE (yyvsp[0].ttype),
0, &yyval.ftype.new_type_flag);
;
break;}
! case 531:
! #line 2432 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (current_aggr, yyvsp[0].ttype, 0));
yyval.ftype.new_type_flag = 1;
;
break;}
! case 532:
! #line 2438 "parse.y"
{
yyval.ftype.t = yyvsp[0].ttype;
yyval.ftype.new_type_flag = 0;
;
break;}
! case 533:
! #line 2446 "parse.y"
{
yyungetc ('{', 1);
yyval.ftype.t = handle_class_head (current_aggr,
--- 7000,7127 ----
? class_type_node : record_type_node;
;
break;}
! case 513:
! #line 2361 "parse.y"
{
done_pending_defargs ();
begin_inline_definitions ();
;
break;}
! case 514:
! #line 2366 "parse.y"
{
finish_inline_definitions ();
yyval.ftype.t = yyvsp[-3].ttype;
yyval.ftype.new_type_flag = 1;
;
break;}
! case 515:
! #line 2372 "parse.y"
{
yyval.ftype.t = TREE_TYPE (yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag;
check_class_key (current_aggr, yyval.ftype.t);
;
break;}
! case 519:
! #line 2387 "parse.y"
{ if (pedantic && !in_system_header)
pedwarn ("comma at end of enumerator list"); ;
break;}
! case 521:
! #line 2394 "parse.y"
{ error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
! case 522:
! #line 2396 "parse.y"
{ error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
! case 523:
! #line 2398 "parse.y"
{ error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
! case 524:
! #line 2400 "parse.y"
{ error ("no body nor ';' separates two class, struct or union declarations"); ;
break;}
! case 525:
! #line 2402 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 526:
! #line 2407 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
;
break;}
! case 527:
! #line 2412 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
! case 528:
! #line 2417 "parse.y"
{
current_aggr = yyvsp[-3].ttype;
yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
! case 529:
! #line 2422 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = build_tree_list (global_namespace, yyvsp[0].ttype);
;
break;}
! case 530:
! #line 2430 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 531:
! #line 2435 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 532:
! #line 2440 "parse.y"
{
current_aggr = yyvsp[-3].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 533:
! #line 2448 "parse.y"
{
yyval.ftype.t = handle_class_head (current_aggr,
TREE_PURPOSE (yyvsp[0].ttype), TREE_VALUE (yyvsp[0].ttype),
0, &yyval.ftype.new_type_flag);
;
break;}
! case 534:
! #line 2454 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (current_aggr, yyvsp[0].ttype, 0));
yyval.ftype.new_type_flag = 1;
;
break;}
! case 535:
! #line 2460 "parse.y"
{
yyval.ftype.t = yyvsp[0].ttype;
yyval.ftype.new_type_flag = 0;
;
break;}
! case 536:
! #line 2468 "parse.y"
{
yyungetc ('{', 1);
yyval.ftype.t = handle_class_head (current_aggr,
*************** case 533:
*** 7146,7153 ****
1, &yyval.ftype.new_type_flag);
;
break;}
! case 534:
! #line 2453 "parse.y"
{
yyungetc (':', 1);
yyval.ftype.t = handle_class_head (current_aggr,
--- 7129,7136 ----
1, &yyval.ftype.new_type_flag);
;
break;}
! case 537:
! #line 2475 "parse.y"
{
yyungetc (':', 1);
yyval.ftype.t = handle_class_head (current_aggr,
*************** case 534:
*** 7155,7162 ****
1, &yyval.ftype.new_type_flag);
;
break;}
! case 535:
! #line 2460 "parse.y"
{
yyungetc ('{', 1);
yyval.ftype.t = yyvsp[-1].ttype;
--- 7138,7145 ----
1, &yyval.ftype.new_type_flag);
;
break;}
! case 538:
! #line 2482 "parse.y"
{
yyungetc ('{', 1);
yyval.ftype.t = yyvsp[-1].ttype;
*************** case 535:
*** 7168,7175 ****
= (current_aggr == class_type_node);
;
break;}
! case 536:
! #line 2471 "parse.y"
{
yyungetc (':', 1);
yyval.ftype.t = yyvsp[-1].ttype;
--- 7151,7158 ----
= (current_aggr == class_type_node);
;
break;}
! case 539:
! #line 2493 "parse.y"
{
yyungetc (':', 1);
yyval.ftype.t = yyvsp[-1].ttype;
*************** case 536:
*** 7181,7188 ****
= (current_aggr == class_type_node);
;
break;}
! case 537:
! #line 2482 "parse.y"
{
yyungetc ('{', 1);
current_aggr = yyvsp[-2].ttype;
--- 7164,7171 ----
= (current_aggr == class_type_node);
;
break;}
! case 540:
! #line 2504 "parse.y"
{
yyungetc ('{', 1);
current_aggr = yyvsp[-2].ttype;
*************** case 537:
*** 7191,7198 ****
1, &yyval.ftype.new_type_flag);
;
break;}
! case 538:
! #line 2490 "parse.y"
{
yyungetc (':', 1);
current_aggr = yyvsp[-2].ttype;
--- 7174,7181 ----
1, &yyval.ftype.new_type_flag);
;
break;}
! case 541:
! #line 2512 "parse.y"
{
yyungetc (':', 1);
current_aggr = yyvsp[-2].ttype;
*************** case 538:
*** 7201,7208 ****
1, &yyval.ftype.new_type_flag);
;
break;}
! case 539:
! #line 2498 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (yyvsp[-1].ttype, make_anon_name (), 0));
--- 7184,7191 ----
1, &yyval.ftype.new_type_flag);
;
break;}
! case 542:
! #line 2520 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ftype.t = TYPE_MAIN_DECL (xref_tag (yyvsp[-1].ttype, make_anon_name (), 0));
*************** case 539:
*** 7210,7257 ****
yyungetc ('{', 1);
;
break;}
! case 540:
! #line 2508 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 541:
! #line 2510 "parse.y"
{ error ("no bases given following `:'");
yyval.ttype = NULL_TREE; ;
break;}
! case 542:
! #line 2513 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 544:
! #line 2519 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 545:
! #line 2524 "parse.y"
{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
break;}
! case 546:
! #line 2526 "parse.y"
{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 547:
! #line 2531 "parse.y"
{ if (!TYPE_P (yyval.ttype))
yyval.ttype = error_mark_node; ;
break;}
! case 548:
! #line 2534 "parse.y"
{ yyval.ttype = TREE_TYPE (yyval.ttype); ;
break;}
! case 550:
! #line 2540 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
error ("`%D' access", yyvsp[-1].ttype);
yyval.ttype = access_default_virtual_node; ;
break;}
! case 551:
! #line 2544 "parse.y"
{
if (yyvsp[-2].ttype != access_default_virtual_node)
error ("multiple access specifiers");
--- 7193,7240 ----
yyungetc ('{', 1);
;
break;}
! case 543:
! #line 2530 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 544:
! #line 2532 "parse.y"
{ error ("no bases given following `:'");
yyval.ttype = NULL_TREE; ;
break;}
! case 545:
! #line 2535 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 547:
! #line 2541 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 548:
! #line 2546 "parse.y"
{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
break;}
! case 549:
! #line 2548 "parse.y"
{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 550:
! #line 2553 "parse.y"
{ if (!TYPE_P (yyval.ttype))
yyval.ttype = error_mark_node; ;
break;}
! case 551:
! #line 2556 "parse.y"
{ yyval.ttype = TREE_TYPE (yyval.ttype); ;
break;}
! case 553:
! #line 2562 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
error ("`%D' access", yyvsp[-1].ttype);
yyval.ttype = access_default_virtual_node; ;
break;}
! case 554:
! #line 2566 "parse.y"
{
if (yyvsp[-2].ttype != access_default_virtual_node)
error ("multiple access specifiers");
*************** case 551:
*** 7263,7270 ****
yyval.ttype = access_private_virtual_node;
;
break;}
! case 552:
! #line 2555 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
error ("`%D' access", yyvsp[-1].ttype);
else if (yyval.ttype == access_public_node)
--- 7246,7253 ----
yyval.ttype = access_private_virtual_node;
;
break;}
! case 555:
! #line 2577 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
error ("`%D' access", yyvsp[-1].ttype);
else if (yyval.ttype == access_public_node)
*************** case 552:
*** 7277,7336 ****
error ("multiple `virtual' specifiers");
;
break;}
! case 557:
! #line 2576 "parse.y"
{
current_access_specifier = yyvsp[-1].ttype;
;
break;}
! case 558:
! #line 2585 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
current_aggr = NULL_TREE;
reset_type_access_control ();
;
break;}
! case 559:
! #line 2591 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
current_aggr = NULL_TREE;
reset_type_access_control ();
;
break;}
! case 561:
! #line 2601 "parse.y"
{ error ("missing ';' before right brace");
yyungetc ('}', 0); ;
break;}
! case 562:
! #line 2606 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 563:
! #line 2608 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 564:
! #line 2610 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 565:
! #line 2612 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 566:
! #line 2614 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 567:
! #line 2616 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
! case 568:
! #line 2619 "parse.y"
{
if (yyvsp[0].ttype)
yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
--- 7260,7319 ----
error ("multiple `virtual' specifiers");
;
break;}
! case 560:
! #line 2598 "parse.y"
{
current_access_specifier = yyvsp[-1].ttype;
;
break;}
! case 561:
! #line 2607 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
current_aggr = NULL_TREE;
reset_type_access_control ();
;
break;}
! case 562:
! #line 2613 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
current_aggr = NULL_TREE;
reset_type_access_control ();
;
break;}
! case 564:
! #line 2623 "parse.y"
{ error ("missing ';' before right brace");
yyungetc ('}', 0); ;
break;}
! case 565:
! #line 2628 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 566:
! #line 2630 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 567:
! #line 2632 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 568:
! #line 2634 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
! case 569:
! #line 2636 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 570:
! #line 2638 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
! case 571:
! #line 2641 "parse.y"
{
if (yyvsp[0].ttype)
yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
*************** case 568:
*** 7341,7359 ****
finish_template_decl (yyvsp[-1].ttype);
;
break;}
! case 569:
! #line 2629 "parse.y"
{
yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
finish_template_decl (yyvsp[-2].ttype);
;
break;}
! case 570:
! #line 2634 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 571:
! #line 2642 "parse.y"
{
/* Most of the productions for component_decl only
allow the creation of one new member, so we call
--- 7324,7342 ----
finish_template_decl (yyvsp[-1].ttype);
;
break;}
! case 572:
! #line 2651 "parse.y"
{
yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
finish_template_decl (yyvsp[-2].ttype);
;
break;}
! case 573:
! #line 2656 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 574:
! #line 2664 "parse.y"
{
/* Most of the productions for component_decl only
allow the creation of one new member, so we call
*************** case 571:
*** 7375,7425 ****
yyval.ttype = NULL_TREE;
;
break;}
! case 572:
! #line 2663 "parse.y"
{
if (!yyvsp[0].itype)
grok_x_components (yyvsp[-1].ftype.t);
yyval.ttype = NULL_TREE;
;
break;}
! case 573:
! #line 2669 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 574:
! #line 2671 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 575:
! #line 2673 "parse.y"
{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 576:
! #line 2675 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 577:
! #line 2686 "parse.y"
{ tree specs, attrs;
split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs);
yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
chainon (yyvsp[-1].ttype, attrs)); ;
break;}
! case 578:
! #line 2691 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 579:
! #line 2693 "parse.y"
{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
break;}
! case 580:
! #line 2700 "parse.y"
{ yyval.itype = 0; ;
break;}
! case 581:
! #line 2702 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
--- 7358,7408 ----
yyval.ttype = NULL_TREE;
;
break;}
! case 575:
! #line 2685 "parse.y"
{
if (!yyvsp[0].itype)
grok_x_components (yyvsp[-1].ftype.t);
yyval.ttype = NULL_TREE;
;
break;}
! case 576:
! #line 2691 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 577:
! #line 2693 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 578:
! #line 2695 "parse.y"
{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 579:
! #line 2697 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 580:
! #line 2708 "parse.y"
{ tree specs, attrs;
split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs);
yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
chainon (yyvsp[-1].ttype, attrs)); ;
break;}
! case 581:
! #line 2713 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
! case 582:
! #line 2715 "parse.y"
{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
break;}
! case 583:
! #line 2722 "parse.y"
{ yyval.itype = 0; ;
break;}
! case 584:
! #line 2724 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
*************** case 581:
*** 7427,7434 ****
yyval.itype = 1;
;
break;}
! case 582:
! #line 2709 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
--- 7410,7417 ----
yyval.itype = 1;
;
break;}
! case 585:
! #line 2731 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
*************** case 582:
*** 7437,7448 ****
yyval.itype = 2;
;
break;}
! case 583:
! #line 2720 "parse.y"
{ yyval.itype = 0; ;
break;}
! case 584:
! #line 2722 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
--- 7420,7431 ----
yyval.itype = 2;
;
break;}
! case 586:
! #line 2742 "parse.y"
{ yyval.itype = 0; ;
break;}
! case 587:
! #line 2744 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
*************** case 584:
*** 7450,7457 ****
yyval.itype = 1;
;
break;}
! case 585:
! #line 2729 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
--- 7433,7440 ----
yyval.itype = 1;
;
break;}
! case 588:
! #line 2751 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
*************** case 585:
*** 7460,7535 ****
yyval.itype = 2;
;
break;}
! case 590:
! #line 2750 "parse.y"
{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 591:
! #line 2753 "parse.y"
{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 592:
! #line 2759 "parse.y"
{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 593:
! #line 2762 "parse.y"
{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 594:
! #line 2765 "parse.y"
{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 595:
! #line 2768 "parse.y"
{ yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t,
yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 596:
! #line 2774 "parse.y"
{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 597:
! #line 2776 "parse.y"
{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 598:
! #line 2781 "parse.y"
{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 599:
! #line 2783 "parse.y"
{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 600:
! #line 2785 "parse.y"
{ yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 605:
! #line 2804 "parse.y"
{ build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ;
break;}
! case 606:
! #line 2806 "parse.y"
{ build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ;
break;}
! case 607:
! #line 2812 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 608:
! #line 2815 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
! case 609:
! #line 2820 "parse.y"
{
if (pedantic)
pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new");
--- 7443,7518 ----
yyval.itype = 2;
;
break;}
! case 593:
! #line 2772 "parse.y"
{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 594:
! #line 2775 "parse.y"
{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 595:
! #line 2781 "parse.y"
{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 596:
! #line 2784 "parse.y"
{ yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 597:
! #line 2787 "parse.y"
{ yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 598:
! #line 2790 "parse.y"
{ yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t,
yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 599:
! #line 2796 "parse.y"
{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 600:
! #line 2798 "parse.y"
{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 601:
! #line 2803 "parse.y"
{ yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
! case 602:
! #line 2805 "parse.y"
{ yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 603:
! #line 2807 "parse.y"
{ yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 608:
! #line 2826 "parse.y"
{ build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ;
break;}
! case 609:
! #line 2828 "parse.y"
{ build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ;
break;}
! case 610:
! #line 2834 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 611:
! #line 2837 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
! case 612:
! #line 2842 "parse.y"
{
if (pedantic)
pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new");
*************** case 609:
*** 7538,7641 ****
yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
;
break;}
! case 610:
! #line 2831 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 611:
! #line 2833 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
! case 612:
! #line 2838 "parse.y"
{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 613:
! #line 2841 "parse.y"
{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 614:
! #line 2844 "parse.y"
{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 615:
! #line 2847 "parse.y"
{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 616:
! #line 2857 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 617:
! #line 2859 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 618:
! #line 2861 "parse.y"
{ yyval.ttype = empty_parms (); ;
break;}
! case 619:
! #line 2863 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 621:
! #line 2871 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
! case 622:
! #line 2881 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 623:
! #line 2883 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 624:
! #line 2885 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 625:
! #line 2887 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 626:
! #line 2889 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 628:
! #line 2897 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 629:
! #line 2899 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 630:
! #line 2901 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
! case 631:
! #line 2903 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 632:
! #line 2905 "parse.y"
{ push_nested_class (yyvsp[-1].ttype, 3);
yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
break;}
! case 634:
! #line 2913 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
{
--- 7521,7624 ----
yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
;
break;}
! case 613:
! #line 2853 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 614:
! #line 2855 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
! case 615:
! #line 2860 "parse.y"
{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 616:
! #line 2863 "parse.y"
{ yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 617:
! #line 2866 "parse.y"
{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 618:
! #line 2869 "parse.y"
{ yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 619:
! #line 2879 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 620:
! #line 2881 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 621:
! #line 2883 "parse.y"
{ yyval.ttype = empty_parms (); ;
break;}
! case 622:
! #line 2885 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 624:
! #line 2893 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
! case 625:
! #line 2903 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 626:
! #line 2905 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 627:
! #line 2907 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 628:
! #line 2909 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 629:
! #line 2911 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 631:
! #line 2919 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 632:
! #line 2921 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 633:
! #line 2923 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
! case 634:
! #line 2925 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 635:
! #line 2927 "parse.y"
{ push_nested_class (yyvsp[-1].ttype, 3);
yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
break;}
! case 637:
! #line 2935 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
{
*************** case 634:
*** 7646,7653 ****
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 635:
! #line 2923 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
--- 7629,7636 ----
yyval.ttype = yyvsp[0].ttype;
;
break;}
! case 638:
! #line 2945 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
*************** case 635:
*** 7656,7815 ****
got_scope = NULL_TREE;
;
break;}
! case 638:
! #line 2936 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 639:
! #line 2941 "parse.y"
{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
break;}
! case 641:
! #line 2950 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
! case 642:
! #line 2959 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 643:
! #line 2961 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 644:
! #line 2963 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 645:
! #line 2965 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 646:
! #line 2967 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 648:
! #line 2975 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 649:
! #line 2977 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 650:
! #line 2979 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 651:
! #line 2981 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 652:
! #line 2983 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 654:
! #line 2991 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 655:
! #line 2993 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 656:
! #line 2995 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 657:
! #line 2997 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
! case 658:
! #line 2999 "parse.y"
{ enter_scope_of (yyvsp[0].ttype); ;
break;}
! case 659:
! #line 3001 "parse.y"
{ enter_scope_of (yyvsp[0].ttype); yyval.ttype = yyvsp[0].ttype;;
break;}
! case 660:
! #line 3003 "parse.y"
{ yyval.ttype = build_nt (SCOPE_REF, global_namespace, yyvsp[0].ttype);
enter_scope_of (yyval.ttype);
;
break;}
! case 661:
! #line 3007 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
enter_scope_of (yyval.ttype);
;
break;}
! case 662:
! #line 3015 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 663:
! #line 3018 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 664:
! #line 3024 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 665:
! #line 3027 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 667:
! #line 3034 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 668:
! #line 3039 "parse.y"
{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
! case 669:
! #line 3041 "parse.y"
{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
! case 670:
! #line 3043 "parse.y"
{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 675:
! #line 3055 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 676:
! #line 3057 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 677:
! #line 3061 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 678:
! #line 3064 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 679:
! #line 3072 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
{
--- 7639,7798 ----
got_scope = NULL_TREE;
;
break;}
! case 641:
! #line 2958 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 642:
! #line 2963 "parse.y"
{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
break;}
! case 644:
! #line 2972 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
! case 645:
! #line 2981 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 646:
! #line 2983 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 647:
! #line 2985 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 648:
! #line 2987 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 649:
! #line 2989 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 651:
! #line 2997 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 652:
! #line 2999 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 653:
! #line 3001 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 654:
! #line 3003 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 655:
! #line 3005 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 657:
! #line 3013 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 658:
! #line 3015 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 659:
! #line 3017 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 660:
! #line 3019 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
! case 661:
! #line 3021 "parse.y"
{ enter_scope_of (yyvsp[0].ttype); ;
break;}
! case 662:
! #line 3023 "parse.y"
{ enter_scope_of (yyvsp[0].ttype); yyval.ttype = yyvsp[0].ttype;;
break;}
! case 663:
! #line 3025 "parse.y"
{ yyval.ttype = build_nt (SCOPE_REF, global_namespace, yyvsp[0].ttype);
enter_scope_of (yyval.ttype);
;
break;}
! case 664:
! #line 3029 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
enter_scope_of (yyval.ttype);
;
break;}
! case 665:
! #line 3037 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 666:
! #line 3040 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 667:
! #line 3046 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 668:
! #line 3049 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 670:
! #line 3056 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 671:
! #line 3061 "parse.y"
{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
! case 672:
! #line 3063 "parse.y"
{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
! case 673:
! #line 3065 "parse.y"
{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 678:
! #line 3077 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 679:
! #line 3079 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 680:
! #line 3083 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 681:
! #line 3086 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 682:
! #line 3094 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
{
*************** case 679:
*** 7820,7851 ****
complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)));
;
break;}
! case 680:
! #line 3082 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
;
break;}
! case 681:
! #line 3088 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
! case 682:
! #line 3094 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
break;}
! case 684:
! #line 3100 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 685:
! #line 3105 "parse.y"
{
if (TYPE_P (yyvsp[-1].ttype))
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error);
--- 7803,7834 ----
complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)));
;
break;}
! case 683:
! #line 3104 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
;
break;}
! case 684:
! #line 3110 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
! case 685:
! #line 3116 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
break;}
! case 687:
! #line 3122 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 688:
! #line 3127 "parse.y"
{
if (TYPE_P (yyvsp[-1].ttype))
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error);
*************** case 685:
*** 7859,7878 ****
}
;
break;}
! case 686:
! #line 3118 "parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
break;}
! case 687:
! #line 3120 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); ;
break;}
! case 688:
! #line 3122 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, tf_error); ;
break;}
! case 689:
! #line 3127 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
error ("`%T' is not a class or namespace", yyvsp[0].ttype);
--- 7842,7861 ----
}
;
break;}
! case 689:
! #line 3140 "parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
break;}
! case 690:
! #line 3142 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error); ;
break;}
! case 691:
! #line 3144 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, tf_error); ;
break;}
! case 692:
! #line 3149 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
error ("`%T' is not a class or namespace", yyvsp[0].ttype);
*************** case 689:
*** 7880,7887 ****
yyval.ttype = TREE_TYPE (yyvsp[0].ttype);
;
break;}
! case 690:
! #line 3134 "parse.y"
{
if (TYPE_P (yyvsp[-1].ttype))
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error);
--- 7863,7870 ----
yyval.ttype = TREE_TYPE (yyvsp[0].ttype);
;
break;}
! case 693:
! #line 3156 "parse.y"
{
if (TYPE_P (yyvsp[-1].ttype))
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, tf_error);
*************** case 690:
*** 7895,7912 ****
}
;
break;}
! case 691:
! #line 3147 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 692:
! #line 3150 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 693:
! #line 3158 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL)
yyval.ttype = lastiddecl;
--- 7878,7895 ----
}
;
break;}
! case 694:
! #line 3169 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 695:
! #line 3172 "parse.y"
{ got_scope = yyval.ttype
= make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, tf_error); ;
break;}
! case 696:
! #line 3180 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL)
yyval.ttype = lastiddecl;
*************** case 693:
*** 7919,7950 ****
error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
;
break;}
! case 694:
! #line 3170 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL)
yyval.ttype = lastiddecl;
got_scope = complete_type (TREE_TYPE (yyval.ttype));
;
break;}
! case 695:
! #line 3176 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
break;}
! case 698:
! #line 3180 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
! case 699:
! #line 3189 "parse.y"
{ yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 700:
! #line 3194 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
--- 7902,7933 ----
error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
;
break;}
! case 697:
! #line 3192 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != TYPE_DECL)
yyval.ttype = lastiddecl;
got_scope = complete_type (TREE_TYPE (yyval.ttype));
;
break;}
! case 698:
! #line 3198 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
break;}
! case 701:
! #line 3202 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
! case 702:
! #line 3211 "parse.y"
{ yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 703:
! #line 3216 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
*************** case 700:
*** 7953,8109 ****
got_scope = NULL_TREE;
;
break;}
! case 702:
! #line 3203 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 703:
! #line 3208 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
! case 704:
! #line 3210 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
break;}
! case 705:
! #line 3217 "parse.y"
{ got_scope = void_type_node; ;
break;}
! case 706:
! #line 3223 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 707:
! #line 3225 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
! case 708:
! #line 3227 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 709:
! #line 3229 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
! case 710:
! #line 3231 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg);
;
break;}
! case 711:
! #line 3235 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 713:
! #line 3244 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 714:
! #line 3246 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 716:
! #line 3252 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
! case 717:
! #line 3262 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 718:
! #line 3264 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 719:
! #line 3266 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
! case 720:
! #line 3268 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
break;}
! case 721:
! #line 3270 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 722:
! #line 3272 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 723:
! #line 3274 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
! case 724:
! #line 3276 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
break;}
! case 725:
! #line 3278 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg);
;
break;}
! case 726:
! #line 3282 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 728:
! #line 3291 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 729:
! #line 3294 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 730:
! #line 3296 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 731:
! #line 3298 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 732:
! #line 3300 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
! case 733:
! #line 3302 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 734:
! #line 3304 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 735:
! #line 3306 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 736:
! #line 3308 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 737:
! #line 3310 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
! case 744:
! #line 3333 "parse.y"
{ if (pedantic)
pedwarn ("ISO C++ forbids label declarations"); ;
break;}
! case 747:
! #line 3344 "parse.y"
{
while (yyvsp[-1].ttype)
{
--- 7936,8092 ----
got_scope = NULL_TREE;
;
break;}
! case 705:
! #line 3225 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 706:
! #line 3230 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
! case 707:
! #line 3232 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
break;}
! case 708:
! #line 3239 "parse.y"
{ got_scope = void_type_node; ;
break;}
! case 709:
! #line 3245 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 710:
! #line 3247 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
! case 711:
! #line 3249 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 712:
! #line 3251 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
! case 713:
! #line 3253 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg);
;
break;}
! case 714:
! #line 3257 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 716:
! #line 3266 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 717:
! #line 3268 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 719:
! #line 3274 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
! case 720:
! #line 3284 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 721:
! #line 3286 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 722:
! #line 3288 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
! case 723:
! #line 3290 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
break;}
! case 724:
! #line 3292 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 725:
! #line 3294 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
! case 726:
! #line 3296 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
! case 727:
! #line 3298 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
break;}
! case 728:
! #line 3300 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-1].ttype, arg);
;
break;}
! case 729:
! #line 3304 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 731:
! #line 3313 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 732:
! #line 3316 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 733:
! #line 3318 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 734:
! #line 3320 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
! case 735:
! #line 3322 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
! case 736:
! #line 3324 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 737:
! #line 3326 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 738:
! #line 3328 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 739:
! #line 3330 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
! case 740:
! #line 3332 "parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
! case 747:
! #line 3355 "parse.y"
{ if (pedantic)
pedwarn ("ISO C++ forbids label declarations"); ;
break;}
! case 750:
! #line 3366 "parse.y"
{
while (yyvsp[-1].ttype)
{
*************** case 747:
*** 8112,8390 ****
}
;
break;}
! case 748:
! #line 3355 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
! case 749:
! #line 3357 "parse.y"
{ STMT_LINENO (yyvsp[-1].ttype) = yyvsp[-3].itype;
finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
! case 750:
! #line 3363 "parse.y"
{ last_expr_type = NULL_TREE; ;
break;}
! case 751:
! #line 3368 "parse.y"
{ yyval.ttype = begin_if_stmt ();
cond_stmt_keyword = "if"; ;
break;}
! case 752:
! #line 3371 "parse.y"
{ finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 753:
! #line 3373 "parse.y"
{ yyval.ttype = yyvsp[-3].ttype;
finish_then_clause (yyvsp[-3].ttype); ;
break;}
! case 755:
! #line 3380 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
! case 756:
! #line 3382 "parse.y"
{ STMT_LINENO (yyvsp[-2].ttype) = yyvsp[-1].itype;
if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype;
finish_compound_stmt (0, yyvsp[-2].ttype); ;
break;}
! case 758:
! #line 3390 "parse.y"
{ if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype; ;
break;}
! case 759:
! #line 3395 "parse.y"
{ finish_stmt ();
yyval.ttype = NULL_TREE; ;
break;}
! case 760:
! #line 3398 "parse.y"
{ yyval.ttype = finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
! case 761:
! #line 3400 "parse.y"
{ begin_else_clause (); ;
break;}
! case 762:
! #line 3402 "parse.y"
{
yyval.ttype = yyvsp[-3].ttype;
finish_else_clause (yyvsp[-3].ttype);
finish_if_stmt ();
;
break;}
! case 763:
! #line 3408 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
finish_if_stmt (); ;
break;}
! case 764:
! #line 3411 "parse.y"
{
yyval.ttype = begin_while_stmt ();
cond_stmt_keyword = "while";
;
break;}
! case 765:
! #line 3416 "parse.y"
{ finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 766:
! #line 3418 "parse.y"
{ yyval.ttype = yyvsp[-3].ttype;
finish_while_stmt (yyvsp[-3].ttype); ;
break;}
! case 767:
! #line 3421 "parse.y"
{ yyval.ttype = begin_do_stmt (); ;
break;}
! case 768:
! #line 3423 "parse.y"
{
finish_do_body (yyvsp[-2].ttype);
cond_stmt_keyword = "do";
;
break;}
! case 769:
! #line 3428 "parse.y"
{ yyval.ttype = yyvsp[-5].ttype;
finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
! case 770:
! #line 3431 "parse.y"
{ yyval.ttype = begin_for_stmt (); ;
break;}
! case 771:
! #line 3433 "parse.y"
{ finish_for_init_stmt (yyvsp[-2].ttype); ;
break;}
! case 772:
! #line 3435 "parse.y"
{ finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
! case 773:
! #line 3437 "parse.y"
{ finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
break;}
! case 774:
! #line 3439 "parse.y"
{ yyval.ttype = yyvsp[-10].ttype;
finish_for_stmt (yyvsp[-10].ttype); ;
break;}
! case 775:
! #line 3442 "parse.y"
{ yyval.ttype = begin_switch_stmt (); ;
break;}
! case 776:
! #line 3444 "parse.y"
{ finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
break;}
! case 777:
! #line 3446 "parse.y"
{ yyval.ttype = yyvsp[-5].ttype;
finish_switch_stmt (yyvsp[-5].ttype); ;
break;}
! case 778:
! #line 3449 "parse.y"
{ yyval.ttype = finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
break;}
! case 779:
! #line 3451 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 780:
! #line 3453 "parse.y"
{ yyval.ttype = finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 781:
! #line 3455 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 782:
! #line 3457 "parse.y"
{ yyval.ttype = finish_case_label (NULL_TREE, NULL_TREE); ;
break;}
! case 783:
! #line 3459 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 784:
! #line 3461 "parse.y"
{ yyval.ttype = finish_break_stmt (); ;
break;}
! case 785:
! #line 3463 "parse.y"
{ yyval.ttype = finish_continue_stmt (); ;
break;}
! case 786:
! #line 3465 "parse.y"
{ yyval.ttype = finish_return_stmt (NULL_TREE); ;
break;}
! case 787:
! #line 3467 "parse.y"
{ yyval.ttype = finish_return_stmt (yyvsp[-1].ttype); ;
break;}
! case 788:
! #line 3469 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
NULL_TREE);
ASM_INPUT_P (yyval.ttype) = 1; ;
break;}
! case 789:
! #line 3474 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ;
break;}
! case 790:
! #line 3478 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
! case 791:
! #line 3480 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ;
break;}
! case 792:
! #line 3484 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
! case 793:
! #line 3487 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
! case 794:
! #line 3490 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ;
break;}
! case 795:
! #line 3492 "parse.y"
{
if (pedantic)
pedwarn ("ISO C++ forbids computed gotos");
yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype);
;
break;}
! case 796:
! #line 3498 "parse.y"
{ yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype); ;
break;}
! case 797:
! #line 3500 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 798:
! #line 3502 "parse.y"
{ error ("label must be followed by statement");
yyungetc ('}', 0);
yyval.ttype = NULL_TREE; ;
break;}
! case 799:
! #line 3506 "parse.y"
{ finish_stmt ();
yyval.ttype = NULL_TREE; ;
break;}
! case 800:
! #line 3509 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 801:
! #line 3511 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 802:
! #line 3513 "parse.y"
{ do_local_using_decl (yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
! case 803:
! #line 3516 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 804:
! #line 3521 "parse.y"
{ yyval.ttype = begin_function_try_block (); ;
break;}
! case 805:
! #line 3523 "parse.y"
{ finish_function_try_block (yyvsp[-1].ttype); ;
break;}
! case 806:
! #line 3525 "parse.y"
{ finish_function_handler_sequence (yyvsp[-3].ttype); ;
break;}
! case 807:
! #line 3530 "parse.y"
{ yyval.ttype = begin_try_block (); ;
break;}
! case 808:
! #line 3532 "parse.y"
{ finish_try_block (yyvsp[-1].ttype); ;
break;}
! case 809:
! #line 3534 "parse.y"
{ finish_handler_sequence (yyvsp[-3].ttype); ;
break;}
! case 812:
! #line 3541 "parse.y"
{ /* Generate a fake handler block to avoid later aborts. */
tree fake_handler = begin_handler ();
finish_handler_parms (NULL_TREE, fake_handler);
--- 8095,8373 ----
}
;
break;}
! case 751:
! #line 3377 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
! case 752:
! #line 3379 "parse.y"
{ STMT_LINENO (yyvsp[-1].ttype) = yyvsp[-3].itype;
finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
! case 753:
! #line 3385 "parse.y"
{ last_expr_type = NULL_TREE; ;
break;}
! case 754:
! #line 3390 "parse.y"
{ yyval.ttype = begin_if_stmt ();
cond_stmt_keyword = "if"; ;
break;}
! case 755:
! #line 3393 "parse.y"
{ finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 756:
! #line 3395 "parse.y"
{ yyval.ttype = yyvsp[-3].ttype;
finish_then_clause (yyvsp[-3].ttype); ;
break;}
! case 758:
! #line 3402 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
! case 759:
! #line 3404 "parse.y"
{ STMT_LINENO (yyvsp[-2].ttype) = yyvsp[-1].itype;
if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype;
finish_compound_stmt (0, yyvsp[-2].ttype); ;
break;}
! case 761:
! #line 3412 "parse.y"
{ if (yyvsp[0].ttype) STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].itype; ;
break;}
! case 762:
! #line 3417 "parse.y"
{ finish_stmt ();
yyval.ttype = NULL_TREE; ;
break;}
! case 763:
! #line 3420 "parse.y"
{ yyval.ttype = finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
! case 764:
! #line 3422 "parse.y"
{ begin_else_clause (); ;
break;}
! case 765:
! #line 3424 "parse.y"
{
yyval.ttype = yyvsp[-3].ttype;
finish_else_clause (yyvsp[-3].ttype);
finish_if_stmt ();
;
break;}
! case 766:
! #line 3430 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
finish_if_stmt (); ;
break;}
! case 767:
! #line 3433 "parse.y"
{
yyval.ttype = begin_while_stmt ();
cond_stmt_keyword = "while";
;
break;}
! case 768:
! #line 3438 "parse.y"
{ finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 769:
! #line 3440 "parse.y"
{ yyval.ttype = yyvsp[-3].ttype;
finish_while_stmt (yyvsp[-3].ttype); ;
break;}
! case 770:
! #line 3443 "parse.y"
{ yyval.ttype = begin_do_stmt (); ;
break;}
! case 771:
! #line 3445 "parse.y"
{
finish_do_body (yyvsp[-2].ttype);
cond_stmt_keyword = "do";
;
break;}
! case 772:
! #line 3450 "parse.y"
{ yyval.ttype = yyvsp[-5].ttype;
finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
! case 773:
! #line 3453 "parse.y"
{ yyval.ttype = begin_for_stmt (); ;
break;}
! case 774:
! #line 3455 "parse.y"
{ finish_for_init_stmt (yyvsp[-2].ttype); ;
break;}
! case 775:
! #line 3457 "parse.y"
{ finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
! case 776:
! #line 3459 "parse.y"
{ finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
break;}
! case 777:
! #line 3461 "parse.y"
{ yyval.ttype = yyvsp[-10].ttype;
finish_for_stmt (yyvsp[-10].ttype); ;
break;}
! case 778:
! #line 3464 "parse.y"
{ yyval.ttype = begin_switch_stmt (); ;
break;}
! case 779:
! #line 3466 "parse.y"
{ finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
break;}
! case 780:
! #line 3468 "parse.y"
{ yyval.ttype = yyvsp[-5].ttype;
finish_switch_stmt (yyvsp[-5].ttype); ;
break;}
! case 781:
! #line 3471 "parse.y"
{ yyval.ttype = finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
break;}
! case 782:
! #line 3473 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 783:
! #line 3475 "parse.y"
{ yyval.ttype = finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
! case 784:
! #line 3477 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 785:
! #line 3479 "parse.y"
{ yyval.ttype = finish_case_label (NULL_TREE, NULL_TREE); ;
break;}
! case 786:
! #line 3481 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 787:
! #line 3483 "parse.y"
{ yyval.ttype = finish_break_stmt (); ;
break;}
! case 788:
! #line 3485 "parse.y"
{ yyval.ttype = finish_continue_stmt (); ;
break;}
! case 789:
! #line 3487 "parse.y"
{ yyval.ttype = finish_return_stmt (NULL_TREE); ;
break;}
! case 790:
! #line 3489 "parse.y"
{ yyval.ttype = finish_return_stmt (yyvsp[-1].ttype); ;
break;}
! case 791:
! #line 3491 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
NULL_TREE);
ASM_INPUT_P (yyval.ttype) = 1; ;
break;}
! case 792:
! #line 3496 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ;
break;}
! case 793:
! #line 3500 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
! case 794:
! #line 3502 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ;
break;}
! case 795:
! #line 3506 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
! case 796:
! #line 3509 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
! case 797:
! #line 3512 "parse.y"
{ yyval.ttype = finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ;
break;}
! case 798:
! #line 3514 "parse.y"
{
if (pedantic)
pedwarn ("ISO C++ forbids computed gotos");
yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype);
;
break;}
! case 799:
! #line 3520 "parse.y"
{ yyval.ttype = finish_goto_stmt (yyvsp[-1].ttype); ;
break;}
! case 800:
! #line 3522 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 801:
! #line 3524 "parse.y"
{ error ("label must be followed by statement");
yyungetc ('}', 0);
yyval.ttype = NULL_TREE; ;
break;}
! case 802:
! #line 3528 "parse.y"
{ finish_stmt ();
yyval.ttype = NULL_TREE; ;
break;}
! case 803:
! #line 3531 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 804:
! #line 3533 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 805:
! #line 3535 "parse.y"
{ do_local_using_decl (yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
! case 806:
! #line 3538 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 807:
! #line 3543 "parse.y"
{ yyval.ttype = begin_function_try_block (); ;
break;}
! case 808:
! #line 3545 "parse.y"
{ finish_function_try_block (yyvsp[-1].ttype); ;
break;}
! case 809:
! #line 3547 "parse.y"
{ finish_function_handler_sequence (yyvsp[-3].ttype); ;
break;}
! case 810:
! #line 3552 "parse.y"
{ yyval.ttype = begin_try_block (); ;
break;}
! case 811:
! #line 3554 "parse.y"
{ finish_try_block (yyvsp[-1].ttype); ;
break;}
! case 812:
! #line 3556 "parse.y"
{ finish_handler_sequence (yyvsp[-3].ttype); ;
break;}
! case 815:
! #line 3563 "parse.y"
{ /* Generate a fake handler block to avoid later aborts. */
tree fake_handler = begin_handler ();
finish_handler_parms (NULL_TREE, fake_handler);
*************** case 812:
*** 8394,8519 ****
error ("must have at least one catch per try block");
;
break;}
! case 813:
! #line 3553 "parse.y"
{ yyval.ttype = begin_handler (); ;
break;}
! case 814:
! #line 3555 "parse.y"
{ finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 815:
! #line 3557 "parse.y"
{ finish_handler (yyvsp[-3].ttype); ;
break;}
! case 818:
! #line 3567 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 819:
! #line 3583 "parse.y"
{
check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t),
TREE_VALUE (yyvsp[-1].ftype.t));
;
break;}
! case 820:
! #line 3592 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 821:
! #line 3594 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 822:
! #line 3596 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 823:
! #line 3598 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 824:
! #line 3603 "parse.y"
{ finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
! case 826:
! #line 3606 "parse.y"
{ if (pedantic)
pedwarn ("ISO C++ forbids compound statements inside for initializations");
;
break;}
! case 827:
! #line 3615 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 829:
! #line 3621 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 831:
! #line 3624 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 832:
! #line 3631 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 835:
! #line 3638 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 836:
! #line 3643 "parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
! case 837:
! #line 3645 "parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
! case 838:
! #line 3650 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE);;
break;}
! case 839:
! #line 3652 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
break;}
! case 840:
! #line 3663 "parse.y"
{
yyval.ttype = empty_parms();
;
break;}
! case 842:
! #line 3668 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
break;}
! case 843:
! #line 3676 "parse.y"
{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
break;}
! case 844:
! #line 3678 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
! case 845:
! #line 3681 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
! case 846:
! #line 3683 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
yyvsp[-1].ftype.t), 1); ;
break;}
! case 847:
! #line 3686 "parse.y"
{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
break;}
! case 848:
! #line 3688 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
--- 8377,8502 ----
error ("must have at least one catch per try block");
;
break;}
! case 816:
! #line 3575 "parse.y"
{ yyval.ttype = begin_handler (); ;
break;}
! case 817:
! #line 3577 "parse.y"
{ finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
! case 818:
! #line 3579 "parse.y"
{ finish_handler (yyvsp[-3].ttype); ;
break;}
! case 821:
! #line 3589 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 822:
! #line 3605 "parse.y"
{
check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t),
TREE_VALUE (yyvsp[-1].ftype.t));
;
break;}
! case 823:
! #line 3614 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 824:
! #line 3616 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 825:
! #line 3618 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 826:
! #line 3620 "parse.y"
{ finish_label_stmt (yyvsp[-1].ttype); ;
break;}
! case 827:
! #line 3625 "parse.y"
{ finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
! case 829:
! #line 3628 "parse.y"
{ if (pedantic)
pedwarn ("ISO C++ forbids compound statements inside for initializations");
;
break;}
! case 830:
! #line 3637 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 832:
! #line 3643 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 834:
! #line 3646 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 835:
! #line 3653 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 838:
! #line 3660 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
! case 839:
! #line 3665 "parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
! case 840:
! #line 3667 "parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ;
break;}
! case 841:
! #line 3672 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE);;
break;}
! case 842:
! #line 3674 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
break;}
! case 843:
! #line 3685 "parse.y"
{
yyval.ttype = empty_parms();
;
break;}
! case 845:
! #line 3690 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
break;}
! case 846:
! #line 3698 "parse.y"
{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
break;}
! case 847:
! #line 3700 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
! case 848:
! #line 3703 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
! case 849:
! #line 3705 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
yyvsp[-1].ftype.t), 1); ;
break;}
! case 850:
! #line 3708 "parse.y"
{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
break;}
! case 851:
! #line 3710 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
*************** case 848:
*** 8524,8531 ****
yychar = ')';
;
break;}
! case 849:
! #line 3698 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
--- 8507,8514 ----
yychar = ')';
;
break;}
! case 852:
! #line 3720 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
*************** case 849:
*** 8537,8632 ****
yychar = ')';
;
break;}
! case 850:
! #line 3713 "parse.y"
{ maybe_snarf_defarg (); ;
break;}
! case 851:
! #line 3715 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 854:
! #line 3726 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
break;}
! case 855:
! #line 3729 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
break;}
! case 856:
! #line 3732 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
break;}
! case 857:
! #line 3735 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
! case 858:
! #line 3737 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
break;}
! case 860:
! #line 3743 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
break;}
! case 861:
! #line 3753 "parse.y"
{ yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 862:
! #line 3756 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 863:
! #line 3759 "parse.y"
{ yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t),
yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 864:
! #line 3763 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 865:
! #line 3766 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
! case 866:
! #line 3769 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 867:
! #line 3775 "parse.y"
{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
! case 868:
! #line 3778 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 871:
! #line 3789 "parse.y"
{ see_typename (); ;
break;}
! case 872:
! #line 3794 "parse.y"
{
error ("type specifier omitted for parameter");
yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
;
break;}
! case 873:
! #line 3799 "parse.y"
{
if (TREE_CODE (yyval.ttype) == SCOPE_REF)
{
--- 8520,8615 ----
yychar = ')';
;
break;}
! case 853:
! #line 3735 "parse.y"
{ maybe_snarf_defarg (); ;
break;}
! case 854:
! #line 3737 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
! case 857:
! #line 3748 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
break;}
! case 858:
! #line 3751 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
break;}
! case 859:
! #line 3754 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
break;}
! case 860:
! #line 3757 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
! case 861:
! #line 3759 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
break;}
! case 863:
! #line 3765 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
break;}
! case 864:
! #line 3775 "parse.y"
{ yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
! case 865:
! #line 3778 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 866:
! #line 3781 "parse.y"
{ yyval.ftype.t = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t),
yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 867:
! #line 3785 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 868:
! #line 3788 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
! case 869:
! #line 3791 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = 0; ;
break;}
! case 870:
! #line 3797 "parse.y"
{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
! case 871:
! #line 3800 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
! case 874:
! #line 3811 "parse.y"
{ see_typename (); ;
break;}
! case 875:
! #line 3816 "parse.y"
{
error ("type specifier omitted for parameter");
yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
;
break;}
! case 876:
! #line 3821 "parse.y"
{
if (TREE_CODE (yyval.ttype) == SCOPE_REF)
{
*************** case 873:
*** 8641,8712 ****
yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
;
break;}
! case 874:
! #line 3816 "parse.y"
{
error("'%D' is used as a type, but is not defined as a type.", yyvsp[-4].ttype);
yyvsp[-2].ttype = error_mark_node;
;
break;}
! case 875:
! #line 3824 "parse.y"
{ ;
break;}
! case 877:
! #line 3830 "parse.y"
{ ;
break;}
! case 879:
! #line 3836 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 880:
! #line 3838 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 881:
! #line 3840 "parse.y"
{ yyval.ttype = empty_except_spec; ;
break;}
! case 882:
! #line 3845 "parse.y"
{
check_for_new_type ("exception specifier", yyvsp[0].ftype);
yyval.ttype = groktypename (yyvsp[0].ftype.t);
;
break;}
! case 883:
! #line 3850 "parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
! case 884:
! #line 3855 "parse.y"
{ yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
break;}
! case 885:
! #line 3857 "parse.y"
{ yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
break;}
! case 886:
! #line 3862 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 887:
! #line 3864 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 888:
! #line 3866 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 889:
! #line 3868 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 890:
! #line 3875 "parse.y"
{
saved_scopes = tree_cons (got_scope, got_object, saved_scopes);
TREE_LANG_FLAG_0 (saved_scopes) = looking_for_typename;
--- 8624,8695 ----
yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
;
break;}
! case 877:
! #line 3838 "parse.y"
{
error("'%D' is used as a type, but is not defined as a type.", yyvsp[-4].ttype);
yyvsp[-2].ttype = error_mark_node;
;
break;}
! case 878:
! #line 3846 "parse.y"
{ ;
break;}
! case 880:
! #line 3852 "parse.y"
{ ;
break;}
! case 882:
! #line 3858 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 883:
! #line 3860 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
! case 884:
! #line 3862 "parse.y"
{ yyval.ttype = empty_except_spec; ;
break;}
! case 885:
! #line 3867 "parse.y"
{
check_for_new_type ("exception specifier", yyvsp[0].ftype);
yyval.ttype = groktypename (yyvsp[0].ftype.t);
;
break;}
! case 886:
! #line 3872 "parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
! case 887:
! #line 3877 "parse.y"
{ yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
break;}
! case 888:
! #line 3879 "parse.y"
{ yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
break;}
! case 889:
! #line 3884 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
! case 890:
! #line 3886 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 891:
! #line 3888 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
! case 892:
! #line 3890 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_nt (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
! case 893:
! #line 3897 "parse.y"
{
saved_scopes = tree_cons (got_scope, got_object, saved_scopes);
TREE_LANG_FLAG_0 (saved_scopes) = looking_for_typename;
*************** case 890:
*** 8717,8872 ****
got_scope = NULL_TREE;
;
break;}
! case 891:
! #line 3887 "parse.y"
{ got_scope = TREE_PURPOSE (saved_scopes);
got_object = TREE_VALUE (saved_scopes);
looking_for_typename = TREE_LANG_FLAG_0 (saved_scopes);
saved_scopes = TREE_CHAIN (saved_scopes);
;
break;}
! case 892:
! #line 3896 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (MULT_EXPR)); ;
break;}
! case 893:
! #line 3898 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUNC_DIV_EXPR)); ;
break;}
! case 894:
! #line 3900 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUNC_MOD_EXPR)); ;
break;}
! case 895:
! #line 3902 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (PLUS_EXPR)); ;
break;}
! case 896:
! #line 3904 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (MINUS_EXPR)); ;
break;}
! case 897:
! #line 3906 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_AND_EXPR)); ;
break;}
! case 898:
! #line 3908 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_IOR_EXPR)); ;
break;}
! case 899:
! #line 3910 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_XOR_EXPR)); ;
break;}
! case 900:
! #line 3912 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_NOT_EXPR)); ;
break;}
! case 901:
! #line 3914 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (COMPOUND_EXPR)); ;
break;}
! case 902:
! #line 3916 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 903:
! #line 3918 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (LT_EXPR)); ;
break;}
! case 904:
! #line 3920 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (GT_EXPR)); ;
break;}
! case 905:
! #line 3922 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 906:
! #line 3924 "parse.y"
{ yyval.ttype = frob_opname (ansi_assopname (yyvsp[-1].code)); ;
break;}
! case 907:
! #line 3926 "parse.y"
{ yyval.ttype = frob_opname (ansi_assopname (NOP_EXPR)); ;
break;}
! case 908:
! #line 3928 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 909:
! #line 3930 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 910:
! #line 3932 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (POSTINCREMENT_EXPR)); ;
break;}
! case 911:
! #line 3934 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (PREDECREMENT_EXPR)); ;
break;}
! case 912:
! #line 3936 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUTH_ANDIF_EXPR)); ;
break;}
! case 913:
! #line 3938 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUTH_ORIF_EXPR)); ;
break;}
! case 914:
! #line 3940 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUTH_NOT_EXPR)); ;
break;}
! case 915:
! #line 3942 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (COND_EXPR)); ;
break;}
! case 916:
! #line 3944 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 917:
! #line 3946 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (COMPONENT_REF)); ;
break;}
! case 918:
! #line 3948 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (MEMBER_REF)); ;
break;}
! case 919:
! #line 3950 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (CALL_EXPR)); ;
break;}
! case 920:
! #line 3952 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (ARRAY_REF)); ;
break;}
! case 921:
! #line 3954 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (NEW_EXPR)); ;
break;}
! case 922:
! #line 3956 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (DELETE_EXPR)); ;
break;}
! case 923:
! #line 3958 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (VEC_NEW_EXPR)); ;
break;}
! case 924:
! #line 3960 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (VEC_DELETE_EXPR)); ;
break;}
! case 925:
! #line 3962 "parse.y"
{ yyval.ttype = frob_opname (grokoptypename (yyvsp[-2].ftype.t, yyvsp[-1].ttype)); ;
break;}
! case 926:
! #line 3964 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (ERROR_MARK)); ;
break;}
! case 927:
! #line 3971 "parse.y"
{ if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.itype = lineno; ;
--- 8700,8855 ----
got_scope = NULL_TREE;
;
break;}
! case 894:
! #line 3909 "parse.y"
{ got_scope = TREE_PURPOSE (saved_scopes);
got_object = TREE_VALUE (saved_scopes);
looking_for_typename = TREE_LANG_FLAG_0 (saved_scopes);
saved_scopes = TREE_CHAIN (saved_scopes);
;
break;}
! case 895:
! #line 3918 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (MULT_EXPR)); ;
break;}
! case 896:
! #line 3920 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUNC_DIV_EXPR)); ;
break;}
! case 897:
! #line 3922 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUNC_MOD_EXPR)); ;
break;}
! case 898:
! #line 3924 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (PLUS_EXPR)); ;
break;}
! case 899:
! #line 3926 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (MINUS_EXPR)); ;
break;}
! case 900:
! #line 3928 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_AND_EXPR)); ;
break;}
! case 901:
! #line 3930 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_IOR_EXPR)); ;
break;}
! case 902:
! #line 3932 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_XOR_EXPR)); ;
break;}
! case 903:
! #line 3934 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (BIT_NOT_EXPR)); ;
break;}
! case 904:
! #line 3936 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (COMPOUND_EXPR)); ;
break;}
! case 905:
! #line 3938 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 906:
! #line 3940 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (LT_EXPR)); ;
break;}
! case 907:
! #line 3942 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (GT_EXPR)); ;
break;}
! case 908:
! #line 3944 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 909:
! #line 3946 "parse.y"
{ yyval.ttype = frob_opname (ansi_assopname (yyvsp[-1].code)); ;
break;}
! case 910:
! #line 3948 "parse.y"
{ yyval.ttype = frob_opname (ansi_assopname (NOP_EXPR)); ;
break;}
! case 911:
! #line 3950 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 912:
! #line 3952 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 913:
! #line 3954 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (POSTINCREMENT_EXPR)); ;
break;}
! case 914:
! #line 3956 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (PREDECREMENT_EXPR)); ;
break;}
! case 915:
! #line 3958 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUTH_ANDIF_EXPR)); ;
break;}
! case 916:
! #line 3960 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUTH_ORIF_EXPR)); ;
break;}
! case 917:
! #line 3962 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (TRUTH_NOT_EXPR)); ;
break;}
! case 918:
! #line 3964 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (COND_EXPR)); ;
break;}
! case 919:
! #line 3966 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (yyvsp[-1].code)); ;
break;}
! case 920:
! #line 3968 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (COMPONENT_REF)); ;
break;}
! case 921:
! #line 3970 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (MEMBER_REF)); ;
break;}
! case 922:
! #line 3972 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (CALL_EXPR)); ;
break;}
! case 923:
! #line 3974 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (ARRAY_REF)); ;
break;}
! case 924:
! #line 3976 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (NEW_EXPR)); ;
break;}
! case 925:
! #line 3978 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (DELETE_EXPR)); ;
break;}
! case 926:
! #line 3980 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (VEC_NEW_EXPR)); ;
break;}
! case 927:
! #line 3982 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (VEC_DELETE_EXPR)); ;
break;}
! case 928:
! #line 3984 "parse.y"
{ yyval.ttype = frob_opname (grokoptypename (yyvsp[-2].ftype.t, yyvsp[-1].ttype)); ;
break;}
! case 929:
! #line 3986 "parse.y"
{ yyval.ttype = frob_opname (ansi_opname (ERROR_MARK)); ;
break;}
! case 930:
! #line 3993 "parse.y"
{ if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.itype = lineno; ;
*************** yyerrhandle:
*** 9093,9099 ****
}
return 1;
}
! #line 3975 "parse.y"
#ifdef SPEW_DEBUG
--- 9076,9082 ----
}
return 1;
}
! #line 3997 "parse.y"
#ifdef SPEW_DEBUG
diff -Nrc3pad gcc-3.2/gcc/cp/parse.h gcc-3.2.1/gcc/cp/parse.h
*** gcc-3.2/gcc/cp/parse.h Wed Aug 14 09:46:23 2002
--- gcc-3.2.1/gcc/cp/parse.h Tue Nov 19 18:27:03 2002
*************** typedef union {
*** 7,13 ****
struct unparsed_text *pi;
} YYSTYPE;
#define IDENTIFIER 257
! #define TYPENAME 258
#define SELFNAME 259
#define PFUNCNAME 260
#define SCSPEC 261
--- 7,13 ----
struct unparsed_text *pi;
} YYSTYPE;
#define IDENTIFIER 257
! #define tTYPENAME 258
#define SELFNAME 259
#define PFUNCNAME 260
#define SCSPEC 261
diff -Nrc3pad gcc-3.2/gcc/cp/parse.y gcc-3.2.1/gcc/cp/parse.y
*** gcc-3.2/gcc/cp/parse.y Tue Apr 30 15:42:21 2002
--- gcc-3.2.1/gcc/cp/parse.y Mon Oct 21 18:38:39 2002
*************** cp_parse_init ()
*** 253,259 ****
/* All identifiers that are declared typedefs in the current block.
In some contexts, they are treated just like IDENTIFIER,
but they can also serve as typespecs in declarations. */
! %token TYPENAME
%token SELFNAME
/* A template function. */
--- 253,259 ----
/* All identifiers that are declared typedefs in the current block.
In some contexts, they are treated just like IDENTIFIER,
but they can also serve as typespecs in declarations. */
! %token tTYPENAME
%token SELFNAME
/* A template function. */
*************** cp_parse_init ()
*** 315,321 ****
%nonassoc IF
%nonassoc ELSE
! %left IDENTIFIER PFUNCNAME TYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE
%left '{' ',' ';'
--- 315,321 ----
%nonassoc IF
%nonassoc ELSE
! %left IDENTIFIER PFUNCNAME tTYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE
%left '{' ',' ';'
*************** cp_parse_init ()
*** 345,351 ****
%type unop
! %type identifier IDENTIFIER TYPENAME CONSTANT expr nonnull_exprlist
%type PFUNCNAME maybe_identifier
%type paren_expr_or_null nontrivial_exprlist SELFNAME
%type expr_no_commas expr_no_comma_rangle
--- 345,351 ----
%type unop
! %type identifier IDENTIFIER tTYPENAME CONSTANT expr nonnull_exprlist
%type PFUNCNAME maybe_identifier
%type paren_expr_or_null nontrivial_exprlist SELFNAME
%type expr_no_commas expr_no_comma_rangle
*************** member_init:
*** 994,1000 ****
identifier:
IDENTIFIER
! | TYPENAME
| SELFNAME
| PTYPENAME
| NSNAME
--- 994,1000 ----
identifier:
IDENTIFIER
! | tTYPENAME
| SELFNAME
| PTYPENAME
| NSNAME
*************** explicit_instantiation:
*** 1031,1047 ****
--- 1031,1051 ----
{ do_type_instantiation ($4.t, $1, 1);
yyungetc (';', 1); }
end_explicit_instantiation
+ {}
| SCSPEC TEMPLATE begin_explicit_instantiation typed_declspecs
declarator
{ tree specs = strip_attrs ($4.t);
do_decl_instantiation (specs, $5, $1); }
end_explicit_instantiation
+ {}
| SCSPEC TEMPLATE begin_explicit_instantiation notype_declarator
{ do_decl_instantiation (NULL_TREE, $4, $1); }
end_explicit_instantiation
+ {}
| SCSPEC TEMPLATE begin_explicit_instantiation constructor_declarator
{ do_decl_instantiation (NULL_TREE, $4, $1); }
end_explicit_instantiation
+ {}
;
begin_explicit_instantiation:
*************** template_type:
*** 1060,1066 ****
PTYPENAME '<' template_arg_list_opt template_close_bracket
.finish_template_type
{ $$ = $5; }
! | TYPENAME '<' template_arg_list_opt template_close_bracket
.finish_template_type
{ $$ = $5; }
| self_template_type
--- 1064,1070 ----
PTYPENAME '<' template_arg_list_opt template_close_bracket
.finish_template_type
{ $$ = $5; }
! | tTYPENAME '<' template_arg_list_opt template_close_bracket
.finish_template_type
{ $$ = $5; }
| self_template_type
*************** unary_expr:
*** 1255,1270 ****
/* Refer to the address of a label as a pointer. */
| ANDAND identifier
{ $$ = finish_label_address_expr ($2); }
! | SIZEOF unary_expr %prec UNARY
! { $$ = finish_sizeof ($2); }
! | SIZEOF '(' type_id ')' %prec HYPERUNARY
{ $$ = finish_sizeof (groktypename ($3.t));
! check_for_new_type ("sizeof", $3); }
! | ALIGNOF unary_expr %prec UNARY
! { $$ = finish_alignof ($2); }
! | ALIGNOF '(' type_id ')' %prec HYPERUNARY
{ $$ = finish_alignof (groktypename ($3.t));
! check_for_new_type ("alignof", $3); }
/* The %prec EMPTY's here are required by the = init initializer
syntax extension; see below. */
--- 1259,1278 ----
/* Refer to the address of a label as a pointer. */
| ANDAND identifier
{ $$ = finish_label_address_expr ($2); }
! | sizeof unary_expr %prec UNARY
! { $$ = finish_sizeof ($2);
! skip_evaluation--; }
! | sizeof '(' type_id ')' %prec HYPERUNARY
{ $$ = finish_sizeof (groktypename ($3.t));
! check_for_new_type ("sizeof", $3);
! skip_evaluation--; }
! | alignof unary_expr %prec UNARY
! { $$ = finish_alignof ($2);
! skip_evaluation--; }
! | alignof '(' type_id ')' %prec HYPERUNARY
{ $$ = finish_alignof (groktypename ($3.t));
! check_for_new_type ("alignof", $3);
! skip_evaluation--; }
/* The %prec EMPTY's here are required by the = init initializer
syntax extension; see below. */
*************** do_id:
*** 1503,1509 ****
don't do_identifier; we only do that for unqualified
identifiers. */
if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST)
! $$ = do_identifier ($-1, 1, NULL_TREE);
else
$$ = $-1;
}
--- 1511,1517 ----
don't do_identifier; we only do that for unqualified
identifiers. */
if (!lastiddecl || TREE_CODE (lastiddecl) != TREE_LIST)
! $$ = do_identifier ($-1, 3, NULL_TREE);
else
$$ = $-1;
}
*************** object_template_id:
*** 1528,1534 ****
unqualified_id:
notype_unqualified_id
! | TYPENAME
| SELFNAME
;
--- 1536,1542 ----
unqualified_id:
notype_unqualified_id
! | tTYPENAME
| SELFNAME
;
*************** reserved_typespecquals:
*** 1989,1994 ****
--- 1997,2014 ----
{ $$ = tree_cons ($1, NULL_TREE, NULL_TREE); }
;
+ sizeof:
+ SIZEOF { skip_evaluation++; }
+ ;
+
+ alignof:
+ ALIGNOF { skip_evaluation++; }
+ ;
+
+ typeof:
+ TYPEOF { skip_evaluation++; }
+ ;
+
/* A typespec (but not a type qualifier).
Once we have seen one of these in a declaration,
if a typedef name appears then it is being redeclared. */
*************** typespec:
*** 2000,2011 ****
{ $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
| complete_type_name
{ $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
! | TYPEOF '(' expr ')'
{ $$.t = finish_typeof ($3);
! $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
! | TYPEOF '(' type_id ')'
{ $$.t = groktypename ($3.t);
! $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
| SIGOF '(' expr ')'
{ tree type = TREE_TYPE ($3);
--- 2020,2033 ----
{ $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
| complete_type_name
{ $$.t = $1; $$.new_type_flag = 0; $$.lookups = NULL_TREE; }
! | typeof '(' expr ')'
{ $$.t = finish_typeof ($3);
! $$.new_type_flag = 0; $$.lookups = NULL_TREE;
! skip_evaluation--; }
! | typeof '(' type_id ')'
{ $$.t = groktypename ($3.t);
! $$.new_type_flag = 0; $$.lookups = NULL_TREE;
! skip_evaluation--; }
| SIGOF '(' expr ')'
{ tree type = TREE_TYPE ($3);
*************** after_type_component_declarator0:
*** 2749,2755 ****
after_type_declarator maybeasm maybe_attribute maybe_init
{ $$ = parse_field0 ($1, $0.t, $0.lookups,
$3, $2, $4); }
! | TYPENAME ':' expr_no_commas maybe_attribute
{ $$ = parse_bitfield0 ($1, $