diff -Nrc3pad gcc-3.2.2/.brik gcc-3.2.3/.brik
*** gcc-3.2.2/.brik Wed Feb 5 03:55:24 2003
--- gcc-3.2.3/.brik Tue Apr 22 09:56:16 2003
***************
*** 4,32 ****
# ------ --------
3205162104b ./.cvsignore
! 2801352305b ./BUGS
2171125041b ./COPYING
508743035b ./COPYING.LIB
! 3927827037b ./ChangeLog
! 2859733475b ./FAQ
4190923194b ./GNATS
2229468985b ./INSTALL/README
! 2594642159b ./INSTALL/binaries.html
! 1150299172b ./INSTALL/build.html
! 2138152758b ./INSTALL/configure.html
! 1908954708b ./INSTALL/download.html
! 827688179b ./INSTALL/finalinstall.html
! 2784342709b ./INSTALL/gfdl.html
! 686439052b ./INSTALL/index.html
! 798593089b ./INSTALL/old.html
! 1770994652b ./INSTALL/specific.html
! 379139745b ./INSTALL/test.html
4287295648b ./MAINTAINERS
3313742257b ./Makefile.in
3697693037b ./README
655018850b ./boehm-gc/AmigaOS.c
2411687152b ./boehm-gc/BCC_MAKEFILE
! 1277390130b ./boehm-gc/ChangeLog
3428452570b ./boehm-gc/EMX_MAKEFILE
145946109b ./boehm-gc/MacOS.c
591574792b ./boehm-gc/MacProjects.sit.hqx
--- 4,32 ----
# ------ --------
3205162104b ./.cvsignore
! 2680648595b ./BUGS
2171125041b ./COPYING
508743035b ./COPYING.LIB
! 3991841618b ./ChangeLog
! 835327280b ./FAQ
4190923194b ./GNATS
2229468985b ./INSTALL/README
! 1594371290b ./INSTALL/binaries.html
! 984517660b ./INSTALL/build.html
! 850286653b ./INSTALL/configure.html
! 3411038527b ./INSTALL/download.html
! 371279032b ./INSTALL/finalinstall.html
! 2697832096b ./INSTALL/gfdl.html
! 3334357163b ./INSTALL/index.html
! 503704929b ./INSTALL/old.html
! 4178635678b ./INSTALL/specific.html
! 2431446841b ./INSTALL/test.html
4287295648b ./MAINTAINERS
3313742257b ./Makefile.in
3697693037b ./README
655018850b ./boehm-gc/AmigaOS.c
2411687152b ./boehm-gc/BCC_MAKEFILE
! 1966835067b ./boehm-gc/ChangeLog
3428452570b ./boehm-gc/EMX_MAKEFILE
145946109b ./boehm-gc/MacOS.c
591574792b ./boehm-gc/MacProjects.sit.hqx
***************
*** 183,194 ****
2467355438b ./boehm-gc/typd_mlc.c
332085760b ./boehm-gc/version.h
3326583566b ./boehm-gc/win32_threads.c
! 2509440942b ./bugs.html
! 3139906847b ./config-ml.in
3794184949b ./config.guess
1864899138b ./config.if
537897852b ./config.sub
! 3400028451b ./config/ChangeLog
3004978457b ./config/acinclude.m4
3007349820b ./config/mh-a68bsd
1442196770b ./config/mh-aix386
--- 183,194 ----
2467355438b ./boehm-gc/typd_mlc.c
332085760b ./boehm-gc/version.h
3326583566b ./boehm-gc/win32_threads.c
! 1129492486b ./bugs.html
! 1583135805b ./config-ml.in
3794184949b ./config.guess
1864899138b ./config.if
537897852b ./config.sub
! 114139691b ./config/ChangeLog
3004978457b ./config/acinclude.m4
3007349820b ./config/mh-a68bsd
1442196770b ./config/mh-aix386
***************
*** 232,238 ****
456622165b ./config/mh-vaxult2
3265825290b ./config/mh-x86pic
198559626b ./config/mpw-mh-mpw
! 1384213553b ./config/mpw/ChangeLog
3145098931b ./config/mpw/MoveIfChange
1476422091b ./config/mpw/README
4005879853b ./config/mpw/forward-include
--- 232,238 ----
456622165b ./config/mh-vaxult2
3265825290b ./config/mh-x86pic
198559626b ./config/mpw-mh-mpw
! 108267066b ./config/mpw/ChangeLog
3145098931b ./config/mpw/MoveIfChange
1476422091b ./config/mpw/README
4005879853b ./config/mpw/forward-include
***************
*** 262,268 ****
771382916b ./config/mt-x86pic
2416042097b ./configure
3230279174b ./configure.in
! 2762145970b ./contrib/ChangeLog
1948950130b ./contrib/analyze_brprob
550196746b ./contrib/compare_tests
2828387446b ./contrib/convert_to_f2c
--- 262,268 ----
771382916b ./config/mt-x86pic
2416042097b ./configure
3230279174b ./configure.in
! 3512451768b ./contrib/ChangeLog
1948950130b ./contrib/analyze_brprob
550196746b ./contrib/compare_tests
2828387446b ./contrib/convert_to_f2c
***************
*** 274,280 ****
109296376b ./contrib/gennews
4256039795b ./contrib/index-prop
3683285493b ./contrib/newcvsroot
! 1731874216b ./contrib/regression/ChangeLog
1757898889b ./contrib/regression/README
1596938872b ./contrib/regression/btest-gcc.sh
4208566980b ./contrib/regression/objs-gcc.sh
--- 274,280 ----
109296376b ./contrib/gennews
4256039795b ./contrib/index-prop
3683285493b ./contrib/newcvsroot
! 2125180271b ./contrib/regression/ChangeLog
1757898889b ./contrib/regression/README
1596938872b ./contrib/regression/btest-gcc.sh
4208566980b ./contrib/regression/objs-gcc.sh
***************
*** 283,293 ****
2523431553b ./contrib/test_summary
3362750683b ./contrib/texi2pod.pl
4228623080b ./contrib/warn_summary
! 3102205468b ./faq.html
1005262133b ./fastjar/AUTHORS
1745615150b ./fastjar/CHANGES
1396100520b ./fastjar/COPYING
! 1593465022b ./fastjar/ChangeLog
2770615802b ./fastjar/INSTALL
3714739366b ./fastjar/Makefile.am
39617579b ./fastjar/Makefile.in
--- 283,293 ----
2523431553b ./contrib/test_summary
3362750683b ./contrib/texi2pod.pl
4228623080b ./contrib/warn_summary
! 2887273247b ./faq.html
1005262133b ./fastjar/AUTHORS
1745615150b ./fastjar/CHANGES
1396100520b ./fastjar/COPYING
! 4056720975b ./fastjar/ChangeLog
2770615802b ./fastjar/INSTALL
3714739366b ./fastjar/Makefile.am
39617579b ./fastjar/Makefile.in
***************
*** 318,324 ****
1758308615b ./gcc/ABOUT-NLS
2171125041b ./gcc/COPYING
508743035b ./gcc/COPYING.LIB
! 4098147965b ./gcc/ChangeLog
1398127668b ./gcc/ChangeLog.0
2827765101b ./gcc/ChangeLog.1
1199055802b ./gcc/ChangeLog.2
--- 318,324 ----
1758308615b ./gcc/ABOUT-NLS
2171125041b ./gcc/COPYING
508743035b ./gcc/COPYING.LIB
! 2608914462b ./gcc/ChangeLog
1398127668b ./gcc/ChangeLog.0
2827765101b ./gcc/ChangeLog.1
1199055802b ./gcc/ChangeLog.2
***************
*** 332,338 ****
3797967515b ./gcc/FSFChangeLog.11
4134111346b ./gcc/LANGUAGES
214390302b ./gcc/Makefile.in
! 435752999b ./gcc/NEWS
538471119b ./gcc/ONEWS
2799003008b ./gcc/README-fixinc
2741038711b ./gcc/README.Portability
--- 332,338 ----
3797967515b ./gcc/FSFChangeLog.11
4134111346b ./gcc/LANGUAGES
214390302b ./gcc/Makefile.in
! 1084812157b ./gcc/NEWS
538471119b ./gcc/ONEWS
2799003008b ./gcc/README-fixinc
2741038711b ./gcc/README.Portability
***************
*** 532,541 ****
1989930650b ./gcc/ada/86numaux.adb
4223067829b ./gcc/ada/86numaux.ads
176063031b ./gcc/ada/9drpc.adb
! 1702217023b ./gcc/ada/ChangeLog
! 3231195932b ./gcc/ada/Make-lang.in
82447397b ./gcc/ada/Makefile.adalib
! 3584028360b ./gcc/ada/Makefile.in
1238937539b ./gcc/ada/a-astaco.adb
4160306902b ./gcc/ada/a-astaco.ads
1228169839b ./gcc/ada/a-caldel.adb
--- 532,541 ----
1989930650b ./gcc/ada/86numaux.adb
4223067829b ./gcc/ada/86numaux.ads
176063031b ./gcc/ada/9drpc.adb
! 3541119639b ./gcc/ada/ChangeLog
! 1021041780b ./gcc/ada/Make-lang.in
82447397b ./gcc/ada/Makefile.adalib
! 3683211435b ./gcc/ada/Makefile.in
1238937539b ./gcc/ada/a-astaco.adb
4160306902b ./gcc/ada/a-astaco.ads
1228169839b ./gcc/ada/a-caldel.adb
***************
*** 1008,1014 ****
2835105488b ./gcc/ada/gnatprep.ads
3865862564b ./gcc/ada/gnatpsta.adb
3829654473b ./gcc/ada/gnatpsys.adb
! 1670534955b ./gcc/ada/gnatvsn.ads
2692053620b ./gcc/ada/gnatxref.adb
577038397b ./gcc/ada/hlo.adb
991320325b ./gcc/ada/hlo.ads
--- 1008,1014 ----
2835105488b ./gcc/ada/gnatprep.ads
3865862564b ./gcc/ada/gnatpsta.adb
3829654473b ./gcc/ada/gnatpsys.adb
! 4288634473b ./gcc/ada/gnatvsn.ads
2692053620b ./gcc/ada/gnatxref.adb
577038397b ./gcc/ada/hlo.adb
991320325b ./gcc/ada/hlo.ads
***************
*** 1064,1070 ****
2167962937b ./gcc/ada/lib-xref.ads
1029825782b ./gcc/ada/lib.adb
1122008701b ./gcc/ada/lib.ads
! 3576767122b ./gcc/ada/link.c
1382287720b ./gcc/ada/live.adb
241788297b ./gcc/ada/live.ads
2349274909b ./gcc/ada/machcode.ads
--- 1064,1070 ----
2167962937b ./gcc/ada/lib-xref.ads
1029825782b ./gcc/ada/lib.adb
1122008701b ./gcc/ada/lib.ads
! 3273789304b ./gcc/ada/link.c
1382287720b ./gcc/ada/live.adb
241788297b ./gcc/ada/live.ads
2349274909b ./gcc/ada/machcode.ads
***************
*** 1693,1740 ****
1423262391b ./gcc/alias.c
1031959714b ./gcc/attribs.c
3996983224b ./gcc/basic-block.h
! 534677057b ./gcc/bb-reorder.c
518972076b ./gcc/bitmap.c
477755928b ./gcc/bitmap.h
540939972b ./gcc/builtin-attrs.def
1736755746b ./gcc/builtin-types.def
! 3805127813b ./gcc/builtins.c
2454689977b ./gcc/builtins.def
420541423b ./gcc/c-aux-info.c
3749632892b ./gcc/c-common.c
2096270511b ./gcc/c-common.def
17222401b ./gcc/c-common.h
1317742909b ./gcc/c-convert.c
! 2201480607b ./gcc/c-decl.c
487899684b ./gcc/c-errors.c
1391364139b ./gcc/c-format.c
1985388077b ./gcc/c-lang.c
382517507b ./gcc/c-lex.c
835686435b ./gcc/c-lex.h
1191094530b ./gcc/c-objc-common.c
! 1694666955b ./gcc/c-parse.c
4048701711b ./gcc/c-parse.in
492383053b ./gcc/c-parse.y
73956308b ./gcc/c-pragma.c
1212765089b ./gcc/c-pragma.h
3567184655b ./gcc/c-semantics.c
2780104305b ./gcc/c-tree.h
! 2926467753b ./gcc/c-typeck.c
4196427447b ./gcc/caller-save.c
3428212111b ./gcc/calls.c
2908854975b ./gcc/cfg.c
2266313517b ./gcc/cfganal.c
2306033851b ./gcc/cfgbuild.c
! 1200507286b ./gcc/cfgcleanup.c
1219429812b ./gcc/cfglayout.c
1858346793b ./gcc/cfglayout.h
3236894730b ./gcc/cfgloop.c
! 2041391494b ./gcc/cfgrtl.c
! 1806916686b ./gcc/collect2.c
653998699b ./gcc/collect2.h
! 3893532884b ./gcc/combine.c
4122382037b ./gcc/conditions.h
! 595953330b ./gcc/config.gcc
1315260558b ./gcc/config.guess
1761565476b ./gcc/config.in
3356933371b ./gcc/config/1750a/1750a-protos.h
--- 1693,1740 ----
1423262391b ./gcc/alias.c
1031959714b ./gcc/attribs.c
3996983224b ./gcc/basic-block.h
! 3664924098b ./gcc/bb-reorder.c
518972076b ./gcc/bitmap.c
477755928b ./gcc/bitmap.h
540939972b ./gcc/builtin-attrs.def
1736755746b ./gcc/builtin-types.def
! 1602117951b ./gcc/builtins.c
2454689977b ./gcc/builtins.def
420541423b ./gcc/c-aux-info.c
3749632892b ./gcc/c-common.c
2096270511b ./gcc/c-common.def
17222401b ./gcc/c-common.h
1317742909b ./gcc/c-convert.c
! 3121341096b ./gcc/c-decl.c
487899684b ./gcc/c-errors.c
1391364139b ./gcc/c-format.c
1985388077b ./gcc/c-lang.c
382517507b ./gcc/c-lex.c
835686435b ./gcc/c-lex.h
1191094530b ./gcc/c-objc-common.c
! 707725569b ./gcc/c-parse.c
4048701711b ./gcc/c-parse.in
492383053b ./gcc/c-parse.y
73956308b ./gcc/c-pragma.c
1212765089b ./gcc/c-pragma.h
3567184655b ./gcc/c-semantics.c
2780104305b ./gcc/c-tree.h
! 1842642506b ./gcc/c-typeck.c
4196427447b ./gcc/caller-save.c
3428212111b ./gcc/calls.c
2908854975b ./gcc/cfg.c
2266313517b ./gcc/cfganal.c
2306033851b ./gcc/cfgbuild.c
! 1767622119b ./gcc/cfgcleanup.c
1219429812b ./gcc/cfglayout.c
1858346793b ./gcc/cfglayout.h
3236894730b ./gcc/cfgloop.c
! 697357307b ./gcc/cfgrtl.c
! 4092688391b ./gcc/collect2.c
653998699b ./gcc/collect2.h
! 1204798801b ./gcc/combine.c
4122382037b ./gcc/conditions.h
! 1610676755b ./gcc/config.gcc
1315260558b ./gcc/config.guess
1761565476b ./gcc/config.in
3356933371b ./gcc/config/1750a/1750a-protos.h
***************
*** 1756,1762 ****
4085134134b ./gcc/config/alpha/alpha-protos.h
830149807b ./gcc/config/alpha/alpha.c
2486755494b ./gcc/config/alpha/alpha.h
! 1955091231b ./gcc/config/alpha/alpha.md
3915788506b ./gcc/config/alpha/alpha32.h
1407988137b ./gcc/config/alpha/crtfastmath.c
221364934b ./gcc/config/alpha/elf.h
--- 1756,1762 ----
4085134134b ./gcc/config/alpha/alpha-protos.h
830149807b ./gcc/config/alpha/alpha.c
2486755494b ./gcc/config/alpha/alpha.h
! 1672390089b ./gcc/config/alpha/alpha.md
3915788506b ./gcc/config/alpha/alpha32.h
1407988137b ./gcc/config/alpha/crtfastmath.c
221364934b ./gcc/config/alpha/elf.h
***************
*** 1767,1773 ****
3901756355b ./gcc/config/alpha/linux.h
1830150315b ./gcc/config/alpha/netbsd.h
156117508b ./gcc/config/alpha/openbsd.h
! 2313475776b ./gcc/config/alpha/osf.h
1792826440b ./gcc/config/alpha/osf12.h
3744703656b ./gcc/config/alpha/osf2or3.h
2776242025b ./gcc/config/alpha/osf5.h
--- 1767,1773 ----
3901756355b ./gcc/config/alpha/linux.h
1830150315b ./gcc/config/alpha/netbsd.h
156117508b ./gcc/config/alpha/openbsd.h
! 4018452315b ./gcc/config/alpha/osf.h
1792826440b ./gcc/config/alpha/osf12.h
3744703656b ./gcc/config/alpha/osf2or3.h
2776242025b ./gcc/config/alpha/osf5.h
***************
*** 1886,1892 ****
2623962717b ./gcc/config/cris/cris-protos.h
937590356b ./gcc/config/cris/cris.c
1846933412b ./gcc/config/cris/cris.h
! 3975834409b ./gcc/config/cris/cris.md
4228128527b ./gcc/config/cris/cris_abi_symbol.c
2550031006b ./gcc/config/cris/linux.h
907689569b ./gcc/config/cris/mulsi3.asm
--- 1886,1892 ----
2623962717b ./gcc/config/cris/cris-protos.h
937590356b ./gcc/config/cris/cris.c
1846933412b ./gcc/config/cris/cris.h
! 1799638103b ./gcc/config/cris/cris.md
4228128527b ./gcc/config/cris/cris_abi_symbol.c
2550031006b ./gcc/config/cris/linux.h
907689569b ./gcc/config/cris/mulsi3.asm
***************
*** 1995,2003 ****
1321445318b ./gcc/config/i386/i386-interix.h
721929446b ./gcc/config/i386/i386-interix3.h
2589129574b ./gcc/config/i386/i386-protos.h
! 2391340311b ./gcc/config/i386/i386.c
! 1737688208b ./gcc/config/i386/i386.h
! 1643637147b ./gcc/config/i386/i386.md
2017248418b ./gcc/config/i386/i386elf.h
1164740130b ./gcc/config/i386/interix.c
3908393755b ./gcc/config/i386/isc.h
--- 1995,2003 ----
1321445318b ./gcc/config/i386/i386-interix.h
721929446b ./gcc/config/i386/i386-interix3.h
2589129574b ./gcc/config/i386/i386-protos.h
! 2676101452b ./gcc/config/i386/i386.c
! 1745281973b ./gcc/config/i386/i386.h
! 1385892283b ./gcc/config/i386/i386.md
2017248418b ./gcc/config/i386/i386elf.h
1164740130b ./gcc/config/i386/interix.c
3908393755b ./gcc/config/i386/isc.h
***************
*** 2006,2013 ****
877642037b ./gcc/config/i386/libgcc-x86_64-glibc.ver
2999558891b ./gcc/config/i386/linux-aout.h
2799520524b ./gcc/config/i386/linux-oldld.h
! 2801664794b ./gcc/config/i386/linux.h
! 1758822745b ./gcc/config/i386/linux64.h
83628421b ./gcc/config/i386/lynx-ng.h
372710545b ./gcc/config/i386/lynx.h
4206477894b ./gcc/config/i386/mach.h
--- 2006,2013 ----
877642037b ./gcc/config/i386/libgcc-x86_64-glibc.ver
2999558891b ./gcc/config/i386/linux-aout.h
2799520524b ./gcc/config/i386/linux-oldld.h
! 767649862b ./gcc/config/i386/linux.h
! 2975476387b ./gcc/config/i386/linux64.h
83628421b ./gcc/config/i386/lynx-ng.h
372710545b ./gcc/config/i386/lynx.h
4206477894b ./gcc/config/i386/mach.h
***************
*** 2212,2218 ****
1109594909b ./gcc/config/m68k/m68k-psos.h
1870424553b ./gcc/config/m68k/m68k.c
3756685982b ./gcc/config/m68k/m68k.h
! 1833592513b ./gcc/config/m68k/m68k.md
2287927144b ./gcc/config/m68k/m68kelf.h
1120822994b ./gcc/config/m68k/m68kemb.h
947783547b ./gcc/config/m68k/m68kv4.h
--- 2212,2218 ----
1109594909b ./gcc/config/m68k/m68k-psos.h
1870424553b ./gcc/config/m68k/m68k.c
3756685982b ./gcc/config/m68k/m68k.h
! 4063689296b ./gcc/config/m68k/m68k.md
2287927144b ./gcc/config/m68k/m68kelf.h
1120822994b ./gcc/config/m68k/m68kemb.h
947783547b ./gcc/config/m68k/m68kv4.h
***************
*** 2324,2330 ****
2743944992b ./gcc/config/mips/iris4loser.h
4137712676b ./gcc/config/mips/iris5.h
1342606731b ./gcc/config/mips/iris5gas.h
! 2714897906b ./gcc/config/mips/iris6.h
2290690324b ./gcc/config/mips/iris6gld.h
3658812670b ./gcc/config/mips/irix6-libc-compat.c
3645898751b ./gcc/config/mips/isa32-linux.h
--- 2324,2330 ----
2743944992b ./gcc/config/mips/iris4loser.h
4137712676b ./gcc/config/mips/iris5.h
1342606731b ./gcc/config/mips/iris5gas.h
! 1473745020b ./gcc/config/mips/iris6.h
2290690324b ./gcc/config/mips/iris6gld.h
3658812670b ./gcc/config/mips/irix6-libc-compat.c
3645898751b ./gcc/config/mips/isa32-linux.h
***************
*** 2332,2341 ****
1922092548b ./gcc/config/mips/linux.h
2202363688b ./gcc/config/mips/little.h
3112223626b ./gcc/config/mips/mips-5.h
! 4191298187b ./gcc/config/mips/mips-protos.h
! 4175300921b ./gcc/config/mips/mips.c
! 1450296441b ./gcc/config/mips/mips.h
! 3326013566b ./gcc/config/mips/mips.md
2024693888b ./gcc/config/mips/mips16.S
3451330990b ./gcc/config/mips/netbsd.h
1685635385b ./gcc/config/mips/news4.h
--- 2332,2341 ----
1922092548b ./gcc/config/mips/linux.h
2202363688b ./gcc/config/mips/little.h
3112223626b ./gcc/config/mips/mips-5.h
! 3798369178b ./gcc/config/mips/mips-protos.h
! 4292919872b ./gcc/config/mips/mips.c
! 1682195442b ./gcc/config/mips/mips.h
! 218198435b ./gcc/config/mips/mips.md
2024693888b ./gcc/config/mips/mips16.S
3451330990b ./gcc/config/mips/netbsd.h
1685635385b ./gcc/config/mips/news4.h
***************
*** 2431,2440 ****
3618123809b ./gcc/config/pa/pa-oldas.h
3108768032b ./gcc/config/pa/pa-osf.h
2360373262b ./gcc/config/pa/pa-pro-end.h
! 1408239843b ./gcc/config/pa/pa-protos.h
! 4191862649b ./gcc/config/pa/pa.c
! 479563046b ./gcc/config/pa/pa.h
! 3424276871b ./gcc/config/pa/pa.md
2660241824b ./gcc/config/pa/pa32-linux.h
3627454173b ./gcc/config/pa/pa32-regs.h
3477747579b ./gcc/config/pa/pa64-hpux.h
--- 2431,2440 ----
3618123809b ./gcc/config/pa/pa-oldas.h
3108768032b ./gcc/config/pa/pa-osf.h
2360373262b ./gcc/config/pa/pa-pro-end.h
! 944974079b ./gcc/config/pa/pa-protos.h
! 4228751593b ./gcc/config/pa/pa.c
! 2873633316b ./gcc/config/pa/pa.h
! 756298139b ./gcc/config/pa/pa.md
2660241824b ./gcc/config/pa/pa32-linux.h
3627454173b ./gcc/config/pa/pa32-regs.h
3477747579b ./gcc/config/pa/pa64-hpux.h
***************
*** 2505,2513 ****
926081320b ./gcc/config/rs6000/netbsd.h
4127185084b ./gcc/config/rs6000/ppc-asm.h
2986503806b ./gcc/config/rs6000/rs6000-protos.h
! 3651688118b ./gcc/config/rs6000/rs6000.c
! 1882734550b ./gcc/config/rs6000/rs6000.h
! 3597268251b ./gcc/config/rs6000/rs6000.md
111710449b ./gcc/config/rs6000/rtems.h
2439652147b ./gcc/config/rs6000/softfloat.h
3703627966b ./gcc/config/rs6000/sol-ci.asm
--- 2505,2513 ----
926081320b ./gcc/config/rs6000/netbsd.h
4127185084b ./gcc/config/rs6000/ppc-asm.h
2986503806b ./gcc/config/rs6000/rs6000-protos.h
! 4042212867b ./gcc/config/rs6000/rs6000.c
! 2995718160b ./gcc/config/rs6000/rs6000.h
! 1487812065b ./gcc/config/rs6000/rs6000.md
111710449b ./gcc/config/rs6000/rtems.h
2439652147b ./gcc/config/rs6000/softfloat.h
3703627966b ./gcc/config/rs6000/sol-ci.asm
***************
*** 2602,2609 ****
1221714757b ./gcc/config/sparc/sp86x-elf.h
4023359087b ./gcc/config/sparc/sparc-protos.h
2169834781b ./gcc/config/sparc/sparc.c
! 3432806460b ./gcc/config/sparc/sparc.h
! 879790849b ./gcc/config/sparc/sparc.md
842964351b ./gcc/config/sparc/splet.h
952337645b ./gcc/config/sparc/sun4gas.h
1795303911b ./gcc/config/sparc/sun4o3.h
--- 2602,2609 ----
1221714757b ./gcc/config/sparc/sp86x-elf.h
4023359087b ./gcc/config/sparc/sparc-protos.h
2169834781b ./gcc/config/sparc/sparc.c
! 679741711b ./gcc/config/sparc/sparc.h
! 707642527b ./gcc/config/sparc/sparc.md
842964351b ./gcc/config/sparc/splet.h
952337645b ./gcc/config/sparc/sun4gas.h
1795303911b ./gcc/config/sparc/sun4o3.h
***************
*** 2690,2698 ****
3617796239b ./gcc/config/xtensa/t-xtensa
2796950173b ./gcc/config/xtensa/xtensa-config.h
981915907b ./gcc/config/xtensa/xtensa-protos.h
! 1944987627b ./gcc/config/xtensa/xtensa.c
! 2453353978b ./gcc/config/xtensa/xtensa.h
! 830696041b ./gcc/config/xtensa/xtensa.md
2019129276b ./gcc/configure
2239237249b ./gcc/configure.frag
862560733b ./gcc/configure.in
--- 2690,2698 ----
3617796239b ./gcc/config/xtensa/t-xtensa
2796950173b ./gcc/config/xtensa/xtensa-config.h
981915907b ./gcc/config/xtensa/xtensa-protos.h
! 62812165b ./gcc/config/xtensa/xtensa.c
! 507316486b ./gcc/config/xtensa/xtensa.h
! 1348387747b ./gcc/config/xtensa/xtensa.md
2019129276b ./gcc/configure
2239237249b ./gcc/configure.frag
862560733b ./gcc/configure.in
***************
*** 2700,2727 ****
2854418854b ./gcc/convert.c
2020855935b ./gcc/convert.h
1230086821b ./gcc/cp/.cvsignore
! 1023496053b ./gcc/cp/ChangeLog
2221404065b ./gcc/cp/ChangeLog.1
2127340768b ./gcc/cp/ChangeLog.2
2546444747b ./gcc/cp/ChangeLog.egcs
2368698010b ./gcc/cp/Make-lang.in
1710026913b ./gcc/cp/NEWS
! 211407592b ./gcc/cp/call.c
4115552602b ./gcc/cp/cfns.gperf
1705070232b ./gcc/cp/cfns.h
! 3828154577b ./gcc/cp/class.c
1309293181b ./gcc/cp/config-lang.in
4084279121b ./gcc/cp/cp-lang.c
2928114977b ./gcc/cp/cp-tree.def
3545021760b ./gcc/cp/cp-tree.h
67222431b ./gcc/cp/cvt.c
! 3933539524b ./gcc/cp/decl.c
3040950596b ./gcc/cp/decl.h
! 662263475b ./gcc/cp/decl2.c
1503739344b ./gcc/cp/dump.c
! 177845186b ./gcc/cp/error.c
197247511b ./gcc/cp/except.c
! 2612079645b ./gcc/cp/expr.c
728682437b ./gcc/cp/friend.c
1574667259b ./gcc/cp/g++.1
3180385434b ./gcc/cp/g++spec.c
--- 2700,2727 ----
2854418854b ./gcc/convert.c
2020855935b ./gcc/convert.h
1230086821b ./gcc/cp/.cvsignore
! 1795683420b ./gcc/cp/ChangeLog
2221404065b ./gcc/cp/ChangeLog.1
2127340768b ./gcc/cp/ChangeLog.2
2546444747b ./gcc/cp/ChangeLog.egcs
2368698010b ./gcc/cp/Make-lang.in
1710026913b ./gcc/cp/NEWS
! 2088201374b ./gcc/cp/call.c
4115552602b ./gcc/cp/cfns.gperf
1705070232b ./gcc/cp/cfns.h
! 596844565b ./gcc/cp/class.c
1309293181b ./gcc/cp/config-lang.in
4084279121b ./gcc/cp/cp-lang.c
2928114977b ./gcc/cp/cp-tree.def
3545021760b ./gcc/cp/cp-tree.h
67222431b ./gcc/cp/cvt.c
! 3585342875b ./gcc/cp/decl.c
3040950596b ./gcc/cp/decl.h
! 952368203b ./gcc/cp/decl2.c
1503739344b ./gcc/cp/dump.c
! 3569782164b ./gcc/cp/error.c
197247511b ./gcc/cp/except.c
! 516514444b ./gcc/cp/expr.c
728682437b ./gcc/cp/friend.c
1574667259b ./gcc/cp/g++.1
3180385434b ./gcc/cp/g++spec.c
***************
*** 2736,2754 ****
4041177245b ./gcc/cp/mpw-make.sed
2349927434b ./gcc/cp/operators.def
622478745b ./gcc/cp/optimize.c
! 1765484930b ./gcc/cp/parse.c
! 3428647714b ./gcc/cp/parse.h
1544139953b ./gcc/cp/parse.y
! 1612002219b ./gcc/cp/pt.c
1408553642b ./gcc/cp/ptree.c
3993964584b ./gcc/cp/repo.c
2834061289b ./gcc/cp/rtti.c
! 161492685b ./gcc/cp/search.c
4064329742b ./gcc/cp/semantics.c
2648162646b ./gcc/cp/spew.c
3384697218b ./gcc/cp/tree.c
3946434476b ./gcc/cp/typeck.c
! 1284974262b ./gcc/cp/typeck2.c
1602205564b ./gcc/cppdefault.c
733799898b ./gcc/cppdefault.h
3582099799b ./gcc/cpperror.c
--- 2736,2754 ----
4041177245b ./gcc/cp/mpw-make.sed
2349927434b ./gcc/cp/operators.def
622478745b ./gcc/cp/optimize.c
! 230679025b ./gcc/cp/parse.c
! 586236678b ./gcc/cp/parse.h
1544139953b ./gcc/cp/parse.y
! 534531070b ./gcc/cp/pt.c
1408553642b ./gcc/cp/ptree.c
3993964584b ./gcc/cp/repo.c
2834061289b ./gcc/cp/rtti.c
! 1987668761b ./gcc/cp/search.c
4064329742b ./gcc/cp/semantics.c
2648162646b ./gcc/cp/spew.c
3384697218b ./gcc/cp/tree.c
3946434476b ./gcc/cp/typeck.c
! 3217357018b ./gcc/cp/typeck2.c
1602205564b ./gcc/cppdefault.c
733799898b ./gcc/cppdefault.h
3582099799b ./gcc/cpperror.c
***************
*** 2789,2816 ****
3399730921b ./gcc/doc/configterms.texi
2163122922b ./gcc/doc/contrib.texi
2272556046b ./gcc/doc/contribute.texi
! 3074111847b ./gcc/doc/cpp.1
3543132597b ./gcc/doc/cpp.texi
1838233798b ./gcc/doc/cppenv.texi
1958814700b ./gcc/doc/cppinternals.texi
685869710b ./gcc/doc/cppopts.texi
! 1477628931b ./gcc/doc/extend.texi
2634996326b ./gcc/doc/fragments.texi
600815516b ./gcc/doc/frontends.texi
! 3214630123b ./gcc/doc/fsf-funding.7
! 2397612846b ./gcc/doc/gcc.1
2344693999b ./gcc/doc/gcc.texi
926520134b ./gcc/doc/gccint.texi
! 2862847340b ./gcc/doc/gcov.1
2529603660b ./gcc/doc/gcov.texi
! 261077961b ./gcc/doc/gfdl.7
4217859569b ./gcc/doc/gnu.texi
! 1420728298b ./gcc/doc/gpl.7
2632697239b ./gcc/doc/headerdirs.texi
1425599017b ./gcc/doc/hostconfig.texi
1232987106b ./gcc/doc/include/fdl.texi
2048065465b ./gcc/doc/include/funding.texi
! 1759928844b ./gcc/doc/include/gcc-common.texi
1416455933b ./gcc/doc/include/gpl.texi
3627483023b ./gcc/doc/include/texinfo.tex
4219640220b ./gcc/doc/install-old.texi
--- 2789,2871 ----
3399730921b ./gcc/doc/configterms.texi
2163122922b ./gcc/doc/contrib.texi
2272556046b ./gcc/doc/contribute.texi
! 1535227762b ./gcc/doc/cpp.1
! 1544384634b ./gcc/doc/cpp.info
! 757073472b ./gcc/doc/cpp.info-1
! 3446855226b ./gcc/doc/cpp.info-2
! 636644590b ./gcc/doc/cpp.info-3
! 3499936017b ./gcc/doc/cpp.info-4
! 3675380875b ./gcc/doc/cpp.info-5
3543132597b ./gcc/doc/cpp.texi
1838233798b ./gcc/doc/cppenv.texi
+ 1685544580b ./gcc/doc/cppinternals.info
1958814700b ./gcc/doc/cppinternals.texi
685869710b ./gcc/doc/cppopts.texi
! 3004272717b ./gcc/doc/extend.texi
2634996326b ./gcc/doc/fragments.texi
600815516b ./gcc/doc/frontends.texi
! 3256871866b ./gcc/doc/fsf-funding.7
! 2658060989b ./gcc/doc/gcc.1
! 4148415874b ./gcc/doc/gcc.info
! 1053864515b ./gcc/doc/gcc.info-1
! 4294678088b ./gcc/doc/gcc.info-10
! 1344046739b ./gcc/doc/gcc.info-11
! 451582535b ./gcc/doc/gcc.info-12
! 4084131178b ./gcc/doc/gcc.info-13
! 1824645699b ./gcc/doc/gcc.info-14
! 1310951679b ./gcc/doc/gcc.info-15
! 3633708433b ./gcc/doc/gcc.info-16
! 2461331410b ./gcc/doc/gcc.info-17
! 4272216147b ./gcc/doc/gcc.info-18
! 3012752365b ./gcc/doc/gcc.info-19
! 2218006986b ./gcc/doc/gcc.info-2
! 1322735281b ./gcc/doc/gcc.info-20
! 471346850b ./gcc/doc/gcc.info-21
! 2053165308b ./gcc/doc/gcc.info-22
! 3102591020b ./gcc/doc/gcc.info-23
! 2266643536b ./gcc/doc/gcc.info-3
! 383482857b ./gcc/doc/gcc.info-4
! 2120276990b ./gcc/doc/gcc.info-5
! 2474168124b ./gcc/doc/gcc.info-6
! 521005660b ./gcc/doc/gcc.info-7
! 686614003b ./gcc/doc/gcc.info-8
! 396552069b ./gcc/doc/gcc.info-9
2344693999b ./gcc/doc/gcc.texi
+ 1868552664b ./gcc/doc/gccint.info
+ 1364694741b ./gcc/doc/gccint.info-1
+ 618166170b ./gcc/doc/gccint.info-10
+ 3363182873b ./gcc/doc/gccint.info-11
+ 301752520b ./gcc/doc/gccint.info-12
+ 4149939712b ./gcc/doc/gccint.info-13
+ 949510653b ./gcc/doc/gccint.info-14
+ 1642518230b ./gcc/doc/gccint.info-15
+ 2069563881b ./gcc/doc/gccint.info-16
+ 925078439b ./gcc/doc/gccint.info-17
+ 3695438277b ./gcc/doc/gccint.info-18
+ 2272377258b ./gcc/doc/gccint.info-19
+ 561325731b ./gcc/doc/gccint.info-2
+ 3982078308b ./gcc/doc/gccint.info-20
+ 3867221700b ./gcc/doc/gccint.info-21
+ 3280571445b ./gcc/doc/gccint.info-22
+ 2008468483b ./gcc/doc/gccint.info-23
+ 797617646b ./gcc/doc/gccint.info-3
+ 1305326084b ./gcc/doc/gccint.info-4
+ 348735569b ./gcc/doc/gccint.info-5
+ 1160338029b ./gcc/doc/gccint.info-6
+ 508232037b ./gcc/doc/gccint.info-7
+ 3871253182b ./gcc/doc/gccint.info-8
+ 976972282b ./gcc/doc/gccint.info-9
926520134b ./gcc/doc/gccint.texi
! 1397513510b ./gcc/doc/gcov.1
2529603660b ./gcc/doc/gcov.texi
! 642118932b ./gcc/doc/gfdl.7
4217859569b ./gcc/doc/gnu.texi
! 422936980b ./gcc/doc/gpl.7
2632697239b ./gcc/doc/headerdirs.texi
1425599017b ./gcc/doc/hostconfig.texi
1232987106b ./gcc/doc/include/fdl.texi
2048065465b ./gcc/doc/include/funding.texi
! 587916905b ./gcc/doc/include/gcc-common.texi
1416455933b ./gcc/doc/include/gpl.texi
3627483023b ./gcc/doc/include/texinfo.tex
4219640220b ./gcc/doc/install-old.texi
***************
*** 2822,2828 ****
409601074b ./gcc/doc/makefile.texi
647485435b ./gcc/doc/md.texi
2014418726b ./gcc/doc/objc.texi
! 3181886502b ./gcc/doc/passes.texi
2247614285b ./gcc/doc/portability.texi
2576532070b ./gcc/doc/rtl.texi
3603168219b ./gcc/doc/service.texi
--- 2877,2883 ----
409601074b ./gcc/doc/makefile.texi
647485435b ./gcc/doc/md.texi
2014418726b ./gcc/doc/objc.texi
! 1074700556b ./gcc/doc/passes.texi
2247614285b ./gcc/doc/portability.texi
2576532070b ./gcc/doc/rtl.texi
3603168219b ./gcc/doc/service.texi
***************
*** 2838,2844 ****
2184520814b ./gcc/dwarf2.h
31829346b ./gcc/dwarf2asm.c
2077057275b ./gcc/dwarf2asm.h
! 3548213262b ./gcc/dwarf2out.c
1010158138b ./gcc/dwarf2out.h
3359840971b ./gcc/dwarfout.c
3336789552b ./gcc/emit-rtl.c
--- 2893,2899 ----
2184520814b ./gcc/dwarf2.h
31829346b ./gcc/dwarf2asm.c
2077057275b ./gcc/dwarf2asm.h
! 1918216770b ./gcc/dwarf2out.c
1010158138b ./gcc/dwarf2out.h
3359840971b ./gcc/dwarfout.c
3336789552b ./gcc/emit-rtl.c
***************
*** 2849,2862 ****
2826708782b ./gcc/except.h
908040152b ./gcc/explow.c
1156766543b ./gcc/expmed.c
! 1153850684b ./gcc/expr.c
980675150b ./gcc/expr.h
1546791101b ./gcc/f/.cvsignore
! 3780604014b ./gcc/f/BUGS
! 557093981b ./gcc/f/ChangeLog
4225493150b ./gcc/f/ChangeLog.0
2403016299b ./gcc/f/Make-lang.in
! 4068129251b ./gcc/f/NEWS
281424983b ./gcc/f/README
3295584012b ./gcc/f/RELEASE-PREP
1934744031b ./gcc/f/ansify.c
--- 2904,2917 ----
2826708782b ./gcc/except.h
908040152b ./gcc/explow.c
1156766543b ./gcc/expmed.c
! 1064280766b ./gcc/expr.c
980675150b ./gcc/expr.h
1546791101b ./gcc/f/.cvsignore
! 2016181825b ./gcc/f/BUGS
! 2146318605b ./gcc/f/ChangeLog
4225493150b ./gcc/f/ChangeLog.0
2403016299b ./gcc/f/Make-lang.in
! 3908583628b ./gcc/f/NEWS
281424983b ./gcc/f/README
3295584012b ./gcc/f/RELEASE-PREP
1934744031b ./gcc/f/ansify.c
***************
*** 2882,2888 ****
417834755b ./gcc/f/expr.h
2351117682b ./gcc/f/ffe.texi
782070966b ./gcc/f/fini.c
! 2403387907b ./gcc/f/g77.1
3054392079b ./gcc/f/g77.texi
2824974536b ./gcc/f/g77spec.c
4062822261b ./gcc/f/global.c
--- 2937,2965 ----
417834755b ./gcc/f/expr.h
2351117682b ./gcc/f/ffe.texi
782070966b ./gcc/f/fini.c
! 1751461796b ./gcc/f/g77.1
! 3841913874b ./gcc/f/g77.info
! 2480007383b ./gcc/f/g77.info-1
! 2368693530b ./gcc/f/g77.info-10
! 1452968741b ./gcc/f/g77.info-11
! 4253343420b ./gcc/f/g77.info-12
! 1335253876b ./gcc/f/g77.info-13
! 1460006442b ./gcc/f/g77.info-14
! 735239497b ./gcc/f/g77.info-15
! 4083034865b ./gcc/f/g77.info-16
! 12335273b ./gcc/f/g77.info-17
! 2200796034b ./gcc/f/g77.info-18
! 671514182b ./gcc/f/g77.info-19
! 1680815922b ./gcc/f/g77.info-2
! 2044269147b ./gcc/f/g77.info-20
! 863778320b ./gcc/f/g77.info-21
! 3183619273b ./gcc/f/g77.info-3
! 79160293b ./gcc/f/g77.info-4
! 390737386b ./gcc/f/g77.info-5
! 1607363995b ./gcc/f/g77.info-6
! 2946328607b ./gcc/f/g77.info-7
! 102401303b ./gcc/f/g77.info-8
! 4260619545b ./gcc/f/g77.info-9
3054392079b ./gcc/f/g77.texi
2824974536b ./gcc/f/g77spec.c
4062822261b ./gcc/f/global.c
***************
*** 2915,2921 ****
3453379674b ./gcc/f/news0.texi
2696377463b ./gcc/f/parse.c
1067232252b ./gcc/f/proj.h
! 2334980185b ./gcc/f/root.texi
3531682397b ./gcc/f/src.c
246620254b ./gcc/f/src.h
3466162958b ./gcc/f/st.c
--- 2992,2998 ----
3453379674b ./gcc/f/news0.texi
2696377463b ./gcc/f/parse.c
1067232252b ./gcc/f/proj.h
! 2321878455b ./gcc/f/root.texi
3531682397b ./gcc/f/src.c
246620254b ./gcc/f/src.h
3466162958b ./gcc/f/st.c
***************
*** 2962,2968 ****
2232338664b ./gcc/f/top.h
3443401298b ./gcc/f/type.c
2499934202b ./gcc/f/type.h
! 1209796418b ./gcc/f/version.c
1781447679b ./gcc/f/version.h
3584291506b ./gcc/f/where.c
819940437b ./gcc/f/where.h
--- 3039,3045 ----
2232338664b ./gcc/f/top.h
3443401298b ./gcc/f/type.c
2499934202b ./gcc/f/type.h
! 1303748387b ./gcc/f/version.c
1781447679b ./gcc/f/version.h
3584291506b ./gcc/f/where.c
819940437b ./gcc/f/where.h
***************
*** 2973,2979 ****
2894614091b ./gcc/fixinc/check.tpl
697597425b ./gcc/fixinc/fixfixes.c
3110054233b ./gcc/fixinc/fixinc.dgux
! 15758129b ./gcc/fixinc/fixinc.interix
1474597097b ./gcc/fixinc/fixinc.ptx
1901674452b ./gcc/fixinc/fixinc.svr4
2193207840b ./gcc/fixinc/fixinc.winnt
--- 3050,3056 ----
2894614091b ./gcc/fixinc/check.tpl
697597425b ./gcc/fixinc/fixfixes.c
3110054233b ./gcc/fixinc/fixinc.dgux
! 125459277b ./gcc/fixinc/fixinc.interix
1474597097b ./gcc/fixinc/fixinc.ptx
1901674452b ./gcc/fixinc/fixinc.svr4
2193207840b ./gcc/fixinc/fixinc.winnt
***************
*** 2981,2994 ****
1824978333b ./gcc/fixinc/fixincl.c
4214658264b ./gcc/fixinc/fixincl.sh
2178021789b ./gcc/fixinc/fixincl.tpl
! 3312009046b ./gcc/fixinc/fixincl.x
1372603529b ./gcc/fixinc/fixlib.c
971233728b ./gcc/fixinc/fixlib.h
4013194329b ./gcc/fixinc/fixtests.c
2003329934b ./gcc/fixinc/genfixes
605191257b ./gcc/fixinc/gnu-regex.c
1403987073b ./gcc/fixinc/gnu-regex.h
! 2194272133b ./gcc/fixinc/inclhack.def
3327140809b ./gcc/fixinc/mkfixinc.sh
1834585069b ./gcc/fixinc/procopen.c
1750379031b ./gcc/fixinc/server.c
--- 3058,3071 ----
1824978333b ./gcc/fixinc/fixincl.c
4214658264b ./gcc/fixinc/fixincl.sh
2178021789b ./gcc/fixinc/fixincl.tpl
! 2557317697b ./gcc/fixinc/fixincl.x
1372603529b ./gcc/fixinc/fixlib.c
971233728b ./gcc/fixinc/fixlib.h
4013194329b ./gcc/fixinc/fixtests.c
2003329934b ./gcc/fixinc/genfixes
605191257b ./gcc/fixinc/gnu-regex.c
1403987073b ./gcc/fixinc/gnu-regex.h
! 3231767803b ./gcc/fixinc/inclhack.def
3327140809b ./gcc/fixinc/mkfixinc.sh
1834585069b ./gcc/fixinc/procopen.c
1750379031b ./gcc/fixinc/server.c
***************
*** 3006,3015 ****
--- 3083,3095 ----
3220984809b ./gcc/fixinc/tests/base/bsd/libc.h
1799847368b ./gcc/fixinc/tests/base/c_asm.h
2725396384b ./gcc/fixinc/tests/base/ctrl-quotes-def-1.h
+ 192637121b ./gcc/fixinc/tests/base/ctype.h
3049981119b ./gcc/fixinc/tests/base/curses.h
2909636960b ./gcc/fixinc/tests/base/fcntl.h
3901972537b ./gcc/fixinc/tests/base/fixinc-test-limits.h
4150745363b ./gcc/fixinc/tests/base/hsfs/hsfs_spec.h
+ 1298358958b ./gcc/fixinc/tests/base/internal/sgimacros.h
+ 2484816269b ./gcc/fixinc/tests/base/internal/wchar_core.h
2118846136b ./gcc/fixinc/tests/base/inttypes.h
92918392b ./gcc/fixinc/tests/base/io-quotes-def-1.h
2670651204b ./gcc/fixinc/tests/base/libgen.h
***************
*** 3019,3025 ****
2373596333b ./gcc/fixinc/tests/base/netdnet/dnetdb.h
4211518276b ./gcc/fixinc/tests/base/netinet/ip.h
3107111098b ./gcc/fixinc/tests/base/pixrect/memvar.h
! 634408265b ./gcc/fixinc/tests/base/pthread.h
351364386b ./gcc/fixinc/tests/base/reg_types.h
2876721819b ./gcc/fixinc/tests/base/regex.h
2249464053b ./gcc/fixinc/tests/base/rpc/auth.h
--- 3099,3105 ----
2373596333b ./gcc/fixinc/tests/base/netdnet/dnetdb.h
4211518276b ./gcc/fixinc/tests/base/netinet/ip.h
3107111098b ./gcc/fixinc/tests/base/pixrect/memvar.h
! 372953949b ./gcc/fixinc/tests/base/pthread.h
351364386b ./gcc/fixinc/tests/base/reg_types.h
2876721819b ./gcc/fixinc/tests/base/regex.h
2249464053b ./gcc/fixinc/tests/base/rpc/auth.h
***************
*** 3031,3037 ****
135186565b ./gcc/fixinc/tests/base/sparc/asm_linkage.h
1583769396b ./gcc/fixinc/tests/base/stdio.h
1529509815b ./gcc/fixinc/tests/base/stdio_tag.h
! 135522837b ./gcc/fixinc/tests/base/stdlib.h
2907849084b ./gcc/fixinc/tests/base/strings.h
482468002b ./gcc/fixinc/tests/base/sundev/vuid_event.h
1807434691b ./gcc/fixinc/tests/base/sunwindow/win_lock.h
--- 3111,3117 ----
135186565b ./gcc/fixinc/tests/base/sparc/asm_linkage.h
1583769396b ./gcc/fixinc/tests/base/stdio.h
1529509815b ./gcc/fixinc/tests/base/stdio_tag.h
! 3122205252b ./gcc/fixinc/tests/base/stdlib.h
2907849084b ./gcc/fixinc/tests/base/strings.h
482468002b ./gcc/fixinc/tests/base/sundev/vuid_event.h
1807434691b ./gcc/fixinc/tests/base/sunwindow/win_lock.h
***************
*** 3046,3053 ****
1230050207b ./gcc/fixinc/tests/base/sys/mman.h
3800154687b ./gcc/fixinc/tests/base/sys/param.h
3041640682b ./gcc/fixinc/tests/base/sys/signal.h
2450632911b ./gcc/fixinc/tests/base/sys/spinlock.h
! 711604668b ./gcc/fixinc/tests/base/sys/stat.h
2422167059b ./gcc/fixinc/tests/base/sys/time.h
2994886866b ./gcc/fixinc/tests/base/sys/times.h
1174710562b ./gcc/fixinc/tests/base/sys/types.h
--- 3126,3134 ----
1230050207b ./gcc/fixinc/tests/base/sys/mman.h
3800154687b ./gcc/fixinc/tests/base/sys/param.h
3041640682b ./gcc/fixinc/tests/base/sys/signal.h
+ 85483121b ./gcc/fixinc/tests/base/sys/socket.h
2450632911b ./gcc/fixinc/tests/base/sys/spinlock.h
! 2880344765b ./gcc/fixinc/tests/base/sys/stat.h
2422167059b ./gcc/fixinc/tests/base/sys/time.h
2994886866b ./gcc/fixinc/tests/base/sys/times.h
1174710562b ./gcc/fixinc/tests/base/sys/types.h
***************
*** 3063,3071 ****
3658835587b ./gcc/flags.h
1465737068b ./gcc/floatlib.c
959822363b ./gcc/flow.c
! 2192581144b ./gcc/fold-const.c
3820449811b ./gcc/fp-test.c
! 2059019769b ./gcc/function.c
316231375b ./gcc/function.h
3058774034b ./gcc/future.options
1214866690b ./gcc/gbl-ctors.h
--- 3144,3152 ----
3658835587b ./gcc/flags.h
1465737068b ./gcc/floatlib.c
959822363b ./gcc/flow.c
! 3465354917b ./gcc/fold-const.c
3820449811b ./gcc/fp-test.c
! 1394029795b ./gcc/function.c
316231375b ./gcc/function.h
3058774034b ./gcc/future.options
1214866690b ./gcc/gbl-ctors.h
***************
*** 3076,3082 ****
3633749318b ./gcc/gccspec.c
4197147799b ./gcc/gcov-io.h
3825112355b ./gcc/gcov.c
! 1895463511b ./gcc/gcse.c
802469235b ./gcc/gdbinit.in
4293398944b ./gcc/gen-protos.c
3638083387b ./gcc/genattr.c
--- 3157,3163 ----
3633749318b ./gcc/gccspec.c
4197147799b ./gcc/gcov-io.h
3825112355b ./gcc/gcov.c
! 1524721645b ./gcc/gcse.c
802469235b ./gcc/gdbinit.in
4293398944b ./gcc/gen-protos.c
3638083387b ./gcc/genattr.c
***************
*** 3136,3149 ****
3796251430b ./gcc/hooks.c
779103435b ./gcc/hooks.h
519586985b ./gcc/hwint.h
! 3563549730b ./gcc/ifcvt.c
3686080794b ./gcc/input.h
2324132584b ./gcc/insn-addr.h
3301445102b ./gcc/integrate.c
1320722832b ./gcc/integrate.h
3277280645b ./gcc/intl.c
2379664116b ./gcc/intl.h
! 3589497609b ./gcc/intl/ChangeLog
680616337b ./gcc/intl/Makefile.in
1166279255b ./gcc/intl/VERSION
3847321727b ./gcc/intl/bindtextdom.c
--- 3217,3230 ----
3796251430b ./gcc/hooks.c
779103435b ./gcc/hooks.h
519586985b ./gcc/hwint.h
! 2453090619b ./gcc/ifcvt.c
3686080794b ./gcc/input.h
2324132584b ./gcc/insn-addr.h
3301445102b ./gcc/integrate.c
1320722832b ./gcc/integrate.h
3277280645b ./gcc/intl.c
2379664116b ./gcc/intl.h
! 1081445972b ./gcc/intl/ChangeLog
680616337b ./gcc/intl/Makefile.in
1166279255b ./gcc/intl/VERSION
3847321727b ./gcc/intl/bindtextdom.c
***************
*** 3175,3181 ****
1121743739b ./gcc/intl/ref-del.sin
1971238900b ./gcc/intl/textdomain.c
503022028b ./gcc/java/.cvsignore
! 94505238b ./gcc/java/ChangeLog
3840961705b ./gcc/java/Make-lang.in
1752055498b ./gcc/java/boehm.c
3814965188b ./gcc/java/buffer.c
--- 3256,3262 ----
1121743739b ./gcc/intl/ref-del.sin
1971238900b ./gcc/intl/textdomain.c
503022028b ./gcc/java/.cvsignore
! 308773326b ./gcc/java/ChangeLog
3840961705b ./gcc/java/Make-lang.in
1752055498b ./gcc/java/boehm.c
3814965188b ./gcc/java/buffer.c
***************
*** 3190,3200 ****
698834578b ./gcc/java/decl.c
1301173842b ./gcc/java/except.c
1888306202b ./gcc/java/expr.c
! 1826575023b ./gcc/java/gcj.1
! 2122686942b ./gcc/java/gcj.texi
! 919789269b ./gcc/java/gcjh.1
533046670b ./gcc/java/gen-table.pl
! 831837047b ./gcc/java/gij.1
2862690686b ./gcc/java/gjavah.c
1545050516b ./gcc/java/java-except.h
1953641142b ./gcc/java/java-opcodes.h
--- 3271,3284 ----
698834578b ./gcc/java/decl.c
1301173842b ./gcc/java/except.c
1888306202b ./gcc/java/expr.c
! 867039953b ./gcc/java/gcj.1
! 1220042288b ./gcc/java/gcj.info
! 580198789b ./gcc/java/gcj.info-1
! 1591575875b ./gcc/java/gcj.info-2
! 2232106844b ./gcc/java/gcj.texi
! 2313957134b ./gcc/java/gcjh.1
533046670b ./gcc/java/gen-table.pl
! 2558615881b ./gcc/java/gij.1
2862690686b ./gcc/java/gjavah.c
1545050516b ./gcc/java/java-except.h
1953641142b ./gcc/java/java-opcodes.h
***************
*** 3203,3209 ****
2538410445b ./gcc/java/javaop.def
872575611b ./gcc/java/javaop.h
1618392854b ./gcc/java/jcf-depend.c
! 2109340318b ./gcc/java/jcf-dump.1
1347786459b ./gcc/java/jcf-dump.c
370700983b ./gcc/java/jcf-io.c
981094631b ./gcc/java/jcf-parse.c
--- 3287,3293 ----
2538410445b ./gcc/java/javaop.def
872575611b ./gcc/java/javaop.h
1618392854b ./gcc/java/jcf-depend.c
! 3138781441b ./gcc/java/jcf-dump.1
1347786459b ./gcc/java/jcf-dump.c
370700983b ./gcc/java/jcf-io.c
981094631b ./gcc/java/jcf-parse.c
***************
*** 3211,3218 ****
3070824570b ./gcc/java/jcf-reader.c
3086938723b ./gcc/java/jcf-write.c
921328820b ./gcc/java/jcf.h
! 453061584b ./gcc/java/jv-convert.1
! 622445440b ./gcc/java/jv-scan.1
3491242747b ./gcc/java/jv-scan.c
3805988298b ./gcc/java/jvgenmain.c
686969605b ./gcc/java/jvspec.c
--- 3295,3302 ----
3070824570b ./gcc/java/jcf-reader.c
3086938723b ./gcc/java/jcf-write.c
921328820b ./gcc/java/jcf.h
! 1315261195b ./gcc/java/jv-convert.1
! 2401697144b ./gcc/java/jv-scan.1
3491242747b ./gcc/java/jv-scan.c
3805988298b ./gcc/java/jvgenmain.c
686969605b ./gcc/java/jvspec.c
***************
*** 3225,3244 ****
1057768549b ./gcc/java/lex.h
1290236487b ./gcc/java/mangle.c
624686086b ./gcc/java/mangle_name.c
! 1720459878b ./gcc/java/parse-scan.c
578153036b ./gcc/java/parse-scan.y
! 3319744662b ./gcc/java/parse.c
924019294b ./gcc/java/parse.h
! 2763518333b ./gcc/java/parse.y
! 3063299109b ./gcc/java/rmic.1
! 2868759624b ./gcc/java/rmiregistry.1
2066605666b ./gcc/java/typeck.c
173829162b ./gcc/java/verify.c
3207437983b ./gcc/java/xref.c
3070080051b ./gcc/java/xref.h
2742723736b ./gcc/java/zextract.c
1459175152b ./gcc/java/zipfile.h
! 235531345b ./gcc/jump.c
1885354315b ./gcc/langhooks-def.h
4163847594b ./gcc/langhooks.c
718654791b ./gcc/langhooks.h
--- 3309,3328 ----
1057768549b ./gcc/java/lex.h
1290236487b ./gcc/java/mangle.c
624686086b ./gcc/java/mangle_name.c
! 2212453332b ./gcc/java/parse-scan.c
578153036b ./gcc/java/parse-scan.y
! 3918875946b ./gcc/java/parse.c
924019294b ./gcc/java/parse.h
! 2160466893b ./gcc/java/parse.y
! 241511114b ./gcc/java/rmic.1
! 3124361170b ./gcc/java/rmiregistry.1
2066605666b ./gcc/java/typeck.c
173829162b ./gcc/java/verify.c
3207437983b ./gcc/java/xref.c
3070080051b ./gcc/java/xref.h
2742723736b ./gcc/java/zextract.c
1459175152b ./gcc/java/zipfile.h
! 2200195809b ./gcc/jump.c
1885354315b ./gcc/langhooks-def.h
4163847594b ./gcc/langhooks.c
718654791b ./gcc/langhooks.h
***************
*** 3280,3286 ****
3712044081b ./gcc/objc/objc-act.c
2554922770b ./gcc/objc/objc-act.h
2534517289b ./gcc/objc/objc-lang.c
! 3629705469b ./gcc/objc/objc-parse.c
1805259703b ./gcc/objc/objc-parse.y
688475759b ./gcc/objc/objc-tree.def
4077044196b ./gcc/optabs.c
--- 3364,3370 ----
3712044081b ./gcc/objc/objc-act.c
2554922770b ./gcc/objc/objc-act.h
2534517289b ./gcc/objc/objc-lang.c
! 1958451116b ./gcc/objc/objc-parse.c
1805259703b ./gcc/objc/objc-parse.y
688475759b ./gcc/objc/objc-tree.def
4077044196b ./gcc/optabs.c
***************
*** 3289,3295 ****
1911824904b ./gcc/params.c
2474575794b ./gcc/params.def
840880994b ./gcc/params.h
! 2082043896b ./gcc/po/ChangeLog
4281232887b ./gcc/po/EXCLUDES
275286308b ./gcc/po/da.gmo
276047898b ./gcc/po/da.po
--- 3373,3379 ----
1911824904b ./gcc/params.c
2474575794b ./gcc/params.def
840880994b ./gcc/params.h
! 3997221312b ./gcc/po/ChangeLog
4281232887b ./gcc/po/EXCLUDES
275286308b ./gcc/po/da.gmo
276047898b ./gcc/po/da.po
***************
*** 3309,3315 ****
1330626989b ./gcc/po/sv.po
866561722b ./gcc/po/tr.gmo
3345738807b ./gcc/po/tr.po
! 1839892656b ./gcc/predict.c
1371462395b ./gcc/predict.def
204342296b ./gcc/predict.h
542352850b ./gcc/prefix.c
--- 3393,3399 ----
1330626989b ./gcc/po/sv.po
866561722b ./gcc/po/tr.gmo
3345738807b ./gcc/po/tr.po
! 3161983355b ./gcc/predict.c
1371462395b ./gcc/predict.def
204342296b ./gcc/predict.h
542352850b ./gcc/prefix.c
***************
*** 3319,3336 ****
2666623009b ./gcc/profile.c
1610870410b ./gcc/protoize.c
2723074973b ./gcc/read-rtl.c
! 2962281463b ./gcc/real.c
2885483337b ./gcc/real.h
1758079687b ./gcc/recog.c
2056680576b ./gcc/recog.h
3611458427b ./gcc/reg-stack.c
57810796b ./gcc/regclass.c
! 3586182830b ./gcc/regmove.c
113125100b ./gcc/regrename.c
3100477763b ./gcc/regs.h
! 55889624b ./gcc/reload.c
834085082b ./gcc/reload.h
! 664936410b ./gcc/reload1.c
4167441145b ./gcc/reorg.c
2715704724b ./gcc/resource.c
2605579460b ./gcc/resource.h
--- 3403,3420 ----
2666623009b ./gcc/profile.c
1610870410b ./gcc/protoize.c
2723074973b ./gcc/read-rtl.c
! 17316212b ./gcc/real.c
2885483337b ./gcc/real.h
1758079687b ./gcc/recog.c
2056680576b ./gcc/recog.h
3611458427b ./gcc/reg-stack.c
57810796b ./gcc/regclass.c
! 2157731750b ./gcc/regmove.c
113125100b ./gcc/regrename.c
3100477763b ./gcc/regs.h
! 3794134282b ./gcc/reload.c
834085082b ./gcc/reload.h
! 1807817122b ./gcc/reload1.c
4167441145b ./gcc/reorg.c
2715704724b ./gcc/resource.c
2605579460b ./gcc/resource.h
***************
*** 3353,3359 ****
3014933100b ./gcc/sdbout.c
1391855772b ./gcc/sdbout.h
2225673670b ./gcc/sibcall.c
! 63942362b ./gcc/simplify-rtx.c
3345261950b ./gcc/sort-protos
3407562807b ./gcc/ssa-ccp.c
2078369101b ./gcc/ssa-dce.c
--- 3437,3443 ----
3014933100b ./gcc/sdbout.c
1391855772b ./gcc/sdbout.h
2225673670b ./gcc/sibcall.c
! 2715461417b ./gcc/simplify-rtx.c
3345261950b ./gcc/sort-protos
3407562807b ./gcc/ssa-ccp.c
2078369101b ./gcc/ssa-dce.c
***************
*** 3361,3375 ****
332547863b ./gcc/ssa.h
2395322097b ./gcc/stab.def
471587796b ./gcc/stack.h
! 958722845b ./gcc/stmt.c
2592810543b ./gcc/stor-layout.c
3515875777b ./gcc/stringpool.c
567176141b ./gcc/sys-protos.h
482558466b ./gcc/sys-types.h
! 1242992540b ./gcc/system.h
293723253b ./gcc/target-def.h
4078089769b ./gcc/target.h
! 3879441548b ./gcc/testsuite/ChangeLog
986418331b ./gcc/testsuite/README
4258789052b ./gcc/testsuite/README.g++
174183124b ./gcc/testsuite/README.gcc
--- 3445,3459 ----
332547863b ./gcc/ssa.h
2395322097b ./gcc/stab.def
471587796b ./gcc/stack.h
! 114049826b ./gcc/stmt.c
2592810543b ./gcc/stor-layout.c
3515875777b ./gcc/stringpool.c
567176141b ./gcc/sys-protos.h
482558466b ./gcc/sys-types.h
! 524381800b ./gcc/system.h
293723253b ./gcc/target-def.h
4078089769b ./gcc/target.h
! 2721909951b ./gcc/testsuite/ChangeLog
986418331b ./gcc/testsuite/README
4258789052b ./gcc/testsuite/README.g++
174183124b ./gcc/testsuite/README.gcc
***************
*** 5101,5106 ****
--- 5185,5191 ----
3028501104b ./gcc/testsuite/g++.dg/ext/typeof1.C
2139267109b ./gcc/testsuite/g++.dg/ext/typeof2.C
4011489903b ./gcc/testsuite/g++.dg/ext/typeof3.C
+ 3374727940b ./gcc/testsuite/g++.dg/ext/typeof4.C
3384117993b ./gcc/testsuite/g++.dg/ext/vla1.C
4261072225b ./gcc/testsuite/g++.dg/ext/vlm1.C
546216042b ./gcc/testsuite/g++.dg/ext/vlm2.C
***************
*** 5157,5162 ****
--- 5242,5249 ----
1496969096b ./gcc/testsuite/g++.dg/opt/ptrintsum1.C
571185401b ./gcc/testsuite/g++.dg/opt/reg-stack.C
1557651694b ./gcc/testsuite/g++.dg/opt/reload1.C
+ 2822399311b ./gcc/testsuite/g++.dg/opt/reload2.C
+ 2874679179b ./gcc/testsuite/g++.dg/opt/rtti1.C
1124740865b ./gcc/testsuite/g++.dg/opt/static1.C
684782459b ./gcc/testsuite/g++.dg/opt/static2.C
4154721541b ./gcc/testsuite/g++.dg/opt/thunk1.C
***************
*** 5186,5192 ****
2096815409b ./gcc/testsuite/g++.dg/other/init1.C
2028368016b ./gcc/testsuite/g++.dg/other/init2.C
2143945221b ./gcc/testsuite/g++.dg/other/linkage1.C
! 2384288796b ./gcc/testsuite/g++.dg/other/pragma-ep-1.C
198088036b ./gcc/testsuite/g++.dg/other/pragma-re-1.C
1453288357b ./gcc/testsuite/g++.dg/other/ptrmem1.C
392352692b ./gcc/testsuite/g++.dg/other/ptrmem2.C
--- 5273,5279 ----
2096815409b ./gcc/testsuite/g++.dg/other/init1.C
2028368016b ./gcc/testsuite/g++.dg/other/init2.C
2143945221b ./gcc/testsuite/g++.dg/other/linkage1.C
! 1073045139b ./gcc/testsuite/g++.dg/other/pragma-ep-1.C
198088036b ./gcc/testsuite/g++.dg/other/pragma-re-1.C
1453288357b ./gcc/testsuite/g++.dg/other/ptrmem1.C
392352692b ./gcc/testsuite/g++.dg/other/ptrmem2.C
***************
*** 5231,5236 ****
--- 5318,5324 ----
184359799b ./gcc/testsuite/g++.dg/template/dtor1.C
1161800603b ./gcc/testsuite/g++.dg/template/explicit-instantiation.C
3595433718b ./gcc/testsuite/g++.dg/template/friend.C
+ 2661209683b ./gcc/testsuite/g++.dg/template/friend16.C
3302501697b ./gcc/testsuite/g++.dg/template/friend3.C
587931705b ./gcc/testsuite/g++.dg/template/friend4.C
3560434139b ./gcc/testsuite/g++.dg/template/friend5.C
***************
*** 5272,5277 ****
--- 5360,5367 ----
1028564434b ./gcc/testsuite/g++.dg/template/sizeof1.C
2914549620b ./gcc/testsuite/g++.dg/template/spec1.C
2378483146b ./gcc/testsuite/g++.dg/template/spec2.C
+ 177374413b ./gcc/testsuite/g++.dg/template/spec7.C
+ 3516934395b ./gcc/testsuite/g++.dg/template/spec8.C
3770294113b ./gcc/testsuite/g++.dg/template/static1.C
2876903140b ./gcc/testsuite/g++.dg/template/static2.C
1689207326b ./gcc/testsuite/g++.dg/template/strlen1.C
***************
*** 5300,5305 ****
--- 5390,5396 ----
1455133800b ./gcc/testsuite/g++.dg/warn/format1.C
886747822b ./gcc/testsuite/g++.dg/warn/format2.C
2805519034b ./gcc/testsuite/g++.dg/warn/friend.C
+ 334159724b ./gcc/testsuite/g++.dg/warn/implicit-typename1.C
3402610409b ./gcc/testsuite/g++.dg/warn/oldcast1.C
2394314287b ./gcc/testsuite/g++.dg/warn/return-reference.C
3714230484b ./gcc/testsuite/g++.dg/warn/weak1.C
***************
*** 7112,7118 ****
3099602163b ./gcc/testsuite/g++.old-deja/g++.ns/using7.C
396388537b ./gcc/testsuite/g++.old-deja/g++.ns/using8.C
536814910b ./gcc/testsuite/g++.old-deja/g++.ns/using9.C
! 3652230393b ./gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
3728265872b ./gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C
3026414575b ./gcc/testsuite/g++.old-deja/g++.oliva/delete1.C
3639944207b ./gcc/testsuite/g++.old-deja/g++.oliva/delete2.C
--- 7203,7209 ----
3099602163b ./gcc/testsuite/g++.old-deja/g++.ns/using7.C
396388537b ./gcc/testsuite/g++.old-deja/g++.ns/using8.C
536814910b ./gcc/testsuite/g++.old-deja/g++.ns/using9.C
! 624680462b ./gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
3728265872b ./gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C
3026414575b ./gcc/testsuite/g++.old-deja/g++.oliva/delete1.C
3639944207b ./gcc/testsuite/g++.old-deja/g++.oliva/delete2.C
***************
*** 8915,8920 ****
--- 9006,9015 ----
953842788b ./gcc/testsuite/gcc.c-torture/compile/20021205-1.c
3765901682b ./gcc/testsuite/gcc.c-torture/compile/20021212-1.c
1694594576b ./gcc/testsuite/gcc.c-torture/compile/20030110-1.c
+ 3514558242b ./gcc/testsuite/gcc.c-torture/compile/20030206-1.c
+ 2261613922b ./gcc/testsuite/gcc.c-torture/compile/20030220-1.c
+ 3214532330b ./gcc/testsuite/gcc.c-torture/compile/20030305-1.c
+ 3074411947b ./gcc/testsuite/gcc.c-torture/compile/20030314-1.c
375311401b ./gcc/testsuite/gcc.c-torture/compile/900116-1.c
4181931788b ./gcc/testsuite/gcc.c-torture/compile/900216-1.c
426860692b ./gcc/testsuite/gcc.c-torture/compile/900313-1.c
***************
*** 9366,9374 ****
1360698555b ./gcc/testsuite/gcc.c-torture/execute/20020219-1.c
1656358954b ./gcc/testsuite/gcc.c-torture/execute/20020225-1.c
127051635b ./gcc/testsuite/gcc.c-torture/execute/20020227-1.c
! 2757105756b ./gcc/testsuite/gcc.c-torture/execute/20020227-1.x
1982547595b ./gcc/testsuite/gcc.c-torture/execute/20020307-1.c
1497258578b ./gcc/testsuite/gcc.c-torture/execute/20020307-2.c
2236973257b ./gcc/testsuite/gcc.c-torture/execute/20020314-1.c
3091941732b ./gcc/testsuite/gcc.c-torture/execute/20020320-1.c
3564527352b ./gcc/testsuite/gcc.c-torture/execute/20020321-1.c
--- 9461,9470 ----
1360698555b ./gcc/testsuite/gcc.c-torture/execute/20020219-1.c
1656358954b ./gcc/testsuite/gcc.c-torture/execute/20020225-1.c
127051635b ./gcc/testsuite/gcc.c-torture/execute/20020227-1.c
! 2965337212b ./gcc/testsuite/gcc.c-torture/execute/20020227-1.x
1982547595b ./gcc/testsuite/gcc.c-torture/execute/20020307-1.c
1497258578b ./gcc/testsuite/gcc.c-torture/execute/20020307-2.c
+ 3970771348b ./gcc/testsuite/gcc.c-torture/execute/20020307-2.x
2236973257b ./gcc/testsuite/gcc.c-torture/execute/20020314-1.c
3091941732b ./gcc/testsuite/gcc.c-torture/execute/20020320-1.c
3564527352b ./gcc/testsuite/gcc.c-torture/execute/20020321-1.c
***************
*** 9396,9401 ****
--- 9492,9502 ----
3834877290b ./gcc/testsuite/gcc.c-torture/execute/20021118-3.c
624734562b ./gcc/testsuite/gcc.c-torture/execute/20021219-1.c
2820909676b ./gcc/testsuite/gcc.c-torture/execute/20030109-1.c
+ 855486154b ./gcc/testsuite/gcc.c-torture/execute/20030221-1.c
+ 821090783b ./gcc/testsuite/gcc.c-torture/execute/20030224-2.c
+ 4076291177b ./gcc/testsuite/gcc.c-torture/execute/20030307-1.c
+ 2371585447b ./gcc/testsuite/gcc.c-torture/execute/20030313-1.c
+ 2637074483b ./gcc/testsuite/gcc.c-torture/execute/20030316-1.c
37158978b ./gcc/testsuite/gcc.c-torture/execute/900409-1.c
1241514475b ./gcc/testsuite/gcc.c-torture/execute/920202-1.c
651529975b ./gcc/testsuite/gcc.c-torture/execute/920302-1.c
***************
*** 9829,9835 ****
1827676873b ./gcc/testsuite/gcc.c-torture/execute/scope-1.c
990025742b ./gcc/testsuite/gcc.c-torture/execute/scope-2.c
3788353048b ./gcc/testsuite/gcc.c-torture/execute/shiftdi.c
! 75800580b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c
2726881848b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-2.c
2215607685b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-3.c
4127514660b ./gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
--- 9930,9936 ----
1827676873b ./gcc/testsuite/gcc.c-torture/execute/scope-1.c
990025742b ./gcc/testsuite/gcc.c-torture/execute/scope-2.c
3788353048b ./gcc/testsuite/gcc.c-torture/execute/shiftdi.c
! 1004975218b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c
2726881848b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-2.c
2215607685b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-3.c
4127514660b ./gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
***************
*** 10258,10271 ****
1527728757b ./gcc/testsuite/gcc.dg/20020418-2.c
2088656022b ./gcc/testsuite/gcc.dg/20020426-1.c
4234050901b ./gcc/testsuite/gcc.dg/20020426-2.c
! 464722125b ./gcc/testsuite/gcc.dg/20020430-1.c
! 1745642748b ./gcc/testsuite/gcc.dg/20020503-1.c
3667555097b ./gcc/testsuite/gcc.dg/20020517-1.c
536325431b ./gcc/testsuite/gcc.dg/20020523-1.c
1463174796b ./gcc/testsuite/gcc.dg/20020527-1.c
2086765142b ./gcc/testsuite/gcc.dg/20020530-1.c
1518490714b ./gcc/testsuite/gcc.dg/20020616-1.c
344810811b ./gcc/testsuite/gcc.dg/20021014-1.c
1577979025b ./gcc/testsuite/gcc.dg/920413-1.c
2176221389b ./gcc/testsuite/gcc.dg/940409-1.c
1567764883b ./gcc/testsuite/gcc.dg/940510-1.c
--- 10359,10377 ----
1527728757b ./gcc/testsuite/gcc.dg/20020418-2.c
2088656022b ./gcc/testsuite/gcc.dg/20020426-1.c
4234050901b ./gcc/testsuite/gcc.dg/20020426-2.c
! 3359725112b ./gcc/testsuite/gcc.dg/20020430-1.c
! 2963915296b ./gcc/testsuite/gcc.dg/20020503-1.c
3667555097b ./gcc/testsuite/gcc.dg/20020517-1.c
536325431b ./gcc/testsuite/gcc.dg/20020523-1.c
1463174796b ./gcc/testsuite/gcc.dg/20020527-1.c
2086765142b ./gcc/testsuite/gcc.dg/20020530-1.c
1518490714b ./gcc/testsuite/gcc.dg/20020616-1.c
344810811b ./gcc/testsuite/gcc.dg/20021014-1.c
+ 2919267b ./gcc/testsuite/gcc.dg/20030217-1.c
+ 1045670620b ./gcc/testsuite/gcc.dg/20030225-1.c
+ 11242163b ./gcc/testsuite/gcc.dg/20030309-1.c
+ 3937697137b ./gcc/testsuite/gcc.dg/20030323-1.c
+ 1058638767b ./gcc/testsuite/gcc.dg/20030414-1.c
1577979025b ./gcc/testsuite/gcc.dg/920413-1.c
2176221389b ./gcc/testsuite/gcc.dg/940409-1.c
1567764883b ./gcc/testsuite/gcc.dg/940510-1.c
***************
*** 10324,10329 ****
--- 10430,10436 ----
2673255882b ./gcc/testsuite/gcc.dg/asm-5.c
2560291160b ./gcc/testsuite/gcc.dg/asm-fs-1.c
1287172903b ./gcc/testsuite/gcc.dg/asm-names.c
+ 1099611642b ./gcc/testsuite/gcc.dg/asmreg-1.c
2801105283b ./gcc/testsuite/gcc.dg/attr-alwaysinline.c
1514674985b ./gcc/testsuite/gcc.dg/attr-invalid.c
1915283314b ./gcc/testsuite/gcc.dg/attr-nest.c
***************
*** 10652,10657 ****
--- 10759,10766 ----
3551380716b ./gcc/testsuite/gcc.dg/debug/dwarf2-2.c
1865154101b ./gcc/testsuite/gcc.dg/debug/trivial.c
2108424497b ./gcc/testsuite/gcc.dg/decl-1.c
+ 3489735771b ./gcc/testsuite/gcc.dg/decl-2.c
+ 219343109b ./gcc/testsuite/gcc.dg/decl-3.c
2106699188b ./gcc/testsuite/gcc.dg/deprecated.c
462220244b ./gcc/testsuite/gcc.dg/dg.exp
3005671194b ./gcc/testsuite/gcc.dg/divbyzero.c
***************
*** 10724,10731 ****
--- 10833,10845 ----
885923224b ./gcc/testsuite/gcc.dg/i386-387-1.c
4204057333b ./gcc/testsuite/gcc.dg/i386-387-2.c
3371905361b ./gcc/testsuite/gcc.dg/i386-bitfield1.c
+ 3703039330b ./gcc/testsuite/gcc.dg/i386-loop-1.c
+ 2666972329b ./gcc/testsuite/gcc.dg/i386-loop-2.c
2049230625b ./gcc/testsuite/gcc.dg/i386-mmx-1.c
3973906625b ./gcc/testsuite/gcc.dg/i386-mmx-2.c
+ 811535520b ./gcc/testsuite/gcc.dg/i386-signbit-1.c
+ 1624192171b ./gcc/testsuite/gcc.dg/i386-signbit-2.c
+ 1578707081b ./gcc/testsuite/gcc.dg/i386-signbit-3.c
2923520039b ./gcc/testsuite/gcc.dg/i386-sse-1.c
1935024742b ./gcc/testsuite/gcc.dg/i386-sse-2.c
2407665653b ./gcc/testsuite/gcc.dg/i386-sse-3.c
***************
*** 10785,10797 ****
2267400179b ./gcc/testsuite/gcc.dg/noreturn-2.c
1222476594b ./gcc/testsuite/gcc.dg/noreturn-3.c
4260549149b ./gcc/testsuite/gcc.dg/noreturn-4.c
! 1941766090b ./gcc/testsuite/gcc.dg/old-style-asm-1.c
1662299957b ./gcc/testsuite/gcc.dg/pack-test-1.c
2754082325b ./gcc/testsuite/gcc.dg/pack-test-1.h
2875409621b ./gcc/testsuite/gcc.dg/pack-test-2.c
3395691298b ./gcc/testsuite/gcc.dg/pragma-align.c
2976918557b ./gcc/testsuite/gcc.dg/pragma-darwin.c
! 967979463b ./gcc/testsuite/gcc.dg/pragma-ep-1.c
689657683b ./gcc/testsuite/gcc.dg/pragma-ep-2.c
375277958b ./gcc/testsuite/gcc.dg/pragma-ep-3.c
18511022b ./gcc/testsuite/gcc.dg/pragma-re-1.c
--- 10899,10911 ----
2267400179b ./gcc/testsuite/gcc.dg/noreturn-2.c
1222476594b ./gcc/testsuite/gcc.dg/noreturn-3.c
4260549149b ./gcc/testsuite/gcc.dg/noreturn-4.c
! 3873251871b ./gcc/testsuite/gcc.dg/old-style-asm-1.c
1662299957b ./gcc/testsuite/gcc.dg/pack-test-1.c
2754082325b ./gcc/testsuite/gcc.dg/pack-test-1.h
2875409621b ./gcc/testsuite/gcc.dg/pack-test-2.c
3395691298b ./gcc/testsuite/gcc.dg/pragma-align.c
2976918557b ./gcc/testsuite/gcc.dg/pragma-darwin.c
! 2313186581b ./gcc/testsuite/gcc.dg/pragma-ep-1.c
689657683b ./gcc/testsuite/gcc.dg/pragma-ep-2.c
375277958b ./gcc/testsuite/gcc.dg/pragma-ep-3.c
18511022b ./gcc/testsuite/gcc.dg/pragma-re-1.c
***************
*** 10802,10807 ****
--- 10916,10922 ----
3519355790b ./gcc/testsuite/gcc.dg/return-type-2.c
3862146754b ./gcc/testsuite/gcc.dg/sequence-pt-1.c
3997091992b ./gcc/testsuite/gcc.dg/setjmp-1.c
+ 2828537866b ./gcc/testsuite/gcc.dg/sparc-dwarf2.c
802040009b ./gcc/testsuite/gcc.dg/sparc-ret.c
1993113484b ./gcc/testsuite/gcc.dg/special/20000419-2.c
3430419731b ./gcc/testsuite/gcc.dg/special/alias-1.c
***************
*** 10833,10838 ****
--- 10948,10956 ----
789972216b ./gcc/testsuite/gcc.dg/ultrasp2.c
2708772692b ./gcc/testsuite/gcc.dg/ultrasp3.c
1890424464b ./gcc/testsuite/gcc.dg/ultrasp4.c
+ 783369369b ./gcc/testsuite/gcc.dg/ultrasp6.c
+ 2907651471b ./gcc/testsuite/gcc.dg/ultrasp7.c
+ 906694114b ./gcc/testsuite/gcc.dg/ultrasp8.c
2258658308b ./gcc/testsuite/gcc.dg/uninit-1.c
608086310b ./gcc/testsuite/gcc.dg/uninit-2.c
2219873069b ./gcc/testsuite/gcc.dg/uninit-3.c
***************
*** 10959,10966 ****
2495249432b ./gcc/testsuite/objc.dg/local-decl-1.m
1667427564b ./gcc/testsuite/objc.dg/method-1.m
2835356210b ./gcc/testsuite/objc.dg/method-2.m
! 1830729571b ./gcc/testsuite/objc.dg/naming-1.m
! 250748297b ./gcc/testsuite/objc.dg/naming-2.m
2785734223b ./gcc/testsuite/objc.dg/proto-hier-1.m
888349193b ./gcc/testsuite/objc.dg/special/special.exp
3078900770b ./gcc/testsuite/objc.dg/special/unclaimed-category-1.h
--- 11077,11084 ----
2495249432b ./gcc/testsuite/objc.dg/local-decl-1.m
1667427564b ./gcc/testsuite/objc.dg/method-1.m
2835356210b ./gcc/testsuite/objc.dg/method-2.m
! 4046194509b ./gcc/testsuite/objc.dg/naming-1.m
! 3719205740b ./gcc/testsuite/objc.dg/naming-2.m
2785734223b ./gcc/testsuite/objc.dg/proto-hier-1.m
888349193b ./gcc/testsuite/objc.dg/special/special.exp
3078900770b ./gcc/testsuite/objc.dg/special/unclaimed-category-1.h
***************
*** 11059,11080 ****
2559007517b ./gcc/timevar.def
2115869626b ./gcc/timevar.h
2335446483b ./gcc/tlink.c
! 163649448b ./gcc/toplev.c
1100253771b ./gcc/toplev.h
! 4006547771b ./gcc/tradcif.c
840149782b ./gcc/tradcif.y
325171845b ./gcc/tradcpp.c
133942480b ./gcc/tradcpp.h
1565760610b ./gcc/tree-dump.c
177026127b ./gcc/tree-dump.h
! 1491742054b ./gcc/tree-inline.c
2000795530b ./gcc/tree-inline.h
! 2992843029b ./gcc/tree.c
2149556796b ./gcc/tree.def
1200175084b ./gcc/tree.h
2106315745b ./gcc/tsystem.h
4139263293b ./gcc/typeclass.h
! 2642343552b ./gcc/unroll.c
2451297709b ./gcc/unwind-dw2-fde-glibc.c
939184029b ./gcc/unwind-dw2-fde.c
2681777274b ./gcc/unwind-dw2-fde.h
--- 11177,11198 ----
2559007517b ./gcc/timevar.def
2115869626b ./gcc/timevar.h
2335446483b ./gcc/tlink.c
! 1633125668b ./gcc/toplev.c
1100253771b ./gcc/toplev.h
! 2279698662b ./gcc/tradcif.c
840149782b ./gcc/tradcif.y
325171845b ./gcc/tradcpp.c
133942480b ./gcc/tradcpp.h
1565760610b ./gcc/tree-dump.c
177026127b ./gcc/tree-dump.h
! 4108002902b ./gcc/tree-inline.c
2000795530b ./gcc/tree-inline.h
! 1782878008b ./gcc/tree.c
2149556796b ./gcc/tree.def
1200175084b ./gcc/tree.h
2106315745b ./gcc/tsystem.h
4139263293b ./gcc/typeclass.h
! 1488638700b ./gcc/unroll.c
2451297709b ./gcc/unwind-dw2-fde-glibc.c
939184029b ./gcc/unwind-dw2-fde.c
2681777274b ./gcc/unwind-dw2-fde.h
***************
*** 11086,11100 ****
1202449654b ./gcc/varasm.c
1377429075b ./gcc/varray.c
251576980b ./gcc/varray.h
! 2865840547b ./gcc/version.c
835289284b ./gcc/version.h
1602668013b ./gcc/vmsdbg.h
4159431942b ./gcc/vmsdbgout.c
3414725237b ./gcc/xcoffout.c
241048359b ./gcc/xcoffout.h
! 3804835603b ./gnats.html
2171125041b ./include/COPYING
! 1284755488b ./include/ChangeLog
218913669b ./include/ansidecl.h
3472518673b ./include/demangle.h
524172850b ./include/dyn-string.h
--- 11204,11218 ----
1202449654b ./gcc/varasm.c
1377429075b ./gcc/varray.c
251576980b ./gcc/varray.h
! 309143238b ./gcc/version.c
835289284b ./gcc/version.h
1602668013b ./gcc/vmsdbg.h
4159431942b ./gcc/vmsdbgout.c
3414725237b ./gcc/xcoffout.c
241048359b ./gcc/xcoffout.h
! 1616768675b ./gnats.html
2171125041b ./include/COPYING
! 595770831b ./include/ChangeLog
218913669b ./include/ansidecl.h
3472518673b ./include/demangle.h
524172850b ./include/dyn-string.h
***************
*** 11116,11122 ****
1151436348b ./include/xregex.h
1261882580b ./include/xregex2.h
656627656b ./install-sh
! 2543423086b ./libf2c/ChangeLog
643704007b ./libf2c/Makefile.in
3111321221b ./libf2c/README
308226469b ./libf2c/TODO
--- 11234,11240 ----
1151436348b ./include/xregex.h
1261882580b ./include/xregex2.h
656627656b ./install-sh
! 884630057b ./libf2c/ChangeLog
643704007b ./libf2c/Makefile.in
3111321221b ./libf2c/README
308226469b ./libf2c/TODO
***************
*** 11132,11138 ****
2048561220b ./libf2c/libF77/Makefile.in
1384146782b ./libf2c/libF77/Notice
3594711912b ./libf2c/libF77/README.netlib
! 3333503347b ./libf2c/libF77/Version.c
1304659322b ./libf2c/libF77/abort_.c
2143735092b ./libf2c/libF77/c_abs.c
4102372920b ./libf2c/libF77/c_cos.c
--- 11250,11256 ----
2048561220b ./libf2c/libF77/Makefile.in
1384146782b ./libf2c/libF77/Notice
3594711912b ./libf2c/libF77/README.netlib
! 705291937b ./libf2c/libF77/Version.c
1304659322b ./libf2c/libF77/abort_.c
2143735092b ./libf2c/libF77/c_abs.c
4102372920b ./libf2c/libF77/c_cos.c
***************
*** 11264,11270 ****
81211418b ./libf2c/libI77/Makefile.in
1384146782b ./libf2c/libI77/Notice
3744878144b ./libf2c/libI77/README.netlib
! 1068556264b ./libf2c/libI77/Version.c
1606913831b ./libf2c/libI77/backspace.c
2398093876b ./libf2c/libI77/close.c
3442307107b ./libf2c/libI77/config.h.in
--- 11382,11388 ----
81211418b ./libf2c/libI77/Makefile.in
1384146782b ./libf2c/libI77/Notice
3744878144b ./libf2c/libI77/README.netlib
! 199281018b ./libf2c/libI77/Version.c
1606913831b ./libf2c/libI77/backspace.c
2398093876b ./libf2c/libI77/close.c
3442307107b ./libf2c/libI77/config.h.in
***************
*** 11311,11317 ****
2717291481b ./libf2c/libU77/Makefile.in
572996563b ./libf2c/libU77/PROJECTS
2980229902b ./libf2c/libU77/README
! 3875363173b ./libf2c/libU77/Version.c
1842933802b ./libf2c/libU77/access_.c
4214861580b ./libf2c/libU77/acconfig.h
2301261828b ./libf2c/libU77/aclocal.m4
--- 11429,11435 ----
2717291481b ./libf2c/libU77/Makefile.in
572996563b ./libf2c/libU77/PROJECTS
2980229902b ./libf2c/libU77/README
! 1494896292b ./libf2c/libU77/Version.c
1842933802b ./libf2c/libU77/access_.c
4214861580b ./libf2c/libU77/acconfig.h
2301261828b ./libf2c/libU77/aclocal.m4
***************
*** 11373,11379 ****
3987376609b ./libf2c/libU77/vxttime_.c
1384146782b ./libf2c/permission.netlib
3513813969b ./libf2c/readme.netlib
! 3047576515b ./libffi/ChangeLog
3479323424b ./libffi/ChangeLog.libgcj
1481682558b ./libffi/ChangeLog.v1
2593181117b ./libffi/LICENSE
--- 11491,11497 ----
3987376609b ./libf2c/libU77/vxttime_.c
1384146782b ./libf2c/permission.netlib
3513813969b ./libf2c/readme.netlib
! 829387645b ./libffi/ChangeLog
3479323424b ./libffi/ChangeLog.libgcj
1481682558b ./libffi/ChangeLog.v1
2593181117b ./libffi/LICENSE
***************
*** 11396,11402 ****
4293371769b ./libffi/src/arm/ffi.c
591152992b ./libffi/src/arm/sysv.S
2669027491b ./libffi/src/debug.c
! 269618381b ./libffi/src/ffitest.c
2435449601b ./libffi/src/ia64/ffi.c
1956966073b ./libffi/src/ia64/ia64_flags.h
2886414800b ./libffi/src/ia64/unix.S
--- 11514,11520 ----
4293371769b ./libffi/src/arm/ffi.c
591152992b ./libffi/src/arm/sysv.S
2669027491b ./libffi/src/debug.c
! 967989305b ./libffi/src/ffitest.c
2435449601b ./libffi/src/ia64/ffi.c
1956966073b ./libffi/src/ia64/ia64_flags.h
2886414800b ./libffi/src/ia64/unix.S
***************
*** 11407,11418 ****
176940890b ./libffi/src/mips/n32.S
3634355650b ./libffi/src/mips/o32.S
1342850260b ./libffi/src/powerpc/aix.S
! 2356375417b ./libffi/src/powerpc/aix_closure.S
257105690b ./libffi/src/powerpc/asm.h
91989017b ./libffi/src/powerpc/darwin.S
! 1992059182b ./libffi/src/powerpc/darwin_closure.S
! 1107349205b ./libffi/src/powerpc/ffi.c
! 342545621b ./libffi/src/powerpc/ffi_darwin.c
978519837b ./libffi/src/powerpc/ppc_closure.S
1185461672b ./libffi/src/powerpc/sysv.S
1962807490b ./libffi/src/prep_cif.c
--- 11525,11536 ----
176940890b ./libffi/src/mips/n32.S
3634355650b ./libffi/src/mips/o32.S
1342850260b ./libffi/src/powerpc/aix.S
! 1122125803b ./libffi/src/powerpc/aix_closure.S
257105690b ./libffi/src/powerpc/asm.h
91989017b ./libffi/src/powerpc/darwin.S
! 4044999467b ./libffi/src/powerpc/darwin_closure.S
! 1692071312b ./libffi/src/powerpc/ffi.c
! 2961975388b ./libffi/src/powerpc/ffi_darwin.c
978519837b ./libffi/src/powerpc/ppc_closure.S
1185461672b ./libffi/src/powerpc/sysv.S
1962807490b ./libffi/src/prep_cif.c
***************
*** 11426,11435 ****
478025840b ./libffi/src/x86/win32.S
216805921b ./libffi/stamp-h.in
508743035b ./libiberty/COPYING.LIB
! 3946655929b ./libiberty/ChangeLog
1980229302b ./libiberty/Makefile.in
4016047250b ./libiberty/README
602306638b ./libiberty/_doprnt.c
640604299b ./libiberty/aclocal.m4
4169173798b ./libiberty/alloca.c
122203256b ./libiberty/argv.c
--- 11544,11554 ----
478025840b ./libffi/src/x86/win32.S
216805921b ./libffi/stamp-h.in
508743035b ./libiberty/COPYING.LIB
! 2977486001b ./libiberty/ChangeLog
1980229302b ./libiberty/Makefile.in
4016047250b ./libiberty/README
602306638b ./libiberty/_doprnt.c
+ 3848560079b ./libiberty/acconfig.h
640604299b ./libiberty/aclocal.m4
4169173798b ./libiberty/alloca.c
122203256b ./libiberty/argv.c
***************
*** 11445,11459 ****
2557767520b ./libiberty/clock.c
3170582338b ./libiberty/concat.c
1987387424b ./libiberty/config.h-vms
! 2319815417b ./libiberty/config.in
4294237366b ./libiberty/config.table
3500529335b ./libiberty/config/mh-aix
3476234501b ./libiberty/config/mh-cxux7
1235651640b ./libiberty/config/mh-fbsd21
2904567379b ./libiberty/config/mh-openedition
2131807358b ./libiberty/config/mh-windows
! 3945236769b ./libiberty/configure
! 1116624814b ./libiberty/configure.in
2478885430b ./libiberty/copying-lib.texi
3329761531b ./libiberty/copysign.c
2979121734b ./libiberty/cp-demangle.c
--- 11564,11578 ----
2557767520b ./libiberty/clock.c
3170582338b ./libiberty/concat.c
1987387424b ./libiberty/config.h-vms
! 257229344b ./libiberty/config.in
4294237366b ./libiberty/config.table
3500529335b ./libiberty/config/mh-aix
3476234501b ./libiberty/config/mh-cxux7
1235651640b ./libiberty/config/mh-fbsd21
2904567379b ./libiberty/config/mh-openedition
2131807358b ./libiberty/config/mh-windows
! 575752138b ./libiberty/configure
! 1313961034b ./libiberty/configure.in
2478885430b ./libiberty/copying-lib.texi
3329761531b ./libiberty/copysign.c
2979121734b ./libiberty/cp-demangle.c
***************
*** 11540,11546 ****
991611298b ./libiberty/xstrdup.c
387398324b ./libiberty/xstrerror.c
2171125041b ./libjava/COPYING
! 600502670b ./libjava/ChangeLog
3473562392b ./libjava/ChangeLog-1999
2385951174b ./libjava/ChangeLog-2001
1487334009b ./libjava/HACKING
--- 11659,11665 ----
991611298b ./libiberty/xstrdup.c
387398324b ./libiberty/xstrerror.c
2171125041b ./libjava/COPYING
! 520335338b ./libjava/ChangeLog
3473562392b ./libjava/ChangeLog-1999
2385951174b ./libjava/ChangeLog-2001
1487334009b ./libjava/HACKING
***************
*** 12874,12880 ****
799924566b ./libjava/libgcj.spec.in
3885054737b ./libjava/libltdl/.cvsignore
1530919786b ./libjava/libltdl/COPYING.LIB
! 3714466252b ./libjava/libltdl/ChangeLog
3589765398b ./libjava/libltdl/Makefile.am
2495909158b ./libjava/libltdl/Makefile.in
1322928877b ./libjava/libltdl/README
--- 12993,12999 ----
799924566b ./libjava/libgcj.spec.in
3885054737b ./libjava/libltdl/.cvsignore
1530919786b ./libjava/libltdl/COPYING.LIB
! 3841120685b ./libjava/libltdl/ChangeLog
3589765398b ./libjava/libltdl/Makefile.am
2495909158b ./libjava/libltdl/Makefile.in
1322928877b ./libjava/libltdl/README
***************
*** 12968,12974 ****
2487590179b ./libjava/sysdep/ia64/locks.h
3446737173b ./libjava/sysdep/powerpc/locks.h
2903495760b ./libjava/sysdep/sparc/locks.h
! 2964965917b ./libjava/testsuite/ChangeLog
3806425466b ./libjava/testsuite/Makefile.am
1096421437b ./libjava/testsuite/Makefile.in
1230501773b ./libjava/testsuite/config/default.exp
--- 13087,13093 ----
2487590179b ./libjava/sysdep/ia64/locks.h
3446737173b ./libjava/sysdep/powerpc/locks.h
2903495760b ./libjava/sysdep/sparc/locks.h
! 4288525704b ./libjava/testsuite/ChangeLog
3806425466b ./libjava/testsuite/Makefile.am
1096421437b ./libjava/testsuite/Makefile.in
1230501773b ./libjava/testsuite/config/default.exp
***************
*** 13387,13393 ****
3417667916b ./libjava/verify.cc
3459150705b ./libjava/win32-threads.cc
916359044b ./libjava/win32.cc
! 1019359508b ./libobjc/ChangeLog
3778683951b ./libobjc/Makefile.in
638422313b ./libobjc/NXConstStr.m
3285287551b ./libobjc/Object.m
--- 13506,13512 ----
3417667916b ./libjava/verify.cc
3459150705b ./libjava/win32-threads.cc
916359044b ./libjava/win32.cc
! 3049078639b ./libobjc/ChangeLog
3778683951b ./libobjc/Makefile.in
638422313b ./libobjc/NXConstStr.m
3285287551b ./libobjc/Object.m
***************
*** 13442,13448 ****
2005277748b ./libobjc/thr-vxworks.c
2963027857b ./libobjc/thr-win32.c
3239202263b ./libobjc/thr.c
! 8463637b ./libstdc++-v3/ChangeLog
1996982572b ./libstdc++-v3/ChangeLog-2000
3665233589b ./libstdc++-v3/ChangeLog-2001
3601994870b ./libstdc++-v3/Makefile.am
--- 13561,13567 ----
2005277748b ./libobjc/thr-vxworks.c
2963027857b ./libobjc/thr-win32.c
3239202263b ./libobjc/thr.c
! 3164673878b ./libstdc++-v3/ChangeLog
1996982572b ./libstdc++-v3/ChangeLog-2000
3665233589b ./libstdc++-v3/ChangeLog-2001
3601994870b ./libstdc++-v3/Makefile.am
***************
*** 13450,13456 ****
201474883b ./libstdc++-v3/README
4114737556b ./libstdc++-v3/acconfig.h
1335999300b ./libstdc++-v3/acinclude.m4
! 2806298612b ./libstdc++-v3/aclocal.m4
1280750931b ./libstdc++-v3/config.h.in
4214408479b ./libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt
1077465800b ./libstdc++-v3/config/abi/extract_symvers
--- 13569,13575 ----
201474883b ./libstdc++-v3/README
4114737556b ./libstdc++-v3/acconfig.h
1335999300b ./libstdc++-v3/acinclude.m4
! 1757393875b ./libstdc++-v3/aclocal.m4
1280750931b ./libstdc++-v3/config.h.in
4214408479b ./libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt
1077465800b ./libstdc++-v3/config/abi/extract_symvers
***************
*** 13516,13522 ****
3496359145b ./libstdc++-v3/config/locale/gnu/time_members.h
3232379868b ./libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
3136594064b ./libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
! 3256263647b ./libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h
3823275112b ./libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
488667815b ./libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
4256387970b ./libstdc++-v3/config/os/aix/bits/atomicity.h
--- 13635,13641 ----
3496359145b ./libstdc++-v3/config/locale/gnu/time_members.h
3232379868b ./libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
3136594064b ./libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
! 2429580009b ./libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h
3823275112b ./libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
488667815b ./libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
4256387970b ./libstdc++-v3/config/os/aix/bits/atomicity.h
***************
*** 13547,13553 ****
1503897878b ./libstdc++-v3/config/os/hpux/bits/cpu_limits.h
2727448261b ./libstdc++-v3/config/os/hpux/bits/ctype_base.h
521899911b ./libstdc++-v3/config/os/hpux/bits/ctype_inline.h
! 1287488501b ./libstdc++-v3/config/os/hpux/bits/ctype_noninline.h
4256303940b ./libstdc++-v3/config/os/hpux/bits/os_defines.h
805235121b ./libstdc++-v3/config/os/irix/irix5.2/bits/atomicity.h
734403019b ./libstdc++-v3/config/os/irix/irix5.2/bits/ctype_base.h
--- 13666,13672 ----
1503897878b ./libstdc++-v3/config/os/hpux/bits/cpu_limits.h
2727448261b ./libstdc++-v3/config/os/hpux/bits/ctype_base.h
521899911b ./libstdc++-v3/config/os/hpux/bits/ctype_inline.h
! 766270739b ./libstdc++-v3/config/os/hpux/bits/ctype_noninline.h
4256303940b ./libstdc++-v3/config/os/hpux/bits/os_defines.h
805235121b ./libstdc++-v3/config/os/irix/irix5.2/bits/atomicity.h
734403019b ./libstdc++-v3/config/os/irix/irix5.2/bits/ctype_base.h
***************
*** 13584,13592 ****
577770049b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/ctype_inline.h
399834321b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/ctype_noninline.h
157883947b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h
! 1247614208b ./libstdc++-v3/configure
3116040814b ./libstdc++-v3/configure.host
! 2627385010b ./libstdc++-v3/configure.in
282761406b ./libstdc++-v3/configure.target
1637481960b ./libstdc++-v3/docs/doxygen/Intro.3
2829674872b ./libstdc++-v3/docs/doxygen/TODO
--- 13703,13711 ----
577770049b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/ctype_inline.h
399834321b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/ctype_noninline.h
157883947b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h
! 3647444520b ./libstdc++-v3/configure
3116040814b ./libstdc++-v3/configure.host
! 31792307b ./libstdc++-v3/configure.in
282761406b ./libstdc++-v3/configure.target
1637481960b ./libstdc++-v3/docs/doxygen/Intro.3
2829674872b ./libstdc++-v3/docs/doxygen/TODO
***************
*** 13698,13710 ****
1196444434b ./libstdc++-v3/include/bits/basic_string.h
3004074520b ./libstdc++-v3/include/bits/basic_string.tcc
179433314b ./libstdc++-v3/include/bits/boost_concept_check.h
! 2325758266b ./libstdc++-v3/include/bits/c++config
3498736544b ./libstdc++-v3/include/bits/char_traits.h
3672868066b ./libstdc++-v3/include/bits/codecvt.h
2442194789b ./libstdc++-v3/include/bits/concept_check.h
329719722b ./libstdc++-v3/include/bits/cpp_type_traits.h
1176672394b ./libstdc++-v3/include/bits/fpos.h
! 2897059516b ./libstdc++-v3/include/bits/fstream.tcc
3886600201b ./libstdc++-v3/include/bits/functexcept.h
3055891139b ./libstdc++-v3/include/bits/generic_shadow.h
1117238130b ./libstdc++-v3/include/bits/gslice.h
--- 13817,13829 ----
1196444434b ./libstdc++-v3/include/bits/basic_string.h
3004074520b ./libstdc++-v3/include/bits/basic_string.tcc
179433314b ./libstdc++-v3/include/bits/boost_concept_check.h
! 1036368554b ./libstdc++-v3/include/bits/c++config
3498736544b ./libstdc++-v3/include/bits/char_traits.h
3672868066b ./libstdc++-v3/include/bits/codecvt.h
2442194789b ./libstdc++-v3/include/bits/concept_check.h
329719722b ./libstdc++-v3/include/bits/cpp_type_traits.h
1176672394b ./libstdc++-v3/include/bits/fpos.h
! 1776886078b ./libstdc++-v3/include/bits/fstream.tcc
3886600201b ./libstdc++-v3/include/bits/functexcept.h
3055891139b ./libstdc++-v3/include/bits/generic_shadow.h
1117238130b ./libstdc++-v3/include/bits/gslice.h
***************
*** 13750,13756 ****
1954571679b ./libstdc++-v3/include/bits/stl_uninitialized.h
1856687262b ./libstdc++-v3/include/bits/stl_vector.h
99981565b ./libstdc++-v3/include/bits/stream_iterator.h
! 2491807253b ./libstdc++-v3/include/bits/streambuf.tcc
466836896b ./libstdc++-v3/include/bits/streambuf_iterator.h
1373192946b ./libstdc++-v3/include/bits/stringfwd.h
1571290449b ./libstdc++-v3/include/bits/type_traits.h
--- 13869,13875 ----
1954571679b ./libstdc++-v3/include/bits/stl_uninitialized.h
1856687262b ./libstdc++-v3/include/bits/stl_vector.h
99981565b ./libstdc++-v3/include/bits/stream_iterator.h
! 3082898899b ./libstdc++-v3/include/bits/streambuf.tcc
466836896b ./libstdc++-v3/include/bits/streambuf_iterator.h
1373192946b ./libstdc++-v3/include/bits/stringfwd.h
1571290449b ./libstdc++-v3/include/bits/type_traits.h
***************
*** 13910,13916 ****
4158492065b ./libstdc++-v3/include/std/std_utility.h
362016596b ./libstdc++-v3/include/std/std_valarray.h
125145631b ./libstdc++-v3/include/std/std_vector.h
! 2717296741b ./libstdc++-v3/libio/ChangeLog
226381804b ./libstdc++-v3/libio/Makefile.am
4199895907b ./libstdc++-v3/libio/Makefile.in
314955067b ./libstdc++-v3/libio/_G_config.h
--- 14029,14035 ----
4158492065b ./libstdc++-v3/include/std/std_utility.h
362016596b ./libstdc++-v3/include/std/std_valarray.h
125145631b ./libstdc++-v3/include/std/std_vector.h
! 4102282136b ./libstdc++-v3/libio/ChangeLog
226381804b ./libstdc++-v3/libio/Makefile.am
4199895907b ./libstdc++-v3/libio/Makefile.in
314955067b ./libstdc++-v3/libio/_G_config.h
***************
*** 14171,14182 ****
1162163080b ./libstdc++-v3/testsuite/27_io/filebuf.cc
4294967295b ./libstdc++-v3/testsuite/27_io/filebuf_members-1.tst
4294967295b ./libstdc++-v3/testsuite/27_io/filebuf_members-1.txt
! 3299934909b ./libstdc++-v3/testsuite/27_io/filebuf_members.cc
4204648704b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-1.tst
4204648704b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-1.txt
655821823b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-2.tst
1896106013b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-3.tst
! 4060177148b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
1987901042b ./libstdc++-v3/testsuite/27_io/fpos.cc
2165147103b ./libstdc++-v3/testsuite/27_io/fstream.cc
358840366b ./libstdc++-v3/testsuite/27_io/fstream_members.cc
--- 14290,14301 ----
1162163080b ./libstdc++-v3/testsuite/27_io/filebuf.cc
4294967295b ./libstdc++-v3/testsuite/27_io/filebuf_members-1.tst
4294967295b ./libstdc++-v3/testsuite/27_io/filebuf_members-1.txt
! 1936479101b ./libstdc++-v3/testsuite/27_io/filebuf_members.cc
4204648704b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-1.tst
4204648704b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-1.txt
655821823b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-2.tst
1896106013b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-3.tst
! 3120338832b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc
1987901042b ./libstdc++-v3/testsuite/27_io/fpos.cc
2165147103b ./libstdc++-v3/testsuite/27_io/fstream.cc
358840366b ./libstdc++-v3/testsuite/27_io/fstream_members.cc
***************
*** 14292,14298 ****
3594421631b ./ltcf-gcj.sh
30175378b ./ltconfig
2369122487b ./ltmain.sh
! 1935971162b ./maintainer-scripts/ChangeLog
3126840705b ./maintainer-scripts/README
1905552954b ./maintainer-scripts/crontab
4171969357b ./maintainer-scripts/doc_exclude
--- 14411,14417 ----
3594421631b ./ltcf-gcj.sh
30175378b ./ltconfig
2369122487b ./ltmain.sh
! 1660471952b ./maintainer-scripts/ChangeLog
3126840705b ./maintainer-scripts/README
1905552954b ./maintainer-scripts/crontab
4171969357b ./maintainer-scripts/doc_exclude
***************
*** 14309,14316 ****
902556840b ./move-if-change
1077958069b ./symlink-tree
1370970362b ./ylwrap
! 1298224910b ./zlib/ChangeLog
! 4044693717b ./zlib/ChangeLog.gcj
1790959550b ./zlib/FAQ
467711448b ./zlib/INDEX
3901505907b ./zlib/Make_vms.com
--- 14428,14435 ----
902556840b ./move-if-change
1077958069b ./symlink-tree
1370970362b ./ylwrap
! 426049005b ./zlib/ChangeLog
! 356214916b ./zlib/ChangeLog.gcj
1790959550b ./zlib/FAQ
467711448b ./zlib/INDEX
3901505907b ./zlib/Make_vms.com
***************
*** 14325,14332 ****
1537725969b ./zlib/amiga/Makefile.pup
3919607569b ./zlib/amiga/Makefile.sas
720988996b ./zlib/compress.c
! 449189607b ./zlib/configure
! 908419910b ./zlib/configure.in
3769239525b ./zlib/contrib/README.contrib
215845136b ./zlib/contrib/asm386/gvmat32.asm
4143184108b ./zlib/contrib/asm386/gvmat32c.c
--- 14444,14451 ----
1537725969b ./zlib/amiga/Makefile.pup
3919607569b ./zlib/amiga/Makefile.sas
720988996b ./zlib/compress.c
! 784731032b ./zlib/configure
! 3521535304b ./zlib/configure.in
3769239525b ./zlib/contrib/README.contrib
215845136b ./zlib/contrib/asm386/gvmat32.asm
4143184108b ./zlib/contrib/asm386/gvmat32c.c
diff -Nrc3pad gcc-3.2.2/BUGS gcc-3.2.3/BUGS
*** gcc-3.2.2/BUGS Wed Feb 5 03:09:30 2003
--- gcc-3.2.3/BUGS Tue Apr 22 06:56:31 2003
***************
*** 2,8 ****
GCC Bugs
The latest version of this document is always available at
! [1]http://www.gnu.org/software/gcc/bugs.html.
_________________________________________________________________
Table of Contents
--- 2,8 ----
GCC Bugs
The latest version of this document is always available at
! [1]http://gcc.gnu.org/bugs.html.
_________________________________________________________________
Table of Contents
*************** Table of Contents
*** 15,39 ****
+ [7]Detailed bug reporting instructions for GNAT
+ [8]Detailed bug reporting instructions when using a
precompiled header
! * [9]Managing Bugs (GNATS and the test-suite)
! * [10]Frequently Reported Bugs in GCC
! + [11]General
! + [12]Fortran
! + [13]C
! + [14]C++
! o [15]Common problems updating from G++ 2.95 to G++ 3.0
! o [16]Non-bugs
! o [17]Missing features
! o [18]Parse errors for "simple" code
! o [19]Optimization at -O3 takes a very long time
_________________________________________________________________
Reporting Bugs
! Our preferred way of receiving bugs is via the [20]GCC GNATS bug
reporting system.
! Before you report a bug, please check the [21]list of well-known bugs
and, if possible in any way, try a current development snapshot. If
you want to report a bug with versions of GCC before 3.1 we strongly
recommend upgrading to the current release first.
--- 15,38 ----
+ [7]Detailed bug reporting instructions for GNAT
+ [8]Detailed bug reporting instructions when using a
precompiled header
! * [9]Frequently Reported Bugs in GCC
! + [10]General
! + [11]Fortran
! + [12]C
! + [13]C++
! o [14]Common problems updating from G++ 2.95 to G++ 3.0
! o [15]Non-bugs
! o [16]Missing features
! o [17]Parse errors for "simple" code
! o [18]Optimization at -O3 takes a very long time
_________________________________________________________________
Reporting Bugs
! Our preferred way of receiving bugs is via the [19]GCC GNATS bug
reporting system.
! Before you report a bug, please check the [20]list of well-known bugs
and, if possible in any way, try a current development snapshot. If
you want to report a bug with versions of GCC before 3.1 we strongly
recommend upgrading to the current release first.
*************** Summarized bug reporting instructions
*** 101,118 ****
Where to post it
! Please submit your bug report directly to the [22]GCC GNATS bug
database. Only if this is not possible, mail all information to
! [23]bug-gcc@gnu.org or [24]gcc-bugs@gcc.gnu.org.
The GCC lists have message size limits (200 kbytes) and bug reports
over those limits will currently be bounced. If your bug is larger
! than that, please post it using the [25]GCC GNATS bug database.
Detailed bug reporting instructions
! Please refer to the [26]next section when reporting bugs in GNAT, the
! Ada compiler, or to the [27]one after that when reporting bugs that
appear when using a precompiled header.
In general, all the information we need can be obtained by collecting
--- 100,117 ----
Where to post it
! Please submit your bug report directly to the [21]GCC GNATS bug
database. Only if this is not possible, mail all information to
! [22]bug-gcc@gnu.org or [23]gcc-bugs@gcc.gnu.org.
The GCC lists have message size limits (200 kbytes) and bug reports
over those limits will currently be bounced. If your bug is larger
! than that, please post it using the [24]GCC GNATS bug database.
Detailed bug reporting instructions
! Please refer to the [25]next section when reporting bugs in GNAT, the
! Ada compiler, or to the [26]one after that when reporting bugs that
appear when using a precompiled header.
In general, all the information we need can be obtained by collecting
*************** Detailed bug reporting instructions
*** 168,174 ****
Detailed bug reporting instructions for GNAT
! See the [28]previous section for bug reporting instructions for GCC
language implementations other than Ada.
Bug reports have to contain at least the following information in
--- 167,173 ----
Detailed bug reporting instructions for GNAT
! See the [27]previous section for bug reporting instructions for GCC
language implementations other than Ada.
Bug reports have to contain at least the following information in
*************** Detailed bug reporting instructions for
*** 200,206 ****
you have to report a bug in gnatprep).
When you have checked that your report meets these criteria, please
! submit it according to our [29]generic instructions. (If you use a
mailing list for reporting, please include an "[Ada]" tag in the
subject.)
--- 199,205 ----
you have to report a bug in gnatprep).
When you have checked that your report meets these criteria, please
! submit it according to our [28]generic instructions. (If you use a
mailing list for reporting, please include an "[Ada]" tag in the
subject.)
*************** Detailed bug reporting instructions when
*** 210,220 ****
first thing to do is to delete the precompiled header, and try running
the same GCC command again. If the bug happens again, the bug doesn't
really involve precompiled headers, please report it without using
! them by following the instructions [30]above.
If you've found a bug while building a precompiled header (for
instance, the compiler crashes), follow the usual instructions
! [31]above.
If you've found a real precompiled header bug, what we'll need to
reproduce it is the sources to build the precompiled header (as a
--- 209,219 ----
first thing to do is to delete the precompiled header, and try running
the same GCC command again. If the bug happens again, the bug doesn't
really involve precompiled headers, please report it without using
! them by following the instructions [29]above.
If you've found a bug while building a precompiled header (for
instance, the compiler crashes), follow the usual instructions
! [30]above.
If you've found a real precompiled header bug, what we'll need to
reproduce it is the sources to build the precompiled header (as a
*************** Detailed bug reporting instructions when
*** 224,249 ****
Please don't send us the actual precompiled header. It is likely to be
very large and we can't use it to reproduce the problem.
-
- Managing Bugs (GNATS and the test-suite)
-
- This section contains information mostly intended for GCC
- contributors.
-
- If you find a bug, but you are not fixing it (yet):
- 1. Create a (minimal) test-case.
- 2. Add the test-case to our test-suite, marking it as XFAIL unless
- the bug is a regression.
- 3. Add a bug report referencing the test-case to GNATS.
-
- If you fix a bug for which there is already a GNATS entry:
- 1. Remove the XFAIL on the test-case.
- 2. Close the bug report in GNATS.
-
- If you find a bug, and you are fixing it right then:
- 1. Create a (minimal) test-case.
- 2. Add the test-case to our test-suite, marking it as PASS.
- 3. Check in your fixes.
_________________________________________________________________
Frequently Reported Bugs in GCC
--- 223,228 ----
*************** Detailed bug reporting instructions when
*** 251,257 ****
Fortran
Fortran bugs are documented in the G77 manual rather than explicitly
! listed here. Please see [32]Known Causes of Trouble with GNU Fortran
in the G77 manual.
_________________________________________________________________
--- 230,236 ----
Fortran
Fortran bugs are documented in the G77 manual rather than explicitly
! listed here. Please see [31]Known Causes of Trouble with GNU Fortran
in the G77 manual.
_________________________________________________________________
*************** FILE *yyin = stdin;
*** 283,289 ****
There is a common misconception that the GCC developers are
responsible for GNU libc. These are in fact two entirely
! separate projects; please check the [33]GNU libc web pages for
details.
Cannot use preprocessor directive in macro arguments.
--- 262,268 ----
There is a common misconception that the GCC developers are
responsible for GNU libc. These are in fact two entirely
! separate projects; please check the [32]GNU libc web pages for
details.
Cannot use preprocessor directive in macro arguments.
*************** C++
*** 347,353 ****
reported very often, but not yet fixed. While it is certainly better
to fix bugs instead of documenting them, this document might save
people the effort of writing a bug report when the bug is already
! well-known. [34]How to report bugs tells you how to report a bug.
There are many reasons why reported bugs don't get fixed. It might be
difficult to fix, or fixing it might break compatibility. Often,
--- 326,332 ----
reported very often, but not yet fixed. While it is certainly better
to fix bugs instead of documenting them, this document might save
people the effort of writing a bug report when the bug is already
! well-known. [33]How to report bugs tells you how to report a bug.
There are many reasons why reported bugs don't get fixed. It might be
difficult to fix, or fixing it might break compatibility. Often,
*************** C++
*** 365,376 ****
Common problems updating from G++ 2.95 to G++ 3.0
G++ 3.0 conforms much closer to the ISO C++ standard (available at
! [35]http://www.ncits.org/cplusplus.htm).
We have also implemented some of the core and library defect reports
(available at
! [36]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html &
! [37]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html
respectively).
* The ABI has changed. This means that both class layout and name
mangling is different. You must recompile all c++ libraries (if
--- 344,355 ----
Common problems updating from G++ 2.95 to G++ 3.0
G++ 3.0 conforms much closer to the ISO C++ standard (available at
! [34]http://www.ncits.org/cplusplus.htm).
We have also implemented some of the core and library defect reports
(available at
! [35]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html &
! [36]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html
respectively).
* The ABI has changed. This means that both class layout and name
mangling is different. You must recompile all c++ libraries (if
*************** C++
*** 478,484 ****
the nearest representable number.
This is not a bug in the compiler, but an inherent limitation
! of the float and double types. Please study [38]this paper for
more information.
Templates, scoping, and digraphs.
--- 457,463 ----
the nearest representable number.
This is not a bug in the compiler, but an inherent limitation
! of the float and double types. Please study [37]this paper for
more information.
Templates, scoping, and digraphs.
*************** A B::f1(bool b)
*** 584,590 ****
References
! 1. http://www.gnu.org/software/gcc/bugs.html
2. http://gcc.gnu.org/bugs.html#report
3. http://gcc.gnu.org/bugs.html#need
4. http://gcc.gnu.org/bugs.html#dontwant
--- 563,569 ----
References
! 1. http://gcc.gnu.org/bugs.html
2. http://gcc.gnu.org/bugs.html#report
3. http://gcc.gnu.org/bugs.html#need
4. http://gcc.gnu.org/bugs.html#dontwant
*************** References
*** 592,624 ****
6. http://gcc.gnu.org/bugs.html#detailed
7. http://gcc.gnu.org/bugs.html#gnat
8. http://gcc.gnu.org/bugs.html#pch
! 9. http://gcc.gnu.org/bugs.html#manage
! 10. http://gcc.gnu.org/bugs.html#known
! 11. http://gcc.gnu.org/bugs.html#general
! 12. http://gcc.gnu.org/bugs.html#fortran
! 13. http://gcc.gnu.org/bugs.html#c
! 14. http://gcc.gnu.org/bugs.html#cplusplus
! 15. http://gcc.gnu.org/bugs.html#updating
! 16. http://gcc.gnu.org/bugs.html#nonbugs
! 17. http://gcc.gnu.org/bugs.html#missing
! 18. http://gcc.gnu.org/bugs.html#parsing
! 19. http://gcc.gnu.org/bugs.html#-O3
! 20. http://gcc.gnu.org/gnats.html
! 21. http://gcc.gnu.org/bugs.html#known
! 22. http://gcc.gnu.org/gnats.html
! 23. mailto:bug-gcc@gnu.org
! 24. mailto:gcc-bugs@gcc.gnu.org
! 25. http://gcc.gnu.org/gnats.html
! 26. http://gcc.gnu.org/bugs.html#gnat
! 27. http://gcc.gnu.org/bugs.html#pch
! 28. http://gcc.gnu.org/bugs.html#detailed
! 29. http://gcc.gnu.org/bugs.html#where
30. http://gcc.gnu.org/bugs.html#detailed
! 31. http://gcc.gnu.org/bugs.html#detailed
! 32. http://gcc.gnu.org/onlinedocs/g77/Trouble.html
! 33. http://www.gnu.org/software/glibc/
! 34. http://gcc.gnu.org/bugs.html#report
! 35. http://www.ncits.org/cplusplus.htm
! 36. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html
! 37. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html
! 38. http://www.validlab.com/goldberg/paper.ps
--- 571,602 ----
6. http://gcc.gnu.org/bugs.html#detailed
7. http://gcc.gnu.org/bugs.html#gnat
8. http://gcc.gnu.org/bugs.html#pch
! 9. http://gcc.gnu.org/bugs.html#known
! 10. http://gcc.gnu.org/bugs.html#general
! 11. http://gcc.gnu.org/bugs.html#fortran
! 12. http://gcc.gnu.org/bugs.html#c
! 13. http://gcc.gnu.org/bugs.html#cplusplus
! 14. http://gcc.gnu.org/bugs.html#updating
! 15. http://gcc.gnu.org/bugs.html#nonbugs
! 16. http://gcc.gnu.org/bugs.html#missing
! 17. http://gcc.gnu.org/bugs.html#parsing
! 18. http://gcc.gnu.org/bugs.html#-O3
! 19. http://gcc.gnu.org/gnats.html
! 20. http://gcc.gnu.org/bugs.html#known
! 21. http://gcc.gnu.org/gnats.html
! 22. mailto:bug-gcc@gnu.org
! 23. mailto:gcc-bugs@gcc.gnu.org
! 24. http://gcc.gnu.org/gnats.html
! 25. http://gcc.gnu.org/bugs.html#gnat
! 26. http://gcc.gnu.org/bugs.html#pch
! 27. http://gcc.gnu.org/bugs.html#detailed
! 28. http://gcc.gnu.org/bugs.html#where
! 29. http://gcc.gnu.org/bugs.html#detailed
30. http://gcc.gnu.org/bugs.html#detailed
! 31. http://gcc.gnu.org/onlinedocs/g77/Trouble.html
! 32. http://www.gnu.org/software/glibc/
! 33. http://gcc.gnu.org/bugs.html#report
! 34. http://www.ncits.org/cplusplus.htm
! 35. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html
! 36. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html
! 37. http://www.validlab.com/goldberg/paper.ps
diff -Nrc3pad gcc-3.2.2/ChangeLog gcc-3.2.3/ChangeLog
*** gcc-3.2.2/ChangeLog Wed Feb 5 03:02:21 2003
--- gcc-3.2.3/ChangeLog Tue Apr 22 06:14:01 2003
***************
*** 1,3 ****
--- 1,11 ----
+ 2003-04-22 Release Manager
+
+ * GCC 3.2.3 Released.
+
+ 2003-02-12 Marc Espie W e are often asked about pre-compiled versions of GCC. While we cannot
provide these for all platforms, below you'll find links to binaries for
various platforms where creating them by yourself is not easy due to various
reasons.
! Please note that we did not create these binaries, nor do we
support them. If you have any problems installing them, please
contact their makers.
! In addition to those specific offerings, you can get a binary
distribution CD-ROM from the
Free Software Foundation.
It contains binaries for a number of platforms, and
--- 1,61 ----
!
! Please note that we did not create these binaries, nor do we
support them. If you have any problems installing them, please
contact their makers.
! In addition to those specific offerings, you can get a binary
distribution CD-ROM from the
Free Software Foundation.
It contains binaries for a number of platforms, and
*************** not contain the latest version of GCC, b
*** 62,70 ****
bootstrapping the compiler. An updated version of that disk is in the
works.
!
Return to the GCC Installation page
!
--- 64,72 ----
bootstrapping the compiler. An updated version of that disk is in the
works.
!
Return to the GCC Installation page
!
diff -Nrc3pad gcc-3.2.2/INSTALL/build.html gcc-3.2.3/INSTALL/build.html
*** gcc-3.2.2/INSTALL/build.html Wed Feb 5 03:09:30 2003
--- gcc-3.2.3/INSTALL/build.html Tue Apr 22 06:56:33 2003
***************
*** 1,100 ****
! N ow that GCC is configured, you are ready to build the compiler and
runtime libraries.
! We highly recommend that GCC be built using GNU make;
other versions may work, then again they might not.
GNU make is required for compiling GNAT (the Ada compiler) and the Java
runtime library.
! (For example, many broken versions of make will fail if you use the
recommended setup where objdir is different from srcdir.
Other broken versions may recompile parts of the compiler when
installing the compiler.)
! Some commands executed when making the compiler may fail (return a
nonzero status) and be ignored by It is normal to have compiler warnings when compiling certain files.
Unless you are a GCC developer, you can generally ignore these warnings
unless they cause compilation to fail.
! On certain old systems, defining certain environment variables such as
If you encounter seemingly strange errors when trying to build the
compiler in a directory other than the source directory, it could be
because you have previously configured the compiler in the source
directory. Make sure you have done all the necessary preparations.
! If you build GCC on a BSD system using a directory stored in an old System
V file system, problems may occur in running The solution is not to use such a directory for building GCC.
! When building from CVS or snapshots, or if you modify parser sources,
you need the Bison parser generator installed. Any version 1.25 or
later should work; older versions may also work. If you do not modify
parser sources, releases contain the Bison-generated files and you do
not need Bison installed to build them.
! When building from CVS or snapshots, or if you modify Texinfo
documentation, you need version 4.1 or later of Texinfo installed if you
want Info documentation to be regenerated. Releases contain Info
documentation pre-built for the unmodified documentation in the release.
! For a native build issue the command If you are short on disk space you might consider If you want to save additional space during the bootstrap and in
the final installation as well, you can build the compiler binaries
without debugging information as in the following example. This will save
roughly 40% of disk space both for the bootstrap and the final installation.
(Libraries will still contain debugging information.)
! If you wish to use non-default GCC flags when compiling the stage2 and
stage3 compilers, set We highly recommend that GCC be built using GNU make;
other versions may work, then again they might not.
GNU make is required for compiling GNAT (the Ada compiler) and the Java
runtime library.
! (For example, many broken versions of make will fail if you use the
recommended setup where objdir is different from srcdir.
Other broken versions may recompile parts of the compiler when
installing the compiler.)
! Some commands executed when making the compiler may fail (return a
nonzero status) and be ignored by It is normal to have compiler warnings when compiling certain files.
Unless you are a GCC developer, you can generally ignore these warnings
unless they cause compilation to fail.
! On certain old systems, defining certain environment variables such as
If you encounter seemingly strange errors when trying to build the
compiler in a directory other than the source directory, it could be
because you have previously configured the compiler in the source
directory. Make sure you have done all the necessary preparations.
! If you build GCC on a BSD system using a directory stored in an old System
V file system, problems may occur in running The solution is not to use such a directory for building GCC.
! When building from CVS or snapshots, or if you modify parser sources,
you need the Bison parser generator installed. Any version 1.25 or
later should work; older versions may also work. If you do not modify
parser sources, releases contain the Bison-generated files and you do
not need Bison installed to build them.
! When building from CVS or snapshots, or if you modify Texinfo
documentation, you need version 4.1 or later of Texinfo installed if you
want Info documentation to be regenerated. Releases contain Info
documentation pre-built for the unmodified documentation in the release.
! For a native build issue the command If you are short on disk space you might consider If you want to save additional space during the bootstrap and in
the final installation as well, you can build the compiler binaries
without debugging information as in the following example. This will save
roughly 40% of disk space both for the bootstrap and the final installation.
(Libraries will still contain debugging information.)
! If you wish to use non-default GCC flags when compiling the stage2 and
stage3 compilers, set If you used the flag If the comparison of stage2 and stage3 fails, this normally indicates
that the stage2 compiler has compiled GCC incorrectly, and is therefore
a potentially serious bug which you should investigate and report. (On
a few systems, meaningful comparison of object files is impossible; they
always appear "different". If you encounter this problem, you will
need to disable comparison in the We recommend reading the
crossgcc FAQ
for information about building cross compilers.
! When building a cross compiler, it is not generally possible to do a
3-stage bootstrap of the compiler. This makes for an interesting problem
as parts of GCC can only be built with GCC.
! To build a cross compiler, we first recommend building and installing a
native compiler. You can then use the native GCC compiler to build the
cross compiler. The installed native compiler needs to be GCC version
2.95 or later.
! Assuming you have already installed a native copy of GCC and configured
your cross compiler, issue the command Note that if an error occurs in any step the make process will exit.
! If you have a multiprocessor system you can use In order to build GNAT, the Ada compiler, you need a working GNAT
compiler (GNAT version 3.13 or later, or GCC version 3.1 or later),
since the Ada front end is written in Ada (with some
GNAT-specific extensions), and GNU make.
! However, you do not need a full installation of GNAT, just the GNAT
binary If you used the flag If the comparison of stage2 and stage3 fails, this normally indicates
that the stage2 compiler has compiled GCC incorrectly, and is therefore
a potentially serious bug which you should investigate and report. (On
a few systems, meaningful comparison of object files is impossible; they
always appear "different". If you encounter this problem, you will
need to disable comparison in the We recommend reading the
crossgcc FAQ
for information about building cross compilers.
! When building a cross compiler, it is not generally possible to do a
3-stage bootstrap of the compiler. This makes for an interesting problem
as parts of GCC can only be built with GCC.
! To build a cross compiler, we first recommend building and installing a
native compiler. You can then use the native GCC compiler to build the
cross compiler. The installed native compiler needs to be GCC version
2.95 or later.
! Assuming you have already installed a native copy of GCC and configured
your cross compiler, issue the command Note that if an error occurs in any step the make process will exit.
! If you have a multiprocessor system you can use In order to build GNAT, the Ada compiler, you need a working GNAT
compiler (GNAT version 3.13 or later, or GCC version 3.1 or later),
since the Ada front end is written in Ada (with some
GNAT-specific extensions), and GNU make.
! However, you do not need a full installation of GNAT, just the GNAT
binary Additional build tools (such as At the moment, the GNAT library and several tools for GNAT are not built
by For example, you can build a native Ada compiler by issuing the
following commands (assuming Currently, when compiling the Ada front end, you cannot use the parallel
build feature described in the previous section.
!
Return to the GCC Installation page
!
--- 185,226 ----
installed, the build will fail unless Additional build tools (such as At the moment, the GNAT library and several tools for GNAT are not built
by For example, you can build a native Ada compiler by issuing the
following commands (assuming Currently, when compiling the Ada front end, you cannot use the parallel
build feature described in the previous section.
!
Return to the GCC Installation page
!
diff -Nrc3pad gcc-3.2.2/INSTALL/configure.html gcc-3.2.3/INSTALL/configure.html
*** gcc-3.2.2/INSTALL/configure.html Wed Feb 5 03:09:30 2003
--- gcc-3.2.3/INSTALL/configure.html Tue Apr 22 06:56:33 2003
***************
*** 1,30 ****
! L ike most GNU software, GCC must be configured before it can be built.
This document describes the recommended configuration procedure
for both native and cross targets.
! We use srcdir to refer to the toplevel source directory for
GCC; we use objdir to refer to the toplevel build/object directory.
! If you obtained the sources via CVS, srcdir must refer to the top
First, we highly recommend that GCC be built into a
separate directory than the sources which does not reside
within the source tree. This is how we generally build GCC; building
where srcdir == objdir should still work, but doesn't
get extensive testing; building where objdir is a subdirectory
of srcdir is unsupported.
! If you have previously built GCC in the same directory for a
different target machine, do We use srcdir to refer to the toplevel source directory for
GCC; we use objdir to refer to the toplevel build/object directory.
! If you obtained the sources via CVS, srcdir must refer to the top
First, we highly recommend that GCC be built into a
separate directory than the sources which does not reside
within the source tree. This is how we generally build GCC; building
where srcdir == objdir should still work, but doesn't
get extensive testing; building where objdir is a subdirectory
of srcdir is unsupported.
! If you have previously built GCC in the same directory for a
different target machine, do Second, when configuring a native system, either Note that the bootstrap compiler and the resulting GCC must be link
compatible, else the bootstrap will fail with linker errors about
incompatible object file formats. Several multilibed targets are
affected by this requirement, see
host/target specific installation notes.
! To configure GCC:
! Use options to override several configure time options for
GCC. A list of supported options follows; We highly recommend against dirname being the same or a
subdirectory of objdir or vice versa.
! These additional options control where certain parts of the distribution
are installed. Normally you should not need to use these options.
! Second, when configuring a native system, either Note that the bootstrap compiler and the resulting GCC must be link
compatible, else the bootstrap will fail with linker errors about
incompatible object file formats. Several multilibed targets are
affected by this requirement, see
host/target specific installation notes.
! To configure GCC:
! Use options to override several configure time options for
GCC. A list of supported options follows; We highly recommend against dirname being the same or a
subdirectory of objdir or vice versa.
! These additional options control where certain parts of the distribution
are installed. Normally you should not need to use these options.
! All three options can be combined and used together, resulting in more
complex conversion patterns. As a basic rule, prefix (and
suffix) are prepended (appended) before further transformations
can happen with a special transformation script pattern.
! As currently implemented, these options only take effect for native
builds; cross compiler binaries' names are not transformed even when a
transformation is explicitly asked for by one of these options.
! For native builds, some of the installed programs are also installed
with the target alias in front of their name, as in
All three options can be combined and used together, resulting in more
complex conversion patterns. As a basic rule, prefix (and
suffix) are prepended (appended) before further transformations
can happen with a special transformation script pattern.
! As currently implemented, these options only take effect for native
builds; cross compiler binaries' names are not transformed even when a
transformation is explicitly asked for by one of these options.
! For native builds, some of the installed programs are also installed
with the target alias in front of their name, as in
As a last shortcoming, none of the installed Ada programs are
transformed yet, which will be fixed in some time.
! You should specify The default value for The purpose of Both the local-prefix include directory and the GCC-prefix include
directory are part of GCC's "system include" directories. Although these
two directories are not fixed, they need to be searched in the proper
order for the correct processing of the include_next directive. The
--- 166,198 ----
resulting binary would be installed as
As a last shortcoming, none of the installed Ada programs are
transformed yet, which will be fixed in some time.
! You should specify The default value for The purpose of Both the local-prefix include directory and the GCC-prefix include
directory are part of GCC's "system include" directories. Although these
two directories are not fixed, they need to be searched in the proper
order for the correct processing of the include_next directive. The
*************** local-prefix include directory is search
*** 198,204 ****
include directory. Another characteristic of system include directories
is that pedantic warnings are turned off for headers in these directories.
! Some autoconf macros add Some autoconf macros add GCC automatically searches for ordinary libraries using
Sites that need to install multiple versions of GCC may not want to
use the above simple configuration. It is possible to use the
GCC automatically searches for ordinary libraries using
Sites that need to install multiple versions of GCC may not want to
use the above simple configuration. It is possible to use the
The same value can be used for both Do not specify Indications are that people who use this option use it based on mistaken
ideas of what it is for. People use it as if it specified where to
install part of GCC. Perhaps they make this assumption because
installing GCC creates the directory.
! If a list of packages is given as an argument, build shared libraries
only for the listed packages. For other packages, only static libraries
will be built. Package names currently recognized in the GCC tree are
The same value can be used for both Do not specify Indications are that people who use this option use it based on mistaken
ideas of what it is for. People use it as if it specified where to
install part of GCC. Perhaps they make this assumption because
installing GCC creates the directory.
! If a list of packages is given as an argument, build shared libraries
only for the listed packages. For other packages, only static libraries
will be built. Package names currently recognized in the GCC tree are
Use The following systems are the only ones where it makes a difference
whether you use the GNU assembler. On any other system,
On the systems listed above (except for the HP-PA, for ISC on the
386, and for On MIPS based systems and on Alphas, you must specify whether you want
GCC to create the normal ECOFF debugging format, or to use BSD-style
stabs passed through the ECOFF symbol table. The normal ECOFF debug
format cannot fully handle languages other than C. BSD stabs format can
handle other languages, but it only works with the GNU debugger GDB.
! Normally, GCC uses the ECOFF debugging format by default; if you
prefer BSD stabs, specify No matter which default you choose when you configure GCC, the user
can use the Some targets provide finer-grained control over which multilibs are built
(e.g., In general, the best (and, in many cases, the only known) threading
model available will be configured for use. Beware that on some
systems, gcc has not been taught what threading models are generally
available for the system. In this case, Use The following systems are the only ones where it makes a difference
whether you use the GNU assembler. On any other system,
On the systems listed above (except for the HP-PA, for ISC on the
386, and for On MIPS based systems and on Alphas, you must specify whether you want
GCC to create the normal ECOFF debugging format, or to use BSD-style
stabs passed through the ECOFF symbol table. The normal ECOFF debug
format cannot fully handle languages other than C. BSD stabs format can
handle other languages, but it only works with the GNU debugger GDB.
! Normally, GCC uses the ECOFF debugging format by default; if you
prefer BSD stabs, specify No matter which default you choose when you configure GCC, the user
can use the Some targets provide finer-grained control over which multilibs are built
(e.g., In general, the best (and, in many cases, the only known) threading
model available will be configured for use. Beware that on some
systems, gcc has not been taught what threading models are generally
available for the system. In this case, key defaults to GCC version number, and can be overridden by the
! key defaults to GCC version number, and can be overridden by the
! All support for systems which have been obsoleted in one release of GCC
is removed entirely in the next major release, unless someone steps
forward to maintain the port.
Some options which only apply to building cross compilers:
! Note that each
Return to the GCC Installation page
!
--- 547,617 ----
default when list is not specified is All support for systems which have been obsoleted in one release of GCC
is removed entirely in the next major release, unless someone steps
forward to maintain the port.
Some options which only apply to building cross compilers:
! Note that each
Return to the GCC Installation page
!
diff -Nrc3pad gcc-3.2.2/INSTALL/download.html gcc-3.2.3/INSTALL/download.html
*** gcc-3.2.2/INSTALL/download.html Wed Feb 5 03:09:30 2003
--- gcc-3.2.3/INSTALL/download.html Tue Apr 22 06:56:33 2003
***************
*** 1,45 ****
! G CC is distributed via CVS and FTP
tarballs compressed with Please refer to our releases web page
for information on how to obtain GCC.
! The full distribution includes the C, C++, Objective-C, Fortran, Java,
and Ada (in case of GCC 3.1 and later) compilers. The full distribution
also includes runtime libraries for C++, Objective-C, Fortran, and Java.
In GCC 3.0 and later versions, GNU compiler testsuites are also included
in the full distribution.
! If you choose to download specific components, you must download the core
GCC distribution plus any language specific distributions you wish to
use. The core distribution includes the C language front end as well as the
shared components. Each language has a tarball which includes the language
front end as well as the language runtime (when appropriate).
! Unpack the core distribution as well as any language specific
distributions in the same directory.
! If you also intend to build binutils (either to upgrade an existing
installation or for use in place of the corresponding tools of your
OS), unpack the binutils distribution either in the same directory or
a separate one. In the latter case, add symbolic links to any
components of the binutils you intend to build alongside the compiler
(
Return to the GCC Installation page
!
--- 1,47 ----
!
! Please refer to our releases web page
for information on how to obtain GCC.
! The full distribution includes the C, C++, Objective-C, Fortran, Java,
and Ada (in case of GCC 3.1 and later) compilers. The full distribution
also includes runtime libraries for C++, Objective-C, Fortran, and Java.
In GCC 3.0 and later versions, GNU compiler testsuites are also included
in the full distribution.
! If you choose to download specific components, you must download the core
GCC distribution plus any language specific distributions you wish to
use. The core distribution includes the C language front end as well as the
shared components. Each language has a tarball which includes the language
front end as well as the language runtime (when appropriate).
! Unpack the core distribution as well as any language specific
distributions in the same directory.
! If you also intend to build binutils (either to upgrade an existing
installation or for use in place of the corresponding tools of your
OS), unpack the binutils distribution either in the same directory or
a separate one. In the latter case, add symbolic links to any
components of the binutils you intend to build alongside the compiler
(
Return to the GCC Installation page
!
diff -Nrc3pad gcc-3.2.2/INSTALL/finalinstall.html gcc-3.2.3/INSTALL/finalinstall.html
*** gcc-3.2.2/INSTALL/finalinstall.html Wed Feb 5 03:09:30 2003
--- gcc-3.2.3/INSTALL/finalinstall.html Tue Apr 22 06:56:34 2003
***************
*** 1,57 ****
! N ow that GCC has been built (and optionally tested), you can install it with
! We strongly recommend to install into a target directory where there is
no previous version of GCC present.
! That step completes the installation of GCC; user level binaries can
! be found in When installing cross-compilers, GCC's executables
! are not only installed into Installation into a temporary staging area or into a where path-to-rootdir is the absolute path of
a directory relative to which all installation paths will be
interpreted. Note that the directory specified by There is a subtle point with tooldirs and If you built a released version of GCC using We strongly recommend to install into a target directory where there is
no previous version of GCC present.
! That step completes the installation of GCC; user level binaries can
! be found in When installing cross-compilers, GCC's executables
! are not only installed into Installation into a temporary staging area or into a where path-to-rootdir is the absolute path of
a directory relative to which all installation paths will be
interpreted. Note that the directory specified by There is a subtle point with tooldirs and If you built a released version of GCC using We'd also like to know if the
host/target specific installation notes
didn't include your host/target information or if that information is
incomplete or out of date. Send a note to
gcc@gcc.gnu.org telling us how the information should be changed.
! If you find a bug, please report it following our
bug reporting guidelines.
! If you want to print the GCC manuals, do
Return to the GCC Installation page
!
--- 62,121 ----
that you successfully built and installed GCC.
Include the following information:
! We'd also like to know if the
host/target specific installation notes
didn't include your host/target information or if that information is
incomplete or out of date. Send a note to
gcc@gcc.gnu.org telling us how the information should be changed.
! If you find a bug, please report it following our
bug reporting guidelines.
! If you want to print the GCC manuals, do
Return to the GCC Installation page
!
diff -Nrc3pad gcc-3.2.2/INSTALL/gfdl.html gcc-3.2.3/INSTALL/gfdl.html
*** gcc-3.2.2/INSTALL/gfdl.html Wed Feb 5 03:09:30 2003
--- gcc-3.2.3/INSTALL/gfdl.html Tue Apr 22 06:56:35 2003
***************
*** 1,26 ****
! Version 1.1, March 2000 The purpose of this License is to make a manual, textbook, or other
written document free in the sense of freedom: to assure everyone
the effective freedom to copy and redistribute it, with or without
modifying it, either commercially or noncommercially. Secondarily,
--- 1,27 ----
!
! The purpose of this License is to make a manual, textbook, or other
written document free in the sense of freedom: to assure everyone
the effective freedom to copy and redistribute it, with or without
modifying it, either commercially or noncommercially. Secondarily,
*************** this License preserves for the author an
*** 28,39 ****
credit for their work, while not being considered responsible for
modifications made by others.
! This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
! We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
--- 29,40 ----
credit for their work, while not being considered responsible for
modifications made by others.
! This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
! We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
*************** it can be used for any textual work, reg
*** 41,59 ****
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
! This License applies to any manual or other work that contains a
notice placed by the copyright holder saying it can be distributed
under the terms of this License. The "Document", below, refers to any
such manual or work. Any member of the public is a licensee, and is
addressed as "you".
! A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
! A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
--- 42,60 ----
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
! This License applies to any manual or other work that contains a
notice placed by the copyright holder saying it can be distributed
under the terms of this License. The "Document", below, refers to any
such manual or work. Any member of the public is a licensee, and is
addressed as "you".
! A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
! A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
*************** connection with the subject or with rela
*** 64,78 ****
commercial, philosophical, ethical or political position regarding
them.
! The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.
! The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.
! A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, whose contents can be viewed and edited directly and
straightforwardly with generic text editors or (for images composed of
--- 65,79 ----
commercial, philosophical, ethical or political position regarding
them.
! The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.
! The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.
! A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, whose contents can be viewed and edited directly and
straightforwardly with generic text editors or (for images composed of
*************** format whose markup has been designed to
*** 84,90 ****
subsequent modification by readers is not Transparent. A copy that is
not "Transparent" is called "Opaque".
! Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
SGML or XML using a publicly available
DTD, and standard-conforming simple HTML designed
--- 85,91 ----
subsequent modification by readers is not Transparent. A copy that is
not "Transparent" is called "Opaque".
! Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
SGML or XML using a publicly available
DTD, and standard-conforming simple HTML designed
*************** the DTD and/or processing
*** 95,110 ****
and the machine-generated HTML produced by some word
processors for output purposes only.
! The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
! You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
--- 96,111 ----
and the machine-generated HTML produced by some word
processors for output purposes only.
! The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
! You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
*************** copying of the copies you make or distri
*** 114,125 ****
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
! You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
! If you publish printed copies of the Document numbering more than 100,
and the Document's license notice requires Cover Texts, you must enclose
the copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
--- 115,126 ----
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
! You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
! If you publish printed copies of the Document numbering more than 100,
and the Document's license notice requires Cover Texts, you must enclose
the copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
*************** Copying with changes limited to the cove
*** 131,142 ****
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
! If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
! If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a publicly-accessible computer-network location containing a complete
--- 132,143 ----
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
! If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
! If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a publicly-accessible computer-network location containing a complete
*************** until at least one year after the last t
*** 150,198 ****
copy (directly or through your agents or retailers) of that edition to
the public.
! It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
! You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
! It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
! You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
! If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
! You may add a section entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
! You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
--- 209,244 ----
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
! If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
! You may add a section entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
! You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
*************** by arrangement made by the same entity y
*** 247,266 ****
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
! The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
! You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice.
! The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
--- 248,267 ----
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
! The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
! You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice.
! The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
*************** author or publisher of that section if k
*** 269,296 ****
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
! In the combination, you must combine any sections entitled "History"
in the various original documents, forming one section entitled
"History"; likewise combine any sections entitled "Acknowledgments",
and any sections entitled "Dedications". You must delete all sections
entitled "Endorsements."
! You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
! You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
! A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, does not as a whole count as a Modified Version
of the Document, provided no compilation copyright is claimed for the
--- 270,297 ----
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
! In the combination, you must combine any sections entitled "History"
in the various original documents, forming one section entitled
"History"; likewise combine any sections entitled "Acknowledgments",
and any sections entitled "Dedications". You must delete all sections
entitled "Endorsements."
! You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
! You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
! A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, does not as a whole count as a Modified Version
of the Document, provided no compilation copyright is claimed for the
*************** License does not apply to the other self
*** 299,313 ****
with the Document, on account of their being thus compiled, if they
are not themselves derivative works of the Document.
! If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one quarter
of the entire aggregate, the Document's Cover Texts may be placed on
covers that surround only the Document within the aggregate.
Otherwise they must appear on covers around the whole aggregate.
! Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
--- 300,314 ----
with the Document, on account of their being thus compiled, if they
are not themselves derivative works of the Document.
! If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one quarter
of the entire aggregate, the Document's Cover Texts may be placed on
covers that surround only the Document within the aggregate.
Otherwise they must appear on covers around the whole aggregate.
! Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
*************** original English version of this License
*** 318,326 ****
between the translation and the original English version of this
License, the original English version will prevail.
! You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
--- 319,327 ----
between the translation and the original English version of this
License, the original English version will prevail.
! You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
*************** parties who have received copies, or rig
*** 328,342 ****
License will not have their licenses terminated so long as such
parties remain in full compliance.
! The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
! Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
--- 329,343 ----
License will not have their licenses terminated so long as such
parties remain in full compliance.
! The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
! Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
*************** of any later version that has been publi
*** 344,380 ****
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
!
! To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
! If you have no Invariant Sections, write "with no Invariant Sections"
instead of saying which ones are invariant. If you have no
Front-Cover Texts, write "no Front-Cover Texts" instead of
"Front-Cover Texts being list"; likewise for Back-Cover Texts.
! If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
!
Return to the GCC Installation page
!
--- 345,381 ----
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
!
! To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
! If you have no Invariant Sections, write "with no Invariant Sections"
instead of saying which ones are invariant. If you have no
Front-Cover Texts, write "no Front-Cover Texts" instead of
"Front-Cover Texts being list"; likewise for Back-Cover Texts.
! If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
!
Return to the GCC Installation page
!
diff -Nrc3pad gcc-3.2.2/INSTALL/index.html gcc-3.2.3/INSTALL/index.html
*** gcc-3.2.2/INSTALL/index.html Wed Feb 5 03:09:30 2003
--- gcc-3.2.3/INSTALL/index.html Tue Apr 22 06:56:32 2003
***************
*** 1,75 ****
! T he latest version of this document is always available at
http://gcc.gnu.org/install/.
! This document describes the generic installation procedure for GCC as well
as detailing some target specific installation instructions.
! GCC includes several components that previously were separate distributions
with their own installation instructions. This document supersedes all
package specific installation instructions.
! Before starting the build/install procedure please check the
host/target specific installation notes.
We recommend you browse the entire generic installation instructions before
you proceed.
! Lists of successful builds for released versions of GCC are
available at http://gcc.gnu.org/buildstat.html.
These lists are updated as new information becomes available.
! The installation procedure itself is broken into five steps.
!
! Installing GCC: Binaries
! We are often asked about pre-compiled versions of GCC. While we cannot
provide these for all platforms, below you'll find links to binaries for
various platforms where creating them by yourself is not easy due to various
reasons.
!
!
make. These failures, which
are often due to files that were not found, are expected, and can safely
be ignored.
! CC can interfere with the functioning of make.
! fixincludes if the
System V file system doesn't support symbolic links. These problems
result in a failure to fix the declaration of size_t in
sys/types.h. If you find that size_t is a signed type and
that type mismatches occur, this could be the cause.
! Building a native compiler
! make bootstrap. This
will build the entire GCC system, which includes the following steps:
!
! make
bootstrap-lean instead. This is identical to make
bootstrap except that object files from the stage1 and
stage2 of the 3-stage bootstrap of the compiler are deleted as
soon as they are no longer needed.
! make CFLAGS='-O' LIBCFLAGS='-g -O2' \
! LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
!
! BOOT_CFLAGS on the command line when doing
make bootstrap. Non-default optimization flags are less well
tested here than the default of -g -O2, but should still work.
--- 1,102 ----
!
! Installing GCC: Building
! Now that GCC is configured, you are ready to build the compiler and
runtime libraries.
! make. These failures, which
are often due to files that were not found, are expected, and can safely
be ignored.
! CC can interfere with the functioning of make.
! fixincludes if the
System V file system doesn't support symbolic links. These problems
result in a failure to fix the declaration of size_t in
sys/types.h. If you find that size_t is a signed type and
that type mismatches occur, this could be the cause.
! Building a native compiler
! make bootstrap. This
will build the entire GCC system, which includes the following steps:
!
! make
bootstrap-lean instead. This is identical to make
bootstrap except that object files from the stage1 and
stage2 of the 3-stage bootstrap of the compiler are deleted as
soon as they are no longer needed.
! make CFLAGS='-O' LIBCFLAGS='-g -O2' \
! LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
!
! BOOT_CFLAGS on the command line when doing
make bootstrap. Non-default optimization flags are less well
tested here than the default of -g -O2, but should still work.
*************** around this, by choosing BOOT_CFLA
*** 105,176 ****
stage1 compiler that were miscompiled, or by using make
bootstrap4 to increase the number of stages of bootstrap.
! --enable-languages=... to restrict
the compilers to be built, only those you've actually enabled will be
built. This will of course only build those runtime libraries, for
which the particular compiler has been built. Please note,
that re-defining LANGUAGES when calling make bootstrap
does not work anymore!
! Makefile.)
! Building a cross compiler
! make, which performs the
following steps:
!
! Building in parallel
! make bootstrap
MAKE="make -j 2" -j 2 or just make -j 2 bootstrap
for GNU Make 3.79 and above instead of just make bootstrap
when building GCC. You can use a bigger number instead of two if
you like. In most cases, it won't help to use a number bigger than
the number of processors in your machine.
! Building the Ada compiler
! gnat1, a copy of gnatbind, and a compiler driver
which can deal with Ada input (by invoking the gnat1 binary).
You can specify this compiler driver by setting the ADAC
--- 107,178 ----
stage1 compiler that were miscompiled, or by using make
bootstrap4 to increase the number of stages of bootstrap.
! --enable-languages=... to restrict
the compilers to be built, only those you've actually enabled will be
built. This will of course only build those runtime libraries, for
which the particular compiler has been built. Please note,
that re-defining LANGUAGES when calling make bootstrap
does not work anymore!
! Makefile.)
! Building a cross compiler
! make, which performs the
following steps:
!
! Building in parallel
! make bootstrap
MAKE="make -j 2" -j 2 or just make -j 2 bootstrap
for GNU Make 3.79 and above instead of just make bootstrap
when building GCC. You can use a bigger number instead of two if
you like. In most cases, it won't help to use a number bigger than
the number of processors in your machine.
! Building the Ada compiler
! gnat1, a copy of gnatbind, and a compiler driver
which can deal with Ada input (by invoking the gnat1 binary).
You can specify this compiler driver by setting the ADAC
*************** and has a sufficiently recent version; i
*** 183,224 ****
installed, the build will fail unless --enable-languages is
used to disable building the Ada front end.
! gnatmake) or a working GNAT
run-time library installation are usually not required. However,
if you want to bootstrap the compiler using a minimal version of GNAT,
you have to issue the following commands before invoking make
bootstrap (this assumes that you start with an unmodified and consistent
source distribution):
! cd srcdir/gcc/ada
! touch treeprs.ads [es]info.h nmake.ad[bs]
!
! make bootstrap. You have to invoke
! make gnatlib_and_tools in the objdir/gcc
subdirectory before proceeding with the next steps.
! make is GNU make):
! cd objdir
! srcdir/configure --enable-languages=c,ada
! cd srcdir/gcc/ada
! touch treeprs.ads [es]info.h nmake.ad[bs]
! cd objdir
! make bootstrap
! cd gcc
! make gnatlib_and_tools
! cd ..
!
!
--enable-languages is
used to disable building the Ada front end.
! gnatmake) or a working GNAT
run-time library installation are usually not required. However,
if you want to bootstrap the compiler using a minimal version of GNAT,
you have to issue the following commands before invoking make
bootstrap (this assumes that you start with an unmodified and consistent
source distribution):
! cd srcdir/gcc/ada
! touch treeprs.ads [es]info.h nmake.ad[bs]
!
! make bootstrap. You have to invoke
! make gnatlib_and_tools in the objdir/gcc
subdirectory before proceeding with the next steps.
! make is GNU make):
! cd objdir
! srcdir/configure --enable-languages=c,ada
! cd srcdir/gcc/ada
! touch treeprs.ads [es]info.h nmake.ad[bs]
! cd objdir
! make bootstrap
! cd gcc
! make gnatlib_and_tools
! cd ..
!
!
gcc directory, the one where the MAINTAINERS can be found,
and not its gcc subdirectory, otherwise the build will fail.
! make distclean to delete all files
that might be invalid. One of the files this deletes is
Makefile; if make distclean complains that Makefile
--- 1,32 ----
!
! Installing GCC: Configuration
! Like most GNU software, GCC must be configured before it can be built.
This document describes the recommended configuration procedure
for both native and cross targets.
! gcc directory, the one where the MAINTAINERS can be found,
and not its gcc subdirectory, otherwise the build will fail.
! make distclean to delete all files
that might be invalid. One of the files this deletes is
Makefile; if make distclean complains that Makefile
*************** clean. However, with the recommended me
*** 33,142 ****
objdir, you should simply use a different objdir for each
target.
! cc or
gcc must be in your path or you must set CC in
your environment before running configure. Otherwise the configuration
scripts may fail.
! % mkdir objdir
! % cd objdir
! % srcdir/configure [options] [target]
!
! Target specification
!
! --target=target
when configuring a cross compiler; examples of valid targets would be
i960-rtems, m68k-coff, sh-elf, etc.
! --target=target
implies that the host defaults to target.
Options specification
! configure
--help may list other options, but those not listed below may not
work and should not normally be used.
!
!
! --prefix=dirname
! /usr/local.
!
!
! --exec-prefix=dirname
! prefix.
! --bindir=dirname
! gcc and g++). The default is
! exec-prefix/bin.
! --libdir=dirname
! exec-prefix/lib.
! --with-slibdir=dirname
! libdir.
! --infodir=dirname
! prefix/info.
! --mandir=dirname
! prefix/man. (Note that the manual pages are only extracts from
the full GCC manuals, which are provided in Texinfo format. The
g77 manpage is unmaintained and may be out of date; the others
are derived by an automatic conversion process from parts of the full
manual.)
! --with-gxx-include-dir=dirname
! prefix/include/g++-v3.
! --program-prefix=prefix
! --program-prefix=foo- would result in gcc
being installed as /usr/local/bin/foo-gcc.
! --program-suffix=suffix
! --program-suffix=-3.1
would result in gcc being installed as
/usr/local/bin/gcc-3.1.
! --program-transform-name=pattern
! sed script pattern to be applied to the names
of programs to install in bindir (see above). pattern has to
consist of one or more basic sed editing commands, separated by
semicolons. For example, if you want the gcc program name to be
--- 35,144 ----
objdir, you should simply use a different objdir for each
target.
! cc or
gcc must be in your path or you must set CC in
your environment before running configure. Otherwise the configuration
scripts may fail.
! % mkdir objdir
! % cd objdir
! % srcdir/configure [options] [target]
!
! Target specification
!
! --target=target
when configuring a cross compiler; examples of valid targets would be
i960-rtems, m68k-coff, sh-elf, etc.
! --target=target
implies that the host defaults to target.
Options specification
! configure
--help may list other options, but those not listed below may not
work and should not normally be used.
!
!
! --prefix=dirname
! /usr/local.
!
!
! --exec-prefix=dirname
! prefix.
! --bindir=dirname
! gcc and g++). The default is
! exec-prefix/bin.
! --libdir=dirname
! exec-prefix/lib.
! --with-slibdir=dirname
! libdir.
! --infodir=dirname
! prefix/info.
! --mandir=dirname
! prefix/man. (Note that the manual pages are only extracts from
the full GCC manuals, which are provided in Texinfo format. The
g77 manpage is unmaintained and may be out of date; the others
are derived by an automatic conversion process from parts of the full
manual.)
! --with-gxx-include-dir=dirname
! prefix/include/g++-v3.
! --program-prefix=prefix
! --program-prefix=foo- would result in gcc
being installed as /usr/local/bin/foo-gcc.
! --program-suffix=suffix
! --program-suffix=-3.1
would result in gcc being installed as
/usr/local/bin/gcc-3.1.
! --program-transform-name=pattern
! sed script pattern to be applied to the names
of programs to install in bindir (see above). pattern has to
consist of one or more basic sed editing commands, separated by
semicolons. For example, if you want the gcc program name to be
*************** you could use the pattern
*** 147,162 ****
--program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/'
to achieve this effect.
! i686-pc-linux-gnu-gcc. All of the above transformations happen
before the target alias is prepended to the name - so, specifying
--- 149,164 ----
--program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/'
to achieve this effect.
! i686-pc-linux-gnu-gcc. All of the above transformations happen
before the target alias is prepended to the name - so, specifying
*************** before the target alias is prepended to
*** 164,196 ****
resulting binary would be installed as
/usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.
! --with-local-prefix=dirname
! /usr/local. Specify this option if you want the compiler to
! search directory dirname/include for locally installed
header files instead of /usr/local/include.
! --with-local-prefix only if your
site has a different convention (not /usr/local) for where to put
site-specific files.
! --with-local-prefix is /usr/local
regardless of the value of --prefix. Specifying
--prefix has no effect on which directory GCC searches for
local header files. This may seem counterintuitive, but actually it is
logical.
! --prefix is to specify where to install
GCC. The local header files in /usr/local/include--if you put
any in that directory--are not part of GCC. They are part of other
programs--perhaps many others. (GCC installs its own header files in
another directory which is based on the --prefix value.)
! /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.
! --with-local-prefix=dirname
! /usr/local. Specify this option if you want the compiler to
! search directory dirname/include for locally installed
header files instead of /usr/local/include.
! --with-local-prefix only if your
site has a different convention (not /usr/local) for where to put
site-specific files.
! --with-local-prefix is /usr/local
regardless of the value of --prefix. Specifying
--prefix has no effect on which directory GCC searches for
local header files. This may seem counterintuitive, but actually it is
logical.
! --prefix is to specify where to install
GCC. The local header files in /usr/local/include--if you put
any in that directory--are not part of GCC. They are part of other
programs--perhaps many others. (GCC installs its own header files in
another directory which is based on the --prefix value.)
! -I directory options to the
compiler command line, to ensure that directories containing installed
packages' headers are searched. When directory is one of GCC's
system include directories, GCC will ignore the option so that system
--- 200,206 ----
include directory. Another characteristic of system include directories
is that pedantic warnings are turned off for headers in these directories.
! -I directory options to the
compiler command line, to ensure that directories containing installed
packages' headers are searched. When directory is one of GCC's
system include directories, GCC will ignore the option so that system
*************** directories continue to be processed in
*** 206,219 ****
may result in a search order different from what was specified but the
directory will still be searched.
! GCC_EXEC_PREFIX. Thus, when the same installation prefix is
used for both GCC and packages, GCC will automatically search for
both headers and libraries. This provides a configuration that is
easy to use. GCC behaves in a manner similar to that when it is
installed as a system compiler in /usr.
! --program-prefix, --program-suffix and
--program-transform-name options to install multiple versions
--- 208,221 ----
may result in a search order different from what was specified but the
directory will still be searched.
! GCC_EXEC_PREFIX. Thus, when the same installation prefix is
used for both GCC and packages, GCC will automatically search for
both headers and libraries. This provides a configuration that is
easy to use. GCC behaves in a manner similar to that when it is
installed as a system compiler in /usr.
! --program-prefix, --program-suffix and
--program-transform-name options to install multiple versions
*************** site-specific files for each version. I
*** 223,252 ****
users to specify explicitly the location of local site libraries
(e.g., with LIBRARY_PATH).
! --with-local-prefix and
--prefix provided it is not /usr. This can be used
to avoid the default search of /usr/local/include.
! /usr as the --with-local-prefix!
The directory you use for --with-local-prefix must not
contain any of the system's standard header files. If it did contain
them, certain programs would be miscompiled (including GNU Emacs, on
certain targets), because this would override and nullify the header
file corrections made by the fixincludes script.
! --enable-shared[=package[,...]]
! libobjc which is built as a static library only by
default.
! libgcc (also known as gcc), libstdc++ (not
--- 225,254 ----
users to specify explicitly the location of local site libraries
(e.g., with LIBRARY_PATH).
! --with-local-prefix and
--prefix provided it is not /usr. This can be used
to avoid the default search of /usr/local/include.
! /usr as the --with-local-prefix!
The directory you use for --with-local-prefix must not
contain any of the system's standard header files. If it did contain
them, certain programs would be miscompiled (including GNU Emacs, on
certain targets), because this would override and nullify the header
file corrections made by the fixincludes script.
! --enable-shared[=package[,...]]
! libobjc which is built as a static library only by
default.
! libgcc (also known as gcc), libstdc++ (not
*************** any name, so, if you list package names
*** 256,464 ****
you will only get static Objective-C libraries. libf2c and
libiberty do not support shared libraries at all.
! --disable-shared to build only static libraries. Note that
--disable-shared does not accept a list of package names as
argument, only --enable-shared does.
! --with-gnu-as
! --with-gnu-as.) If you have more than one
assembler installed on your system, you may want to use this option in
! connection with --with-as=pathname.
! --with-gnu-as has no effect.
!
!
! hppa1.0-any-any
! hppa1.1-any-any
! i386-any-sysv
! i386-any-isc
! i860-any-bsd
m68k-bull-sysv
m68k-hp-hpux
m68k-sony-bsd
m68k-altos-sysv
m68000-hp-hpux
m68000-att-sysv
! any-lynx-lynxos
! mips-any
mips-sgi-irix5.*), if you use the GNU assembler,
you should also use the GNU linker (and specify --with-gnu-ld).
! --with-as=pathname
!
! Note that these rules do not check for the value of exec_prefix/lib/gcc-lib/target/version
directory, where exec_prefix defaults to prefix which
defaults to /usr/local unless overridden by the
! --prefix=pathname switch described above. target is the
target system triple, such as sparc-sun-solaris2.7, and
version denotes the GCC version, such as 3.0.
/usr/ccs/bin on
Sun Solaris 2).
PATH. You may
want to use --with-as if no assembler is installed in the
directories listed above, or if you have multiple assemblers installed
and want to choose one that is not found by the above rules.
! --with-gnu-ld
! --with-gnu-as
but for linker.
! --with-ld=pathname
! --with-as, but for the linker.
! --with-stabs
! --with-stabs when you configure GCC.
! -gcoff and -gstabs+ options to specify explicitly
the debug format for a particular compilation.
! --with-stabs is meaningful on the ISC system on the 386, also, if
--with-gas is used. It selects use of stabs debugging
information embedded in COFF output. This kind of debugging information
supports C++ well; ordinary COFF debugging information does not.
! --with-stabs is also meaningful on 386 systems running SVR4. It
selects use of stabs debugging information embedded in ELF output. The
C++ compiler currently (2.6.0) does not support the DWARF debugging
information normally used on 386 SVR4 platforms; stabs provide a
workable alternative. This requires gas and gdb, as the normal SVR4
tools can not generate or interpret stabs.
! --disable-multilib
! --disable-softfloat):
!
! arc-*-elf*
! arm-*-*
! m68*-*-*
! mips*-*-*
! powerpc*-*-*, rs6000*-*-*
! --enable-threads
! --enable-threads is an
alias for --enable-threads=single.
! --disable-threads
! --enable-threads=single.
! --enable-threads=lib
!
! aix
! dce
! mach
! gthr-mach.h, is
missing and thus this setting will cause a known bootstrap failure.)
no
! single.
posix
! pthreads
! posix on arm*-*-linux*, *-*-chorusos* and *-*-freebsd*
only. A future release of gcc might remove this alias or extend it
to all platforms.
rtems
! single
! solaris
! vxworks
! win32
! --with-cpu=cpu
! --enable-altivec
! --enable-target-optspace
! --disable-cpp
! cpp program should not be installed.
! --with-cpp-install-dir=dirname
! cpp program should be installed
! in prefix/dirname/cpp, in addition to bindir.
! --enable-maintainer-mode
! gcc.pot are normally
disabled. This is because it can only be rebuilt if the complete source
tree is present. If you have changed the sources and want to rebuild the
--- 258,466 ----
you will only get static Objective-C libraries. libf2c and
libiberty do not support shared libraries at all.
! --disable-shared to build only static libraries. Note that
--disable-shared does not accept a list of package names as
argument, only --enable-shared does.
! --with-gnu-as
! --with-gnu-as.) If you have more than one
assembler installed on your system, you may want to use this option in
! connection with --with-as=pathname.
! --with-gnu-as has no effect.
!
!
! hppa1.0-any-any
! hppa1.1-any-any
! i386-any-sysv
! i386-any-isc
! i860-any-bsd
m68k-bull-sysv
m68k-hp-hpux
m68k-sony-bsd
m68k-altos-sysv
m68000-hp-hpux
m68000-att-sysv
! any-lynx-lynxos
! mips-any
mips-sgi-irix5.*), if you use the GNU assembler,
you should also use the GNU linker (and specify --with-gnu-ld).
! --with-as=pathname
!
! Note that these rules do not check for the value of exec_prefix/lib/gcc-lib/target/version
directory, where exec_prefix defaults to prefix which
defaults to /usr/local unless overridden by the
! --prefix=pathname switch described above. target is the
target system triple, such as sparc-sun-solaris2.7, and
version denotes the GCC version, such as 3.0.
/usr/ccs/bin on
Sun Solaris 2).
PATH. You may
want to use --with-as if no assembler is installed in the
directories listed above, or if you have multiple assemblers installed
and want to choose one that is not found by the above rules.
! --with-gnu-ld
! --with-gnu-as
but for linker.
! --with-ld=pathname
! --with-as, but for the linker.
! --with-stabs
! --with-stabs when you configure GCC.
! -gcoff and -gstabs+ options to specify explicitly
the debug format for a particular compilation.
! --with-stabs is meaningful on the ISC system on the 386, also, if
--with-gas is used. It selects use of stabs debugging
information embedded in COFF output. This kind of debugging information
supports C++ well; ordinary COFF debugging information does not.
! --with-stabs is also meaningful on 386 systems running SVR4. It
selects use of stabs debugging information embedded in ELF output. The
C++ compiler currently (2.6.0) does not support the DWARF debugging
information normally used on 386 SVR4 platforms; stabs provide a
workable alternative. This requires gas and gdb, as the normal SVR4
tools can not generate or interpret stabs.
! --disable-multilib
! --disable-softfloat):
!
! arc-*-elf*
! arm-*-*
! m68*-*-*
! mips*-*-*
! powerpc*-*-*, rs6000*-*-*
! --enable-threads
! --enable-threads is an
alias for --enable-threads=single.
! --disable-threads
! --enable-threads=single.
! --enable-threads=lib
!
! aix
! dce
! mach
! gthr-mach.h, is
missing and thus this setting will cause a known bootstrap failure.)
no
! single.
posix
! pthreads
! posix on arm*-*-linux*, *-*-chorusos* and *-*-freebsd*
only. A future release of gcc might remove this alias or extend it
to all platforms.
rtems
! single
! solaris
! vxworks
! win32
! --with-cpu=cpu
! --enable-altivec
! --enable-target-optspace
! --disable-cpp
! cpp program should not be installed.
! --with-cpp-install-dir=dirname
! cpp program should be installed
! in prefix/dirname/cpp, in addition to bindir.
! --enable-maintainer-mode
! gcc.pot are normally
disabled. This is because it can only be rebuilt if the complete source
tree is present. If you have changed the sources and want to rebuild the
*************** catalog, configuring with --enable
*** 466,491 ****
this. Note that you need a recent version of the gettext tools
to do so.
! --enable-version-specific-runtime-libs
! libsubdir) rather than the usual places. In
addition, libstdc++'s include files will be installed in
! libsubdir/include/g++ unless you overruled it by using
! --with-gxx-include-dir=dirname. Using this option is
particularly useful if you intend to use several versions of GCC in
parallel. This is currently supported by libf2c and
libstdc++, and is the default for libobjc which cannot be
changed in this case.
! --enable-languages=lang1,lang2,...
! gcc directory of your GCC source tree:
! grep language= */config-lang.in
!
! Currently, you can use any of the following:
ada, c, c++, f77, java, objc.
Building the Ada compiler has special requirements, see below.
If you do not pass this flag, all languages available in the gcc
--- 468,493 ----
this. Note that you need a recent version of the gettext tools
to do so.
! --enable-version-specific-runtime-libs
! libsubdir) rather than the usual places. In
addition, libstdc++'s include files will be installed in
! libsubdir/include/g++ unless you overruled it by using
! --with-gxx-include-dir=dirname. Using this option is
particularly useful if you intend to use several versions of GCC in
parallel. This is currently supported by libf2c and
libstdc++, and is the default for libobjc which cannot be
changed in this case.
! --enable-languages=lang1,lang2,...
! gcc directory of your GCC source tree:
! grep language= */config-lang.in
!
! Currently, you can use any of the following:
ada, c, c++, f77, java, objc.
Building the Ada compiler has special requirements, see below.
If you do not pass this flag, all languages available in the gcc
*************** sub-tree will be configured. Re-definin
*** 493,500 ****
make bootstrap does not work anymore, as those
language sub-directories might not have been configured!
! --disable-libgcj
! make bootstrap does not work anymore, as those
language sub-directories might not have been configured!
! --disable-libgcj
! configure.in so that libgcj is enabled by default on this platform,
you may use --enable-libgcj to override the default.
! --with-dwarf2
! --enable-win32-registry
! --enable-win32-registry=key
! --disable-win32-registry
! --enable-win32-registry option enables Windows-hosted GCC
to look up installations paths in the registry using the following key:
!
! HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
! --enable-win32-registry=key option. Vendors and distributors
who use custom installers are encouraged to provide a different key,
perhaps one comprised of vendor name and GCC version number, to
avoid conflict with existing installations. This feature is enabled
by default, and can be disabled by --disable-win32-registry
option. This option has no effect on the other hosts.
! --nfp
! m68k-sun-sunosn and
m68k-isi-bsd. On any other system, --nfp has no effect.
! --enable-checking
! --enable-checking=list
! configure.in so that libgcj is enabled by default on this platform,
you may use --enable-libgcj to override the default.
! --with-dwarf2
! --enable-win32-registry
! --enable-win32-registry=key
! --disable-win32-registry
! --enable-win32-registry option enables Windows-hosted GCC
to look up installations paths in the registry using the following key:
!
! HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
! --enable-win32-registry=key option. Vendors and distributors
who use custom installers are encouraged to provide a different key,
perhaps one comprised of vendor name and GCC version number, to
avoid conflict with existing installations. This feature is enabled
by default, and can be disabled by --disable-win32-registry
option. This option has no effect on the other hosts.
! --nfp
! m68k-sun-sunosn and
m68k-isi-bsd. On any other system, --nfp has no effect.
! --enable-checking
! --enable-checking=list
! misc,tree,gc; the
checks rtl and gcac are very expensive.
! --enable-nls
! --disable-nls
! --enable-nls option enables Native Language Support (NLS),
which lets GCC output diagnostics in languages other than American
English. Native Language Support is enabled by default if not doing a
canadian cross build. The --disable-nls option disables NLS.
! --with-included-gettext
! --with-included-gettext option causes the build
procedure to prefer its copy of GNU gettext.
! --with-catgets
! gettext but has the
inferior catgets interface, the GCC build procedure normally
ignores catgets and instead uses GCC's copy of the GNU
gettext library. The --with-catgets option causes the
build procedure to use the host's catgets in this situation.
! --with-libiconv-prefix=dir
! dir/include and
! libiconv library files in dir/lib.
! --with-system-zlib
! --enable-obsolete
!
!
! --with-headers=dir
! prefix/target/sys-include doesn't pre-exist.
These include files will be copied into the gcc install directory.
fixincludes will be run on these files to make them compatible with
GCC.
! --with-libs=``dir1 dir2 ... dirN''
! gcc install
directory.
--with-newlib
! newlib is
being used as the target C library. This causes __eprintf to be
omitted from libgcc.a on the assumption that it will be provided by
newlib.
--enable option has a corresponding
--disable option and that each --with option has a
corresponding --without option.
!
misc,tree,gc; the
checks rtl and gcac are very expensive.
! --enable-nls
! --disable-nls
! --enable-nls option enables Native Language Support (NLS),
which lets GCC output diagnostics in languages other than American
English. Native Language Support is enabled by default if not doing a
canadian cross build. The --disable-nls option disables NLS.
! --with-included-gettext
! --with-included-gettext option causes the build
procedure to prefer its copy of GNU gettext.
! --with-catgets
! gettext but has the
inferior catgets interface, the GCC build procedure normally
ignores catgets and instead uses GCC's copy of the GNU
gettext library. The --with-catgets option causes the
build procedure to use the host's catgets in this situation.
! --with-libiconv-prefix=dir
! dir/include and
! libiconv library files in dir/lib.
! --with-system-zlib
! --enable-obsolete
!
!
! --with-headers=dir
! prefix/target/sys-include doesn't pre-exist.
These include files will be copied into the gcc install directory.
fixincludes will be run on these files to make them compatible with
GCC.
! --with-libs=``dir1 dir2 ... dirN''
! gcc install
directory.
--with-newlib
! newlib is
being used as the target C library. This causes __eprintf to be
omitted from libgcc.a on the assumption that it will be provided by
newlib.
--enable option has a corresponding
--disable option and that each --with option has a
corresponding --without option.
!
gzip or
bzip2. It is possible to download a full distribution or specific
components.
! bfd, binutils, gas, gprof, ld,
! opcodes, ...) to the directory containing the GCC sources.
!
Downloading GCC
! GCC is distributed via CVS and FTP
tarballs compressed with gzip or
bzip2. It is possible to download a full distribution or specific
components.
! bfd, binutils, gas, gprof, ld,
! opcodes, ...) to the directory containing the GCC sources.
!
cd objdir; make install
!
! prefix/bin where prefix is the value you
specified with the --prefix to configure (or /usr/local
by default). (If you specified --bindir, that directory will
be used instead; otherwise, if you specified --exec-prefix,
! exec-prefix/bin will be used.) Headers for the C++ and
! Java libraries are installed in prefix/include; libraries
! in libdir (normally prefix/lib); internal
! parts of the compiler in libdir/gcc-lib; documentation in
! info format in infodir (normally prefix/info).
! bindir, that
! is, exec-prefix/bin, but additionally into
! exec-prefix/target-alias/bin, if that directory
exists. Typically, such tooldirs hold target-specific
binutils, including assembler and linker.
! chroot
jail can be achieved with the command
! make DESTDIR=path-to-rootdir install
!
DESTDIR
need not exist yet; it will be created if necessary.
! DESTDIR:
If you relocate a cross-compiler installation with
! e.g. DESTDIR=rootdir, then the directory
! rootdir/exec-prefix/target-alias/bin will
be filled with duplicated GCC executables only if it already exists,
it will not be created otherwise. This is regarded as a feature,
not as a bug, because it gives slightly more control to the packagers
using the DESTDIR feature.
! make bootstrap then please
quickly review the build status page for your release, available from
http://gcc.gnu.org/buildstat.html.
If your system is not listed for the version of GCC that you built,
--- 1,59 ----
!
! Installing GCC: Final installation
! Now that GCC has been built (and optionally tested), you can install it with
! cd objdir; make install
!
! prefix/bin where prefix is the value you
specified with the --prefix to configure (or /usr/local
by default). (If you specified --bindir, that directory will
be used instead; otherwise, if you specified --exec-prefix,
! exec-prefix/bin will be used.) Headers for the C++ and
! Java libraries are installed in prefix/include; libraries
! in libdir (normally prefix/lib); internal
! parts of the compiler in libdir/gcc-lib; documentation in
! info format in infodir (normally prefix/info).
! bindir, that
! is, exec-prefix/bin, but additionally into
! exec-prefix/target-alias/bin, if that directory
exists. Typically, such tooldirs hold target-specific
binutils, including assembler and linker.
! chroot
jail can be achieved with the command
! make DESTDIR=path-to-rootdir install
!
DESTDIR
need not exist yet; it will be created if necessary.
! DESTDIR:
If you relocate a cross-compiler installation with
! e.g. DESTDIR=rootdir, then the directory
! rootdir/exec-prefix/target-alias/bin will
be filled with duplicated GCC executables only if it already exists,
it will not be created otherwise. This is regarded as a feature,
not as a bug, because it gives slightly more control to the packagers
using the DESTDIR feature.
! make bootstrap then please
quickly review the build status page for your release, available from
http://gcc.gnu.org/buildstat.html.
If your system is not listed for the version of GCC that you built,
*************** send a note to
*** 60,119 ****
that you successfully built and installed GCC.
Include the following information:
!
!
! srcdir/config.guess. Do not send us
that file itself, just the one-line output from running it.
! gcc -v for your newly installed gcc.
This tells us which version of GCC you built and the options you passed to
configure.
! gcc -v, but if you downloaded the
"core" compiler plus additional front ends then it isn't apparent
which ones you built unless you tell us about it.
!
! For other systems, you can include similar information if you think it is
relevant.
! /etc/issue.
! uname --version
or uname -a.
! rpm -q glibc to get the glibc version,
and on systems like Debian and Progeny use dpkg -l libc6.
cd objdir; make
dvi. You will need to have texi2dvi (version at least 4.1)
and TeX installed. This creates a number of .dvi files in
! subdirectories of objdir; these may be converted for
printing with programs such as dvips. You can also
buy printed manuals from the Free Software Foundation, though such manuals may not be for the most
recent version of GCC.
!
!
! srcdir/config.guess. Do not send us
that file itself, just the one-line output from running it.
! gcc -v for your newly installed gcc.
This tells us which version of GCC you built and the options you passed to
configure.
! gcc -v, but if you downloaded the
"core" compiler plus additional front ends then it isn't apparent
which ones you built unless you tell us about it.
!
! For other systems, you can include similar information if you think it is
relevant.
! /etc/issue.
! uname --version
or uname -a.
! rpm -q glibc to get the glibc version,
and on systems like Debian and Progeny use dpkg -l libc6.
cd objdir; make
dvi. You will need to have texi2dvi (version at least 4.1)
and TeX installed. This creates a number of .dvi files in
! subdirectories of objdir; these may be converted for
printing with programs such as dvips. You can also
buy printed manuals from the Free Software Foundation, though such manuals may not be for the most
recent version of GCC.
!
Installing GCC: GNU Free Documentation License
! Copyright © 2000 Free Software Foundation, Inc.
! 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
!
! Everyone is permitted to copy and distribute verbatim copies
! of this license document, but changing it is not allowed.
!
!
Installing GCC: GNU Free Documentation License
Installing GCC: GNU Free Documentation License
! Copyright © 2000 Free Software Foundation, Inc.
! 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
!
! Everyone is permitted to copy and distribute verbatim copies
! of this license document, but changing it is not allowed.
!
!
!
!
! ADDENDUM: How to use this License for your documents
! Copyright (C) year your name.
! Permission is granted to copy, distribute and/or modify this document
! under the terms of the GNU Free Documentation License, Version 1.1
! or any later version published by the Free Software Foundation;
! with the Invariant Sections being list their titles, with the
! Front-Cover Texts being list, and with the Back-Cover Texts being list.
! A copy of the license is included in the section entitled ``GNU
! Free Documentation License''.
!
!
ADDENDUM: How to use this License for your documents
! Copyright (C) year your name.
! Permission is granted to copy, distribute and/or modify this document
! under the terms of the GNU Free Documentation License, Version 1.1
! or any later version published by the Free Software Foundation;
! with the Invariant Sections being list their titles, with the
! Front-Cover Texts being list, and with the Back-Cover Texts being list.
! A copy of the license is included in the section entitled ``GNU
! Free Documentation License''.
!
!
!
Please note that GCC does not support make uninstall and probably
won't do so in the near future as this would open a can of worms. Instead,
we suggest that you install GCC into a directory of its own and simply
remove that directory when you do not need that specific version of GCC
any longer, and, if shared libraries are installed there as well, no
more binaries exist that use them.
!
There are also some old installation instructions, which are mostly obsolete but still contain some information which has not yet been merged into the main part of this manual. !
Return to the GCC Installation page !
Copyright © 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-
!
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled "GNU Free Documentation License". !
(a) The FSF's Front-Cover Text is: !
A GNU Manual !
(b) The FSF's Back-Cover Text is: !
You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. ! --- 1,76 ---- ! !
This document describes the generic installation procedure for GCC as well as detailing some target specific installation instructions. !
GCC includes several components that previously were separate distributions with their own installation instructions. This document supersedes all package specific installation instructions. !
Before starting the build/install procedure please check the host/target specific installation notes. We recommend you browse the entire generic installation instructions before you proceed. !
Lists of successful builds for released versions of GCC are available at http://gcc.gnu.org/buildstat.html. These lists are updated as new information becomes available. !
The installation procedure itself is broken into five steps. !
Please note that GCC does not support make uninstall and probably
won't do so in the near future as this would open a can of worms. Instead,
we suggest that you install GCC into a directory of its own and simply
remove that directory when you do not need that specific version of GCC
any longer, and, if shared libraries are installed there as well, no
more binaries exist that use them.
!
There are also some old installation instructions, which are mostly obsolete but still contain some information which has not yet been merged into the main part of this manual. !
Return to the GCC Installation page !
Copyright © 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
!
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled "GNU Free Documentation License". !
(a) The FSF's Front-Cover Text is: !
A GNU Manual !
(b) The FSF's Back-Cover Text is: !
You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. ! diff -Nrc3pad gcc-3.2.2/INSTALL/old.html gcc-3.2.3/INSTALL/old.html *** gcc-3.2.2/INSTALL/old.html Wed Feb 5 03:09:30 2003 --- gcc-3.2.3/INSTALL/old.html Tue Apr 22 06:56:35 2003 *************** *** 1,42 **** !
Note most of this information is out of date and superseded by the previous chapters of this manual. It is provided for historical reference only, because of a lack of volunteers to merge it into the main manual. !
Here is the procedure for installing GNU CC on a GNU or Unix system. See VMS Install, for VMS systems. !
as, ld or whatever is appropriate. This will enable the
compiler to find the proper tools for compilation of the program
enquire.
! Alternatively, you can do subsequent compilation using a value of the
PATH environment variable such that the necessary GNU tools come
before the standard system tools.
!
configure script.
! The build machine is the system which you are using, the host machine is the system where you want to run the resulting compiler (normally the build machine), and the target machine is the system for which you want the compiler to generate code. !
If you are building a compiler to produce code for the machine it runs
on (a native compiler), you normally do not need to specify any operands
to configure; it will try to guess the type of machine you are on
and use that as the build, host and target machines. So you don't need
--- 1,44 ----
!
!
Note most of this information is out of date and superseded by the previous chapters of this manual. It is provided for historical reference only, because of a lack of volunteers to merge it into the main manual. !
Here is the procedure for installing GNU CC on a GNU or Unix system. See VMS Install, for VMS systems. !
as, ld or whatever is appropriate. This will enable the
compiler to find the proper tools for compilation of the program
enquire.
! Alternatively, you can do subsequent compilation using a value of the
PATH environment variable such that the necessary GNU tools come
before the standard system tools.
!
configure script.
! The build machine is the system which you are using, the host machine is the system where you want to run the resulting compiler (normally the build machine), and the target machine is the system for which you want the compiler to generate code. !
If you are building a compiler to produce code for the machine it runs
on (a native compiler), you normally do not need to specify any operands
to configure; it will try to guess the type of machine you are on
and use that as the build, host and target machines. So you don't need
*************** to specify a configuration when building
*** 44,87 ****
configure cannot figure out what your configuration is or guesses
wrong.
!
In those cases, specify the build machine's configuration name
with the --host option; the host and target will default to be
the same as the host machine. (If you are building a cross-compiler,
see Cross-Compiler.)
!
Here is an example: !
./configure --host=sparc-sun-sunos4.1 !!
A configuration name may be canonical or it may be more or less abbreviated. !
A canonical configuration name has three parts, separated by dashes.
! It looks like this: cpu-company-system.
(The three parts may themselves contain dashes; configure
can figure out which dashes serve which purpose.) For example,
m68k-sun-sunos4.1 specifies a Sun 3.
!
You can also replace parts of the configuration by nicknames or aliases.
For example, sun3 stands for m68k-sun, so
sun3-sunos4.1 is another way to specify a Sun 3.
!
You can specify a version number after any of the system types, and some of the CPU types. In most cases, the version is irrelevant, and will be ignored. So you might as well specify the version if you know it. !
See Configurations, for a list of supported configuration names and notes on many of the configurations. You should check the notes in that section before proceeding any further with the installation of GNU CC. !
Here are the possible CPU types: !
1750a, a29k, alpha, arm, avr, cn, clipper, dsp16xx, elxsi, fr30, h8300, hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, m32r, m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el, --- 46,89 ----configurecannot figure out what your configuration is or guesses wrong. !In those cases, specify the build machine's configuration name with the
--hostoption; the host and target will default to be the same as the host machine. (If you are building a cross-compiler, see Cross-Compiler.) !Here is an example: !
./configure --host=sparc-sun-sunos4.1 !!A configuration name may be canonical or it may be more or less abbreviated. !
A canonical configuration name has three parts, separated by dashes. ! It looks like this:
cpu-company-system. (The three parts may themselves contain dashes;configurecan figure out which dashes serve which purpose.) For example,m68k-sun-sunos4.1specifies a Sun 3. !You can also replace parts of the configuration by nicknames or aliases. For example,
sun3stands form68k-sun, sosun3-sunos4.1is another way to specify a Sun 3. !You can specify a version number after any of the system types, and some of the CPU types. In most cases, the version is irrelevant, and will be ignored. So you might as well specify the version if you know it. !
See Configurations, for a list of supported configuration names and notes on many of the configurations. You should check the notes in that section before proceeding any further with the installation of GNU CC. !
Here are the possible CPU types: !
1750a, a29k, alpha, arm, avr, cn, clipper, dsp16xx, elxsi, fr30, h8300, hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, m32r, m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el, *************** mn10200, mn10300, ns32k, pdp11, powerpc, *** 89,98 **** sparclite, sparc64, v850, vax, we32k.!
Here are the recognized company names. As you can see, customary abbreviations are used rather than the longer official names. !
acorn, alliant, altos, apollo, apple, att, bull, cbm, convergent, convex, crds, dec, dg, dolphin, elxsi, encore, harris, hitachi, hp, ibm, intergraph, isi, --- 91,100 ---- sparclite, sparc64, v850, vax, we32k.!
Here are the recognized company names. As you can see, customary abbreviations are used rather than the longer official names. !
acorn, alliant, altos, apollo, apple, att, bull, cbm, convergent, convex, crds, dec, dg, dolphin, elxsi, encore, harris, hitachi, hp, ibm, intergraph, isi, *************** mips, motorola, ncr, next, ns, omron, pl *** 100,113 **** sequent, sgi, sony, sun, tti, unicom, wrs.!
The company name is meaningful only to disambiguate when the rest of
the information supplied is insufficient. You can omit it, writing
! just cpu-system, if it is not needed. For example,
vax-ultrix4.2 is equivalent to vax-dec-ultrix4.2.
!
Here is a list of system types: !
386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux, dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux, linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs, --- 102,115 ---- sequent, sgi, sony, sun, tti, unicom, wrs.!
The company name is meaningful only to disambiguate when the rest of
the information supplied is insufficient. You can omit it, writing
! just cpu-system, if it is not needed. For example,
vax-ultrix4.2 is equivalent to vax-dec-ultrix4.2.
!
Here is a list of system types: !
386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux, dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux, linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs, *************** vxworks, winnt, xenix. *** 119,150 ****You can omit the system type; then
configureguesses the operating system from the CPU and company. !You can add a version number to the system type; this may or may not make a difference. For example, you can write
bsd4.3orbsd4.4to distinguish versions of BSD. In practice, the version number is most needed forsysv3andsysv4, which are often treated differently. !
linux-gnuis the canonical name for the GNU/Linux target; however GNU CC will also acceptlinux. The version of the kernel in use is not relevant on these systems. A suffix such aslibc1oraoutdistinguishes major versions of the C library; all of the suffixed versions are obsolete. !If you specify an impossible combination such as
i860-dg-vms, then you may get an error message fromconfigure, or it may ignore part of the information and do the best it can with the rest.configurealways prints the canonical name for the alternative that it used. GNU CC does not support all possible alternatives. !Often a particular model of machine has a name. Many machine names are recognized as aliases for CPU/company combinations. Thus, the machine name
sun3, mentioned above, is an alias form68k-sun. Sometimes we accept a company name as a machine name, when the name is popularly used for a particular machine. Here is a table of the known machine names: !3300, 3b1, 3bn, 7300, altos3068, altos, apollo68, att-7300, balance, convex-cn, crds, decstation-3100, --- 121,152 ----diff -Nrc3pad gcc-3.2.2/gcc/ChangeLog gcc-3.2.3/gcc/ChangeLog *** gcc-3.2.2/gcc/ChangeLog Wed Feb 5 03:01:09 2003 --- gcc-3.2.3/gcc/ChangeLog Tue Apr 22 06:14:38 2003 *************** *** 1,3 **** --- 1,622 ---- + 2003-04-22 Release Manager + + * GCC 3.2.3 Released. + + 2003-04-16 John David AnglinYou can omit the system type; then
configureguesses the operating system from the CPU and company. !You can add a version number to the system type; this may or may not make a difference. For example, you can write
bsd4.3orbsd4.4to distinguish versions of BSD. In practice, the version number is most needed forsysv3andsysv4, which are often treated differently. !
linux-gnuis the canonical name for the GNU/Linux target; however GNU CC will also acceptlinux. The version of the kernel in use is not relevant on these systems. A suffix such aslibc1oraoutdistinguishes major versions of the C library; all of the suffixed versions are obsolete. !If you specify an impossible combination such as
i860-dg-vms, then you may get an error message fromconfigure, or it may ignore part of the information and do the best it can with the rest.configurealways prints the canonical name for the alternative that it used. GNU CC does not support all possible alternatives. !Often a particular model of machine has a name. Many machine names are recognized as aliases for CPU/company combinations. Thus, the machine name
sun3, mentioned above, is an alias form68k-sun. Sometimes we accept a company name as a machine name, when the name is popularly used for a particular machine. Here is a table of the known machine names: !3300, 3b1, 3bn, 7300, altos3068, altos, apollo68, att-7300, balance, convex-cn, crds, decstation-3100, *************** sun4, symmetry, tower-32, tower. *** 163,375 **** name. If you want to install your own homemade configuration files, you can use--- 159,166 ---- past few months. The paper which started all of this introduced two terms: A cathedral development model versus a bazaar development model. The paper is written by Eric S. Raymond, it is ! called ``The Cathedral and the Bazaar''. ! The paper is a useful starting point for discussions.localas the company name to access them. If you use ! configurationcpu-local, the configuration name without the cpu prefix is used to form the configuration file names. !Thus, if you specify
m68k-local, configuration uses filesm68k.md,local.h,m68k.c,xm-local.h,t-local, andx-local, all in the directoryconfig/m68k. !Here is a list of configurations that have special treatment or special things you must know: !
!
vax-dec-vms!- See VMS Install, for details on how to install GNU CC on VMS.
Building and Installing a Cross-Compiler
!GNU CC can function as a cross-compiler for many machines, but not all. !
!
- Cross-compilers for the Mips as target using the Mips assembler currently do not work, because the auxiliary programs
mips-tdump.candmips-tfile.ccan't be compiled on anything but a Mips. It does work to cross compile for a Mips if you use the GNU assembler and linker. !- Cross-compilers between machines with different floating point formats have not all been made to work. GNU CC now has a floating point emulator with which these can work, but each target machine description needs to be updated to take advantage of it. !
- Cross-compilation between machines of different word sizes is somewhat problematic and sometimes does not work.
Since GNU CC generates assembler code, you probably need a cross-assembler that GNU CC can run, in order to produce object files. If you want to link on other than the target machine, you need a cross-linker as well. You also need header files and libraries suitable for the target machine that you can install on the host machine. !
Steps of Cross-Compilation
!To compile and run a program using a cross-compiler involves several steps: !
!
- Run the cross-compiler on the host machine to produce assembler files for the target machine. This requires header files for the target machine. !
- Assemble the files produced by the cross-compiler. You can do this either with an assembler on the target machine, or with a cross-assembler on the host machine. !
- Link those files to make an executable. You can do this either with a linker on the target machine, or with a cross-linker on the host machine. Whichever machine you use, you need libraries and certain ! startup files (typically
crt....o) for the target machine.It is most convenient to do all of these steps on the same host machine, since then you can do it all with a single invocation of GNU CC. This requires a suitable cross-assembler and cross-linker. For some targets, the GNU assembler and linker are available. !
Configuring a Cross-Compiler
!To build GNU CC as a cross-compiler, you start out by running !
configure. Use the--target=targetto specify the target type. Ifconfigurewas unable to correctly identify the ! system you are running on, also specify the--build=buildoption. For example, here is how to configure for a cross-compiler that produces code for an HP 68030 system running BSD on a system thatconfigurecan correctly identify: !./configure --target=m68k-hp-bsd4.3 !!Tools and Libraries for a Cross-Compiler
!If you have a cross-assembler and cross-linker available, you should install them now. Put them in the directory !
/usr/local/target/bin. Here is a table of the tools you should put in this directory: !!
as!- This should be the cross-assembler. !
ld!- This should be the cross-linker. !
ar!- This should be the cross-archiver: a program which can manipulate archive files (linker libraries) in the target machine's format. !
ranlib!- This should be a program to construct a symbol table in an archive file.
The installation of GNU CC will find these programs in that directory, and copy or link them to the proper place to for the cross-compiler to find them when run later. !
The easiest way to provide these files is to build the Binutils package and GAS. Configure them with the same
--hostand--targetoptions that you use for configuring GNU CC, then build and install them. They install their executables automatically into the proper directory. Alas, they do not support all the targets that GNU CC supports. !If you want to install libraries to use with the cross-compiler, such as a standard C library, put them in the directory !
/usr/local/target/lib; installation of GNU CC copies all the files in that subdirectory into the proper place for GNU CC to find them and link with them. Here's an example of copying some libraries from a target machine: !ftp target-machine ! lcd /usr/local/target/lib ! cd /lib ! get libc.a ! cd /usr/lib ! get libg.a ! get libm.a ! quit !The precise set of libraries you'll need, and their locations on the target machine, vary depending on its operating system. !
Many targets require "start files" such as
crt0.oandcrtn.owhich are linked into each executable; these too should be ! placed in/usr/local/target/lib. There may be several alternatives forcrt0.o, for use with profiling or other compilation options. Check your target's definition ofSTARTFILE_SPECto find out what start files it uses. Here's an example of copying these files from a target machine: !ftp target-machine ! lcd /usr/local/target/lib ! prompt ! cd /lib ! mget *crt*.o ! cd /usr/lib ! mget *crt*.o ! quit !!Cross-Compilers and Header Files
!If you are cross-compiling a standalone program or a program for an embedded system, then you may not need any header files except the few that are part of GNU CC (and those of your program). However, if you intend to link your program with a standard C library such as
libc.a, then you probably need to compile with the header files that go with the library you use. !The GNU C compiler does not come with these files, because (1) they are system-specific, and (2) they belong in a C library, not in a compiler. !
If the GNU C library supports your target machine, then you can get the header files from there (assuming you actually use the GNU library when you link your program). !
If your target machine comes with a C compiler, it probably comes with suitable header files also. If you make these files accessible from the host machine, the cross-compiler can use them also. !
Otherwise, you're on your own in finding header files to use when cross-compiling. !
When you have found suitable header files, you should put them in the ! directory
/usr/local/target/include, before building the cross compiler. Then installation will run fixincludes properly and install the corrected versions of the header files where the compiler will use them. !Provide the header files before you build the cross-compiler, because the build stage actually runs the cross-compiler to produce parts of
libgcc.a. (These are the parts that can be compiled with GNU CC.) Some of them need suitable header files. !Here's an example showing how to copy the header files from a target machine. On the target machine, do this: !
(cd /usr/include; tar cf - .) > tarfile !!Then, on the host machine, do this: !
ftp target-machine ! lcd /usr/local/target/include ! get tarfile ! quit ! tar xf tarfile !!Actually Building the Cross-Compiler
!Now you can proceed just as for compiling a single-machine compiler through the step of building stage 1. !
If your target is exotic, you may need to provide the header file
float.h.One way to do this is to compileenquireand run it on your target machine. The job ofenquireis to run on the target machine and figure out by experiment the nature of its floating --- 165,377 ---- name. If you want to install your own homemade configuration files, you can uselocalas the company name to access them. If you use ! configurationcpu-local, the configuration name without the cpu prefix is used to form the configuration file names. !Thus, if you specify
m68k-local, configuration uses filesm68k.md,local.h,m68k.c,xm-local.h,t-local, andx-local, all in the directoryconfig/m68k. !Here is a list of configurations that have special treatment or special things you must know: !
!
vax-dec-vms!- See VMS Install, for details on how to install GNU CC on VMS.
Building and Installing a Cross-Compiler
!GNU CC can function as a cross-compiler for many machines, but not all. !
!
- Cross-compilers for the Mips as target using the Mips assembler currently do not work, because the auxiliary programs
mips-tdump.candmips-tfile.ccan't be compiled on anything but a Mips. It does work to cross compile for a Mips if you use the GNU assembler and linker. !- Cross-compilers between machines with different floating point formats have not all been made to work. GNU CC now has a floating point emulator with which these can work, but each target machine description needs to be updated to take advantage of it. !
- Cross-compilation between machines of different word sizes is somewhat problematic and sometimes does not work.
Since GNU CC generates assembler code, you probably need a cross-assembler that GNU CC can run, in order to produce object files. If you want to link on other than the target machine, you need a cross-linker as well. You also need header files and libraries suitable for the target machine that you can install on the host machine. !
Steps of Cross-Compilation
!To compile and run a program using a cross-compiler involves several steps: !
!
- Run the cross-compiler on the host machine to produce assembler files for the target machine. This requires header files for the target machine. !
- Assemble the files produced by the cross-compiler. You can do this either with an assembler on the target machine, or with a cross-assembler on the host machine. !
- Link those files to make an executable. You can do this either with a linker on the target machine, or with a cross-linker on the host machine. Whichever machine you use, you need libraries and certain ! startup files (typically
crt....o) for the target machine.It is most convenient to do all of these steps on the same host machine, since then you can do it all with a single invocation of GNU CC. This requires a suitable cross-assembler and cross-linker. For some targets, the GNU assembler and linker are available. !
Configuring a Cross-Compiler
!To build GNU CC as a cross-compiler, you start out by running !
configure. Use the--target=targetto specify the target type. Ifconfigurewas unable to correctly identify the ! system you are running on, also specify the--build=buildoption. For example, here is how to configure for a cross-compiler that produces code for an HP 68030 system running BSD on a system thatconfigurecan correctly identify: !./configure --target=m68k-hp-bsd4.3 !!Tools and Libraries for a Cross-Compiler
!If you have a cross-assembler and cross-linker available, you should install them now. Put them in the directory !
/usr/local/target/bin. Here is a table of the tools you should put in this directory: !!
as!- This should be the cross-assembler. !
ld!- This should be the cross-linker. !
ar!- This should be the cross-archiver: a program which can manipulate archive files (linker libraries) in the target machine's format. !
ranlib!- This should be a program to construct a symbol table in an archive file.
The installation of GNU CC will find these programs in that directory, and copy or link them to the proper place to for the cross-compiler to find them when run later. !
The easiest way to provide these files is to build the Binutils package and GAS. Configure them with the same
--hostand--targetoptions that you use for configuring GNU CC, then build and install them. They install their executables automatically into the proper directory. Alas, they do not support all the targets that GNU CC supports. !If you want to install libraries to use with the cross-compiler, such as a standard C library, put them in the directory !
/usr/local/target/lib; installation of GNU CC copies all the files in that subdirectory into the proper place for GNU CC to find them and link with them. Here's an example of copying some libraries from a target machine: !ftp target-machine ! lcd /usr/local/target/lib ! cd /lib ! get libc.a ! cd /usr/lib ! get libg.a ! get libm.a ! quit !The precise set of libraries you'll need, and their locations on the target machine, vary depending on its operating system. !
Many targets require "start files" such as
crt0.oandcrtn.owhich are linked into each executable; these too should be ! placed in/usr/local/target/lib. There may be several alternatives forcrt0.o, for use with profiling or other compilation options. Check your target's definition ofSTARTFILE_SPECto find out what start files it uses. Here's an example of copying these files from a target machine: !ftp target-machine ! lcd /usr/local/target/lib ! prompt ! cd /lib ! mget *crt*.o ! cd /usr/lib ! mget *crt*.o ! quit !!Cross-Compilers and Header Files
!If you are cross-compiling a standalone program or a program for an embedded system, then you may not need any header files except the few that are part of GNU CC (and those of your program). However, if you intend to link your program with a standard C library such as
libc.a, then you probably need to compile with the header files that go with the library you use. !The GNU C compiler does not come with these files, because (1) they are system-specific, and (2) they belong in a C library, not in a compiler. !
If the GNU C library supports your target machine, then you can get the header files from there (assuming you actually use the GNU library when you link your program). !
If your target machine comes with a C compiler, it probably comes with suitable header files also. If you make these files accessible from the host machine, the cross-compiler can use them also. !
Otherwise, you're on your own in finding header files to use when cross-compiling. !
When you have found suitable header files, you should put them in the ! directory
/usr/local/target/include, before building the cross compiler. Then installation will run fixincludes properly and install the corrected versions of the header files where the compiler will use them. !Provide the header files before you build the cross-compiler, because the build stage actually runs the cross-compiler to produce parts of
libgcc.a. (These are the parts that can be compiled with GNU CC.) Some of them need suitable header files. !Here's an example showing how to copy the header files from a target machine. On the target machine, do this: !
(cd /usr/include; tar cf - .) > tarfile !!Then, on the host machine, do this: !
ftp target-machine ! lcd /usr/local/target/include ! get tarfile ! quit ! tar xf tarfile !!Actually Building the Cross-Compiler
!Now you can proceed just as for compiling a single-machine compiler through the step of building stage 1. !
If your target is exotic, you may need to provide the header file
float.h.One way to do this is to compileenquireand run it on your target machine. The job ofenquireis to run on the target machine and figure out by experiment the nature of its floating *************** filefloat.h. If you can't *** 379,385 **** a suitablefloat.hin some other way (or else, avoid using it in your programs). !Do not try to build stage 2 for a cross-compiler. It doesn't work to rebuild GNU CC as a cross-compiler using the cross-compiler, because that would produce a program that runs on the target machine, not on the host. For example, if you compile a 386-to-68030 cross-compiler with --- 381,387 ---- a suitable
float.hin some other way (or else, avoid using it in your programs). !Do not try to build stage 2 for a cross-compiler. It doesn't work to rebuild GNU CC as a cross-compiler using the cross-compiler, because that would produce a program that runs on the target machine, not on the host. For example, if you compile a 386-to-68030 cross-compiler with *************** for a 386 as the host). If you want to *** 389,464 **** whether you compile it on a 68030 or with a cross-compiler on a 386, you must specify a 68030 as the host when you configure it. !
To install the cross-compiler, use
make install, as usual. !Installing GNU CC on VMS
!The VMS version of GNU CC is distributed in a backup saveset containing both source code and precompiled binaries. !
To install the
gcccommand so you can use the compiler easily, in the same manner as you use the VMS C compiler, you must install the VMS CLD file for GNU CC as follows: !!
!- Define the VMS logical names
GNU_CCandGNU_CC_INCLUDEto point to the directories where the GNU CC executables (gcc-cpp.exe,gcc-cc1.exe, etc.) and the C include files are kept respectively. This should be done with the commands: !$ assign /system /translation=concealed - ! disk:[gcc.] gnu_cc ! $ assign /system /translation=concealed - ! disk:[gcc.include.] gnu_cc_include !!with the appropriate disk and directory names. These commands can be placed in your system startup file so they will be executed whenever the machine is rebooted. You may, if you choose, do this via the
GCC_INSTALL.COMscript in the[GCC]directory. !- Install the
GCCcommand with the command line: !$ set command /table=sys$common:[syslib]dcltables - ! /output=sys$common:[syslib]dcltables gnu_cc:[000000]gcc ! $ install replace sys$common:[syslib]dcltables !!- To install the help file, do the following: !
$ library/help sys$library:helplib.hlb gcc.hlp !!Now you can invoke the compiler with a command like
gcc /verbose file.c, which is equivalent to the commandgcc -v -c file.cin Unix. !If you wish to use GNU C++ you must first install GNU CC, and then perform the following steps: !
!
!- Define the VMS logical name
GNU_GXX_INCLUDEto point to the directory where the preprocessor will search for the C++ header files. This can be done with the command: !$ assign /system /translation=concealed - ! disk:[gcc.gxx_include.] gnu_gxx_include !!with the appropriate disk and directory name. If you are going to be using a C++ runtime library, this is where its install procedure will install its header files. !
- Obtain the file
gcc-cc1plus.exe, and place this in the same directory thatgcc-cc1.exeis kept. !The GNU C++ compiler can be invoked with a command like
gcc /plus /verbose file.cc, which is equivalent to the commandg++ -v -c file.ccin Unix. !We try to put corresponding binaries and sources on the VMS distribution tape. But sometimes the binaries will be from an older version than the sources, because we don't always have time to update them. (Use the
/versionoption to determine the version number of the binaries and --- 391,466 ---- whether you compile it on a 68030 or with a cross-compiler on a 386, you must specify a 68030 as the host when you configure it. !To install the cross-compiler, use
make install, as usual. !Installing GNU CC on VMS
!The VMS version of GNU CC is distributed in a backup saveset containing both source code and precompiled binaries. !
To install the
gcccommand so you can use the compiler easily, in the same manner as you use the VMS C compiler, you must install the VMS CLD file for GNU CC as follows: !!
!- Define the VMS logical names
GNU_CCandGNU_CC_INCLUDEto point to the directories where the GNU CC executables (gcc-cpp.exe,gcc-cc1.exe, etc.) and the C include files are kept respectively. This should be done with the commands: !$ assign /system /translation=concealed - ! disk:[gcc.] gnu_cc ! $ assign /system /translation=concealed - ! disk:[gcc.include.] gnu_cc_include !!with the appropriate disk and directory names. These commands can be placed in your system startup file so they will be executed whenever the machine is rebooted. You may, if you choose, do this via the
GCC_INSTALL.COMscript in the[GCC]directory. !- Install the
GCCcommand with the command line: !$ set command /table=sys$common:[syslib]dcltables - ! /output=sys$common:[syslib]dcltables gnu_cc:[000000]gcc ! $ install replace sys$common:[syslib]dcltables !!- To install the help file, do the following: !
$ library/help sys$library:helplib.hlb gcc.hlp !!Now you can invoke the compiler with a command like
gcc /verbose file.c, which is equivalent to the commandgcc -v -c file.cin Unix. !If you wish to use GNU C++ you must first install GNU CC, and then perform the following steps: !
!
!- Define the VMS logical name
GNU_GXX_INCLUDEto point to the directory where the preprocessor will search for the C++ header files. This can be done with the command: !$ assign /system /translation=concealed - ! disk:[gcc.gxx_include.] gnu_gxx_include !!with the appropriate disk and directory name. If you are going to be using a C++ runtime library, this is where its install procedure will install its header files. !
- Obtain the file
gcc-cc1plus.exe, and place this in the same directory thatgcc-cc1.exeis kept. !The GNU C++ compiler can be invoked with a command like
gcc /plus /verbose file.cc, which is equivalent to the commandg++ -v -c file.ccin Unix. !We try to put corresponding binaries and sources on the VMS distribution tape. But sometimes the binaries will be from an older version than the sources, because we don't always have time to update them. (Use the
/versionoption to determine the version number of the binaries and *************** compare it with the source fileve *** 466,508 **** so.) In this case, you should use the binaries you get to recompile the sources. If you must recompile, here is how: !!
Execute the command procedure vmsconfig.comto set up the filestm.h,config.h,aux-output.c, andmd., and to create filestconfig.handhconfig.h. This procedure also creates several linker option files used bymake-cc1.comand a data file used bymake-l2.com. !$ @vmsconfig.com !!Setup the logical names and command tables as defined above. In addition, define the VMS logical name GNU_BISONto point at the to the directories where the Bison executable is kept. This should be done with the command: !$ assign /system /translation=concealed - ! disk:[bison.] gnu_bison !!You may, if you choose, use the
INSTALL_BISON.COMscript in the[BISON]directory. !Install the BISONcommand with the command line: !$ set command /table=sys$common:[syslib]dcltables - ! /output=sys$common:[syslib]dcltables - ! gnu_bison:[000000]bison ! $ install replace sys$common:[syslib]dcltables !!Type @make-gccto recompile everything, or submit the filemake-gcc.comto a batch queue. If you wish to build the GNU C++ compiler as well as the GNU CC compiler, you must first editmake-gcc.comand follow the instructions that appear in the comments. !In order to use GCC, you need a library of functions which GCC compiled code will call to perform certain tasks, and these functions are defined in the file -libgcc2.c. To compile this you should use the command proceduremake-l2.com, which will generate the librarylibgcc2.olb. --- 468,510 ---- so.) In this case, you should use the binaries you get to recompile the sources. If you must recompile, here is how: !!
!- Execute the command procedure
vmsconfig.comto set up the filestm.h,config.h,aux-output.c, andmd., and to create filestconfig.handhconfig.h. This procedure also creates several linker option files used bymake-cc1.comand a data file used bymake-l2.com. !$ @vmsconfig.com !!- Setup the logical names and command tables as defined above. In addition, define the VMS logical name
GNU_BISONto point at the to the directories where the Bison executable is kept. This should be done with the command: !$ assign /system /translation=concealed - ! disk:[bison.] gnu_bison !!You may, if you choose, use the
INSTALL_BISON.COMscript in the[BISON]directory. !- Install the
BISONcommand with the command line: !$ set command /table=sys$common:[syslib]dcltables - ! /output=sys$common:[syslib]dcltables - ! gnu_bison:[000000]bison ! $ install replace sys$common:[syslib]dcltables !!- Type
@make-gccto recompile everything, or submit the filemake-gcc.comto a batch queue. If you wish to build the GNU C++ compiler as well as the GNU CC compiler, you must first editmake-gcc.comand follow the instructions that appear in the comments. !- In order to use GCC, you need a library of functions which GCC compiled code will call to perform certain tasks, and these functions are defined in the file
libgcc2.c. To compile this you should use the command proceduremake-l2.com, which will generate the librarylibgcc2.olb. *************** filelibgcc2.c. To compile *** 510,524 **** the same distribution thatlibgcc2.ccame from, andmake-gcc.comwill automatically do all of this for you. !To install the library, use the following commands: !
$ library gnu_cc:[000000]gcclib/delete=(new,eprintf) ! $ library gnu_cc:[000000]gcclib/delete=L_* ! $ library libgcc2/extract=*/output=libgcc2.obj ! $ library gnu_cc:[000000]gcclib libgcc2.obj !!The first command simply removes old modules that will be replaced with modules from
libgcc2under different module names. The modulesnewandeprintfmay not actually be present in yourgcclib.olb--if the VMS librarian complains about those modules --- 512,526 ---- the same distribution thatlibgcc2.ccame from, andmake-gcc.comwill automatically do all of this for you. !To install the library, use the following commands: !
$ library gnu_cc:[000000]gcclib/delete=(new,eprintf) ! $ library gnu_cc:[000000]gcclib/delete=L_* ! $ library libgcc2/extract=*/output=libgcc2.obj ! $ library gnu_cc:[000000]gcclib libgcc2.obj !!The first command simply removes old modules that will be replaced with modules from
libgcc2under different module names. The modulesnewandeprintfmay not actually be present in yourgcclib.olb--if the VMS librarian complains about those modules *************** not being present, simply ignore the mes *** 526,545 **** next command. The second command removes the modules that came from the previous version of the librarylibgcc2.c. !Whenever you update the compiler on your system, you should also update the library with the above procedure. !
- You may wish to build GCC in such a way that no files are written to the directory where the source files reside. An example would be the when the source files are on a read-only disk. In these cases, execute the following DCL commands (substituting your actual path names): !
$ assign dua0:[gcc.build_dir.]/translation=concealed, - ! dua1:[gcc.source_dir.]/translation=concealed gcc_build ! $ set default gcc_build:[000000] !!where the directory
dua1:[gcc.source_dir]contains the source code, and the directorydua0:[gcc.build_dir]is meant to contain all of the generated object files and executables. Once you have done this, you can proceed building GCC as described above. (Keep in mind --- 528,547 ---- next command. The second command removes the modules that came from the previous version of the librarylibgcc2.c. !Whenever you update the compiler on your system, you should also update the library with the above procedure. !
- You may wish to build GCC in such a way that no files are written to the directory where the source files reside. An example would be the when the source files are on a read-only disk. In these cases, execute the following DCL commands (substituting your actual path names): !
$ assign dua0:[gcc.build_dir.]/translation=concealed, - ! dua1:[gcc.source_dir.]/translation=concealed gcc_build ! $ set default gcc_build:[000000] !!where the directory
dua1:[gcc.source_dir]contains the source code, and the directorydua0:[gcc.build_dir]is meant to contain all of the generated object files and executables. Once you have done this, you can proceed building GCC as described above. (Keep in mind *************** thatgcc_buildis a rooted *** 547,553 **** names in each element of the search list must be an actual physical device name rather than another rooted logical name). !- If you are building GNU CC with a previous version of GNU CC, you also should check to see that you have the newest version of the assembler. In particular, GNU CC version 2 treats global constant variables slightly differently from GNU CC version 1, and GAS version --- 549,555 ---- names in each element of the search list must be an actual physical device name rather than another rooted logical name). !
- If you are building GNU CC with a previous version of GNU CC, you also should check to see that you have the newest version of the assembler. In particular, GNU CC version 2 treats global constant variables slightly differently from GNU CC version 1, and GAS version *************** the read-only bit set, and the linker wi *** 557,563 **** about mismatched psect attributes for these variables. These warning messages are merely a nuisance, and can safely be ignored. !
- If you want to build GNU CC with the VAX C compiler, you will need to make minor changes in
make-cccp.comandmake-cc1.comto choose alternate definitions ofCC,CFLAGS, andLIBS. See comments in those files. However, you must --- 559,565 ---- about mismatched psect attributes for these variables. These warning messages are merely a nuisance, and can safely be ignored. !- If you want to build GNU CC with the VAX C compiler, you will need to make minor changes in
make-cccp.comandmake-cc1.comto choose alternate definitions ofCC,CFLAGS, andLIBS. See comments in those files. However, you must *************** compilelibgcc2in order to *** 568,608 ****make-l2.comexpects to be able to find it operational ingnu_cc:[000000]gnu-as.exe. !To use GNU CC on VMS, you need the VMS driver programs
gcc.exe,gcc.com, andgcc.cld. They are distributed with the VMS binaries (gcc-vms) rather than the GNU CC sources. GAS is also included ingcc-vms, as is Bison. !Once you have successfully built GNU CC with VAX C, you should use the resulting compiler to rebuild itself. Before doing this, be sure to restore the
CC,CFLAGS, andLIBSdefinitions inmake-cccp.comandmake-cc1.com. The second generation compiler will be able to take advantage of many optimizations that must be suppressed when building with other compilers. !Under previous versions of GNU CC, the generated code would occasionally give strange results when linked with the sharable
VAXCRTLlibrary. Now this should work. !Even with this version, however, GNU CC itself should not be linked with the sharable
VAXCRTL. The version ofqsortinVAXCRTLhas a bug (known to be present in VMS versions V4.6 through V5.5) which causes the compiler to fail. !The executables are generated by
make-cc1.comandmake-cccp.comuse the object library version ofVAXCRTLin order to make use of theqsortroutine ingcclib.olb. If you wish to link the compiler executables with the shareable image version ofVAXCRTL, you should edit the filetm.h(created byvmsconfig.com) to define the macroQSORT_WORKAROUND. !
QSORT_WORKAROUNDis always defined when GNU CC is compiled with VAX C, to avoid a problem in casegcclib.olbis not yet available.
Return to the GCC Installation page ! --- 570,610 ----
make-l2.comexpects to be able to find it operational ingnu_cc:[000000]gnu-as.exe. !To use GNU CC on VMS, you need the VMS driver programs
gcc.exe,gcc.com, andgcc.cld. They are distributed with the VMS binaries (gcc-vms) rather than the GNU CC sources. GAS is also included ingcc-vms, as is Bison. !Once you have successfully built GNU CC with VAX C, you should use the resulting compiler to rebuild itself. Before doing this, be sure to restore the
CC,CFLAGS, andLIBSdefinitions inmake-cccp.comandmake-cc1.com. The second generation compiler will be able to take advantage of many optimizations that must be suppressed when building with other compilers. ! !Under previous versions of GNU CC, the generated code would occasionally give strange results when linked with the sharable
VAXCRTLlibrary. Now this should work. !Even with this version, however, GNU CC itself should not be linked with the sharable
VAXCRTL. The version ofqsortinVAXCRTLhas a bug (known to be present in VMS versions V4.6 through V5.5) which causes the compiler to fail. !The executables are generated by
make-cc1.comandmake-cccp.comuse the object library version ofVAXCRTLin order to make use of theqsortroutine ingcclib.olb. If you wish to link the compiler executables with the shareable image version ofVAXCRTL, you should edit the filetm.h(created byvmsconfig.com) to define the macroQSORT_WORKAROUND. !
QSORT_WORKAROUNDis always defined when GNU CC is compiled with VAX C, to avoid a problem in casegcclib.olbis not yet available.
Return to the GCC Installation page ! diff -Nrc3pad gcc-3.2.2/INSTALL/specific.html gcc-3.2.3/INSTALL/specific.html *** gcc-3.2.2/INSTALL/specific.html Wed Feb 5 03:09:30 2003 --- gcc-3.2.3/INSTALL/specific.html Tue Apr 22 06:56:33 2003 *************** *** 1,15 **** !
Host/Target specific installation notes for GCC ! ! ! ! ! !P
lease read this document carefully before installing the GNU Compiler Collection on your machine. !
!
- 1750a-*-*
- a29k
- a29k-*-bsd --- 1,17 ---- ! !
Host/Target specific installation notes for GCC ! ! ! ! ! !Host/Target specific installation notes for GCC
! Please read this document carefully before installing the GNU Compiler Collection on your machine. !!
- 1750a-*-*
- a29k
- a29k-*-bsd *************** GNU Compiler Collection on your machine. *** 112,243 ****
- Older systems
!
- all ELF targets (SVR4, Solaris 2, etc.)
!1750a-*-*
!MIL-STD-1750A processors. This target is obsoleted in GCC 3.1. !
The MIL-STD-1750A cross configuration produces output for
as1750, an assembler/linker available under the GNU General Public License for the 1750A.as1750can be obtained at ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/. A similarly licensed simulator for the 1750A is available from same address. !You should ignore a fatal error during the building of
libgcc(libgccis not yet implemented for the 1750A.) !The
as1750assembler requires the filems1750.inc, which is found in the directorygcc/config/1750a. !GCC produced the same sections as the Fairchild F9450 C Compiler, namely: !
!
Normal!- The program code section. !
Static!- The read/write (RAM) data section. !
Konst!- The read-only (ROM) constants section. !
Init!- Initialization section (code to copy KREL to SREL).
The smallest addressable unit is 16 bits (
BITS_PER_UNITis 16). This means that typecharis represented with a 16-bit word per character. The 1750A's "Load/Store Upper/Lower Byte" instructions are not used by GCC. !
!a29k
!AMD Am29k-family processors. These are normally used in embedded applications. This configuration corresponds to AMD's standard calling sequence and binary interface and is compatible with other 29k tools. !
AMD has abandoned this processor. All existing a29k targets are obsoleted in GCC 3.1. !
You may need to make a variant of the file
a29k.hfor your particular configuration. !
!a29k-*-bsd
!AMD Am29050 used in a system running a variant of BSD Unix. !
!alpha*-*-*
!This section contains general configuration information for all alpha-based platforms using ELF (in particular, ignore this section for DEC OSF/1, Digital UNIX and Tru64 UNIX). In addition to reading this section, please read all other sections that match your target. !
We require binutils 2.11.2 or newer. Previous binutils releases had a number of problems with DWARF 2 debugging information, not the least of which is incorrect linking of shared libraries. !
!alpha*-dec-osf*
!Systems using processors that implement the DEC Alpha architecture and are running the DEC/Compaq Unix (DEC OSF/1, Digital UNIX, or Compaq Tru64 UNIX) operating system, for example the DEC Alpha AXP systems. !
Support for versions before
alpha*-dec-osf4is obsoleted in GCC 3.1. (These are the versions which identify themselves as DEC OSF/1.) !In Digital Unix V4.0, virtual memory exhausted bootstrap failures may be fixed by configuring with
--with-gc=simple, reconfiguring Kernel Virtual Memory and Swap parameters per the/usr/sbin/sys_checkTuning Suggestions, or applying the patch in http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html. !In Tru64 UNIX V5.1, Compaq introduced a new assembler that does not currently (2001-06-13) work with
mips-tfile. As a workaround, we need to use the old assembler, invoked via the barely documented-oldasoption. To bootstrap GCC, you either need to use the Compaq C Compiler: !% CC=cc srcdir/configure [options] [target] !!or you can use a copy of GCC 2.95.3 or higher built on Tru64 UNIX V4.0: !
% CC=gcc -Wa,-oldas srcdir/configure [options] [target] !!As of GNU binutils 2.11.2, neither GNU
asnor GNUldare supported on Tru64 UNIX, so you must not configure GCC with--with-gnu-asor--with-gnu-ld. !The
--enable-threadsoptions isn't supported yet. A patch is in preparation for a future release. !GCC writes a
.verstampdirective to the assembler output file unless it is built as a cross-compiler. It gets the version to use from the system header file/usr/include/stamp.h. If you install a new version of DEC Unix, you should rebuild GCC to pick up the new version stamp. !Note that since the Alpha is a 64-bit architecture, cross-compilers from 32-bit machines will not generate code as efficient as that generated when the compiler is running on a 64-bit machine because many optimizations that depend on being able to represent a word on the --- 114,245 ----
- Older systems
!
- all ELF targets (SVR4, Solaris 2, etc.)
!1750a-*-*
!MIL-STD-1750A processors. This target is obsoleted in GCC 3.1. !
The MIL-STD-1750A cross configuration produces output for
as1750, an assembler/linker available under the GNU General Public License for the 1750A.as1750can be obtained at ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/. A similarly licensed simulator for the 1750A is available from same address. !You should ignore a fatal error during the building of
libgcc(libgccis not yet implemented for the 1750A.) !The
as1750assembler requires the filems1750.inc, which is found in the directorygcc/config/1750a. !GCC produced the same sections as the Fairchild F9450 C Compiler, namely: !
!
Normal!- The program code section. !
Static!- The read/write (RAM) data section. !
Konst!- The read-only (ROM) constants section. !
Init!- Initialization section (code to copy KREL to SREL).
The smallest addressable unit is 16 bits (
BITS_PER_UNITis 16). This means that typecharis represented with a 16-bit word per character. The 1750A's "Load/Store Upper/Lower Byte" instructions are not used by GCC. !
!a29k
!AMD Am29k-family processors. These are normally used in embedded applications. This configuration corresponds to AMD's standard calling sequence and binary interface and is compatible with other 29k tools. !
AMD has abandoned this processor. All existing a29k targets are obsoleted in GCC 3.1. !
You may need to make a variant of the file
a29k.hfor your particular configuration. !
!a29k-*-bsd
!AMD Am29050 used in a system running a variant of BSD Unix. !
!alpha*-*-*
!This section contains general configuration information for all alpha-based platforms using ELF (in particular, ignore this section for DEC OSF/1, Digital UNIX and Tru64 UNIX). In addition to reading this section, please read all other sections that match your target. !
We require binutils 2.11.2 or newer. Previous binutils releases had a number of problems with DWARF 2 debugging information, not the least of which is incorrect linking of shared libraries. !
!alpha*-dec-osf*
!Systems using processors that implement the DEC Alpha architecture and are running the DEC/Compaq Unix (DEC OSF/1, Digital UNIX, or Compaq Tru64 UNIX) operating system, for example the DEC Alpha AXP systems. !
Support for versions before
alpha*-dec-osf4is obsoleted in GCC 3.1. (These are the versions which identify themselves as DEC OSF/1.) !In Digital Unix V4.0, virtual memory exhausted bootstrap failures may be fixed by configuring with
--with-gc=simple, reconfiguring Kernel Virtual Memory and Swap parameters per the/usr/sbin/sys_checkTuning Suggestions, or applying the patch in http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html. !In Tru64 UNIX V5.1, Compaq introduced a new assembler that does not currently (2001-06-13) work with
mips-tfile. As a workaround, we need to use the old assembler, invoked via the barely documented-oldasoption. To bootstrap GCC, you either need to use the Compaq C Compiler: !% CC=cc srcdir/configure [options] [target] !!or you can use a copy of GCC 2.95.3 or higher built on Tru64 UNIX V4.0: !
% CC=gcc -Wa,-oldas srcdir/configure [options] [target] !!As of GNU binutils 2.11.2, neither GNU
asnor GNUldare supported on Tru64 UNIX, so you must not configure GCC with--with-gnu-asor--with-gnu-ld. !The
--enable-threadsoptions isn't supported yet. A patch is in preparation for a future release. !GCC writes a
.verstampdirective to the assembler output file unless it is built as a cross-compiler. It gets the version to use from the system header file/usr/include/stamp.h. If you install a new version of DEC Unix, you should rebuild GCC to pick up the new version stamp. !Note that since the Alpha is a 64-bit architecture, cross-compilers from 32-bit machines will not generate code as efficient as that generated when the compiler is running on a 64-bit machine because many optimizations that depend on being able to represent a word on the *************** target in an integral value on the host *** 245,251 **** cross-compilers on the Alpha for 32-bit machines has only been tested in a few cases and may not work properly. !
make comparemay fail on old versions of DEC Unix unless you add-save-tempstoCFLAGS. On these systems, the name of the assembler input file is stored in the object file, and that makes comparison fail if it differs between thestage1and --- 247,253 ---- cross-compilers on the Alpha for 32-bit machines has only been tested in a few cases and may not work properly. !
make comparemay fail on old versions of DEC Unix unless you add-save-tempstoCFLAGS. On these systems, the name of the assembler input file is stored in the object file, and that makes comparison fail if it differs between thestage1and *************** unless the comparisons fail without that *** 256,267 ****-save-temps, you will have to manually delete the.iand.sfiles after each series of compilations. !GCC now supports both the native (ECOFF) debugging format used by DBX and GDB and an encapsulated STABS format for use only with GDB. See the discussion of the
--with-stabsoption ofconfigureabove for more information on these formats and how to select them. !There is a bug in DEC's assembler that produces incorrect line numbers for ECOFF format when the
.aligndirective is used. To work around this problem, GCC will not emit such alignment directives while writing ECOFF format debugging information even if optimization is --- 258,269 -----save-temps, you will have to manually delete the.iand.sfiles after each series of compilations. !GCC now supports both the native (ECOFF) debugging format used by DBX and GDB and an encapsulated STABS format for use only with GDB. See the discussion of the
--with-stabsoption ofconfigureabove for more information on these formats and how to select them. !There is a bug in DEC's assembler that produces incorrect line numbers for ECOFF format when the
.aligndirective is used. To work around this problem, GCC will not emit such alignment directives while writing ECOFF format debugging information even if optimization is *************** being performed. Unfortunately, this ha *** 269,343 **** side-effect that code addresses when-Ois specified are different depending on whether or not-gis also specified. !To avoid this behavior, specify
-gstabs+and use GDB instead of DBX. DEC is now aware of this problem with the assembler and hopes to provide a fix shortly. !
!alphaev5-cray-unicosmk*
!Cray T3E systems running Unicos/Mk. !
This port is incomplete and has many known bugs. We hope to improve the support for this target soon. Currently, only the C front end is supported, and it is not possible to build parallel applications. Cray modules are not supported; in particular, Craylibs are assumed to be in
/opt/ctl/craylibs/craylibs. !You absolutely must use GNU make on this platform. Also, you need to tell GCC where to find the assembler and the linker. The simplest way to do so is by providing
--with-asand--with-ldtoconfigure, e.g. !configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld \ ! --enable-languages=c !!The comparison test during
make bootstrapfails on Unicos/Mk because the assembler inserts timestamps into object files. You should be able to work around this by doingmake allafter getting this failure. !
!arc-*-elf
!Argonaut ARC processor. This configuration is intended for embedded systems. !
!arm-*-aout
!Advanced RISC Machines ARM-family processors. These are often used in embedded applications. There are no standard Unix configurations. This configuration corresponds to the basic instruction sequences and will produce
a.outformat object modules. !You may need to make a variant of the file
arm.hfor your particular configuration. !
!arm-*-elf
!This configuration is intended for embedded systems. !
!arm*-*-linux-gnu
!We require GNU binutils 2.10 or newer. !
!arm-*-riscix
!The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix. This configuration is obsoleted in GCC 3.1. !
If you are running a version of RISC iX prior to 1.2 then you must specify the version number during configuration. Note that the assembler shipped with RISC iX does not support stabs debugging information; a new version of the assembler, with stabs support --- 271,345 ---- side-effect that code addresses when
-Ois specified are different depending on whether or not-gis also specified. !To avoid this behavior, specify
-gstabs+and use GDB instead of DBX. DEC is now aware of this problem with the assembler and hopes to provide a fix shortly. !
!alphaev5-cray-unicosmk*
!Cray T3E systems running Unicos/Mk. !
This port is incomplete and has many known bugs. We hope to improve the support for this target soon. Currently, only the C front end is supported, and it is not possible to build parallel applications. Cray modules are not supported; in particular, Craylibs are assumed to be in
/opt/ctl/craylibs/craylibs. !You absolutely must use GNU make on this platform. Also, you need to tell GCC where to find the assembler and the linker. The simplest way to do so is by providing
--with-asand--with-ldtoconfigure, e.g. !configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld \ ! --enable-languages=c !!The comparison test during
make bootstrapfails on Unicos/Mk because the assembler inserts timestamps into object files. You should be able to work around this by doingmake allafter getting this failure. !
!arc-*-elf
!Argonaut ARC processor. This configuration is intended for embedded systems. !
!arm-*-aout
!Advanced RISC Machines ARM-family processors. These are often used in embedded applications. There are no standard Unix configurations. This configuration corresponds to the basic instruction sequences and will produce
a.outformat object modules. !You may need to make a variant of the file
arm.hfor your particular configuration. !
!arm-*-elf
!This configuration is intended for embedded systems. !
!arm*-*-linux-gnu
!We require GNU binutils 2.10 or newer. !
!arm-*-riscix
!The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix. This configuration is obsoleted in GCC 3.1. !
If you are running a version of RISC iX prior to 1.2 then you must specify the version number during configuration. Note that the assembler shipped with RISC iX does not support stabs debugging information; a new version of the assembler, with stabs support *************** included, is now available from Acorn an *** 345,465 **** ftp://ftp.acorn.com/pub/riscix/as+xterm.tar.Z. To enable stabs debugging, pass
--with-gnu-asto configure. !You will need to install GNU
sedbefore you can run configure. !
!avr
!ATMEL AVR-family micro controllers. These are used in embedded applications. There are no standard Unix configurations. See "AVR Options" in the main manual for the list of supported MCU types. !
Use
configure --target=avr --enable-languages="c"to configure GCC. !Further installation notes and other useful information about AVR tools can also be obtained from: !
!We strongly recommend using binutils 2.11 or newer. !
The following error: !
Error: register required !!indicates that you should upgrade to a newer version of the binutils. !
!c4x
!Texas Instruments TMS320C3x and TMS320C4x Floating Point Digital Signal Processors. These are used in embedded applications. There are no standard Unix configurations. See "TMS320C3x/C4x Options" in the main manual for the list of supported MCU types. !
GCC can be configured as a cross compiler for both the C3x and C4x architectures on the same system. Use
configure --target=c4x --enable-languages="c,c++"to configure. !Further installation notes and other useful information about C4x tools can also be obtained from: !
!
!CRIS
!CRIS is the CPU architecture in Axis Communications ETRAX system-on-a-chip series. These are used in embedded applications. !
See "CRIS Options" in the main manual for a list of CRIS-specific options. !
There are a few different CRIS targets: !
!
cris-axis-aout!- Old target. Includes a multilib for the
elinuxa.out-based target. No multilibs for newer architecture variants.cris-axis-elf!- Mainly for monolithic embedded systems. Includes a multilib for the
v10core used inETRAX 100 LX.cris-axis-linux-gnu!- A GNU/Linux port for the CRIS architecture, currently targeting
ETRAX 100 LXby default.For
cris-axis-aoutandcris-axis-elfyou need binutils 2.11 or newer. Forcris-axis-linux-gnuyou need binutils 2.12 or newer. !Pre-packaged tools can be obtained from ftp://ftp.axis.com/pub/axis/tools/cris/compiler-kit/. More information about this platform is available at http://developer.axis.com/. !
!DOS
!Please have a look at our binaries page. !
You cannot install GCC by itself on MSDOS; it will not compile under any MSDOS compiler except itself. You need to get the complete compilation package DJGPP, which includes binaries as well as sources, and includes all the necessary compilation tools and libraries. !
!dsp16xx
!A port to the AT&T DSP1610 family of processors. !
!*-*-freebsd*
!The version of binutils installed in
/usr/binis known to work unless otherwise specified in any per-architecture notes. However, binutils 2.12.1 or greater is known to improve overall testsuite results. !For FreeBSD 1, FreeBSD 2 or any mutant a.out versions of FreeBSD 3: All configuration support and files as shipped with GCC 2.95 are still in place. FreeBSD 2.2.7 has been known to bootstrap completely; however, it is unknown which version of binutils was used (it is assumed that it was the system copy in
/usr/bin) and C++ EH failures were noted. !Support for FreeBSD 1 is obsoleted in GCC 3.1. !
For FreeBSD using the ELF file format: DWARF 2 debugging is now the default for all CPU architectures. It had been the default on FreeBSD/alpha since its inception. You may use
-gstabsinstead of-g, if you really want the old debugging format. There are --- 347,467 ---- ftp://ftp.acorn.com/pub/riscix/as+xterm.tar.Z. To enable stabs debugging, pass--with-gnu-asto configure. !You will need to install GNU
sedbefore you can run configure. !
!avr
!ATMEL AVR-family micro controllers. These are used in embedded applications. There are no standard Unix configurations. See "AVR Options" in the main manual for the list of supported MCU types. !
Use
configure --target=avr --enable-languages="c"to configure GCC. !Further installation notes and other useful information about AVR tools can also be obtained from: !
!We strongly recommend using binutils 2.11 or newer. !
The following error: !
Error: register required !!indicates that you should upgrade to a newer version of the binutils. !
!c4x
!Texas Instruments TMS320C3x and TMS320C4x Floating Point Digital Signal Processors. These are used in embedded applications. There are no standard Unix configurations. See "TMS320C3x/C4x Options" in the main manual for the list of supported MCU types. !
GCC can be configured as a cross compiler for both the C3x and C4x architectures on the same system. Use
configure --target=c4x --enable-languages="c,c++"to configure. !Further installation notes and other useful information about C4x tools can also be obtained from: !
!
!CRIS
!CRIS is the CPU architecture in Axis Communications ETRAX system-on-a-chip series. These are used in embedded applications. !
See "CRIS Options" in the main manual for a list of CRIS-specific options. !
There are a few different CRIS targets: !
!
cris-axis-aout!- Old target. Includes a multilib for the
elinuxa.out-based target. No multilibs for newer architecture variants.cris-axis-elf!- Mainly for monolithic embedded systems. Includes a multilib for the
v10core used inETRAX 100 LX.cris-axis-linux-gnu!- A GNU/Linux port for the CRIS architecture, currently targeting
ETRAX 100 LXby default.For
cris-axis-aoutandcris-axis-elfyou need binutils 2.11 or newer. Forcris-axis-linux-gnuyou need binutils 2.12 or newer. !Pre-packaged tools can be obtained from ftp://ftp.axis.com/pub/axis/tools/cris/compiler-kit/. More information about this platform is available at http://developer.axis.com/. !
!DOS
!Please have a look at our binaries page. !
You cannot install GCC by itself on MSDOS; it will not compile under any MSDOS compiler except itself. You need to get the complete compilation package DJGPP, which includes binaries as well as sources, and includes all the necessary compilation tools and libraries. !
!dsp16xx
!A port to the AT&T DSP1610 family of processors. !
!*-*-freebsd*
!The version of binutils installed in
/usr/binis known to work unless otherwise specified in any per-architecture notes. However, binutils 2.12.1 or greater is known to improve overall testsuite results. !For FreeBSD 1, FreeBSD 2 or any mutant a.out versions of FreeBSD 3: All configuration support and files as shipped with GCC 2.95 are still in place. FreeBSD 2.2.7 has been known to bootstrap completely; however, it is unknown which version of binutils was used (it is assumed that it was the system copy in
/usr/bin) and C++ EH failures were noted. !Support for FreeBSD 1 is obsoleted in GCC 3.1. !
For FreeBSD using the ELF file format: DWARF 2 debugging is now the default for all CPU architectures. It had been the default on FreeBSD/alpha since its inception. You may use
-gstabsinstead of-g, if you really want the old debugging format. There are *************** However, as a general user, do not attem *** 471,477 **** compiler with this release. Known to bootstrap and check with good results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4.3, 4.4, 4.5-STABLE and 5-CURRENT. !In principle,
--enable-threadsis now compatible with--enable-libgcjon FreeBSD. However, it has only been built and tested oni386-*-freebsd4.5andalpha-*-freebsd5.0. The static --- 473,479 ---- compiler with this release. Known to bootstrap and check with good results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4.3, 4.4, 4.5-STABLE and 5-CURRENT. !In principle,
--enable-threadsis now compatible with--enable-libgcjon FreeBSD. However, it has only been built and tested oni386-*-freebsd4.5andalpha-*-freebsd5.0. The static *************** should properly complete the bootstrap). *** 488,578 **** supported by FreeBSD will require additional configuration tuning in, at the very least, both boehm-gc and libffi. !Shared
libgcc_s.sois now built and installed by default. !
!elxsi-elxsi-bsd
!The Elxsi's C compiler has known limitations that prevent it from compiling GCC. Please contact mrs@wrs.com for more details. !
Support for this processor is obsoleted in GCC 3.1. !
!h8300-hms
!Hitachi H8/300 series of processors. !
Please have a look at our binaries page. !
The calling convention and structure layout has changed in release 2.6. All code must be recompiled. The calling convention now passes the first three arguments in function calls in registers. Structures are no longer a multiple of 2 bytes. !
!hppa*-hp-hpux*
!We highly recommend using gas/binutils 2.8 or newer on all hppa platforms; you may encounter a variety of problems when using the HP assembler. The HP assembler does not work with the
hppa64-hp-hpux11*port. !Specifically,
-gdoes not work on HP-UX (since that system uses a peculiar debugging format which GCC does not know about), unless you use GAS and GDB and configure GCC with the--with-gnu-asand !--with-as=...options. !If you wish to use the pa-risc 2.0 architecture support with a 32-bit runtime, you must use either the HP assembler, gas/binutils 2.11 or newer, or a recent snapshot of gas. !
More specific information to
hppa*-hp-hpux*targets follows. !
!hppa*-hp-hpux9
!The HP assembler has major problems on this platform. We've tried to work around the worst of the problems. However, those workarounds may be causing linker crashes in some circumstances; the workarounds also probably prevent shared libraries from working. Use the GNU assembler to avoid these problems. !
The configuration scripts for GCC will also trigger a bug in the hpux9 shell. To avoid this problem set
CONFIG_SHELLto/bin/kshandSHELLto/bin/kshin your environment. !
!hppa*-hp-hpux10
!For hpux10.20, we highly recommend you pick up the latest sed patch
!PHCO_19798from HP. HP has two sites which provide patches free of charge: !The HP assembler on these systems is much better than the hpux9 assembler, but still has some problems. Most notably the assembler inserts timestamps into each object file it creates, causing the 3-stage comparison test to fail during a
make bootstrap. You should be able to continue by sayingmake allafter getting the failure frommake bootstrap. !
!hppa*-hp-hpux11
!GCC 3.0 and up support HP-UX 11. On 64-bit capable systems, there are two distinct ports. The
hppa2.0w-hp-hpux11*port generates code for the 32-bit pa-risc runtime architecture. It uses the HP linker and is currently the default selected by config.guess. The --- 490,580 ---- supported by FreeBSD will require additional configuration tuning in, at the very least, both boehm-gc and libffi. !Shared
libgcc_s.sois now built and installed by default. !
!elxsi-elxsi-bsd
!The Elxsi's C compiler has known limitations that prevent it from compiling GCC. Please contact mrs@wrs.com for more details. !
Support for this processor is obsoleted in GCC 3.1. !
!h8300-hms
!Hitachi H8/300 series of processors. !
Please have a look at our binaries page. !
The calling convention and structure layout has changed in release 2.6. All code must be recompiled. The calling convention now passes the first three arguments in function calls in registers. Structures are no longer a multiple of 2 bytes. !
!hppa*-hp-hpux*
!We highly recommend using gas/binutils 2.8 or newer on all hppa platforms; you may encounter a variety of problems when using the HP assembler. The HP assembler does not work with the
hppa64-hp-hpux11*port. !Specifically,
-gdoes not work on HP-UX (since that system uses a peculiar debugging format which GCC does not know about), unless you use GAS and GDB and configure GCC with the--with-gnu-asand !--with-as=...options. !If you wish to use the pa-risc 2.0 architecture support with a 32-bit runtime, you must use either the HP assembler, gas/binutils 2.11 or newer, or a recent snapshot of gas. !
More specific information to
hppa*-hp-hpux*targets follows. !
!hppa*-hp-hpux9
!The HP assembler has major problems on this platform. We've tried to work around the worst of the problems. However, those workarounds may be causing linker crashes in some circumstances; the workarounds also probably prevent shared libraries from working. Use the GNU assembler to avoid these problems. !
The configuration scripts for GCC will also trigger a bug in the hpux9 shell. To avoid this problem set
CONFIG_SHELLto/bin/kshandSHELLto/bin/kshin your environment. !
!hppa*-hp-hpux10
!For hpux10.20, we highly recommend you pick up the latest sed patch
!PHCO_19798from HP. HP has two sites which provide patches free of charge: !The HP assembler on these systems is much better than the hpux9 assembler, but still has some problems. Most notably the assembler inserts timestamps into each object file it creates, causing the 3-stage comparison test to fail during a
make bootstrap. You should be able to continue by sayingmake allafter getting the failure frommake bootstrap. !
!hppa*-hp-hpux11
!GCC 3.0 and up support HP-UX 11. On 64-bit capable systems, there are two distinct ports. The
hppa2.0w-hp-hpux11*port generates code for the 32-bit pa-risc runtime architecture. It uses the HP linker and is currently the default selected by config.guess. The *************** pa-risc 2.0 architecture. It must be ex *** 581,600 ****--host=hppa64-hp-hpux11*configure option. Different prefixes must be used if both ports are to be installed on the same system. !You must use GNU binutils 2.11 or above with the 32-bit port. Thread support is not currently implemented, so
--enable-threadsdoes not work. See: !!
- http://gcc.gnu.org/ml/gcc-prs/2002-01/msg00551.html
- http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00663.html.
GCC 2.95.x is not supported under HP-UX 11 and cannot be used to compile GCC 3.0 and up. Refer to binaries for information about obtaining precompiled GCC binaries for HP-UX. !
GNU binutils 2.13 or later is recommended with the 64-bit port. The HP assembler is not supported. It is highly recommended that the GNU linker be used as well. Either binutils must be built prior to gcc, or a binary distribution of gcc or binutils must be --- 583,602 ----
--host=hppa64-hp-hpux11*configure option. Different prefixes must be used if both ports are to be installed on the same system. !You must use GNU binutils 2.11 or above with the 32-bit port. Thread support is not currently implemented, so
--enable-threadsdoes not work. See: !!
- http://gcc.gnu.org/ml/gcc-prs/2002-01/msg00551.html
- http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00663.html.
GCC 2.95.x is not supported under HP-UX 11 and cannot be used to compile GCC 3.0 and up. Refer to binaries for information about obtaining precompiled GCC binaries for HP-UX. !
GNU binutils 2.13 or later is recommended with the 64-bit port. The HP assembler is not supported. It is highly recommended that the GNU linker be used as well. Either binutils must be built prior to gcc, or a binary distribution of gcc or binutils must be *************** differences in semantics between traditi *** 606,630 **** have been problems reported with various binary distributions. This port still is undergoing significant development. !
!i370-*-*
!This port is very preliminary and has many known bugs. We hope to have a higher-quality port for this machine soon. !
!*-*-linux-gnu
!If you use glibc 2.2 (or 2.1.9x), GCC 2.95.2 won't install out-of-the-box. You'll get compile errors while building
libstdc++. The patch glibc-2.2.patch, that is to be applied in the GCC source tree, fixes the compatibility problems. !!
Currently Glibc 2.2.3 (and older releases) and GCC 3.0 are out of sync since the latest exception handling changes for GCC. Compiling glibc with GCC 3.0 will give a binary incompatible glibc and therefore cause lots of problems and might make your system completly unusable. This --- 608,632 ---- have been problems reported with various binary distributions. This port still is undergoing significant development. !
!i370-*-*
!This port is very preliminary and has many known bugs. We hope to have a higher-quality port for this machine soon. !
!*-*-linux-gnu
!If you use glibc 2.2 (or 2.1.9x), GCC 2.95.2 won't install out-of-the-box. You'll get compile errors while building
libstdc++. The patch glibc-2.2.patch, that is to be applied in the GCC source tree, fixes the compatibility problems. !!
Currently Glibc 2.2.3 (and older releases) and GCC 3.0 are out of sync since the latest exception handling changes for GCC. Compiling glibc with GCC 3.0 will give a binary incompatible glibc and therefore cause lots of problems and might make your system completly unusable. This *************** strongly advise to wait for glibc 2.2.4 *** 633,711 **** glibc 2.2.4 whether patches for GCC 3.0 are needed. You can use glibc 2.2.3 with GCC 3.0, just do not try to recompile it. !
!i?86-*-linux*oldld
!Use this configuration to generate
a.outbinaries on Linux-based GNU systems if you do not have gas/binutils version 2.5.2 or later installed. !This configuration is obsoleted in GCC 3.1. !
!i?86-*-linux*aout
!Use this configuration to generate
a.outbinaries on Linux-based GNU systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. !
!i?86-*-linux*
!You will need binutils 2.9.1.0.15 or newer for exception handling to work. !
If you receive Signal 11 errors when building on GNU/Linux, then it is possible you have a hardware problem. Further information on this can be found on www.bitwizard.nl. !
!i?86-*-sco
!Compilation with RCC is recommended. Also, it may be a good idea to link with GNU malloc instead of the malloc that comes with the system. !
!i?86-*-sco3.2v4
!Use this configuration for SCO release 3.2 version 4. !
!i?86-*-sco3.2v5*
!Use this for the SCO OpenServer Release 5 family of operating systems. !
Unlike earlier versions of GCC, the ability to generate COFF with this target is no longer provided. !
Earlier versions of GCC emitted DWARF 1 when generating ELF to allow the system debugger to be used. That support was too burdensome to maintain. GCC now emits only DWARF 2 for this target. This means you may use either the UDK debugger or GDB to debug programs built by this version of GCC. !
Use of the
-march=pentiumproflag can result in unrecognized opcodes when using the native assembler on OS versions before 5.0.6. (Support for P6 opcodes was added to the native ELF assembler in that version.) While it's rather rare to see these emitted by GCC yet, errors of the basic form: !/usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip ! /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip !!are symptoms of this problem. You may work around this by not building affected files with that flag, by using the GNU assembler, or by using the assembler provided with the current version of the OS. Users of GNU assembler should see the note below for hazards on doing so. !
The native SCO assembler that is provided with the OS at no charge is normally required. If, however, you must be able to use the GNU assembler (perhaps you're compiling code with asms that require GAS syntax) you may configure this package using the flags --- 635,713 ---- glibc 2.2.4 whether patches for GCC 3.0 are needed. You can use glibc 2.2.3 with GCC 3.0, just do not try to recompile it. !
!i?86-*-linux*oldld
!Use this configuration to generate
a.outbinaries on Linux-based GNU systems if you do not have gas/binutils version 2.5.2 or later installed. !This configuration is obsoleted in GCC 3.1. !
!i?86-*-linux*aout
!Use this configuration to generate
a.outbinaries on Linux-based GNU systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. !
!i?86-*-linux*
!You will need binutils 2.9.1.0.15 or newer for exception handling to work. !
If you receive Signal 11 errors when building on GNU/Linux, then it is possible you have a hardware problem. Further information on this can be found on www.bitwizard.nl. !
!i?86-*-sco
!Compilation with RCC is recommended. Also, it may be a good idea to link with GNU malloc instead of the malloc that comes with the system. !
!i?86-*-sco3.2v4
!Use this configuration for SCO release 3.2 version 4. !
!i?86-*-sco3.2v5*
!Use this for the SCO OpenServer Release 5 family of operating systems. !
Unlike earlier versions of GCC, the ability to generate COFF with this target is no longer provided. !
Earlier versions of GCC emitted DWARF 1 when generating ELF to allow the system debugger to be used. That support was too burdensome to maintain. GCC now emits only DWARF 2 for this target. This means you may use either the UDK debugger or GDB to debug programs built by this version of GCC. !
Use of the
-march=pentiumproflag can result in unrecognized opcodes when using the native assembler on OS versions before 5.0.6. (Support for P6 opcodes was added to the native ELF assembler in that version.) While it's rather rare to see these emitted by GCC yet, errors of the basic form: !/usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip ! /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip !!are symptoms of this problem. You may work around this by not building affected files with that flag, by using the GNU assembler, or by using the assembler provided with the current version of the OS. Users of GNU assembler should see the note below for hazards on doing so. !
The native SCO assembler that is provided with the OS at no charge is normally required. If, however, you must be able to use the GNU assembler (perhaps you're compiling code with asms that require GAS syntax) you may configure this package using the flags *************** require GAS syntax) you may configure th *** 713,730 **** use a recent version of GNU binutils; versions past 2.9.1 seem to work well. !
In general, the
--with-gnu-asoption isn't as well tested as the native assembler. !Look in
gcc/config/i386/sco5.h(search for "messy") for additional OpenServer-specific flags. !Systems based on OpenServer before 5.0.4 (
uname -Xwill tell you what you're running) require TLS597 from ftp://ftp.sco.com/TLS/ for C++ constructors and destructors to work right. !The system linker in (at least) 5.0.4 and 5.0.5 will sometimes do the wrong thing for a construct that GCC will emit for PIC code. This can be seen as execution testsuite failures when using
-fPICon921215-1.c,931002-1.c,nestfunc-1.c, andgcov-1.c. --- 715,732 ---- use a recent version of GNU binutils; versions past 2.9.1 seem to work well. !In general, the
--with-gnu-asoption isn't as well tested as the native assembler. !Look in
gcc/config/i386/sco5.h(search for "messy") for additional OpenServer-specific flags. !Systems based on OpenServer before 5.0.4 (
uname -Xwill tell you what you're running) require TLS597 from ftp://ftp.sco.com/TLS/ for C++ constructors and destructors to work right. !The system linker in (at least) 5.0.4 and 5.0.5 will sometimes do the wrong thing for a construct that GCC will emit for PIC code. This can be seen as execution testsuite failures when using
-fPICon921215-1.c,931002-1.c,nestfunc-1.c, andgcov-1.c. *************** available. You must install both *** 733,739 **** ftp://ftp.sco.com/Supplements/rs505a/ and OSS499A. !The dynamic linker in OpenServer 5.0.5 (earlier versions may show the same problem) aborts on certain G77-compiled programs. It's particularly likely to be triggered by building Fortran code with the
-fPICflag. Although it's conceivable that the error could be triggered by other --- 735,741 ---- ftp://ftp.sco.com/Supplements/rs505a/ and OSS499A. !The dynamic linker in OpenServer 5.0.5 (earlier versions may show the same problem) aborts on certain G77-compiled programs. It's particularly likely to be triggered by building Fortran code with the
-fPICflag. Although it's conceivable that the error could be triggered by other *************** backtrace with a fault occurring in/usr/lib/ld.so.1. This problem has been reported to SCO engineering and will hopefully be addressed in later releases. !
!i?86-*-udk
!This target emulates the SCO Universal Development Kit and requires that package be installed. (If it is installed, you will have a
/udk/usr/ccs/bin/ccfile present.) It's very much like thei?86-*-unixware7*target --- 749,759 ---- running as/usr/lib/ld.so.1. This problem has been reported to SCO engineering and will hopefully be addressed in later releases. !
!i?86-*-udk
!This target emulates the SCO Universal Development Kit and requires that package be installed. (If it is installed, you will have a
/udk/usr/ccs/bin/ccfile present.) It's very much like thei?86-*-unixware7*target *************** default compiler such as OpenServer 5 or *** 760,877 **** generate binaries that will run on OpenServer, Unixware 2, or Unixware 7, with the same warnings and caveats as the SCO UDK. !This target is a little tricky to build because we have to distinguish it from the native tools (so it gets headers, startups, and libraries from the right place) while making the tools not think we're actually building a cross compiler. The easiest way to do this is with a configure command like this: !
CC=/udk/usr/ccs/bin/cc /your/path/to/gcc/configure \ ! --host=i686-pc-udk --target=i686-pc-udk --program-prefix=udk- !!You should substitute
i686in the above command with the appropriate processor for your host. !After the usual
make bootstrapandmake install, you can then access the UDK-targeted GCC tools by addingudk-before the commonly known name. For example, to invoke the C compiler, you would useudk-gcc. They will coexist peacefully with any native-target GCC tools you may have installed. !
!i?86-*-isc
!This configuration is obsoleted in GCC 3.1. !
It may be a good idea to link with GNU malloc instead of the malloc that comes with the system. !
In ISC version 4.1,
sedcore dumps when buildingdeduced.h. Use the version ofsedfrom version 4.0. !
!i?86-ibm-aix
!This configuration is obsoleted in GCC 3.1. !
You need to use GAS version 2.1 or later, and LD from GNU binutils version 2.2 or later. !
!i?86-sequent-bsd
!This configuration is obsoleted in GCC 3.1. !
Go to the Berkeley universe before compiling. !
!i?86-sequent-ptx1*, i?86-sequent-ptx2*, i?86-sequent-sysv3*
!This configuration is obsoleted in GCC 3.1. !
You must install GNU
sedbefore runningconfigure. !The
fixprotoshell script may trigger a bug in the system shell. If you encounter this problem, upgrade your operating system or usebash(the GNU shell) to runfixproto. !
!i860-intel-osf*
!All support for the i860 processor is obsoleted in GCC 3.1. !
On the Intel Paragon (an i860 machine), if you are using operating system version 1.0, you will get warnings or errors about redefinition of
va_argwhen you build GCC. !If this happens, then you need to link most programs with the library
iclib.a. You must also modifystdio.has follows: before the lines !#if defined(__i860__) && !defined(_VA_LIST) ! #include <va_list.h> !insert the line !
#if __PGC__ !and after the lines !
extern int vprintf(const char *, va_list ); ! extern int vsprintf(char *, const char *, va_list ); ! #endif !insert the line !
#endif /* __PGC__ */ !!These problems don't exist in operating system version 1.1. !
!ia64-*-linux
!IA-64 processor (also known as IPF, or Itanium Processor Family) running GNU/Linux. !
The toolchain is not completely finished, so requirements will continue to change. GCC 3.0.1 and later require glibc 2.2.4. GCC 3.0.2 requires binutils from 2001-09-05 or later. GCC 3.0.1 requires binutils 2.11.1 or later. !
None of the following versions of GCC has an ABI that is compatible with any of the other versions in this list, with the exception that Red Hat 2.96 and Trillian 000171 are compatible with each other: 3.0.2, 3.0.1, 3.0, Red Hat 2.96, and Trillian 000717. --- 762,879 ---- generate binaries that will run on OpenServer, Unixware 2, or Unixware 7, with the same warnings and caveats as the SCO UDK. !
This target is a little tricky to build because we have to distinguish it from the native tools (so it gets headers, startups, and libraries from the right place) while making the tools not think we're actually building a cross compiler. The easiest way to do this is with a configure command like this: !
CC=/udk/usr/ccs/bin/cc /your/path/to/gcc/configure \ ! --host=i686-pc-udk --target=i686-pc-udk --program-prefix=udk- !!You should substitute
i686in the above command with the appropriate processor for your host. !After the usual
make bootstrapandmake install, you can then access the UDK-targeted GCC tools by addingudk-before the commonly known name. For example, to invoke the C compiler, you would useudk-gcc. They will coexist peacefully with any native-target GCC tools you may have installed. !
!i?86-*-isc
!This configuration is obsoleted in GCC 3.1. !
It may be a good idea to link with GNU malloc instead of the malloc that comes with the system. !
In ISC version 4.1,
sedcore dumps when buildingdeduced.h. Use the version ofsedfrom version 4.0. !
!i?86-ibm-aix
!This configuration is obsoleted in GCC 3.1. !
You need to use GAS version 2.1 or later, and LD from GNU binutils version 2.2 or later. !
!i?86-sequent-bsd
!This configuration is obsoleted in GCC 3.1. !
Go to the Berkeley universe before compiling. !
!i?86-sequent-ptx1*, i?86-sequent-ptx2*, i?86-sequent-sysv3*
!This configuration is obsoleted in GCC 3.1. !
You must install GNU
sedbefore runningconfigure. !The
fixprotoshell script may trigger a bug in the system shell. If you encounter this problem, upgrade your operating system or usebash(the GNU shell) to runfixproto. !
!i860-intel-osf*
!All support for the i860 processor is obsoleted in GCC 3.1. !
On the Intel Paragon (an i860 machine), if you are using operating system version 1.0, you will get warnings or errors about redefinition of
va_argwhen you build GCC. !If this happens, then you need to link most programs with the library
iclib.a. You must also modifystdio.has follows: before the lines !#if defined(__i860__) && !defined(_VA_LIST) ! #include <va_list.h> !insert the line !
#if __PGC__ !and after the lines !
extern int vprintf(const char *, va_list ); ! extern int vsprintf(char *, const char *, va_list ); ! #endif !insert the line !
#endif /* __PGC__ */ !!These problems don't exist in operating system version 1.1. !
!ia64-*-linux
!IA-64 processor (also known as IPF, or Itanium Processor Family) running GNU/Linux. !
The toolchain is not completely finished, so requirements will continue to change. GCC 3.0.1 and later require glibc 2.2.4. GCC 3.0.2 requires binutils from 2001-09-05 or later. GCC 3.0.1 requires binutils 2.11.1 or later. !
None of the following versions of GCC has an ABI that is compatible with any of the other versions in this list, with the exception that Red Hat 2.96 and Trillian 000171 are compatible with each other: 3.0.2, 3.0.1, 3.0, Red Hat 2.96, and Trillian 000717. *************** GCC 3.0.2 is recommended for compiling l *** 882,907 **** GCC 3.0.2 is believed to be fully ABI compliant, and hence no more major ABI changes are expected. !
!*-lynx-lynxos
!LynxOS 2.2 and earlier comes with GCC 1.x already installed as
/bin/gcc. You should compile with this instead of/bin/cc. You can tell GCC to use the GNU assembler and linker, by specifying--with-gnu-as --with-gnu-ldwhen configuring. These will produce COFF format object files and executables; otherwise GCC will use the installed tools, which producea.outformat executables. !
!*-ibm-aix*
!AIX Make frequently has problems with GCC makefiles. GNU Make 3.76 or newer is recommended to build on this platform. !
Errors involving
allocawhen building GCC generally are due to an incorrect definition ofCCin the Makefile or mixing files compiled with the native C compiler and GCC. During the stage1 phase of the build, the native AIX compiler must be invoked ascc--- 884,909 ---- GCC 3.0.2 is believed to be fully ABI compliant, and hence no more major ABI changes are expected. !
!*-lynx-lynxos
!LynxOS 2.2 and earlier comes with GCC 1.x already installed as
/bin/gcc. You should compile with this instead of/bin/cc. You can tell GCC to use the GNU assembler and linker, by specifying--with-gnu-as --with-gnu-ldwhen configuring. These will produce COFF format object files and executables; otherwise GCC will use the installed tools, which producea.outformat executables. !
!*-ibm-aix*
!AIX Make frequently has problems with GCC makefiles. GNU Make 3.76 or newer is recommended to build on this platform. !
Errors involving
allocawhen building GCC generally are due to an incorrect definition ofCCin the Makefile or mixing files compiled with the native C compiler and GCC. During the stage1 phase of the build, the native AIX compiler must be invoked ascc*************** does not provide a definition that will *** 912,927 **** If this error occurs during stage2 or later, then the problem most likely is the version of Make (see above). !The GNU Assembler incorrectly reports that it supports WEAK symbols on AIX which causes GCC to try to utilize weak symbol functionality which is not really supported on the platform. The native
asandldstill are recommended. The native AIX tools do interoperate with GCC. !Building
libstdc++.arequires a fix for a AIX Assembler bug APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1). !
libstdc++in GCC 3.2 increments the major version number of the shared object and GCC installation places thelibstdc++.ashared library in a common location which will overwrite the GCC 3.1 version of the shared library. Applications either need to be --- 914,929 ---- If this error occurs during stage2 or later, then the problem most likely is the version of Make (see above). !The GNU Assembler incorrectly reports that it supports WEAK symbols on AIX which causes GCC to try to utilize weak symbol functionality which is not really supported on the platform. The native
asandldstill are recommended. The native AIX tools do interoperate with GCC. !Building
libstdc++.arequires a fix for a AIX Assembler bug APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1). !
libstdc++in GCC 3.2 increments the major version number of the shared object and GCC installation places thelibstdc++.ashared library in a common location which will overwrite the GCC 3.1 version of the shared library. Applications either need to be *************** be installed for runtime dynamic loading *** 932,960 **** set theF_LOADONLYflag in the shared object for each multiliblibstdc++.ainstalled: !Extract the shared object from each the GCC 3.1
libstdc++.aarchive: !% ar -x libstdc++.a libstdc++.so.4 !!Enable the
F_LOADONLYflag so that the shared object will be available for runtime dynamic loading, but not linking: !% strip -e libstdc++.so.4 !!Archive the runtime-only shared object in the GCC 3.2
libstdc++.aarchive: !% ar -q libstdc++.a libstdc++.so.4 !!Linking executables and shared libraries may produce warnings of duplicate symbols. The assembly files generated by GCC for AIX always have included multiple symbol definitions for certain global variable and function declarations in the original program. The warnings should not prevent the linker from producing a correct library or runnable executable. !
AIX 4.3 utilizes a "large format" archive to support both 32-bit and 64-bit object modules. The routines provided in AIX 4.3.0 and AIX 4.3.1 to parse archive libraries did not handle the new format correctly. These routines are used by GCC and result in error messages during --- 934,962 ---- set the
F_LOADONLYflag in the shared object for each multiliblibstdc++.ainstalled: !Extract the shared object from each the GCC 3.1
libstdc++.aarchive: !% ar -x libstdc++.a libstdc++.so.4 !!Enable the
F_LOADONLYflag so that the shared object will be available for runtime dynamic loading, but not linking: !% strip -e libstdc++.so.4 !!Archive the runtime-only shared object in the GCC 3.2
libstdc++.aarchive: !% ar -q libstdc++.a libstdc++.so.4 !!Linking executables and shared libraries may produce warnings of duplicate symbols. The assembly files generated by GCC for AIX always have included multiple symbol definitions for certain global variable and function declarations in the original program. The warnings should not prevent the linker from producing a correct library or runnable executable. !
AIX 4.3 utilizes a "large format" archive to support both 32-bit and 64-bit object modules. The routines provided in AIX 4.3.0 and AIX 4.3.1 to parse archive libraries did not handle the new format correctly. These routines are used by GCC and result in error messages during *************** option of the archive command may be use *** 964,970 **** objects using the original "small format". A correct version of the routines is shipped with AIX 4.3.2 and above. !
Some versions of the AIX binder (linker) can fail with a relocation overflow severe error when the
-bbigtocoption is used to link GCC-produced object files into an executable that overflows the TOC. A fix for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND -BBIGTOC) is --- 966,972 ---- objects using the original "small format". A correct version of the routines is shipped with AIX 4.3.2 and above. !Some versions of the AIX binder (linker) can fail with a relocation overflow severe error when the
-bbigtocoption is used to link GCC-produced object files into an executable that overflows the TOC. A fix for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND -BBIGTOC) is *************** available from IBM Customer Support and *** 972,990 **** techsupport.services.ibm.com website as PTF U455193. !The AIX 4.3.2.1 linker (bos.rte.bind_cmds Level 4.3.2.1) will dump core with a segmentation fault when invoked by any version of GCC. A fix for APAR IX87327 is available from IBM Customer Support and from its techsupport.services.ibm.com website as PTF U461879. This fix is incorporated in AIX 4.3.3 and above. !
The initial assembler shipped with AIX 4.3.0 generates incorrect object files. A fix for APAR IX74254 (64BIT DISASSEMBLED OUTPUT FROM COMPILER FAILS TO ASSEMBLE/BIND) is available from IBM Customer Support and from its techsupport.services.ibm.com website as PTF U453956. This fix is incorporated in AIX 4.3.1 and above. !
AIX provides National Language Support (NLS). Compilers and assemblers use NLS to support locale-specific representations of various data formats including floating-point numbers (e.g.,
.vs,for separating decimal fractions). There have been problems reported where --- 974,992 ---- techsupport.services.ibm.com website as PTF U455193. !The AIX 4.3.2.1 linker (bos.rte.bind_cmds Level 4.3.2.1) will dump core with a segmentation fault when invoked by any version of GCC. A fix for APAR IX87327 is available from IBM Customer Support and from its techsupport.services.ibm.com website as PTF U461879. This fix is incorporated in AIX 4.3.3 and above. !
The initial assembler shipped with AIX 4.3.0 generates incorrect object files. A fix for APAR IX74254 (64BIT DISASSEMBLED OUTPUT FROM COMPILER FAILS TO ASSEMBLE/BIND) is available from IBM Customer Support and from its techsupport.services.ibm.com website as PTF U453956. This fix is incorporated in AIX 4.3.1 and above. !
AIX provides National Language Support (NLS). Compilers and assemblers use NLS to support locale-specific representations of various data formats including floating-point numbers (e.g.,
.vs,for separating decimal fractions). There have been problems reported where *************** GCC does not produce the same floating-p *** 992,1078 **** expects. If one encounters this problem, set theLANGenvironment variable toCorEn_US. !By default, GCC for AIX 4.1 and above produces code that can be used on both Power or PowerPC processors. !
A default can be specified with the
-mcpu=cpu_type! switch and using the configure option--with-cpu-cpu_type. !
!m32r-*-elf
!Mitsubishi M32R processor. This configuration is intended for embedded systems. !
!m68000-hp-bsd
!HP 9000 series 200 running BSD. Note that the C compiler that comes with this system cannot compile GCC; contact law@cygnus.com to get binaries of GCC for bootstrapping. !
!m6811-elf
!Motorola 68HC11 family micro controllers. These are used in embedded applications. There are no standard Unix configurations. !
!m6812-elf
!Motorola 68HC12 family micro controllers. These are used in embedded applications. There are no standard Unix configurations. !
!m68k-altos
!Altos 3068. This configuration is obsoleted in GCC 3.1. !
You must use the GNU assembler, linker and debugger. Also, you must fix a kernel bug. !
!m68k-apple-aux
!Apple Macintosh running A/UX. This configuration is obsoleted in GCC 3.1. !
You may configure GCC to use either the system assembler and linker or the GNU assembler and linker. You should use the GNU configuration if you can, especially if you also want to use G++. You enable that configuration with the
--with-gnu-asand--with-gnu-ldoptions toconfigure. !Note the C compiler that comes with this system cannot compile GCC. You can find binaries of GCC for bootstrapping on
jagubox.gsfc.nasa.gov. You will also a patched version of/bin/ldthere that raises some of the arbitrary limits found in the original. !
!m68k-att-sysv
!AT&T 3b1, a.k.a. 7300 PC. This version of GCC cannot be compiled with the system C compiler, which is too buggy. You will need to get a previous version of GCC and use it to bootstrap. Binaries are available from the OSU-CIS archive, at ftp://archive.cis.ohio-state.edu/pub/att7300/. !
!m68k-bull-sysv
!Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. This configuration is obsoleted in GCC 3.1. !
GCC works either with native assembler or GNU assembler. You can use GNU assembler with native COFF generation by providing
--with-gnu-asto the configure script or use GNU assembler with stabs-in-COFF encapsulation --- 994,1080 ---- expects. If one encounters this problem, set theLANGenvironment variable toCorEn_US. !By default, GCC for AIX 4.1 and above produces code that can be used on both Power or PowerPC processors. !
A default can be specified with the
-mcpu=cpu_type! switch and using the configure option--with-cpu-cpu_type. !
!m32r-*-elf
!Mitsubishi M32R processor. This configuration is intended for embedded systems. !
!m68000-hp-bsd
!HP 9000 series 200 running BSD. Note that the C compiler that comes with this system cannot compile GCC; contact law@cygnus.com to get binaries of GCC for bootstrapping. !
!m6811-elf
!Motorola 68HC11 family micro controllers. These are used in embedded applications. There are no standard Unix configurations. !
!m6812-elf
!Motorola 68HC12 family micro controllers. These are used in embedded applications. There are no standard Unix configurations. !
!m68k-altos
!Altos 3068. This configuration is obsoleted in GCC 3.1. !
You must use the GNU assembler, linker and debugger. Also, you must fix a kernel bug. !
!m68k-apple-aux
!Apple Macintosh running A/UX. This configuration is obsoleted in GCC 3.1. !
You may configure GCC to use either the system assembler and linker or the GNU assembler and linker. You should use the GNU configuration if you can, especially if you also want to use G++. You enable that configuration with the
--with-gnu-asand--with-gnu-ldoptions toconfigure. !Note the C compiler that comes with this system cannot compile GCC. You can find binaries of GCC for bootstrapping on
jagubox.gsfc.nasa.gov. You will also a patched version of/bin/ldthere that raises some of the arbitrary limits found in the original. !
!m68k-att-sysv
!AT&T 3b1, a.k.a. 7300 PC. This version of GCC cannot be compiled with the system C compiler, which is too buggy. You will need to get a previous version of GCC and use it to bootstrap. Binaries are available from the OSU-CIS archive, at ftp://archive.cis.ohio-state.edu/pub/att7300/. !
!m68k-bull-sysv
!Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. This configuration is obsoleted in GCC 3.1. !
GCC works either with native assembler or GNU assembler. You can use GNU assembler with native COFF generation by providing
--with-gnu-asto the configure script or use GNU assembler with stabs-in-COFF encapsulation *************** by providing--with-gnu-as --stabs *** 1080,1259 **** assembler or for availability of the DPX/2 port of GAS, contact F.Pierresteguy@frcl.bull.fr. !or
!m68k-crds-unos
!Use
configure unosfor building on Unos. !The Unos assembler is named
casminstead ofas. For some strange reason linking/bin/asto/bin/casmchanges the behavior, and does not work. So, when installing GCC, you should install the following script asasin the subdirectory where the passes of GCC are installed: !#!/bin/sh ! casm $* !!The default Unos library is named
libunos.ainstead oflibc.a. To allow GCC to function, either change all references to-lcingcc.cto-lunosor link/lib/libc.ato/lib/libunos.a. !When compiling GCC with the standard compiler, to overcome bugs in the support of
alloca, do not use-Owhen making stage 2. Then use the stage 2 compiler with-Oto make the stage 3 compiler. This compiler will have the same characteristics as the usual stage 2 compiler on other systems. Use it to make a stage 4 compiler and compare that with stage 3 to verify proper compilation. !(Perhaps simply defining
ALLOCAinx-crdsas described in the comments there will make the above paragraph superfluous. Please inform us of whether this works.) !Unos uses memory segmentation instead of demand paging, so you will need a lot of memory. 5 Mb is barely enough if no other tasks are running. If linking
cc1fails, try putting the object files into a library and linking from that library. !
!m68k-hp-hpux
!HP 9000 series 300 or 400 running HP-UX. HP-UX version 8.0 has a bug in the assembler that prevents compilation of GCC. This bug manifests itself during the first stage of compilation, while building
libgcc2.a: !_floatdisf ! cc1: warning: `-g' option not supported on this version of GCC ! cc1: warning: `-g1' option not supported on this version of GCC ! ./xgcc: Internal compiler error: program as got fatal signal 11 !!A patched version of the assembler is available as the file ftp://altdorf.ai.mit.edu/archive/cph/hpux-8.0-assembler. If you have HP software support, the patch can also be obtained directly from HP, as described in the following note: !
This is the patched assembler, to patch SR#1653-010439, where the assembler aborts on floating point constants. !!The bug is not really in the assembler, but in the shared library version of the function "cvtnum(3c)". The bug on "cvtnum(3c)" is SR#4701-078451. Anyway, the attached assembler uses the archive library version of "cvtnum(3c)" and thus does not exhibit the bug.
This patch is also known as PHCO_4484. !
In addition, if you wish to use gas, you must use gas version 2.1 or later, and you must use the GNU linker version 2.1 or later. Earlier versions of gas relied upon a program which converted the gas output into the native HP-UX format, but that program has not been kept up to date. gdb does not understand that native HP-UX format, so you must use gas if you wish to use gdb. !
On HP-UX version 8.05, but not on 8.07 or more recent versions, the
fixprotoshell script triggers a bug in the system shell. If you encounter this problem, upgrade your operating system or use BASH (the GNU shell) to runfixproto. This bug will cause the fixproto program to report an error of the form: !./fixproto: sh internal 1K buffer overflow !!To fix this, you can also change the first line of the fixproto script to look like: !
#!/bin/ksh !!
!m68k-*-nextstep*
!These configurations are obsoleted in GCC 3.1. !
Current GCC versions probably do not work on version 2 of the NeXT operating system. !
On NeXTStep 3.0, the Objective-C compiler does not work, due, apparently, to a kernel bug that it happens to trigger. This problem does not happen on 3.1. !
You absolutely must use GNU sed and GNU make on this platform. !
On NeXTSTEP 3.x where x < 3 the build of GCC will abort during stage1 with an error message like this: !
_eh ! /usr/tmp/ccbbsZ0U.s:987:Unknown pseudo-op: .section ! /usr/tmp/ccbbsZ0U.s:987:Rest of line ignored. 1st junk character ! valued 95 (_). !!The reason for this is the fact that NeXT's assembler for these versions of the operating system does not support the
.sectionpseudo op that's needed for full C++ exception functionality. !As NeXT's assembler is a derived work from GNU as, a free replacement that does can be obtained at ftp://ftp.next.peak.org:/next-ftp/next/apps/devtools/as.3.3.NIHS.s.tar.gz. !
If you try to build the integrated C++ & C++ runtime libraries on this system you will run into trouble with include files. The way to get around this is to use the following sequence. Note you must have write permission to the directory prefix you specified in the configuration process of GCC for this sequence to work. !
cd bld-gcc ! make all-texinfo all-bison all-byacc all-binutils all-gas all-ld ! cd gcc ! make bootstrap ! make install-headers-tar ! cd .. ! make bootstrap3 !!
!m68k-ncr-*
!On the Tower models 4n0 and 6n0, by default a process is not allowed to have more than one megabyte of memory. GCC cannot compile itself (or many other programs) with
-Oin that much memory. !To solve this problem, reconfigure the kernel adding the following line to the configuration file: !
MAXUMEM = 4096 !!
!m68k-sun
!Sun 3. We do not provide a configuration file to use the Sun FPA by default, because programs that establish signal handlers for floating point traps inherently cannot work with the FPA. !
!m68k-sun-sunos4.1.1
!It is reported that you may need the GNU assembler on this platform. !
!m88k-*-svr3
!Motorola m88k running the AT&T/Unisoft/Motorola V.3 reference port. These configurations are obsoleted in GCC 3.1. !
These systems tend to use the Green Hills C, revision 1.8.5, as the standard C compiler. There are apparently bugs in this compiler that result in object files differences between stage 2 and stage 3. If this happens, make the stage 4 compiler and compare it to the stage 3 --- 1082,1261 ---- assembler or for availability of the DPX/2 port of GAS, contact F.Pierresteguy@frcl.bull.fr. !
!m68k-crds-unos
!Use
configure unosfor building on Unos. !The Unos assembler is named
casminstead ofas. For some strange reason linking/bin/asto/bin/casmchanges the behavior, and does not work. So, when installing GCC, you should install the following script asasin the subdirectory where the passes of GCC are installed: !#!/bin/sh ! casm $* !!The default Unos library is named
libunos.ainstead oflibc.a. To allow GCC to function, either change all references to-lcingcc.cto-lunosor link/lib/libc.ato/lib/libunos.a. !When compiling GCC with the standard compiler, to overcome bugs in the support of
alloca, do not use-Owhen making stage 2. Then use the stage 2 compiler with-Oto make the stage 3 compiler. This compiler will have the same characteristics as the usual stage 2 compiler on other systems. Use it to make a stage 4 compiler and compare that with stage 3 to verify proper compilation. !(Perhaps simply defining
ALLOCAinx-crdsas described in the comments there will make the above paragraph superfluous. Please inform us of whether this works.) !Unos uses memory segmentation instead of demand paging, so you will need a lot of memory. 5 Mb is barely enough if no other tasks are running. If linking
cc1fails, try putting the object files into a library and linking from that library. !
!m68k-hp-hpux
!HP 9000 series 300 or 400 running HP-UX. HP-UX version 8.0 has a bug in the assembler that prevents compilation of GCC. This bug manifests itself during the first stage of compilation, while building
libgcc2.a: !_floatdisf ! cc1: warning: `-g' option not supported on this version of GCC ! cc1: warning: `-g1' option not supported on this version of GCC ! ./xgcc: Internal compiler error: program as got fatal signal 11 !!A patched version of the assembler is available as the file ftp://altdorf.ai.mit.edu/archive/cph/hpux-8.0-assembler. If you have HP software support, the patch can also be obtained directly from HP, as described in the following note: !
This is the patched assembler, to patch SR#1653-010439, where the assembler aborts on floating point constants. !!The bug is not really in the assembler, but in the shared library version of the function "cvtnum(3c)". The bug on "cvtnum(3c)" is SR#4701-078451. Anyway, the attached assembler uses the archive library version of "cvtnum(3c)" and thus does not exhibit the bug.
This patch is also known as PHCO_4484. !
In addition, if you wish to use gas, you must use gas version 2.1 or later, and you must use the GNU linker version 2.1 or later. Earlier versions of gas relied upon a program which converted the gas output into the native HP-UX format, but that program has not been kept up to date. gdb does not understand that native HP-UX format, so you must use gas if you wish to use gdb. !
On HP-UX version 8.05, but not on 8.07 or more recent versions, the
fixprotoshell script triggers a bug in the system shell. If you encounter this problem, upgrade your operating system or use BASH (the GNU shell) to runfixproto. This bug will cause the fixproto program to report an error of the form: !./fixproto: sh internal 1K buffer overflow !!To fix this, you can also change the first line of the fixproto script to look like: !
#!/bin/ksh !!
!m68k-*-nextstep*
!These configurations are obsoleted in GCC 3.1. !
Current GCC versions probably do not work on version 2 of the NeXT operating system. !
On NeXTStep 3.0, the Objective-C compiler does not work, due, apparently, to a kernel bug that it happens to trigger. This problem does not happen on 3.1. !
You absolutely must use GNU sed and GNU make on this platform. !
On NeXTSTEP 3.x where x < 3 the build of GCC will abort during stage1 with an error message like this: !
_eh ! /usr/tmp/ccbbsZ0U.s:987:Unknown pseudo-op: .section ! /usr/tmp/ccbbsZ0U.s:987:Rest of line ignored. 1st junk character ! valued 95 (_). !!The reason for this is the fact that NeXT's assembler for these versions of the operating system does not support the
.sectionpseudo op that's needed for full C++ exception functionality. !As NeXT's assembler is a derived work from GNU as, a free replacement that does can be obtained at ftp://ftp.next.peak.org:/next-ftp/next/apps/devtools/as.3.3.NIHS.s.tar.gz. !
If you try to build the integrated C++ & C++ runtime libraries on this system you will run into trouble with include files. The way to get around this is to use the following sequence. Note you must have write permission to the directory prefix you specified in the configuration process of GCC for this sequence to work. !
cd bld-gcc ! make all-texinfo all-bison all-byacc all-binutils all-gas all-ld ! cd gcc ! make bootstrap ! make install-headers-tar ! cd .. ! make bootstrap3 !!
!m68k-ncr-*
!On the Tower models 4n0 and 6n0, by default a process is not allowed to have more than one megabyte of memory. GCC cannot compile itself (or many other programs) with
-Oin that much memory. !To solve this problem, reconfigure the kernel adding the following line to the configuration file: !
MAXUMEM = 4096 !!
!m68k-sun
!Sun 3. We do not provide a configuration file to use the Sun FPA by default, because programs that establish signal handlers for floating point traps inherently cannot work with the FPA. !
!m68k-sun-sunos4.1.1
!It is reported that you may need the GNU assembler on this platform. !
!m88k-*-svr3
!Motorola m88k running the AT&T/Unisoft/Motorola V.3 reference port. These configurations are obsoleted in GCC 3.1. !
These systems tend to use the Green Hills C, revision 1.8.5, as the standard C compiler. There are apparently bugs in this compiler that result in object files differences between stage 2 and stage 3. If this happens, make the stage 4 compiler and compare it to the stage 3 *************** compiler. If the stage 3 and stage 4 ob *** 1261,1277 **** suggests you encountered a problem with the standard C compiler; the stage 3 and 4 compilers may be usable. !
It is best, however, to use an older version of GCC for bootstrapping if you have one. !
!m88k-*-dgux
!Motorola m88k running DG/UX. These configurations are obsoleted in GCC 3.1. !
To build 88open BCS native or cross compilers on DG/UX, specify the configuration name as
m88k-*-dguxbcsand build in the 88open BCS software development environment. To build ELF native or cross compilers on DG/UX, specify --- 1263,1279 ---- suggests you encountered a problem with the standard C compiler; the stage 3 and 4 compilers may be usable. !It is best, however, to use an older version of GCC for bootstrapping if you have one. !
!m88k-*-dgux
!Motorola m88k running DG/UX. These configurations are obsoleted in GCC 3.1. !
To build 88open BCS native or cross compilers on DG/UX, specify the configuration name as
m88k-*-dguxbcsand build in the 88open BCS software development environment. To build ELF native or cross compilers on DG/UX, specify *************** You set the software development environ *** 1280,1296 ****sde-targetcommand and specifying eitherm88kbcsorm88kdguxelfas the operand. !If you do not specify a configuration name,
configureguesses the configuration based on the current software development environment. !
!m88k-tektronix-sysv3
!Tektronix XD88 running UTekV 3.2e. These configurations are obsoleted in GCC 3.1. !
Do not turn on optimization while building stage1 if you bootstrap with the buggy Green Hills compiler. Also, the bundled LAI System V NFS is buggy so if you build in an NFS mounted --- 1282,1298 ----
sde-targetcommand and specifying eitherm88kbcsorm88kdguxelfas the operand. !If you do not specify a configuration name,
configureguesses the configuration based on the current software development environment. !
!m88k-tektronix-sysv3
!Tektronix XD88 running UTekV 3.2e. These configurations are obsoleted in GCC 3.1. !
Do not turn on optimization while building stage1 if you bootstrap with the buggy Green Hills compiler. Also, the bundled LAI System V NFS is buggy so if you build in an NFS mounted *************** directory, start from a fresh reboot, or *** 1298,1331 **** Otherwise you may have trouble getting clean comparisons between stages. !
!mips-*-*
!If you use the 1.31 version of the MIPS assembler (such as was shipped with Ultrix 3.1), you will need to use the
-fno-delayed-branchswitch when optimizing floating point code. Otherwise, the assembler will complain when the GCC compiler fills a branch delay slot with a floating point instruction, such asadd.d. !If on a MIPS system you get an error message saying "does not have gp sections for all it's [sic] sectons [sic]", don't worry about it. This happens whenever you use GAS with the MIPS linker, but there is not really anything wrong, and it is okay to use the output file. You can stop such warnings by installing the GNU linker. !
It would be nice to extend GAS to produce the gp tables, but they are optional, and there should not be a warning about their absence. !
Users have reported some problems with version 2.0 of the MIPS compiler tools that were shipped with Ultrix 4.1. Version 2.10 which came with Ultrix 4.2 seems to work fine. !
Users have also reported some problems with version 2.20 of the MIPS compiler tools that were shipped with RISC/os 4.x. The earlier version 2.11 seems to work fine. !
Some versions of the MIPS linker will issue an assertion failure when linking code that uses
allocaagainst shared libraries on RISC-OS 5.0, and DEC's OSF/1 systems. This is a bug in the linker, that is supposed to be fixed in future revisions. --- 1300,1333 ---- Otherwise you may have trouble getting clean comparisons between stages. !
!mips-*-*
!If you use the 1.31 version of the MIPS assembler (such as was shipped with Ultrix 3.1), you will need to use the
-fno-delayed-branchswitch when optimizing floating point code. Otherwise, the assembler will complain when the GCC compiler fills a branch delay slot with a floating point instruction, such asadd.d. !If on a MIPS system you get an error message saying "does not have gp sections for all it's [sic] sectons [sic]", don't worry about it. This happens whenever you use GAS with the MIPS linker, but there is not really anything wrong, and it is okay to use the output file. You can stop such warnings by installing the GNU linker. !
It would be nice to extend GAS to produce the gp tables, but they are optional, and there should not be a warning about their absence. !
Users have reported some problems with version 2.0 of the MIPS compiler tools that were shipped with Ultrix 4.1. Version 2.10 which came with Ultrix 4.2 seems to work fine. !
Users have also reported some problems with version 2.20 of the MIPS compiler tools that were shipped with RISC/os 4.x. The earlier version 2.11 seems to work fine. !
Some versions of the MIPS linker will issue an assertion failure when linking code that uses
allocaagainst shared libraries on RISC-OS 5.0, and DEC's OSF/1 systems. This is a bug in the linker, that is supposed to be fixed in future revisions. *************** To protect against this, GCC passes-shared -call_sharedswitch. !mips-mips-bsd
!MIPS machines running the MIPS operating system in BSD mode. These configurations are obsoleted in GCC 3.1. !
It's possible that some old versions of the system lack the functions
memcpy,memmove,memcmp, andmemset. If your system lacks these, you must remove or undo the definition ofTARGET_MEM_FUNCTIONSinmips-bsd.h. !If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. --- 1335,1351 ---- linker unless you pass an explicit-sharedor-call_sharedswitch. !mips-mips-bsd
!MIPS machines running the MIPS operating system in BSD mode. These configurations are obsoleted in GCC 3.1. !
It's possible that some old versions of the system lack the functions
memcpy,memmove,memcmp, andmemset. If your system lacks these, you must remove or undo the definition ofTARGET_MEM_FUNCTIONSinmips-bsd.h. !If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. *************** Both of these options are automatically *** 1352,1382 **** If you override theCCmake variable and use the MIPS compilers, you may need to add-Wf,-XNg1500 -Olimit 3000. !
!mips-dec-*
!These configurations are obsoleted in GCC 3.1. !
MIPS-based DECstations can support three different personalities: Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products have a configuration name beginning with
alpha*-dec.) To configure GCC for these platforms use the following configurations: !!
mips-dec-ultrix!- Ultrix configuration. !
mips-dec-osf1!- DEC's version of OSF/1. !
mips-dec-osfrose!- Open Software Foundation reference port of OSF/1 which uses the OSF/rose object file format instead of ECOFF. Normally, you would not select this configuration.
If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. --- 1354,1384 ---- If you override theCCmake variable and use the MIPS compilers, you may need to add-Wf,-XNg1500 -Olimit 3000. !
!mips-dec-*
!These configurations are obsoleted in GCC 3.1. !
MIPS-based DECstations can support three different personalities: Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products have a configuration name beginning with
alpha*-dec.) To configure GCC for these platforms use the following configurations: !!
mips-dec-ultrix!- Ultrix configuration. !
mips-dec-osf1!- DEC's version of OSF/1. !
mips-dec-osfrose!- Open Software Foundation reference port of OSF/1 which uses the OSF/rose object file format instead of ECOFF. Normally, you would not select this configuration.
If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. *************** Both of these options are automatically *** 1385,1397 **** If you override theCCmake variable and use the MIPS compilers, you may need to add-Wf,-XNg1500 -Olimit 3000. !
!mips-mips-riscos*
!These configurations are obsoleted in GCC 3.1. !
If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. --- 1387,1399 ---- If you override theCCmake variable and use the MIPS compilers, you may need to add-Wf,-XNg1500 -Olimit 3000. !
!mips-mips-riscos*
!These configurations are obsoleted in GCC 3.1. !
If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. *************** Both of these options are automatically *** 1400,1474 **** If you override theCCmake variable and use the MIPS compilers, you may need to add-Wf,-XNg1500 -Olimit 3000. !MIPS computers running RISC-OS can support four different personalities: default, BSD 4.3, System V.3, and System V.4 (older versions of RISC-OS don't support V.4). To configure GCC for these platforms use the following configurations: !
!
!mips-mips-riscosrev!- Default configuration for RISC-OS, revision rev. !
mips-mips-riscosrevbsd!- BSD 4.3 configuration for RISC-OS, revision rev. !
mips-mips-riscosrevsysv4!- System V.4 configuration for RISC-OS, revision rev. !
!mips-mips-riscosrevsysv!- System V.3 configuration for RISC-OS, revision rev.
The revision
revmentioned above is the revision of RISC-OS to use. You must reconfigure GCC when going from a RISC-OS revision 4 to RISC-OS revision 5. This has the effect of avoiding a linker bug. !
!mips-sgi-irix4
!This configuration is obsoleted in GCC 3.1. !
In order to compile GCC on an SGI running IRIX 4, the "c.hdr.lib" option must be installed from the CD-ROM supplied from Silicon Graphics. This is found on the 2nd CD in release 4.0.1. !
On IRIX version 4.0.5F, and perhaps on some other versions as well, there is an assembler bug that reorders instructions incorrectly. To work around it, specify the target configuration
mips-sgi-irix4loser. This configuration inhibits assembler optimization. !In a compiler configured with target
mips-sgi-irix4, you can turn off assembler optimization by using the-noasmoptoption. This compiler option passes the option-O0to the assembler, to inhibit reordering. !The
-noasmoptoption can be useful for testing whether a problem is due to erroneous assembler reordering. Even if a problem does not go away with-noasmopt, it may still be due to assembler reordering--perhaps GCC itself was miscompiled as a result. !You may get the following warning on IRIX 4 platforms, it can be safely ignored. !
warning: foo.o does not have gp tables for all its sections. !!
!mips-sgi-irix5
!This configuration has considerable problems, which will be fixed in a future release. !
In order to compile GCC on an SGI running IRIX 5, the "compiler_dev.hdr" subsystem must be installed from the IDO CD-ROM supplied by Silicon Graphics. It is also available for download from http://www.sgi.com/developers/devtools/apis/ido.html. !
make comparemay fail on version 5 of IRIX unless you add-save-tempstoCFLAGS. On these systems, the name of the assembler input file is stored in the object file, and that makes comparison fail if it differs between thestage1and --- 1402,1476 ---- If you override theCCmake variable and use the MIPS compilers, you may need to add-Wf,-XNg1500 -Olimit 3000. !MIPS computers running RISC-OS can support four different personalities: default, BSD 4.3, System V.3, and System V.4 (older versions of RISC-OS don't support V.4). To configure GCC for these platforms use the following configurations: !
!
!mips-mips-riscosrev!- Default configuration for RISC-OS, revision rev. !
mips-mips-riscosrevbsd!- BSD 4.3 configuration for RISC-OS, revision rev. !
mips-mips-riscosrevsysv4!- System V.4 configuration for RISC-OS, revision rev. !
!mips-mips-riscosrevsysv!- System V.3 configuration for RISC-OS, revision rev.
The revision
revmentioned above is the revision of RISC-OS to use. You must reconfigure GCC when going from a RISC-OS revision 4 to RISC-OS revision 5. This has the effect of avoiding a linker bug. !
!mips-sgi-irix4
!This configuration is obsoleted in GCC 3.1. !
In order to compile GCC on an SGI running IRIX 4, the "c.hdr.lib" option must be installed from the CD-ROM supplied from Silicon Graphics. This is found on the 2nd CD in release 4.0.1. !
On IRIX version 4.0.5F, and perhaps on some other versions as well, there is an assembler bug that reorders instructions incorrectly. To work around it, specify the target configuration
mips-sgi-irix4loser. This configuration inhibits assembler optimization. !In a compiler configured with target
mips-sgi-irix4, you can turn off assembler optimization by using the-noasmoptoption. This compiler option passes the option-O0to the assembler, to inhibit reordering. !The
-noasmoptoption can be useful for testing whether a problem is due to erroneous assembler reordering. Even if a problem does not go away with-noasmopt, it may still be due to assembler reordering--perhaps GCC itself was miscompiled as a result. !You may get the following warning on IRIX 4 platforms, it can be safely ignored. !
warning: foo.o does not have gp tables for all its sections. !!
!mips-sgi-irix5
!This configuration has considerable problems, which will be fixed in a future release. !
In order to compile GCC on an SGI running IRIX 5, the "compiler_dev.hdr" subsystem must be installed from the IDO CD-ROM supplied by Silicon Graphics. It is also available for download from http://www.sgi.com/developers/devtools/apis/ido.html. !
make comparemay fail on version 5 of IRIX unless you add-save-tempstoCFLAGS. On these systems, the name of the assembler input file is stored in the object file, and that makes comparison fail if it differs between thestage1and *************** unless the comparisons fail without that *** 1479,1490 ****-save-temps, you will have to manually delete the.iand.sfiles after each series of compilations. !If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. !To enable debugging under IRIX 5, you must use GNU
as2.11.2 or later, and use the--with-gnu-asconfigure option when configuring GCC. GNUasis distributed as part of the binutils package. --- 1481,1492 -----save-temps, you will have to manually delete the.iand.sfiles after each series of compilations. !If you use the MIPS C compiler to bootstrap, it may be necessary to increase its table size for switch statements with the
-Wf,-XNg1500option. If you use the-O2optimization option, you also need to use-Olimit 3000. !To enable debugging under IRIX 5, you must use GNU
as2.11.2 or later, and use the--with-gnu-asconfigure option when configuring GCC. GNUasis distributed as part of the binutils package. *************** When using release 2.11.2, you need to a *** 1492,1498 **** http://sources.redhat.com/ml/binutils/2001-07/msg00352.html which will be included in the next release of binutils. !When building GCC, the build process loops rebuilding
cc1over and over again. This happens onmips-sgi-irix5.2, and possibly other platforms. It has been reported that this is a known bug in themakeshipped with IRIX 5.2. We recommend you use GNU --- 1494,1500 ---- http://sources.redhat.com/ml/binutils/2001-07/msg00352.html which will be included in the next release of binutils. !When building GCC, the build process loops rebuilding
cc1over and over again. This happens onmips-sgi-irix5.2, and possibly other platforms. It has been reported that this is a known bug in themakeshipped with IRIX 5.2. We recommend you use GNU *************** other platforms. It has been reported t *** 1500,1532 **** however, you may have success withsmakeon IRIX 5.2 if you do not have GNUmakeavailable. !
!mips-sgi-irix6
!If you are using IRIX
ccas your bootstrap compiler, you must ensure that the N32 ABI is in use. To test this, compile a simple C file withccand then runfileon the resulting object file. The output should look like: !test.o: ELF N32 MSB ... !!If you see: !
test.o: ELF 32-bit MSB ... !!or !
test.o: ELF 64-bit MSB ... !!then your version of
ccuses the O32 or N64 ABI by default. You should set the environment variableCCtocc -n32before configuring GCC. !If you want the resulting
gccto run on old 32-bit systems with the MIPS R4400 CPU, you need to ensure that only code for the mips3 instruction set architecture (ISA) is generated. While GCC 3.x does this correctly, both GCC 2.95 and SGI's MIPSproccmay change --- 1502,1534 ---- however, you may have success withsmakeon IRIX 5.2 if you do not have GNUmakeavailable. !
!mips-sgi-irix6
!If you are using IRIX
ccas your bootstrap compiler, you must ensure that the N32 ABI is in use. To test this, compile a simple C file withccand then runfileon the resulting object file. The output should look like: !test.o: ELF N32 MSB ... !!If you see: !
test.o: ELF 32-bit MSB ... !!or !
test.o: ELF 64-bit MSB ... !!then your version of
ccuses the O32 or N64 ABI by default. You should set the environment variableCCtocc -n32before configuring GCC. !If you want the resulting
gccto run on old 32-bit systems with the MIPS R4400 CPU, you need to ensure that only code for the mips3 instruction set architecture (ISA) is generated. While GCC 3.x does this correctly, both GCC 2.95 and SGI's MIPSproccmay change *************** the ISA depending on the machine where G *** 1534,1560 **** as the bootstrap compiler may result in mips4 code, which won't run at all on mips3-only systems. For the test program above, you should see: !test.o: ELF N32 MSB mips-3 ... !!If you get: !
test.o: ELF N32 MSB mips-4 ... !!instead, you should set the environment variable
CCtocc -n32 -mips3orgcc -mips3respectively before configuring GCC. !GCC on IRIX 6 is usually built to support both the N32 and N64 ABIs. If you build GCC on a system that doesn't have the N64 libraries installed, you need to configure with
--disable-multilibso GCC doesn't try to use them. Look for/usr/lib64/libc.so.1to see if you have the 64-bit libraries installed. !You must not use GNU
as(which isn't built anyway as of binutils 2.11.2) on IRIX 6 platforms; doing so will only cause problems. !GCC does not currently support generating O32 ABI binaries in the
mips-sgi-irix6configurations. It is possible to create a GCC with O32 ABI only support by configuring it for themips-sgi-irix5target and using a patched GNUas2.11.2 as documented in the --- 1536,1562 ---- as the bootstrap compiler may result in mips4 code, which won't run at all on mips3-only systems. For the test program above, you should see: !test.o: ELF N32 MSB mips-3 ... !!If you get: !
test.o: ELF N32 MSB mips-4 ... !!instead, you should set the environment variable
CCtocc -n32 -mips3orgcc -mips3respectively before configuring GCC. !GCC on IRIX 6 is usually built to support both the N32 and N64 ABIs. If you build GCC on a system that doesn't have the N64 libraries installed, you need to configure with
--disable-multilibso GCC doesn't try to use them. Look for/usr/lib64/libc.so.1to see if you have the 64-bit libraries installed. !You must not use GNU
as(which isn't built anyway as of binutils 2.11.2) on IRIX 6 platforms; doing so will only cause problems. !GCC does not currently support generating O32 ABI binaries in the
mips-sgi-irix6configurations. It is possible to create a GCC with O32 ABI only support by configuring it for themips-sgi-irix5target and using a patched GNUas2.11.2 as documented in the *************** native assembler requires patches to GCC *** 1563,1569 **** future release. It is expected that O32 ABI support will be available again in a future release. !The
--enable-threadsoption doesn't currently work, a patch is in preparation for a future release. The--enable-libgcjoption is disabled by default: IRIX 6 uses a very low default limit (20480) for the command line length. Although libtool contains a --- 1565,1571 ---- future release. It is expected that O32 ABI support will be available again in a future release. !The
--enable-threadsoption doesn't currently work, a patch is in preparation for a future release. The--enable-libgcjoption is disabled by default: IRIX 6 uses a very low default limit (20480) for the command line length. Although libtool contains a *************** to build despite this, running into an i *** 1573,1579 **** its maximum of 262144 bytes. If you have root access, you can use thesystunecommand to do this. !GCC does not correctly pass/return structures which are smaller than 16 bytes and which are not 8 bytes. The problem is very involved and difficult to fix. It affects a number of other targets also, but IRIX 6 is affected the most, because it is a 64-bit target, and 4 byte --- 1575,1581 ---- its maximum of 262144 bytes. If you have root access, you can use the
systunecommand to do this. !GCC does not correctly pass/return structures which are smaller than 16 bytes and which are not 8 bytes. The problem is very involved and difficult to fix. It affects a number of other targets also, but IRIX 6 is affected the most, because it is a 64-bit target, and 4 byte *************** at the wrong end, e.g. a 4 byte structur *** 1582,1588 **** of the register when it should be loaded into the upper 4 bytes of the register. !
GCC is consistent with itself, but not consistent with the SGI C compiler (and the SGI supplied runtime libraries), so the only failures that can happen are when there are library functions that take/return such structures. There are very few such library functions. Currently this --- 1584,1590 ---- of the register when it should be loaded into the upper 4 bytes of the register. !
GCC is consistent with itself, but not consistent with the SGI C compiler (and the SGI supplied runtime libraries), so the only failures that can happen are when there are library functions that take/return such structures. There are very few such library functions. Currently this *************** is known to affect
inet_ntoainet_netof,inet_makeaddr, andsemctl. Until the bug is fixed, GCC contains workarounds for the known affected functions. !See http://freeware.sgi.com/ for more information about using GCC on IRIX platforms. !
!mips-sony-sysv
!Sony MIPS NEWS. This configuration is obsoleted in GCC 3.1. !
This works in NEWSOS 5.0.1, but not in 5.0.2 (which uses ELF instead of COFF). In particular, the linker does not like the code generated by GCC when shared libraries are linked in. !
!ns32k-encore
!This configuration is obsoleted in GCC 3.1. !
Encore ns32000 system. Encore systems are supported only under BSD. !
!ns32k-*-genix
!National Semiconductor ns32000 system. This configuration is obsoleted in GCC 3.1. !
Genix has bugs in
allocaandmalloc; you must get the compiled versions of these from GNU Emacs. !
!ns32k-sequent
!This configuration is obsoleted in GCC 3.1. !
Go to the Berkeley universe before compiling. !
!ns32k-utek
!UTEK ns32000 system ("merlin"). This configuration is obsoleted in GCC 3.1. !
The C compiler that comes with this system cannot compile GCC; contact
tektronix!reed!masonto get binaries of GCC for bootstrapping. !
!powerpc-*-*
!You can specify a default version for the
-mcpu=cpu_type! switch by using the configure option--with-cpu-cpu_type. !
!powerpc-*-darwin*
!PowerPC running Darwin (Mac OS X kernel). !
GCC 3.0 does not support Darwin, but 3.1 and later releases will work. !
Pre-installed versions of Mac OS X may not include any developer tools, meaning that you will not be able to build GCC from source. Tool binaries are available at http://www.opensource.apple.com/projects/darwin (free registration required). !
Versions of the assembler prior to "cctools-364" cannot handle the 4-argument form of
rlwinmand related mask-using instructions. Darwin 1.3 (Mac OS X 10.0) uses cctools-353 for instance. To get cctools-364, check outcctoolswith tagApple-364, build it, and install the assembler asusr/bin/as. See http://www.opensource.apple.com/tools/cvs/docs.html for details. !Also, the default stack limit of 512K is too small, and a bootstrap will typically fail when self-compiling
expr.c. Set the stack to 800K or more, for instance by doinglimit stack 800. It's also convenient to use the GNU preprocessor instead of Apple's during the --- 1592,1675 ----inet_netof,inet_makeaddr, andsemctl. Until the bug is fixed, GCC contains workarounds for the known affected functions. !See http://freeware.sgi.com/ for more information about using GCC on IRIX platforms. !
!mips-sony-sysv
!Sony MIPS NEWS. This configuration is obsoleted in GCC 3.1. !
This works in NEWSOS 5.0.1, but not in 5.0.2 (which uses ELF instead of COFF). In particular, the linker does not like the code generated by GCC when shared libraries are linked in. !
!ns32k-encore
!This configuration is obsoleted in GCC 3.1. !
Encore ns32000 system. Encore systems are supported only under BSD. !
!ns32k-*-genix
!National Semiconductor ns32000 system. This configuration is obsoleted in GCC 3.1. !
Genix has bugs in
allocaandmalloc; you must get the compiled versions of these from GNU Emacs. !
!ns32k-sequent
!This configuration is obsoleted in GCC 3.1. !
Go to the Berkeley universe before compiling. !
!ns32k-utek
!UTEK ns32000 system ("merlin"). This configuration is obsoleted in GCC 3.1. !
The C compiler that comes with this system cannot compile GCC; contact
tektronix!reed!masonto get binaries of GCC for bootstrapping. !
!powerpc-*-*
!You can specify a default version for the
-mcpu=cpu_type! switch by using the configure option--with-cpu-cpu_type. !
!powerpc-*-darwin*
!PowerPC running Darwin (Mac OS X kernel). !
GCC 3.0 does not support Darwin, but 3.1 and later releases will work. !
Pre-installed versions of Mac OS X may not include any developer tools, meaning that you will not be able to build GCC from source. Tool binaries are available at http://www.opensource.apple.com/projects/darwin (free registration required). !
Versions of the assembler prior to "cctools-364" cannot handle the 4-argument form of
rlwinmand related mask-using instructions. Darwin 1.3 (Mac OS X 10.0) uses cctools-353 for instance. To get cctools-364, check outcctoolswith tagApple-364, build it, and install the assembler asusr/bin/as. See http://www.opensource.apple.com/tools/cvs/docs.html for details. !Also, the default stack limit of 512K is too small, and a bootstrap will typically fail when self-compiling
expr.c. Set the stack to 800K or more, for instance by doinglimit stack 800. It's also convenient to use the GNU preprocessor instead of Apple's during the *************** first stage of bootstrapping; this is au *** 1675,1845 **** bootstrap, but to do it from the toplevel objdir you will need to saymake CC='cc -no-cpp-precomp' bootstrap. !Note that the version of GCC shipped by Apple typically includes a number of extensions not available in a standard GCC release. These extensions are generally specific to Mac programming. !
!powerpc-*-elf, powerpc-*-sysv4
!PowerPC system in big endian mode, running System V.4. !
!powerpc-*-linux-gnu*
!You will need binutils 2.13.90.0.10 or newer for a working GCC. !
!powerpc-*-netbsd*
!PowerPC system in big endian mode running NetBSD. To build the documentation you will need Texinfo version 4.1 (NetBSD 1.5.1 included Texinfo version 3.12). !
!powerpc-*-eabiaix
!Embedded PowerPC system in big endian mode with
-mcall-aixselected as the default. !
!powerpc-*-eabisim
!Embedded PowerPC system in big endian mode for use in running under the PSIM simulator. !
!powerpc-*-eabi
!Embedded PowerPC system in big endian mode. !
!powerpcle-*-elf, powerpcle-*-sysv4
!PowerPC system in little endian mode, running System V.4. !
!powerpcle-*-eabisim
!Embedded PowerPC system in little endian mode for use in running under the PSIM simulator. !
!powerpcle-*-eabi
!Embedded PowerPC system in little endian mode. !
!powerpcle-*-winnt, powerpcle-*-pe
!PowerPC system in little endian mode running Windows NT. !
!romp-*-aos, romp-*-mach
!These configurations are obsoleted in GCC 3.1. !
We recommend you compile GCC with an earlier version of itself; if you compile GCC with
hc, the Metaware compiler, it will work, but you will get mismatches between the stage 2 and stage 3 compilers in various files. These errors are minor differences in some floating-point constants and can be safely ignored; the stage 3 compiler is correct. !
!s390-*-linux*
!S/390 system running Linux for S/390. !
!s390x-*-linux*
!zSeries system (64-bit) running Linux for zSeries. !
!*-*-solaris2*
!Sun does not ship a C compiler with Solaris 2. To bootstrap and install GCC you first have to install a pre-built compiler, see our binaries page for details. !
The Solaris 2
/bin/shwill often fail to configurelibstdc++-v3,boehm-gcorlibjava. If you encounter this problem, setCONFIG_SHELLto/bin/kshin your environment before runningconfigure. !Solaris 2 comes with a number of optional OS packages. Some of these packages are needed to use GCC fully, namely
SUNWarc,SUNWbtool,SUNWesu,SUNWhea,SUNWlibm,SUNWsprot, andSUNWtoo. If you did not install all optional packages when installing Solaris 2, you will need to verify that the packages that GCC needs are installed. !To check whether an optional package is installed, use the
pkginfocommand. To add an optional package, use thepkgaddcommand. For further details, see the Solaris 2 documentation. !Trying to use the linker and other tools in
/usr/ucbto install GCC has been observed to cause trouble. For example, the linker may hang indefinitely. The fix is to remove/usr/ucbfrom yourPATH. !All releases of GNU binutils prior to 2.11.2 have known bugs on this platform. We recommend the use of GNU binutils 2.11.2 or the vendor tools (Sun
as, Sunld). !Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or newer:
g++will complain that types are missing. These headers assume that omitting the type meansint; this assumption worked for C89 but is wrong for C++, and is now wrong for C99 also. !
g++accepts such (invalid) constructs with the option-fpermissive; it will assume that any missing type isint(as defined by C89). !There are patches for Solaris 2.6 (105633-56 or newer for SPARC, 106248-42 or newer for Intel), Solaris 7 (108376-21 or newer for SPARC, 108377-20 for Intel), and Solaris 8 (108652-24 or newer for SPARC, 108653-22 for Intel) that fix this bug. !
!sparc-sun-solaris2*
!When GCC is configured to use binutils 2.11.2 or later the binaries produced are smaller than the ones produced using Sun's native tools; this difference is quite significant for binaries containing debugging information. !
Sun
as4.x is broken in that it cannot cope with long symbol names. A typical error message might look similar to the following: !/usr/ccs/bin/as: "/var/tmp/ccMsw135.s", line 11041: error: ! can't compute value of an expression involving an external symbol. !!This is Sun bug 4237974. This is fixed with patch 108908-02 for Solaris 2.6 and has been fixed in later (5.x) versions of the assembler, starting with Solaris 7. !
Starting with Solaris 7, the operating system is capable of executing 64-bit SPARC V9 binaries. GCC 3.1 and later properly supports this; the
-m64option enables 64-bit code generation. However, if all you want is code tuned for the UltraSPARC CPU, you --- 1677,1847 ---- bootstrap, but to do it from the toplevel objdir you will need to saymake CC='cc -no-cpp-precomp' bootstrap. !Note that the version of GCC shipped by Apple typically includes a number of extensions not available in a standard GCC release. These extensions are generally specific to Mac programming. !
!powerpc-*-elf, powerpc-*-sysv4
!PowerPC system in big endian mode, running System V.4. !
!powerpc-*-linux-gnu*
!You will need binutils 2.13.90.0.10 or newer for a working GCC. !
!powerpc-*-netbsd*
!PowerPC system in big endian mode running NetBSD. To build the documentation you will need Texinfo version 4.1 (NetBSD 1.5.1 included Texinfo version 3.12). !
!powerpc-*-eabiaix
!Embedded PowerPC system in big endian mode with
-mcall-aixselected as the default. !
!powerpc-*-eabisim
!Embedded PowerPC system in big endian mode for use in running under the PSIM simulator. !
!powerpc-*-eabi
!Embedded PowerPC system in big endian mode. !
!powerpcle-*-elf, powerpcle-*-sysv4
!PowerPC system in little endian mode, running System V.4. !
!powerpcle-*-eabisim
!Embedded PowerPC system in little endian mode for use in running under the PSIM simulator. !
!powerpcle-*-eabi
!Embedded PowerPC system in little endian mode. !
!powerpcle-*-winnt, powerpcle-*-pe
!PowerPC system in little endian mode running Windows NT. !
!romp-*-aos, romp-*-mach
!These configurations are obsoleted in GCC 3.1. !
We recommend you compile GCC with an earlier version of itself; if you compile GCC with
hc, the Metaware compiler, it will work, but you will get mismatches between the stage 2 and stage 3 compilers in various files. These errors are minor differences in some floating-point constants and can be safely ignored; the stage 3 compiler is correct. !
!s390-*-linux*
!S/390 system running Linux for S/390. !
!s390x-*-linux*
!zSeries system (64-bit) running Linux for zSeries. !
!*-*-solaris2*
!Sun does not ship a C compiler with Solaris 2. To bootstrap and install GCC you first have to install a pre-built compiler, see our binaries page for details. !
The Solaris 2
/bin/shwill often fail to configurelibstdc++-v3,boehm-gcorlibjava. If you encounter this problem, setCONFIG_SHELLto/bin/kshin your environment before runningconfigure. !Solaris 2 comes with a number of optional OS packages. Some of these packages are needed to use GCC fully, namely
SUNWarc,SUNWbtool,SUNWesu,SUNWhea,SUNWlibm,SUNWsprot, andSUNWtoo. If you did not install all optional packages when installing Solaris 2, you will need to verify that the packages that GCC needs are installed. !To check whether an optional package is installed, use the
pkginfocommand. To add an optional package, use thepkgaddcommand. For further details, see the Solaris 2 documentation. !Trying to use the linker and other tools in
/usr/ucbto install GCC has been observed to cause trouble. For example, the linker may hang indefinitely. The fix is to remove/usr/ucbfrom yourPATH. !All releases of GNU binutils prior to 2.11.2 have known bugs on this platform. We recommend the use of GNU binutils 2.11.2 or the vendor tools (Sun
as, Sunld). !Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or newer:
g++will complain that types are missing. These headers assume that omitting the type meansint; this assumption worked for C89 but is wrong for C++, and is now wrong for C99 also. !
g++accepts such (invalid) constructs with the option-fpermissive; it will assume that any missing type isint(as defined by C89). !There are patches for Solaris 2.6 (105633-56 or newer for SPARC, 106248-42 or newer for Intel), Solaris 7 (108376-21 or newer for SPARC, 108377-20 for Intel), and Solaris 8 (108652-24 or newer for SPARC, 108653-22 for Intel) that fix this bug. !
!sparc-sun-solaris2*
!When GCC is configured to use binutils 2.11.2 or later the binaries produced are smaller than the ones produced using Sun's native tools; this difference is quite significant for binaries containing debugging information. !
Sun
as4.x is broken in that it cannot cope with long symbol names. A typical error message might look similar to the following: !/usr/ccs/bin/as: "/var/tmp/ccMsw135.s", line 11041: error: ! can't compute value of an expression involving an external symbol. !!This is Sun bug 4237974. This is fixed with patch 108908-02 for Solaris 2.6 and has been fixed in later (5.x) versions of the assembler, starting with Solaris 7. !
Starting with Solaris 7, the operating system is capable of executing 64-bit SPARC V9 binaries. GCC 3.1 and later properly supports this; the
-m64option enables 64-bit code generation. However, if all you want is code tuned for the UltraSPARC CPU, you *************** should try the-mtune=ultrasparc *** 1847,1882 **** code that, unlike full 64-bit code, can still run on non-UltraSPARC machines. !When configuring on a Solaris 7 or later system that is running a kernel that supports only 32-bit binaries, one must configure with
--disable-multilib, since we will not be able to build the 64-bit target libraries. !
!sparc-sun-solaris2.7
!Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8 and later, including all EGCS releases. Sun formerly recommended 107058-01 for all Solaris 7 users, but around 1999-09-01 it started to recommend it only for people who use Sun's compilers. !
Here are some workarounds to this problem: !
!
- Do not install Sun patch 107058-01 until after Sun releases a complete patch for bug 4210064. This is the simplest course to take, unless you must also use Sun's C compiler. Unfortunately 107058-01 is preinstalled on some new Solaris 7-based hosts, so you may have to back it out. !
- Copy the original, unpatched Solaris 7
/usr/ccs/bin/asinto/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/3.1/as, adjusting the latter name to fit your local conventions and software version numbers. !- Install Sun patch 106950-03 (1999-05-25) or later. Nobody with both 107058-01 and 106950-03 installed has reported the bug with GCC and Sun's dynamic linker. This last course of action is riskiest, for two reasons. First, you must install 106950 on all hosts that --- 1849,1884 ---- code that, unlike full 64-bit code, can still run on non-UltraSPARC machines. !
When configuring on a Solaris 7 or later system that is running a kernel that supports only 32-bit binaries, one must configure with
--disable-multilib, since we will not be able to build the 64-bit target libraries. !
!sparc-sun-solaris2.7
!Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8 and later, including all EGCS releases. Sun formerly recommended 107058-01 for all Solaris 7 users, but around 1999-09-01 it started to recommend it only for people who use Sun's compilers. !
Here are some workarounds to this problem: !
!
- Do not install Sun patch 107058-01 until after Sun releases a complete patch for bug 4210064. This is the simplest course to take, unless you must also use Sun's C compiler. Unfortunately 107058-01 is preinstalled on some new Solaris 7-based hosts, so you may have to back it out. !
- Copy the original, unpatched Solaris 7
/usr/ccs/bin/asinto/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/3.1/as, adjusting the latter name to fit your local conventions and software version numbers. !- Install Sun patch 106950-03 (1999-05-25) or later. Nobody with both 107058-01 and 106950-03 installed has reported the bug with GCC and Sun's dynamic linker. This last course of action is riskiest, for two reasons. First, you must install 106950 on all hosts that *************** the bug. The current (as of 2001-09-24) *** 1888,2079 **** the Solaris 7 Recommended Patch Cluster.
!sparc-sun-sunos4*
!A bug in the SunOS 4 linker will cause it to crash when linking
-fPICcompiled objects (and will therefore not allow you to build shared libraries). !To fix this problem you can either use the most recent version of binutils or get the latest SunOS 4 linker patch (patch ID 100170-10) from Sun's patch site. !
Sometimes on a Sun 4 you may observe a crash in the program
genflagsorgenoutputwhile building GCC. This is said to be due to a bug insh. You can probably get around it by runninggenflagsorgenoutputmanually and then retrying themake. !
!sparc-unknown-linux-gnulibc1
!It has been reported that you might need binutils 2.8.1.0.23 for this platform, too. !
!sparc-*-linux*
!GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4 or newer on this platform. All earlier binutils and glibc releases mishandled unaligned relocations on
sparc-*-*targets. !
!sparc64-*-*
!GCC version 2.95 is not able to compile code correctly for
sparc64targets. Users of the Linux kernel, at least, can use thesparc32program to start up a new shell invocation with an environment that causesconfigureto recognize (viauname -a) the system assparc-*-*instead. !
!sparcv9-*-solaris2*
!The following compiler flags must be specified in the configure step in order to bootstrap this target with the Sun compiler: !
% CC="cc -xildoff -xarch=v9" srcdir/configure [options] [target] !!
-xildoffturns off the incremental linker, and-xarch=v9specifies the v9 architecture to the Sun linker and assembler. !
!*-*-sysv*
!On System V release 3, you may get this error message while linking: !
ld fatal: failed to write symbol name something ! in strings table for file whatever !!This probably indicates that the disk is full or your ulimit won't allow the file to be as large as it needs to be. !
This problem can also result because the kernel parameter
MAXUMEMis too small. If so, you must regenerate the kernel and make the value much larger. The default value is reported to be 1024; a value of 32768 is said to work. Smaller values may also work. !On System V, if you get an error like this, !
/usr/local/lib/bison.simple: In function `yyparse': ! /usr/local/lib/bison.simple:625: virtual memory exhausted !that too indicates a problem with disk space, ulimit, or
MAXUMEM. !On a System V release 4 system, make sure
/usr/binprecedes/usr/ucbinPATH. Thecccommand in/usr/ucbuses libraries which have bugs. !
!vax-dec-ultrix
!Don't try compiling with VAX C (
vcc). It produces incorrect code in some cases (for example, whenallocais used). !
!we32k-*-*
!These computers are also known as the 3b2, 3b5, 3b20 and other similar names. (However, the 3b1 is actually a 68000.) These configurations are obsoleted in GCC 3.1. !
Don't use
-gwhen compiling with the system's compiler. The system's linker seems to be unable to handle such a large program with debugging information. !The system's compiler runs out of capacity when compiling
stmt.cin GCC. You can work around this by buildingcppin GCC first, then use that instead of the system's preprocessor with the system's C compiler to compilestmt.c. Here is how: !mv /lib/cpp /lib/cpp.att ! cp cpp /lib/cpp.gnu ! echo '/lib/cpp.gnu -traditional ${1+"$@"}' > /lib/cpp ! chmod +x /lib/cpp !!The system's compiler produces bad code for some of the GCC optimization files. So you must build the stage 2 compiler without optimization. Then build a stage 3 compiler with optimization. That executable should work. Here are the necessary commands: !
make LANGUAGES=c CC=stage1/xgcc CFLAGS="-Bstage1/ -g" ! make stage2 ! make CC=stage2/xgcc CFLAGS="-Bstage2/ -g -O" !!You may need to raise the ULIMIT setting to build a C++ compiler, as the file
cc1plusis larger than one megabyte. !
!xtensa-*-elf
!This target is intended for embedded Xtensa systems using the
newlibC library. It uses ELF but does not support shared objects. Designed-defined instructions specified via the Tensilica Instruction Extension (TIE) language are only supported through inline assembly. !The Xtensa configuration information must be specified prior to building GCC. The
gcc/config/xtensa/xtensa-config.hheader file contains the configuration information. If you created your own Xtensa configuration with the Xtensa Processor Generator, the downloaded files include a customized copy of this header file, which you can use to replace the default header file. !
!xtensa-*-linux*
!This target is for Xtensa systems running GNU/Linux. It supports ELF shared objects and the GNU C library (glibc). It also generates position-independent code (PIC) regardless of whether the
-fpicor-fPICoptions are used. In other respects, this target is the same as thextensa-*-elftarget. !
!Microsoft Windows (32-bit)
!A port of GCC 2.95.x is included with the Cygwin environment. !
Current (as of early 2001) snapshots of GCC will build under Cygwin without modification. !
!OS/2
!GCC does not currently support OS/2. However, Andrew Zabolotny has been working on a generic OS/2 port with pgcc. The current code can be found at http://www.goof.com/pcg/os2/. !
An older copy of GCC 2.8.1 is included with the EMX tools available at ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/. !
!Older systems
!GCC contains support files for many older (1980s and early 1990s) Unix variants. For the most part, support for these systems has not been deliberately removed, but it has not been maintained for several years and may suffer from bitrot. Support from some systems --- 1890,2081 ---- the Solaris 7 Recommended Patch Cluster.
!sparc-sun-sunos4*
!A bug in the SunOS 4 linker will cause it to crash when linking
-fPICcompiled objects (and will therefore not allow you to build shared libraries). !To fix this problem you can either use the most recent version of binutils or get the latest SunOS 4 linker patch (patch ID 100170-10) from Sun's patch site. !
Sometimes on a Sun 4 you may observe a crash in the program
genflagsorgenoutputwhile building GCC. This is said to be due to a bug insh. You can probably get around it by runninggenflagsorgenoutputmanually and then retrying themake. !
!sparc-unknown-linux-gnulibc1
!It has been reported that you might need binutils 2.8.1.0.23 for this platform, too. !
!sparc-*-linux*
!GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4 or newer on this platform. All earlier binutils and glibc releases mishandled unaligned relocations on
sparc-*-*targets. !
!sparc64-*-*
!GCC version 2.95 is not able to compile code correctly for
sparc64targets. Users of the Linux kernel, at least, can use thesparc32program to start up a new shell invocation with an environment that causesconfigureto recognize (viauname -a) the system assparc-*-*instead. !
!sparcv9-*-solaris2*
!The following compiler flags must be specified in the configure step in order to bootstrap this target with the Sun compiler: !
% CC="cc -xildoff -xarch=v9" srcdir/configure [options] [target] !!
-xildoffturns off the incremental linker, and-xarch=v9specifies the v9 architecture to the Sun linker and assembler. !
!*-*-sysv*
!On System V release 3, you may get this error message while linking: !
ld fatal: failed to write symbol name something ! in strings table for file whatever !!This probably indicates that the disk is full or your ulimit won't allow the file to be as large as it needs to be. !
This problem can also result because the kernel parameter
MAXUMEMis too small. If so, you must regenerate the kernel and make the value much larger. The default value is reported to be 1024; a value of 32768 is said to work. Smaller values may also work. !On System V, if you get an error like this, !
/usr/local/lib/bison.simple: In function `yyparse': ! /usr/local/lib/bison.simple:625: virtual memory exhausted !that too indicates a problem with disk space, ulimit, or
MAXUMEM. !On a System V release 4 system, make sure
/usr/binprecedes/usr/ucbinPATH. Thecccommand in/usr/ucbuses libraries which have bugs. !
!vax-dec-ultrix
!Don't try compiling with VAX C (
vcc). It produces incorrect code in some cases (for example, whenallocais used). !
!we32k-*-*
!These computers are also known as the 3b2, 3b5, 3b20 and other similar names. (However, the 3b1 is actually a 68000.) These configurations are obsoleted in GCC 3.1. !
Don't use
-gwhen compiling with the system's compiler. The system's linker seems to be unable to handle such a large program with debugging information. !The system's compiler runs out of capacity when compiling
stmt.cin GCC. You can work around this by buildingcppin GCC first, then use that instead of the system's preprocessor with the system's C compiler to compilestmt.c. Here is how: !mv /lib/cpp /lib/cpp.att ! cp cpp /lib/cpp.gnu ! echo '/lib/cpp.gnu -traditional ${1+"$@"}' > /lib/cpp ! chmod +x /lib/cpp !!The system's compiler produces bad code for some of the GCC optimization files. So you must build the stage 2 compiler without optimization. Then build a stage 3 compiler with optimization. That executable should work. Here are the necessary commands: !
make LANGUAGES=c CC=stage1/xgcc CFLAGS="-Bstage1/ -g" ! make stage2 ! make CC=stage2/xgcc CFLAGS="-Bstage2/ -g -O" !!You may need to raise the ULIMIT setting to build a C++ compiler, as the file
cc1plusis larger than one megabyte. !
!xtensa-*-elf
!This target is intended for embedded Xtensa systems using the
newlibC library. It uses ELF but does not support shared objects. Designed-defined instructions specified via the Tensilica Instruction Extension (TIE) language are only supported through inline assembly. !The Xtensa configuration information must be specified prior to building GCC. The
gcc/config/xtensa/xtensa-config.hheader file contains the configuration information. If you created your own Xtensa configuration with the Xtensa Processor Generator, the downloaded files include a customized copy of this header file, which you can use to replace the default header file. !
!xtensa-*-linux*
!This target is for Xtensa systems running GNU/Linux. It supports ELF shared objects and the GNU C library (glibc). It also generates position-independent code (PIC) regardless of whether the
-fpicor-fPICoptions are used. In other respects, this target is the same as thextensa-*-elftarget. !
!Microsoft Windows (32-bit)
!A port of GCC 2.95.x is included with the Cygwin environment. !
Current (as of early 2001) snapshots of GCC will build under Cygwin without modification. !
!OS/2
!GCC does not currently support OS/2. However, Andrew Zabolotny has been working on a generic OS/2 port with pgcc. The current code can be found at http://www.goof.com/pcg/os2/. !
An older copy of GCC 2.8.1 is included with the EMX tools available at ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/. !
!Older systems
!GCC contains support files for many older (1980s and early 1990s) Unix variants. For the most part, support for these systems has not been deliberately removed, but it has not been maintained for several years and may suffer from bitrot. Support from some systems *************** has been removed from GCC 3: fx80, ns32- *** 2081,2094 **** gmicro, spur; most of these targets had not been updated since GCC version 1. !
We are planning to remove support for more older systems, starting in GCC 3.1. Each release will have a list of "obsoleted" systems. Support for these systems is still present in that release, but
configurewill fail unless the--enable-obsoleteoption is given. Unless a maintainer steps forward, support for these systems will be removed from the next release of GCC. !Support for older systems as targets for cross-compilation is less problematic than support for them as hosts for GCC; if an enthusiast wishes to make such a target work again (including resurrecting any of the targets that never worked with GCC 2, starting from the last --- 2083,2096 ---- gmicro, spur; most of these targets had not been updated since GCC version 1. !
We are planning to remove support for more older systems, starting in GCC 3.1. Each release will have a list of "obsoleted" systems. Support for these systems is still present in that release, but
configurewill fail unless the--enable-obsoleteoption is given. Unless a maintainer steps forward, support for these systems will be removed from the next release of GCC. !Support for older systems as targets for cross-compilation is less problematic than support for them as hosts for GCC; if an enthusiast wishes to make such a target work again (including resurrecting any of the targets that never worked with GCC 2, starting from the last *************** CVS version before they were removed), p *** 2097,2103 **** would be likely to be accepted, since they should not affect the support for more modern targets. !
Support for old systems as hosts for GCC can cause problems if the workarounds for compiler, library and operating system bugs affect the cleanliness or maintainability of the rest of GCC. In some cases, to bring GCC up on such a system, if still possible with current GCC, may --- 2099,2105 ---- would be likely to be accepted, since they should not affect the support for more modern targets. !
Support for old systems as hosts for GCC can cause problems if the workarounds for compiler, library and operating system bugs affect the cleanliness or maintainability of the rest of GCC. In some cases, to bring GCC up on such a system, if still possible with current GCC, may *************** the
old-releasesdirectory *** 2109,2135 **** be avoided usingfixincludes, but bugs or deficiencies in libraries and the operating system may still cause problems. !For some systems, old versions of GNU binutils may also be useful, and are available from
pub/binutils/old-releaseson sources.redhat.com mirror sites. !Some of the information on specific systems above relates to such older systems, but much of the information about GCC on such systems (which may no longer be applicable to current GCC) is to be found in the GCC texinfo manual. !
!all ELF targets (SVR4, Solaris 2, etc.)
!C++ support is significantly better on ELF targets if you use the GNU linker; duplicate copies of inlines, vtables and template instantiations will be discarded automatically. !
Return to the GCC Installation page ! --- 2111,2137 ---- be avoided using
fixincludes, but bugs or deficiencies in libraries and the operating system may still cause problems. !For some systems, old versions of GNU binutils may also be useful, and are available from
pub/binutils/old-releaseson sources.redhat.com mirror sites. !Some of the information on specific systems above relates to such older systems, but much of the information about GCC on such systems (which may no longer be applicable to current GCC) is to be found in the GCC texinfo manual. !
!all ELF targets (SVR4, Solaris 2, etc.)
!C++ support is significantly better on ELF targets if you use the GNU linker; duplicate copies of inlines, vtables and template instantiations will be discarded automatically. !
Return to the GCC Installation page ! diff -Nrc3pad gcc-3.2.2/INSTALL/test.html gcc-3.2.3/INSTALL/test.html *** gcc-3.2.2/INSTALL/test.html Wed Feb 5 03:09:30 2003 --- gcc-3.2.3/INSTALL/test.html Tue Apr 22 06:56:34 2003 *************** *** 1,12 **** !
Installing GCC: Testing ! ! ! ! ! !B
efore you install GCC, we encourage you to run the testsuites and to compare your results with results from a similar configuration that have been submitted to the gcc-testresults mailing list. --- 1,14 ---- ! !
Installing GCC: Testing ! ! ! ! ! !Installing GCC: Testing
! Before you install GCC, we encourage you to run the testsuites and to compare your results with results from a similar configuration that have been submitted to the gcc-testresults mailing list. *************** This step is optional and may require yo *** 14,109 **** but it can give you confidence in your new GCC installation or point out problems before you install and start using your new GCC. !First, you must have downloaded the testsuites. These are part of the full distribution, but if you downloaded the "core" compiler plus any front ends, you must download the testsuites separately. !
Second, you must have the testing tools installed. This includes a current version of DejaGnu; dejagnu 1.3 is not sufficient. It also includes Tcl and Expect; the DejaGnu site has links to these. !
Now you may need specific preparations: !
!
!- The following environment variables may need to be set appropriately, as in the following example (which assumes that DejaGnu has been installed under
/usr/local): !TCL_LIBRARY = /usr/local/share/tcl8.0 ! DEJAGNULIBS = /usr/local/share/dejagnu !!On systems such as Cygwin, these paths are required to be actual paths, not mounts or links; presumably this is due to some lack of portability in the DejaGnu code. !
If the directories where
runtestandexpectwere installed are in thePATH, it should not be necessary to set these environment variables. !Finally, you can run the testsuite (which may take a long time): !
cd objdir; make -k check !!The testing process will try to test as many components in the GCC distribution as possible, including the C, C++, Objective-C and Fortran compilers as well as the C++ and Java runtime libraries. !
While running the testsuite, DejaGnu might emit messages resembling
WARNING: Couldn't find the global config file.orWARNING: Couldn't find tool init file. These messages are harmless and do not affect the validity of the tests. !How can I run the test suite on selected tests?
!As a first possibility to cut down the number of tests that are run it is possible to use
make check-gccormake check-g++in thegccsubdirectory of the object directory. To further cut down the tests the following is possible: !make check-gcc RUNTESTFLAGS="execute.exp other-options" !!This will run all
gccexecute tests in the testsuite. !make check-g++ RUNTESTFLAGS="old-deja.exp=9805* other-options" !!This will run the
g++"old-deja" tests in the testsuite where the filename matches9805*. !The
*.expfiles are located in the testsuite directories of the GCC source, the most important ones beingcompile.exp,execute.exp,dg.expandold-deja.exp. To get a list of the possible*.expfiles, pipe the output ofmake checkinto a file and look at the !Running ... .explines. !To run only the tests for a library, run
make checkfrom the the library's testsuite in a subdirectory of the object directory:libstdc++-v3/testsuiteorlibcgj/testsuite. !Additional testing for Java Class Libraries
!The Mauve Project provides a suite of tests for the Java Class Libraries. This suite can be run as part of libgcj testing by specifying the location of the Mauve tree when invoking
make, as inmake MAUVEDIR=~/mauve check. !How to interpret test results
!After the testsuite has run you'll find various
*.sumand*.logfiles in the testsuite subdirectories. The*.logfiles contain a detailed log of the compiler invocations and the corresponding results, the*.sumfiles summarize the results. These summaries list all the tests that have been run with a corresponding status code: !!
- PASS: the test passed as expected
- XPASS: the test unexpectedly passed
- FAIL: the test unexpectedly failed --- 16,111 ---- but it can give you confidence in your new GCC installation or point out problems before you install and start using your new GCC. !
First, you must have downloaded the testsuites. These are part of the full distribution, but if you downloaded the "core" compiler plus any front ends, you must download the testsuites separately. !
Second, you must have the testing tools installed. This includes a current version of DejaGnu; dejagnu 1.3 is not sufficient. It also includes Tcl and Expect; the DejaGnu site has links to these. !
Now you may need specific preparations: !
!
!- The following environment variables may need to be set appropriately, as in the following example (which assumes that DejaGnu has been installed under
/usr/local): !TCL_LIBRARY = /usr/local/share/tcl8.0 ! DEJAGNULIBS = /usr/local/share/dejagnu !!On systems such as Cygwin, these paths are required to be actual paths, not mounts or links; presumably this is due to some lack of portability in the DejaGnu code. !
If the directories where
runtestandexpectwere installed are in thePATH, it should not be necessary to set these environment variables. !Finally, you can run the testsuite (which may take a long time): !
cd objdir; make -k check !!The testing process will try to test as many components in the GCC distribution as possible, including the C, C++, Objective-C and Fortran compilers as well as the C++ and Java runtime libraries. !
While running the testsuite, DejaGnu might emit messages resembling
WARNING: Couldn't find the global config file.orWARNING: Couldn't find tool init file. These messages are harmless and do not affect the validity of the tests. !How can I run the test suite on selected tests?
!As a first possibility to cut down the number of tests that are run it is possible to use
make check-gccormake check-g++in thegccsubdirectory of the object directory. To further cut down the tests the following is possible: !make check-gcc RUNTESTFLAGS="execute.exp other-options" !!This will run all
gccexecute tests in the testsuite. !make check-g++ RUNTESTFLAGS="old-deja.exp=9805* other-options" !!This will run the
g++"old-deja" tests in the testsuite where the filename matches9805*. !The
*.expfiles are located in the testsuite directories of the GCC source, the most important ones beingcompile.exp,execute.exp,dg.expandold-deja.exp. To get a list of the possible*.expfiles, pipe the output ofmake checkinto a file and look at the !Running ... .explines. !To run only the tests for a library, run
make checkfrom the the library's testsuite in a subdirectory of the object directory:libstdc++-v3/testsuiteorlibcgj/testsuite. !Additional testing for Java Class Libraries
!The Mauve Project provides a suite of tests for the Java Class Libraries. This suite can be run as part of libgcj testing by specifying the location of the Mauve tree when invoking
make, as inmake MAUVEDIR=~/mauve check. !How to interpret test results
!After the testsuite has run you'll find various
*.sumand*.logfiles in the testsuite subdirectories. The*.logfiles contain a detailed log of the compiler invocations and the corresponding results, the*.sumfiles summarize the results. These summaries list all the tests that have been run with a corresponding status code: !!
- PASS: the test passed as expected
- XPASS: the test unexpectedly passed
- FAIL: the test unexpectedly failed *************** all the tests that have been run with a *** 113,133 ****
- WARNING: the testsuite detected a possible problem
It is normal for some tests to report unexpected failures. At the current time our testing harness does not allow fine grained control over whether or not a test is expected to fail. We expect to fix this problem in future releases. !
Submitting test results
!If you want to report the results to the GCC project, use the
contrib/test_summaryshell script. Start it in the objdir with !srcdir/contrib/test_summary -p your_commentary.txt \ ! -m gcc-testresults@gcc.gnu.org |sh !!This script uses the
PATH. The fileyour_commentary.txtis prepended to the testsuite summary and should contain any special remarks you have on your results or your build environment. Please --- 115,135 ----- WARNING: the testsuite detected a possible problem
It is normal for some tests to report unexpected failures. At the current time our testing harness does not allow fine grained control over whether or not a test is expected to fail. We expect to fix this problem in future releases. !
Submitting test results
!If you want to report the results to the GCC project, use the
contrib/test_summaryshell script. Start it in the objdir with !srcdir/contrib/test_summary -p your_commentary.txt \ ! -m gcc-testresults@gcc.gnu.org |sh !!This script uses the
PATH. The fileyour_commentary.txtis prepended to the testsuite summary and should contain any special remarks you have on your results or your build environment. Please *************** behave on different platforms and compar *** 139,147 **** few failing testcases are possible even on released versions and you should look here first if you think your results are unreasonable. !
Return to the GCC Installation page ! --- 141,149 ---- few failing testcases are possible even on released versions and you should look here first if you think your results are unreasonable. !
Return to the GCC Installation page ! diff -Nrc3pad gcc-3.2.2/bugs.html gcc-3.2.3/bugs.html *** gcc-3.2.2/bugs.html Wed Feb 5 03:09:23 2003 --- gcc-3.2.3/bugs.html Tue Apr 22 06:56:23 2003 *************** *** 8,14 ****
GCC Bugs
The latest version of this document is always available at ! http://www.gnu.org/software/gcc/bugs.html.
--- 8,14 ----GCC Bugs
The latest version of this document is always available at ! http://gcc.gnu.org/bugs.html.
*************** *** 24,30 ****Detailed bug reporting instructions when using a precompiled header Managing Bugs (GNATS and the test-suite) Frequently Reported Bugs in GCC
- General
--- 24,29 ---- *************** use it. *** 275,306 ****Please don't send us the actual precompiled header. It is likely to be very large and we can't use it to reproduce the problem.
- -Managing Bugs (GNATS and the test-suite)
- -This section contains information mostly intended for GCC - contributors.
- -If you find a bug, but you are not fixing it (yet):
--
- -- Create a (minimal) test-case.
-- Add the test-case to our test-suite, marking it as XFAIL unless - the bug is a regression.
-- Add a bug report referencing the test-case to GNATS.
-If you fix a bug for which there is already a GNATS entry:
--
- -- Remove the XFAIL on the test-case.
-- Close the bug report in GNATS.
-If you find a bug, and you are fixing it right then:
--
- Create a (minimal) test-case.
-- Add the test-case to our test-suite, marking it as PASS.
-- Check in your fixes.
-
--- 274,279 ---- diff -Nrc3pad gcc-3.2.2/config/ChangeLog gcc-3.2.3/config/ChangeLog *** gcc-3.2.2/config/ChangeLog Wed Feb 5 03:02:08 2003 --- gcc-3.2.3/config/ChangeLog Tue Apr 22 06:14:11 2003 *************** *** 1,3 **** --- 1,7 ---- + 2003-04-22 Release Manager + + * GCC 3.2.3 Released. + 2003-02-05 Release Manager * GCC 3.2.2 Released. diff -Nrc3pad gcc-3.2.2/config/mpw/ChangeLog gcc-3.2.3/config/mpw/ChangeLog *** gcc-3.2.2/config/mpw/ChangeLog Wed Feb 5 03:02:05 2003 --- gcc-3.2.3/config/mpw/ChangeLog Tue Apr 22 06:14:08 2003 *************** *** 1,3 **** --- 1,7 ---- + 2003-04-22 Release Manager + + * GCC 3.2.3 Released. + 2003-02-05 Release Manager * GCC 3.2.2 Released. diff -Nrc3pad gcc-3.2.2/config-ml.in gcc-3.2.3/config-ml.in *** gcc-3.2.2/config-ml.in Wed Jun 13 02:12:07 2001 --- gcc-3.2.3/config-ml.in Wed Feb 12 17:44:49 2003 *************** multi-do: *** 553,558 **** --- 553,559 ---- LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \ LDFLAGS="$(LDFLAGS) $${flags}" \ + DESTDIR="$(DESTDIR)" \ $(DO)); then \ true; \ else \ diff -Nrc3pad gcc-3.2.2/contrib/ChangeLog gcc-3.2.3/contrib/ChangeLog *** gcc-3.2.2/contrib/ChangeLog Wed Feb 5 03:01:37 2003 --- gcc-3.2.3/contrib/ChangeLog Tue Apr 22 06:14:14 2003 *************** *** 1,3 **** --- 1,7 ---- + 2003-04-22 Release Manager + + * GCC 3.2.3 Released. + 2003-02-05 Release Manager * GCC 3.2.2 Released. diff -Nrc3pad gcc-3.2.2/contrib/regression/ChangeLog gcc-3.2.3/contrib/regression/ChangeLog *** gcc-3.2.2/contrib/regression/ChangeLog Wed Feb 5 03:01:34 2003 --- gcc-3.2.3/contrib/regression/ChangeLog Tue Apr 22 06:14:17 2003 *************** *** 1,3 **** --- 1,7 ---- + 2003-04-22 Release Manager + + * GCC 3.2.3 Released. + 2003-02-05 Release Manager * GCC 3.2.2 Released. diff -Nrc3pad gcc-3.2.2/faq.html gcc-3.2.3/faq.html *** gcc-3.2.2/faq.html Wed Feb 5 03:09:29 2003 --- gcc-3.2.3/faq.html Tue Apr 22 06:56:29 2003 *************** *** 9,20 ****GCC Frequently Asked Questions
The latest version of this document is always available at ! http://www.gnu.org/software/gcc/faq.html.
This FAQ tries to answer specific questions concerning GCC. For general information regarding C, C++, resp. Fortran please check the comp.lang.c FAQ, ! comp.std.c++ FAQ, and the Fortran Information page.
--- 9,20 ----GCC Frequently Asked Questions
The latest version of this document is always available at ! http://gcc.gnu.org/faq.html.
This FAQ tries to answer specific questions concerning GCC. For general information regarding C, C++, resp. Fortran please check the comp.lang.c FAQ, ! comp.std.c++ FAQ, and the Fortran Information page.
*************** than we've had before. *** 159,168 **** past few months. The paper which started all of this introduced two terms: A cathedral development model versus a bazaar development model. The paper is written by Eric S. Raymond, it is ! called ``The ! Cathedral and the Bazaar''. The paper is a useful starting point ! for discussions.+ + PR/10271 + * pa-protos.h (function_arg): Remove last argument. + * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead. + * pa.h (struct hppa_args): Add member incoming. + (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize + member incoming. + (FUNCTION_ARG): Revise call to function_arg. + (FUNCTION_INCOMING_ARG): Delete. + + 2003-04-15 Jason Merrill + + PR middle-end/10336, c++/10401 + * jump.c (never_reached_warning): Also stop looking if we reach the + beginning of the function. + + 2003-04-14 Hans-Peter Nilsson + + PR target/10377 + * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi") + ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem") + ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi") + ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi") + ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi") + ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi") + ("*extopqihi_side", "*extopqisi_side", "*extophisi_side") + ("*extopqihi_swap_side", "*extopqisi_swap_side") + ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes): + When next to constraint R, replace constraint i with n. + + 2003-04-10 Bob Wilson + + * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE, IMPLICIT_FIX_EXPR, + EASY_DIV_EXPR): Delete poisoned macro definitions. + + 2003-04-09 Richard Henderson + + PR opt/10352 + Tue Jul 23 21:49:24 2002 J"orn Rennecke + * simplify-rtx.c (simplify_subreg): When converting to a non-int + mode, try to convert to an integer mode of matching size first. + + 2003-04-09 Alan Modra + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Use correct mode to + set frame pointer. + + 2003-04-03 Jason Merrill + + PR c/10175 + * jump.c (never_reached_warning): Look backwards for a line note. + + 2003-04-02 Richard Henderson + + * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an + optimization when flag_exceptions not enabled. + + 2003-03-30 Kaveh R. Ghazi + + PR other/6955 + * collect2.c (collect_wait): Use WCOREDUMP and fix output message. + * system.h (WCOREDUMP, WCOREFLG): Define if necessary. + + 2003-03-29 Arpad Beszedes + + PR middle-end/9967 + * builtins.c (expand_builtin_fputs): When optimizing for size, + don't transform fputs into fwrite. + + 2003-03-29 Albert Chin-A-Young + DJ Delorie , + Bruce Korb + + * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix + buggy Solaris mutex/cond initializers. + (solaris_mutex_init): Rename to solaris_mutex_init_2. + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/pthread.h: Update. + + 2003-03-29 Nathanael Nerode + + * fixinc/fixinc.interix: Remove completely dead code + + 2003-03-29 Ulrich Weigand + + PR target/7784 + * reload.c (maybe_memory_address_p): New function. + (find_reloads_address): Use it instead of memory_address_p. + + 2003-03-29 Alan Modra + + * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect + TARGET_HARD_FLOAT. Reformat. + (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts. + + 2003-03-29 Glen Nakamura + + PR c/8224 + * fold-const.c (extract_muldiv_1): Don't pass through type conversions + when signedness changes for division or modulus. + + 2003-03-29 Alan Modra + + * reload1.c (reload_as_needed): Allow a USE in asm reloads. + + 2003-03-28 Olivier Hainque + + PR ada/9953 + * ada/Makefile.in (gnatlib configuration for HPUX): Split + the general section for HPUX into specific sections for + HPUX 10 and HPUX 11. + + 2003-03-28 Eric Botcazou + + PR target/10067 + * config/sparc/sparc.md (jump pattern): Correct order + when issuing the annuling marker. + + 2003-03-28 Eric Botcazou + + PR c/8281 + * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative. + (movdi reg/reg split): Match only on sparc32, and v9 when int regs. + + 2003-03-28 Eric Botcazou + Richard Henderson + + PR target/10114 and PR target/10084 + * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM. + + 2003-03-27 Janis Johnson + + PR sw-bug/10234 + * system.h (GCCBUGURL): Reference GCC web site. + + 2003-03-26 Richard Henderson + + * cfgrtl.c (try_redirect_by_replacing_jump): Disable removing + tablejumps with no optimization. + + 2003-03-27 Rainer Orth + + * config/mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define __c99. + + * fixinc/inclhack.def (irix___restrict): Don't change __restrict + for C++ on IRIX 6.5.1[89]. + * fixinc/tests/base/internal/sgimacros.h: New file. + + * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99. + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/internal/wchar_core.h: New file. + + 2003-03-26 Eric Botcazou + + PR target/7784 + * reload.c (find_reloads_address): Handle + (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for + all base registers. + + 2003-03-25 Jason Merrill + + PR optimization/10171 + * unroll.c (unroll_loop): Don't delete the jump at the end unless + we also delete a jump at the beginning. + + 2003-03-25 Gerald Pfeifer + + * doc/passes.texi (Passes): Properly document that we do not + perform jump2 any longer; remove command-line option -dJ. + + 2003-03-25 Eric Botcazou + + PR optimization/8746 + * config/i386/i386.md (and promoting splitters): Disable HImode to + SImode promoting when the sign bit matters and is not preserved. + Disable promoting when optimizing for size. + + 2003-03-23 Eric Botcazou + + PR optimization/9414 + * config/sparc/sparc.md (widening peepholes): Use + widen_memory_access instead of change_address. + + 2003-03-23 Daniel Jacobowitz + + Fix PR target/9797. + * stmt.c (expand_decl_init): Call push_temp_slots () and + pop_temp_slots (). + + 2003-03-23 Richard Henderson + + * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps + before flow2. + * cfgrtl.c (try_redirect_by_replacing_jump): Similarly. + + 2003-03-23 Richard Henderson + + PR opt/10116 + * ifcvt.c (find_if_block): Disallow tablejump insns outgoing + from then_bb or else_bb after flow2. + + 2003-03-22 John David Anglin + + * pa.c (output_cbranch, output_bb, output_bvb): Output nop for + conditional branch to the following instruction. + + 2003-03-21 Volker Reichelt + + PR doc-bug/9813 + * doc/extend.texi: Move misplaced paragraph about underscores in + variables in macros. + + 2003-03-21 Eric Botcazou + Richard Henderson + + PR optimization/8366 + * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro. + (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form + PIC+SYMBOLIC_CONST in other modes than Pmode. + (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark + the form PIC+SYMBOLIC_CONST as mode dependent. + + 2003-03-20 Richard Henderson + + * fold-const.c (extract_muldiv_1): Revert changing order of + operands in case MULT_EXPR of 2003-02-16 patch. + + 2003-03-19 Eric Botcazou + + PR optimization/8746 + Backport from mainline: + + Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka + + * i386.md (and promoting splitters): Disable QI to SImode promoting + when doing so changes immediate to be 32bit. + + 2003-03-19 Jakub Jelinek + + * stmt.c (expand_start_case): Call emit_queue (). + + 2003-03-19 Jakub Jelinek + + * ifcvt.c (dead_or_predicable): Fail if there are any references + to tablejump in merge_bb other than the final JUMP_INSN. + + 2003-03-19 Alan Modra + + PR target/10073 + * combine.c (force_to_mode ): Use gen_int_mode. + + 2003-03-17 Dave Love + Rainer Orth + + * config/alpha/osf.h (CPP_PREDEFINES): Define __digital__, + __arch64__ to match Compaq cc. + + 2003-03-17 Andreas Schwab + + PR target/7248 + * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From + martin@blom.org. + + 2003-03-16 Richard Henderson + + * config/i386/i386.md (movstrictqi, movstrictqi_1): Check + optimize_size as well. + + 2003-03-16 Falk Hueffner + + PR target/9164 + * tree.c (get_narrower): For extensions with unchanged bit number, + return the unsignedness of the outer mode. + + 2003-03-14 Jakub Jelinek + + * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call + rs6000_maybe_dead if !fromprolog. + + 2003-03-14 Eric Botcazou + + PR optimization/8396 + * tree-inline.c (initialize_inlined_parameters): Make sure the value + of read-only constant arguments is passed with the right type. + + 2003-03-14 Andreas Jaeger + + * config/i386/linux64.h (CPP_SPEC): Define __LP64__ and _LP64 for + 64-bit. + + 2003-03-12 Richard Henderson + + PR opt/8178 + * config/i386/i386.md (ffssi2): Tighten op1 predicate to + the requirements of the output insns. + + 2003-03-12 Andrew Lewycky + + PR c++/7050 + * expr.c (store_expr): Don't attempt to store void-typed trees, + just evaluate them for side effects. + + 2003-03-12 Bob Wilson + + Backport from mainline: + 2003-03-12 Bob Wilson + + * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used + to detect carry. + (subdi3): Reorder emitted instructions. + + 2003-03-12 Eric Botcazou + + PR c/9928 + * c-decl.c (duplicate_decls): Discard the initializer of the new decl + only if it is a VAR_DECL. + + 2003-03-12 Eric Botcazou + + PR optimization/9888 + * config/i386/i386.md (jcc_1): Fix range. + (jcc_2): Likewise. + (jump): LIkewise. + (doloop_end_internal): Likewise. + + 2003-03-12 Eric Botcazou + + PR optimization/9888 + Backport patch from mainline: + + Tue Nov 19 23:50:56 CET 2002 Jan Hubicka + + * i386.md (length_immediate): Do not refer to insn address. + (jcc*, jmp patterns): Compute length explicitly. + (doloop_end_internal pattern): Unconditionally set the type to "ibr". + + 2003-03-12 Eric Botcazou + + PR optimization/9888 + * config/i386/i386.md (movsi_1): Remove special alternatives + for %eax register. + (movhi_1): Likewise. + * config/i386/i386.c (memory_address_length): Do not use + short displacement when there is no base. + (ix86_attr_length_address_default): Handle LEA instructions. + + 2003-03-09 Eric Botcazou + + PR optimization/9888 + Backport patch from mainline: + + 2002-07-03 Eric Botcazou + Jeff Law + + * i386.md (length_immediate attribute): Fix typo. + (length_address attribute): Likewise. + (modrm attribute): Set it to 0 for immediate call instructions. + (jcc_1 pattern): Set modrm attribute to 0. + (jcc_2 pattern ): Likewise. + (jump pattern): Likewise. + (doloop_end_internal pattern): Explicitly set length. + (leave pattern): Fix typo. + (leave_rex64 pattern): Likewise. + + 2003-03-08 Eric Botcazou + + PR middle-end/7796 + * unroll.c (calculate_giv_inc): Handle constants being + loaded with LSHIFTRT. + + 2003-03-07 Eric Botcazou + + PR optimization/8726 + Backport patch from mainline: + + 2003-01-08 Dale Johannesen + + * function.c (assign_parms): Don't set pretend_args_size if + REG_PARM_STACK_SPACE. + + 2003-03-06 Reinhard Jessich + + PR 9954/other + * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Since this uses + it should be wrapped in an inhibit_libc conditional + like the same code in config/i386/linux64.h. + + 2003-03-05 Eric Botcazou + + PR c/9799 + * c-typeck.c (push_init_level): Add sanity check. + + 2003-02-28 Bob Wilson + + Backport following patch: + + 2003-02-28 Bob Wilson + * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file. + + 2003-02-28 Joel Sherrill + + PR 9638/other + * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the + this constant defaults to 1. + + 2003-02-27 Alan Modra + + * config/rs6000/rs6000.md: Add TI constant splitter. + + 2003-02-26 Jan Hubicka + + PR target/8343 + * m68k.md (umulsidi, mulsidi expanders): Use register operand. + + 2003-02-26 David Billinghurst + + * fixinc/fixincl.x: Regenerate + + 2003-02-25 Richard Henderson + + * config/i386/i386.c (function_arg): Pass variable sized + structures correctly on the stack. + + 2003-02-25 Franz Sirl + + PR target/9732 + * config/rs6000/rs6000.c (first_reg_to_save): Handle + PIC_OFFSET_TABLE_REGNUM for -fPIC too. + (rs6000_emit_prologue): Likewise. + (rs6000_emit_epilogue): Likewise. + * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make + PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC. + + 2003-02-25 Matthias Klose + + 2003-02-07 Richard Henderson + PR 9226 + * gcse.c (local_cprop_find_used_regs): New. + (local_cprop_pass): Use it. + + 2003-02-25 Matthias Klose + + * config.gcc (m68k-*-linux*): Add crtbeginT.o to extra_parts. + + 2003-02-24 Rainer Orth + + * config/alpha/osf.h (CPP_SUBTARGET_SPEC): Rename + __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX. + * doc/extend.texi (Tru64 Pragmas): Reflect this. + + * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma + extern_prefix support for Tru64 UNIX V5 . + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New + testcase. + Fixes PR c/5059, c/6126, other/9671. + + 2003-02-24 David Billinghurst + + Fixes PR libgcj/9652. + Backport patch from mainline: + 2003-02-12 Rainer Orth + + * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78] + socklen_t definition. + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/sys/socket.h: New file. + + 2003-02-23 Hans-Peter Nilsson + + * regmove.c (optimize_reg_copy_1): Do not replace a hard register + in an asm. + + 2003-02-22 Steven Bosscher + + PR other/3782 + * toplev.c (process_options): If flag_detailed_statistics is set, + then set time_report as well. + + PR c/8828 + * jump.c (never_reached_warning): Don't fall through BARRRIER + insns. Update comments to reflect what the function really does. + + 2003-02-21 Richard Henderson + + 2003-01-06 Richard Henderson + * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols. + + 2003-02-21 Glen Nakamura + + PR optimization/8613 + * builtins.c (expand_builtin): Emit postincrements before expanding + builtin functions. + + 2003-02-20 Randolph Chung + Eric Botcazou + + PR optimization/9768 + Backport patch from mainline: + + 2002-03-21 DJ Delorie + + * bb-reorder.c (make_reorder_chain_1): Protect against + when redundant edges are omitted. + * predict.c (dump_prediction): Likewise. + + 2003-02-20 BAN Nobuhiro + + PR c/9678 + * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Fix typo. + + 2003-02-18 Jakub Jelinek + + * real.c (asctoeg): Handle denormals in hexadecimal notation. + + 2003-02-16 Arend Bayer + Richard Henderson + + PR c/8068 + * fold-const.c (extract_muldiv_1): Rename from extract_muldiv; + rearrange mult arguments for less recursion. + (extract_muldiv): New. Prevent runaway recursion. + + 2003-02-14 Falk Hueffner + + PR optimization/7702 + * reload1.c (reload_cse_simplify_set): Honor + CLASS_CANNOT_CHANGE_MODE_P. + + 2003-02-13 John David Anglin + + * inclhack.def (hpux_long_double): Tighten select and add bypass + regexp. + * fixincl.x: Rebuilt. + + 2003-02-13 Josef Zlomek + + * cfgcleanup.c (outgoing_edges_match): When there is single outgoing + edge and block ends with a jump insn it must be simple jump. + + 2003-02-12 John David Anglin + + PR9275 and PR8694 + * inclhack.def (hpux_long_double, hpux10_ctype_declarations1, + hpux10_ctype_declarations2, hpux_ctype_macros): New hacks. + * fixincl.x: Rebuilt. + * tests/base/stdlib.h: Update. + * tests/base/ctype.h: New file. + + 2003-02-12 Kaveh R. Ghazi + + * mips.h (FP_INC): Define. + + Backport fix for PR6362: + 2002-10-01 Richard Sandiford + + * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare. + * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand. + * config/mips/mips.c (fcc_register_operand): New function. + (mips_emit_fcc_reload): New function, extracted from reload_incc. + * cnfig/mips/mips.md (reload_incc): Change destination prediate + to fcc_register_operand. Remove misleading source constraint. + Use mips_emit_fcc_reload. + (reload_outcc): Duplicate reload_incc. + + 2003-02-11 Bob Wilson + + Backport following patch: + + 2003-02-11 Bob Wilson + + * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7. + * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP + as a SET pattern. + + 2003-02-10 Eric Botcazou + Christian Ehrhardt + + PR c/7741 + * c-decl.c (duplicate_decls): Discard the initializer of the + new decl when the types are conflicting. + + 2003-02-01 Daniel Jacobowitz + + * dwarf2out.c (gen_type_die): Check for typedefs before calling + for TYPE_MAIN_VARIANT. + + 2003-02-07 John David Anglin + + * pa.c (output_millicode_call): Use $PIC_pcrel$0 for long PIC + millicode calls when !TARGET_SOM and TARGET_GAS is true. + * pa.md (jump): Likewise. + + 2003-02-06 Eric Botcazou + Richard Henderson + + PR c/9530 + * config/i386/i386.h (FUNCTION_OK_FOR_SIBCALL): Forbid sibcalls + from functions that return a float to functions that don't. + + 2003-02-03 Bob Wilson + + * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the + coprocessor registers before floating-point registers. + * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers + to account for a previously removed register. + (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM): + Delete unused macros. + + 2003-02-05 Gabriel Dos Reis + + * doc/include/gcc-common.texi: Bump version. + * version.c(version_string): Update. + 2003-02-05 Release Manager * GCC 3.2.2 Released. *************** *** 31,73 **** 2002-09-16 Richard Henderson ! * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE ! as well as OFFSET for BITPOS. 2002-09-08 Jan Hubicka ! * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref ! handling. 2002-07-29 Richard Henderson ! * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from ! set_mem_attributes and add BITPOS argument. Subtract it from ! OFFSET when same is adjusted. ! (set_mem_attributes): New wrapper function. ! * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos; ! remove offset adjustment hack. ! * expr.h (set_mem_attributes_minus_bitpos): Declare. 2002-07-25 Richard Henderson ! * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos ! in ARRAY_REF of DECL_P case. 2002-07-21 Richard Henderson ! * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL ! when flag_argument_noalias == 2. ! * alias.c (nonoverlapping_memrefs_p): Handle that. ! * print-rtl.c (print_mem_expr): Likewise. 2002-06-03 Dan Nicolaescu ! * alias.c (nonoverlapping_memrefs_p): Fix off by one error. 2003-02-03 Steve Ellcey ! * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New. 2003-02-01 Jakub Jelinek --- 650,692 ---- 2002-09-16 Richard Henderson ! * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE ! as well as OFFSET for BITPOS. 2002-09-08 Jan Hubicka ! * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref ! handling. 2002-07-29 Richard Henderson ! * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from ! set_mem_attributes and add BITPOS argument. Subtract it from ! OFFSET when same is adjusted. ! (set_mem_attributes): New wrapper function. ! * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos; ! remove offset adjustment hack. ! * expr.h (set_mem_attributes_minus_bitpos): Declare. 2002-07-25 Richard Henderson ! * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos ! in ARRAY_REF of DECL_P case. 2002-07-21 Richard Henderson ! * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL ! when flag_argument_noalias == 2. ! * alias.c (nonoverlapping_memrefs_p): Handle that. ! * print-rtl.c (print_mem_expr): Likewise. 2002-06-03 Dan Nicolaescu ! * alias.c (nonoverlapping_memrefs_p): Fix off by one error. 2003-02-03 Steve Ellcey ! * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New. 2003-02-01 Jakub Jelinek *************** *** 89,101 **** * config/m68k/m68k.md (tablejump+2): Don't sign extend an address register. ! * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise. 2003-01-30 Ralf Corsepius --- 708,720 ---- * config/m68k/m68k.md (tablejump+2): Don't sign extend an address register. ! * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise. ! * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise. 2003-01-30 Ralf Corsepius *************** *** 182,189 **** 2003-01-27 Richard Earnshaw ! * function.c (purge_addressof_1): After pushing anaddressed register ! onto the stack, simplify the result. 2003-01-25 Eric Botcazou --- 801,808 ---- 2003-01-27 Richard Earnshaw ! * function.c (purge_addressof_1): After pushing anaddressed register ! onto the stack, simplify the result. 2003-01-25 Eric Botcazou *************** *** 200,206 **** of *both* the file name and the fix name. 2003-01-25 Eric Botcazou ! Christian Ehrhardt PR optimization/9279 --- 819,825 ---- of *both* the file name and the fix name. 2003-01-25 Eric Botcazou ! Christian Ehrhardt PR optimization/9279 *************** *** 327,333 **** binary compatibility. 2003-01-07 Benjamin Kosnik ! Sunil Davasam PR libstdc++/9076 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined, --- 946,952 ---- binary compatibility. 2003-01-07 Benjamin Kosnik ! Sunil Davasam PR libstdc++/9076 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined, *************** Sat Nov 16 02:54:29 CET 2002 Jan Hubick *** 647,658 **** 2002-11-04 Aldy Hernandez ! Backport patch to fix PR c/8451. ! 2002-04-25 Richard Henderson ! * expmed.c (extract_bit_field): Fall through to generic code rather ! than aborting on subreg special case. 2002-11-01 Mark Mitchell --- 1266,1277 ---- 2002-11-04 Aldy Hernandez ! Backport patch to fix PR c/8451. ! 2002-04-25 Richard Henderson ! * expmed.c (extract_bit_field): Fall through to generic code rather ! than aborting on subreg special case. 2002-11-01 Mark Mitchell diff -Nrc3pad gcc-3.2.2/gcc/NEWS gcc-3.2.3/gcc/NEWS *** gcc-3.2.2/gcc/NEWS Wed Feb 5 03:09:41 2003 --- gcc-3.2.3/gcc/NEWS Tue Apr 22 06:56:45 2003 *************** see ONEWS. *** 7,55 **** ====================================================================== http://gcc.gnu.org/gcc-3.2/index.html ! 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. --- 7,72 ---- ====================================================================== http://gcc.gnu.org/gcc-3.2/index.html ! GCC 3.2 Release Series ! February 5, 2003 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 3.2.2. ! The purpose of the GCC 3.2 release series is to provide a stable ! platform for OS distributors to use building their next releases. A ! primary objective was to stabilize the C++ ABI; we believe that the ! interface to the compiler and the C++ standard library are now ! relatively stable. ! Be aware that C++ code compiled by GCC 3.2.x will (in general) not ! interoperate with code compiled by GCC 3.1.1 or earlier. ! Please refer to our [2]detailed list of news, caveats, and bug-fixes ! for further information. ! ! Release History ! ! GCC 3.2.2 ! February 5, 2003 ([3]changes) ! ! GCC 3.2.1 ! November 19, 2002 ([4]changes) ! ! GCC 3.2 ! August 14, 2002 ([5]changes) ! ! References and Acknowledgements 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 [6]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have ! contributed new features, improvements, bug fixes, and other changes ! as well as test results to GCC. This [7]amazing group of volunteers is ! what makes GCC successful. ! For additional information about GCC please refer to the [8]GCC ! project web site or contact the [9]GCC development mailing list. ! To obtain GCC please use [10]our mirror sites, one of the [11]GNU ! mirror sites, or [12]our CVS server. _________________________________________________________________ ! Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There ! are also [14]other ways to contact the FSF. ! 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-3.2/index.html *** 57,142 **** 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 ! GCC 3.2 Release Series -- Changes, New Features, and Fixes ! ! The purpose of this release series is to provide a stable platform for ! OS distributors to use building their next releases. A primary ! objective was to stabilize the C++ ABI; we believe that the interface ! to the compiler and the C++ standard library are now stable. ! ! Be aware that C++ code compiled by GCC 3.2.x will not interoperate ! with code compiled by GCC 3.1.1 or earlier. ! ! Frontend Enhancements ! ! * 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.) ! * C++ ! + There are now no known differences between the C++ ABI ! implemented in GCC and the multi-vendor standard. We believe ! that the ABI for the C++ standard library is now stable and ! will not change in future versions of the compiler. However, ! hard experience has taught us to be cautious; it is possible ! that more problems will be found. It is our intention to make ! changes to the ABI only if 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 [1]common C++ ABI page. ! ! 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 ! Caveats * The C++ compiler does not correctly zero-initialize pointers-to-data members. You must explicitly initialize them. For --- 74,111 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [19]Valid XHTML 1.0 References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-3.2/changes.html ! 3. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.2 ! 4. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.1 ! 5. http://gcc.gnu.org/gcc-3.2/changes.html#3.2 ! 6. http://gcc.gnu.org/gcc-3.2/buildstat.html ! 7. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 8. http://gcc.gnu.org/index.html ! 9. mailto:gcc@gcc.gnu.org ! 10. http://gcc.gnu.org/mirrors.html ! 11. http://www.gnu.org/order/ftp.html ! 12. http://gcc.gnu.org/cvs.html ! 13. mailto:gnu@gnu.org ! 14. http://www.gnu.org/home.html#ContactInfo ! 15. http://gcc.gnu.org/about.html ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. mailto:gnu@gnu.org ! 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html ! GCC 3.2 Release Series ! Changes, New Features, and Fixes ! Caveats and New Features ! Caveats * The C++ compiler does not correctly zero-initialize pointers-to-data members. You must explicitly initialize them. For *************** Caveats *** 145,163 **** 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 [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. ! GCC 3.2.2 ! Miscellaneous Improvements ! * As of 3.2.2, the Makefile suite supports redirection of make ! install by means of the DESTDIR variable. ! GCC 3.2.1 3.2.1 adds a new warning, -Wabi. This option warns when GNU C++ generates code that is known not to be binary-compatible with the --- 114,321 ---- 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 [1]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. ! Frontend Enhancements ! 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.) ! C++ ! ! * There are now no known differences between the C++ ABI implemented ! in GCC and the multi-vendor standard. We believe that the ABI for ! the C++ standard library is now stable and will not change in ! future versions of the compiler. However, hard experience has ! taught us to be cautious; it is possible that more problems will ! be found. It is our intention to make changes to the ABI only if ! 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 [2]common C++ ABI page. ! ! 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 ! _________________________________________________________________ ! ! GCC 3.2.2 ! ! Beginning with 3.2.2, GCC's Makefile suite supports redirection of ! make install by means of the DESTDIR variable. Parts of the GCC tree ! have featured that support long before, but now it is available even ! from the top level. ! ! Other than that, GCC 3.2.2 is a bug fix release only; there are no new ! features that were not present in GCC 3.2.1. ! ! Bug Fixes ! ! On the following i386-based systems GCC 3.2.1 broke the C ABI wrt. ! functions returning structures: Cygwin, FreeBSD (GCC 3.2.1 as shipped ! with FreeBSD 5.0 does not have this problem), Interix, a.out-based ! Linux and NetBSD, OpenBSD, and Darwin. GCC 3.2.2 reverts this ABI ! change, and thus restores ABI-compatibility with previous releases ! (except GCC 3.2.1) on these platforms. ! ! This section lists the problem reports (PRs) from GCC's bug tracking ! system (GNATS) that are known to be fixed in the 3.2.2 release. This ! list might not be complete (that is, it is possible that some PRs that ! have been fixed are not listed here). ! ! The sorting is slightly different from the GNATS categories, and some ! of the titles have been changed to make them more clear. ! ! Internal Compiler Errors (multi-platform) ! ! * [3]5919: (c++) ICE when passing variable array to template ! function ! * [4]7129: (c++) ICE with min/max assignment operators (= and >?=) ! * [5]7507: ICE with -O2 when address of called function is a ! complicated expression ! * [6]7622: ICE with nested inline functions if function's address is ! taken ! * [7]7681: (fortran) ICE in compensate_edge, in reg-stack.c (also PR ! [8]9258) ! * [9]8031: (c++) ICE in code comparing typeids and casting from ! virtual base ! * [10]8275: ICE in simplify_subreg ! * [11]8332: (c++) builtin strlen/template interaction causes ICE ! * [12]8372: (c++) ICE on explicit call of destructor ! * [13]8439: (c, not c++) empty struct causes ICE ! * [14]8442: (c++) ICE with nested template classes ! * [15]8518: ICE when compiling mplayer ("extern inline" issue) ! * [16]8615: (c++) ICE with out-of-range character constant template ! argument ! * [17]8663: (c++) ICE in cp_expr_size, at cp-lang.c:307 ! * [18]8799: (c++) ICE: error reporting routines re-entered ! * [19]9328: (c++) ICE with typeof(X) for overloaded X ! * [20]9465: (preprocessor) cpp -traditional ICE on null bytes ! ! C++ (compiler and library) bugs ! ! * [21]47: scoping in nested classes is broken ! * [22]6745: problems with iostream rdbuf() member function ! * [23]8214: conversion from const char* const to char* sometimes ! accepted illegally ! * [24]8493: builtin strlen and overload resolution (same bug as ! [25]8332) ! * [26]8503: strange behaviour of function types ! * [27]8727: compiler confused by inheritance from an anonymous ! struct ! * [28]7445: poor performance of std::locale::classic() in ! multi-threaded applications ! * [29]8230: mishandling of overflow in vector ::resize ! * [30]8399: sync_with_stdio(false) breaks unformatted input ! * [31]8662: illegal access of private member of unnamed class is ! accepted ! * [32]8707: "make distclean" fails in libstdc++-v3 directory ! * [33]8708: __USE_MALLOC doesn't work ! * [34]8790: Use of non-thread-safe strtok in src/localename.cc ! * [35]8887: Bug in date formats with --enable-clocale=generic ! * [36]9076: Call Frame Instructions are not handled correctly during ! unwind operation ! * [37]9151: std::setprecision limited to 16 digits when outputting a ! double to a stream ! * [38]9168: codecvt overwrites output buffers ! * [39]9269: libstdc++ headers: explicit specialization of function ! must precede its first use ! * [40]9322: return value of basic_streambuf<>::getloc affected by ! locale::global ! * [41]9433: segfault in runtime support for dynamic_cast ! ! C and optimizer bugs ! ! * [42]8032: GCC incorrectly initializes static structs that have ! flexible arrays ! * [43]8639: simple arithmetic expression broken ! * [44]8794: optimization improperly eliminates certain expressions ! * [45]8832: traditional "asm volatile" code is illegally optimized ! * [46]8988: loop optimizer bug: with -O2, code is generated that ! segfaults (found on i386, bug present for all platforms) ! * [47]9492: structure copy clobbers subsequent stores to structure ! ! Objective-C bugs ! ! * [48]9267: Objective-C parser won't build with newer bison versions ! (e.g. 1.875) ! ! Ada bugs ! ! * [49]8344: Ada build problem due to conflict between gcc/final.o, ! gcc/ada/final.o ! ! Preprocessor bugs ! ! * [50]8524: _Pragma within macros is improperly expanded ! * [51]8880: __WCHAR_TYPE__ macro incorrectly set to "long int" with ! -fshort-wchar ! ! ARM-specific ! ! * [52]9090: arm ICE with >= -O2; regression from gcc-2.95 ! ! x86-specific (Intel/AMD) ! ! * [53]8588: ICE in extract_insn, at recog.c:NNNN (shift instruction) ! * [54]8599: loop unroll bug with -march=k6-3 ! * [55]9506: ABI breakage in structure return (affects BSD and ! Cygwin, but not GNU/Linux) ! ! FreeBSD 5.0 specific ! ! * [56]9484: GCC 3.2.1 Bootstrap failure on FreeBSD 5.0 ! ! RTEMS-specific ! ! * [57]9292: hppa1.1-rtems configurery problems ! * [58]9293: [m68k-elf/rtems] config/m68k/t-crtstuff bug ! * [59]9295: [mips-rtems] config/mips/rtems.h init/fini issue ! * [60]9296: gthr-rtems regression ! * [61]9316: powerpc-rtems: extending multilibs ! ! HP-PA specific ! ! * [62]9493: ICE with -O2 when building a simple function ! ! Documentation ! ! * [63]7341: hyperlink to gcov in GCC documentation doesn't work ! * [64]8947: Please add a warning about "-malign-double" in docs ! * [65]7448, [66]8882: typo cleanups ! _________________________________________________________________ ! ! GCC 3.2.1 3.2.1 adds a new warning, -Wabi. This option warns when GNU C++ generates code that is known not to be binary-compatible with the *************** Miscellaneous Improvements *** 173,347 **** the new warning there are no new features that were not present in GCC 3.2. ! In addition, the previous fix for [3]PR 7445 (poor performance of std::locale::classic() in multi-threaded applications) was reverted ("unfixed"), because the "fix" was not thread-safe. ! Bug Fixes ! This document lists the problem reports (PRs) from GCC's bug tracking ! system ([4]GNATS) that are known to be fixed in the 3.2.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). As you can see, the number of bug fixes is quite large, so it is strongly recommended that users of earlier gcc 3.x releases upgrade to GCC 3.2.1. - * Internal Compiler Errors (multi-platform) - + [5]2521: (c++) ICE in build_ptrmemfunc, in cp/typeck.c - + [6]5661: (c++) ICE instantiating template on array of unknown - size (bad code) - + [7]6419: (c++) ICE in make_decl_rtl for "longest" attribute - on 64-bit platforms - + [8]6994: (c++) ICE in find_function_data - + [9]7150: preprocessor: GCC -dM -E gives an ICE - + [10]7160: ICE when optimizing branches without a return value - + [11]7228: (c++) ICE when using member template and template - function - + [12]7266: (c++) ICE with -pedantic on missing typename - + [13]7353: ICE from use of "Naming Types" extension, see above - + [14]7411: ICE in instantiate_virtual_regs_1, in function.c - + [15]7478: (c++) ICE on static_cast inside template - + [16]7526: preprocessor core dump when _Pragma implies #pragma - dependency - + [17]7721: (c++) ICE on simple (but incorrect) template - ([18]7803 is a duplicate) - + [19]7754: (c++) ICE on union with template parameter - + [20]7788: (c++) redeclaring a definition as an incomplete - class causes ICE - + [21]8031: (c++) ICE in comptypes, in cp/typeck.c - + [22]8055: preprocessor dies with SIG11 when building FreeBSD - kernel - + [23]8067: (c++) ICE due to mishandling of __FUNCTION__ and - related variables - + [24]8134: (c++) ICE in force_store_init_value on legal code - + [25]8149: (c++) ICE on incomplete type - + [26]8160: (c++) ICE in build_modify_expr, in cp/typeck.c: - array initialization - * C++ (compiler and library) bugs - + [27]5607: No pointer adjustment in covariant return types - + [28]6579: Infinite loop with statement expressions in member - initialization - + [29]6803: Default copy constructor bug in GCC 3.1 - + [30]7176: g++ confused by friend and static member with same - name - + [31]7188: Segfault with template class and recursive - (incorrect) initializer list - + [32]7306: Regression: GCC 3.x fails to compile code with - virtual inheritance if a method has a variable number of - arguments - + [33]7461: ctype ::classic_table() returns offset array - on Cygwin - + [34]7524: f(const float arg[3]) fails - + [35]7584: Erroneous ambiguous base error on using declaration - + [36]7676: Member template overloading problem - + [37]7679: infinite loop when a right parenthesis is missing - + [38]7811: default locale not taken from environment - + [39]7961: compare( char *) implemented incorrectly in - basic_string<> - + [40]8071: basic_ostream::operator<<(streambuf*) loops forever - if streambuf::underflow() leaves gptr() NULL (dups: [41]8127, - [42]6745) - + [43]8096: deque::at() throws std::range_error instead of - std::out_of_range - + [44]8127: cout << cin.rdbuf() infinite loop - + [45]8218: Excessively large memory consumed for classes with - large array members - + [46]8287: GCC 3.2: Destructor called for non-constructed - local object - + [47]8347: empty vector range used in string construction - causes core dump - + [48]8348: fail() flag is set in istringstream when eof() flag - is set - + [49]8391: regression: infinite loop in - cp/decl2.c(finish_file) - * C and optimizer bugs - + [50]6627: -fno-align-functions doesn't seem to disable - function alignment - + [51]6631: life_analysis misoptimizes code to initialize - fields of a structure - + [52]7102: unsigned char division results in floating - exception - + [53]7120: Run once loop should *always* be unrolled - (pessimization) - + [54]7209: Bug involving array referencing and ?: operator - + [55]7515: invalid inlining of global function with -O3 - + [56]7814: incorrect scheduling for glibc-2.2.92 strcpy test - + [57]8467: bug in sibling call optimization - * Preprocessor bugs - + [58]4890: incorrect line markers from the traditional - preprocessor - + [59]7357: -M option omits system headers files (making it the - same as -MM) - + [60]7358: Changes to Sun's make Dependencies - + [61]7602: C++ header files found in CPLUS_INCLUDE_PATH - treated as C headers - + [62]7862: Interrupting GCC -MD removes .d file but not .o - + [63]8190: Failed compilation deletes -MD dependency file - + [64]8524: _Pragma within macro is improperly expanded - * x86 specific (Intel/AMD) - + [65]5351: (i686-only) function pass-by-value structure copy - corrupts stack ([66]7591 is a duplicate) - + [67]6845, [68]7034, [69]7124, [70]7174: ICE's with - -march=pentium3/pentium2/athlon (these are all the same - underlying bug, in MMX register use) - + [71]7134, [72]7375, [73]7390: ICE with -march=athlon (maybe - same as above?) - + [74]6890: xmmintrin.h, _MM_TRANSPOSE4_PS is broken - + [75]6981: wrong code in 64-bit manipulation on x86 - + [76]7242: GCC -mcpu=pentium[23] doesn't define - __tune_pentiumpro__ macro - + [77]7396: ix86: cmpgt_ss, cmpge_ss, cmpngt_ss, and cmpnge_ss - SSE intrinsics are broken - + [78]7630: GCC 3.2 breaks on Mozilla 1.0's JS sources with - -march=pentium4 - + [79]7693: Typo in i386 mmintrin.h header - + [80]7723: ICE - Pentium3 sse - GCC 3.2 - + [81]7951: ICE on -march=pentium4 -O2 -mfpmath=sse - + [82]8146: (i686 only) gcc 3.2 miscompiles gcc 2.95.3 - * PowerPC specific - + [83]5967: GCC bug when profiling nested functions on powerpc - + [84]6984: wrong code generated with -O2, -O3, -Os for - do-while loop on PowerPC - + [85]7114: PowerPC: ICE building strcoll.op from glibc-2.2.5 - + [86]7130: miscompiled code for GCC-3.1 in powerpc linux with - -funroll-all-loops - + [87]7133: PowerPC ICE: unrecognizable insn - + [88]7380: ICE in extract_insn, at recog.c:2148 - + [89]8252: ICE on Altivec code with optimization turned on - + [90]8451: Altivec ICE in GCC 3.2 - * HP/PA specific - + [91]7250: __ashrdi3 returns wrong value on 32 bit hppa - * SPARC specific - + [92]6668: when using --disable-multilib, libgcc_s.so is - installed in the wrong place on sparc-solaris - + [93]7151: ICE when compiling for UltraSPARC - + [94]7335: SPARC: ICE in verify_wide_reg (flow.c:557) with - long double and -O1 - + [95]7842: [REGRESSION] SPARC code gen bug - * ARM specific - + [96]7856: [arm] invalid offset in constant pool reference - + [97]7967: optimization produces wrong code (ARM) - * Alpha specific - + [98]7374: __builtin_fabsl broken on alpha - * IBM s390 specific - + [99]7370: ICE in fixup_var_refs_1 on s390x - + [100]7409: loop optimization bug on s390x-linux-gnu - + [101]8232: s390x: ICE when using bcmp with int length - argument - * SCO specific - + [102]7623: SCO OpenServer build fails with machmode.def: - undefined symbol: BITS_PER_UNIT - * m68k/Coldfire specific - + [103]8314: crtbegin, crtend need to be multilib'ed for this - platform - * Documentation - + [104]761: Document some undocumented options - + [105]5610: Fix documentation about invoking SSE instructions - (-mfpmath=sse) - + [106]7484: List -Wmissing-declarations as C-only option - + [107]7531: -mcmodel not documented for x86-64 - + [108]8120: Update documentation of bad use of ## ! GCC 3.2 3.2 is a small bug fix release, but there is a change to the application binary interface (ABI), hence the change to the second --- 331,529 ---- the new warning there are no new features that were not present in GCC 3.2. ! In addition, the previous fix for [67]PR 7445 (poor performance of std::locale::classic() in multi-threaded applications) was reverted ("unfixed"), because the "fix" was not thread-safe. ! Bug Fixes ! This section lists the problem reports (PRs) from GCC's bug tracking ! system ([68]GNATS) that are known to be fixed in the 3.2.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). As you can see, the number of bug fixes is quite large, so it is strongly recommended that users of earlier gcc 3.x releases upgrade to GCC 3.2.1. ! Internal Compiler Errors (multi-platform) ! ! * [69]2521: (c++) ICE in build_ptrmemfunc, in cp/typeck.c ! * [70]5661: (c++) ICE instantiating template on array of unknown ! size (bad code) ! * [71]6419: (c++) ICE in make_decl_rtl for "longest" attribute on ! 64-bit platforms ! * [72]6994: (c++) ICE in find_function_data ! * [73]7150: preprocessor: GCC -dM -E gives an ICE ! * [74]7160: ICE when optimizing branches without a return value ! * [75]7228: (c++) ICE when using member template and template ! function ! * [76]7266: (c++) ICE with -pedantic on missing typename ! * [77]7353: ICE from use of "Naming Types" extension, see above ! * [78]7411: ICE in instantiate_virtual_regs_1, in function.c ! * [79]7478: (c++) ICE on static_cast inside template ! * [80]7526: preprocessor core dump when _Pragma implies #pragma ! dependency ! * [81]7721: (c++) ICE on simple (but incorrect) template ([82]7803 ! is a duplicate) ! * [83]7754: (c++) ICE on union with template parameter ! * [84]7788: (c++) redeclaring a definition as an incomplete class ! causes ICE ! * [85]8031: (c++) ICE in comptypes, in cp/typeck.c ! * [86]8055: preprocessor dies with SIG11 when building FreeBSD ! kernel ! * [87]8067: (c++) ICE due to mishandling of __FUNCTION__ and related ! variables ! * [88]8134: (c++) ICE in force_store_init_value on legal code ! * [89]8149: (c++) ICE on incomplete type ! * [90]8160: (c++) ICE in build_modify_expr, in cp/typeck.c: array ! initialization ! ! C++ (compiler and library) bugs ! ! * [91]5607: No pointer adjustment in covariant return types ! * [92]6579: Infinite loop with statement expressions in member ! initialization ! * [93]6803: Default copy constructor bug in GCC 3.1 ! * [94]7176: g++ confused by friend and static member with same name ! * [95]7188: Segfault with template class and recursive (incorrect) ! initializer list ! * [96]7306: Regression: GCC 3.x fails to compile code with virtual ! inheritance if a method has a variable number of arguments ! * [97]7461: ctype ::classic_table() returns offset array on ! Cygwin ! * [98]7524: f(const float arg[3]) fails ! * [99]7584: Erroneous ambiguous base error on using declaration ! * [100]7676: Member template overloading problem ! * [101]7679: infinite loop when a right parenthesis is missing ! * [102]7811: default locale not taken from environment ! * [103]7961: compare( char *) implemented incorrectly in ! basic_string<> ! * [104]8071: basic_ostream::operator<<(streambuf*) loops forever if ! streambuf::underflow() leaves gptr() NULL (dups: [105]8127, ! [106]6745) ! * [107]8096: deque::at() throws std::range_error instead of ! std::out_of_range ! * [108]8127: cout << cin.rdbuf() infinite loop ! * [109]8218: Excessively large memory consumed for classes with ! large array members ! * [110]8287: GCC 3.2: Destructor called for non-constructed local ! object ! * [111]8347: empty vector range used in string construction causes ! core dump ! * [112]8348: fail() flag is set in istringstream when eof() flag is ! set ! * [113]8391: regression: infinite loop in cp/decl2.c(finish_file) ! ! C and optimizer bugs ! ! * [114]6627: -fno-align-functions doesn't seem to disable function ! alignment ! * [115]6631: life_analysis misoptimizes code to initialize fields of ! a structure ! * [116]7102: unsigned char division results in floating exception ! * [117]7120: Run once loop should *always* be unrolled ! (pessimization) ! * [118]7209: Bug involving array referencing and ?: operator ! * [119]7515: invalid inlining of global function with -O3 ! * [120]7814: incorrect scheduling for glibc-2.2.92 strcpy test ! * [121]8467: bug in sibling call optimization ! ! Preprocessor bugs ! ! * [122]4890: incorrect line markers from the traditional ! preprocessor ! * [123]7357: -M option omits system headers files (making it the ! same as -MM) ! * [124]7358: Changes to Sun's make Dependencies ! * [125]7602: C++ header files found in CPLUS_INCLUDE_PATH treated as ! C headers ! * [126]7862: Interrupting GCC -MD removes .d file but not .o ! * [127]8190: Failed compilation deletes -MD dependency file ! * [128]8524: _Pragma within macro is improperly expanded ! ! x86 specific (Intel/AMD) ! ! * [129]5351: (i686-only) function pass-by-value structure copy ! corrupts stack ([130]7591 is a duplicate) ! * [131]6845, [132]7034, [133]7124, [134]7174: ICE's with ! -march=pentium3/pentium2/athlon (these are all the same underlying ! bug, in MMX register use) ! * [135]7134, [136]7375, [137]7390: ICE with -march=athlon (maybe ! same as above?) ! * [138]6890: xmmintrin.h, _MM_TRANSPOSE4_PS is broken ! * [139]6981: wrong code in 64-bit manipulation on x86 ! * [140]7242: GCC -mcpu=pentium[23] doesn't define ! __tune_pentiumpro__ macro ! * [141]7396: ix86: cmpgt_ss, cmpge_ss, cmpngt_ss, and cmpnge_ss SSE ! intrinsics are broken ! * [142]7630: GCC 3.2 breaks on Mozilla 1.0's JS sources with ! -march=pentium4 ! * [143]7693: Typo in i386 mmintrin.h header ! * [144]7723: ICE - Pentium3 sse - GCC 3.2 ! * [145]7951: ICE on -march=pentium4 -O2 -mfpmath=sse ! * [146]8146: (i686 only) gcc 3.2 miscompiles gcc 2.95.3 ! ! PowerPC specific ! ! * [147]5967: GCC bug when profiling nested functions on powerpc ! * [148]6984: wrong code generated with -O2, -O3, -Os for do-while ! loop on PowerPC ! * [149]7114: PowerPC: ICE building strcoll.op from glibc-2.2.5 ! * [150]7130: miscompiled code for GCC-3.1 in powerpc linux with ! -funroll-all-loops ! * [151]7133: PowerPC ICE: unrecognizable insn ! * [152]7380: ICE in extract_insn, at recog.c:2148 ! * [153]8252: ICE on Altivec code with optimization turned on ! * [154]8451: Altivec ICE in GCC 3.2 ! ! HP/PA specific ! ! * [155]7250: __ashrdi3 returns wrong value on 32 bit hppa ! ! SPARC specific ! ! * [156]6668: when using --disable-multilib, libgcc_s.so is installed ! in the wrong place on sparc-solaris ! * [157]7151: ICE when compiling for UltraSPARC ! * [158]7335: SPARC: ICE in verify_wide_reg (flow.c:557) with long ! double and -O1 ! * [159]7842: [REGRESSION] SPARC code gen bug ! ! ARM specific ! ! * [160]7856: [arm] invalid offset in constant pool reference ! * [161]7967: optimization produces wrong code (ARM) ! ! Alpha specific ! ! * [162]7374: __builtin_fabsl broken on alpha ! ! IBM s390 specific ! ! * [163]7370: ICE in fixup_var_refs_1 on s390x ! * [164]7409: loop optimization bug on s390x-linux-gnu ! * [165]8232: s390x: ICE when using bcmp with int length argument ! ! SCO specific ! ! * [166]7623: SCO OpenServer build fails with machmode.def: undefined ! symbol: BITS_PER_UNIT ! ! m68k/Coldfire specific ! ! * [167]8314: crtbegin, crtend need to be multilib'ed for this ! platform ! ! Documentation ! ! * [168]761: Document some undocumented options ! * [169]5610: Fix documentation about invoking SSE instructions ! (-mfpmath=sse) ! * [170]7484: List -Wmissing-declarations as C-only option ! * [171]7531: -mcmodel not documented for x86-64 ! * [172]8120: Update documentation of bad use of ## ! _________________________________________________________________ ! ! GCC 3.2 3.2 is a small bug fix release, but there is a change to the application binary interface (ABI), hence the change to the second *************** Bug Fixes *** 351,389 **** in the C++ ABI, with the intention of providing a stable interface going forward. Accordingly, 3.2 is only a small change to 3.1.1. ! Bug Fixes ! * C++ ! + [109]7320: g++ 3.2 relocation problem ! + [110]7470: vtable: virtual function pointers not in ! declaration order ! * libstdc++ ! + [111]6410: Trouble with non-ASCII monetary symbols and ! wchar_t ! + [112]6503, [113]6642, [114]7186: Problems with comparing or ! subtracting various types of const and non-const iterators ! + [115]7216: ambiguity with basic_iostream::traits_type ! + [116]7220: problem with basic_istream::ignore(0,delimiter) ! + [117]7222: locale::operator==() doesn't work on ! std::locale("") ! + [118]7286: placement operator delete issue ! + [119]7442: cxxabi.h does not match the C++ ABI ! + [120]7445: poor performance of std::locale::classic() in ! multi-threaded applications ! * x86-64 specific ! + [121]7291: off-by-one in generated inline bzero code for ! x86-64 _________________________________________________________________ ! Please send FSF & GNU inquiries & questions to [122]gnu@gnu.org. There ! are also [123]other ways to contact the FSF. ! These pages are maintained by [124]The GCC team. Please send comments on these web pages and GCC to our public ! mailing list at [125]gcc@gnu.org or [126]gcc@gcc.gnu.org, send other ! questions to [127]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 533,573 ---- in the C++ ABI, with the intention of providing a stable interface going forward. Accordingly, 3.2 is only a small change to 3.1.1. ! Bug Fixes ! C++ ! ! * [173]7320: g++ 3.2 relocation problem ! * [174]7470: vtable: virtual function pointers not in declaration ! order ! ! libstdc++ ! ! * [175]6410: Trouble with non-ASCII monetary symbols and wchar_t ! * [176]6503, [177]6642, [178]7186: Problems with comparing or ! subtracting various types of const and non-const iterators ! * [179]7216: ambiguity with basic_iostream::traits_type ! * [180]7220: problem with basic_istream::ignore(0,delimiter) ! * [181]7222: locale::operator==() doesn't work on std::locale("") ! * [182]7286: placement operator delete issue ! * [183]7442: cxxabi.h does not match the C++ ABI ! * [184]7445: poor performance of std::locale::classic() in ! multi-threaded applications ! ! x86-64 specific ! ! * [185]7291: off-by-one in generated inline bzero code for x86-64 _________________________________________________________________ ! Please send FSF & GNU inquiries & questions to [186]gnu@gnu.org. There ! are also [187]other ways to contact the FSF. ! These pages are maintained by [188]The GCC team. Please send comments on these web pages and GCC to our public ! mailing list at [189]gcc@gnu.org or [190]gcc@gcc.gnu.org, send other ! questions to [191]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Bug Fixes *** 391,528 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-01-28 [128]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/gcc-3.2/c++-abi.html ! 2. http://gcc.gnu.org/gcc-3.1/changes.html ! 3. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 ! 4. http://gcc.gnu.org/cgi-bin/gnatsweb.pl ! 5. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=2521 ! 6. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5661 ! 7. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6419 ! 8. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6994 ! 9. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7150 ! 10. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7160 ! 11. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7228 ! 12. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7266 ! 13. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7353 ! 14. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7411 ! 15. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7478 ! 16. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7526 ! 17. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7721 ! 18. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7803 ! 19. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7754 ! 20. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7788 ! 21. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8031 ! 22. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8055 ! 23. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8067 ! 24. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8134 ! 25. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8149 ! 26. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8160 ! 27. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5607 ! 28. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6579 ! 29. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6803 ! 30. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7176 ! 31. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7188 ! 32. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7306 ! 33. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7461 ! 34. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7524 ! 35. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7584 ! 36. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7676 ! 37. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7679 ! 38. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7811 ! 39. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7961 ! 40. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8071 ! 41. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8127 ! 42. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6745 ! 43. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8096 ! 44. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8127 ! 45. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8218 ! 46. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8287 ! 47. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8347 ! 48. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8348 ! 49. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8391 ! 50. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6627 ! 51. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6631 ! 52. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7102 ! 53. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7120 ! 54. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7209 ! 55. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7515 ! 56. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7814 ! 57. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8467 ! 58. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4890 ! 59. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7357 ! 60. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7358 ! 61. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7602 ! 62. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7862 ! 63. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8190 ! 64. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8524 ! 65. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5351 ! 66. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7591 ! 67. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6845 ! 68. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7034 ! 69. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7124 ! 70. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7174 ! 71. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7134 ! 72. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7375 ! 73. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7390 ! 74. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6890 ! 75. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6981 ! 76. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7242 ! 77. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7396 ! 78. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7630 ! 79. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7693 ! 80. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7723 ! 81. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7951 ! 82. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8146 ! 83. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5967 ! 84. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6984 ! 85. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7114 ! 86. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7130 ! 87. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7133 ! 88. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7380 ! 89. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8252 ! 90. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8451 ! 91. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7250 ! 92. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6668 ! 93. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7151 ! 94. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7335 ! 95. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7842 ! 96. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7856 ! 97. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7967 ! 98. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7374 ! 99. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7370 ! 100. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7409 ! 101. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8232 ! 102. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7623 ! 103. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8314 ! 104. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=761 ! 105. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5610 ! 106. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7484 ! 107. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7531 ! 108. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8120 ! 109. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7320 ! 110. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7470 ! 111. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6410 ! 112. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6503 ! 113. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6642 ! 114. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7186 ! 115. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7216 ! 116. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7220 ! 117. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7222 ! 118. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7286 ! 119. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7442 ! 120. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 ! 121. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7291 ! 122. mailto:gnu@gnu.org ! 123. http://www.gnu.org/home.html#ContactInfo ! 124. http://gcc.gnu.org/about.html ! 125. mailto:gcc@gnu.org ! 126. mailto:gcc@gcc.gnu.org ! 127. mailto:gnu@gnu.org ! 128. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html --- 575,776 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-03-21 [192]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/gcc-3.1/changes.html ! 2. http://gcc.gnu.org/gcc-3.2/c++-abi.html ! 3. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5919 ! 4. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7129 ! 5. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7507 ! 6. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7622 ! 7. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7681 ! 8. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9528 ! 9. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8031 ! 10. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8275 ! 11. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8332 ! 12. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8372 ! 13. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8439 ! 14. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8442 ! 15. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8518 ! 16. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8615 ! 17. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8663 ! 18. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8799 ! 19. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9328 ! 20. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9465 ! 21. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=47 ! 22. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6745 ! 23. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8214 ! 24. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8493 ! 25. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8332 ! 26. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8503 ! 27. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8727 ! 28. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 ! 29. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8230 ! 30. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8399 ! 31. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8662 ! 32. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8707 ! 33. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8708 ! 34. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8790 ! 35. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8887 ! 36. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9076 ! 37. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9151 ! 38. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9168 ! 39. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9269 ! 40. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9322 ! 41. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9433 ! 42. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8032 ! 43. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8639 ! 44. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8794 ! 45. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8832 ! 46. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8988 ! 47. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9492 ! 48. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9267 ! 49. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8344 ! 50. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8524 ! 51. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8880 ! 52. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9090 ! 53. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8588 ! 54. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8599 ! 55. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9506 ! 56. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9484 ! 57. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9292 ! 58. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9293 ! 59. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9295 ! 60. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9296 ! 61. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9316 ! 62. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9493 ! 63. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7341 ! 64. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8947 ! 65. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7448 ! 66. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8882 ! 67. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 ! 68. http://gcc.gnu.org/cgi-bin/gnatsweb.pl ! 69. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=2521 ! 70. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5661 ! 71. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6419 ! 72. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6994 ! 73. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7150 ! 74. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7160 ! 75. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7228 ! 76. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7266 ! 77. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7353 ! 78. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7411 ! 79. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7478 ! 80. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7526 ! 81. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7721 ! 82. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7803 ! 83. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7754 ! 84. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7788 ! 85. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8031 ! 86. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8055 ! 87. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8067 ! 88. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8134 ! 89. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8149 ! 90. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8160 ! 91. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5607 ! 92. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6579 ! 93. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6803 ! 94. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7176 ! 95. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7188 ! 96. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7306 ! 97. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7461 ! 98. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7524 ! 99. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7584 ! 100. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7676 ! 101. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7679 ! 102. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7811 ! 103. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7961 ! 104. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8071 ! 105. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8127 ! 106. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6745 ! 107. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8096 ! 108. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8127 ! 109. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8218 ! 110. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8287 ! 111. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8347 ! 112. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8348 ! 113. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8391 ! 114. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6627 ! 115. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6631 ! 116. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7102 ! 117. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7120 ! 118. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7209 ! 119. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7515 ! 120. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7814 ! 121. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8467 ! 122. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4890 ! 123. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7357 ! 124. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7358 ! 125. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7602 ! 126. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7862 ! 127. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8190 ! 128. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8524 ! 129. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5351 ! 130. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7591 ! 131. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6845 ! 132. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7034 ! 133. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7124 ! 134. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7174 ! 135. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7134 ! 136. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7375 ! 137. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7390 ! 138. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6890 ! 139. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6981 ! 140. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7242 ! 141. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7396 ! 142. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7630 ! 143. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7693 ! 144. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7723 ! 145. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7951 ! 146. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8146 ! 147. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5967 ! 148. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6984 ! 149. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7114 ! 150. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7130 ! 151. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7133 ! 152. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7380 ! 153. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8252 ! 154. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8451 ! 155. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7250 ! 156. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6668 ! 157. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7151 ! 158. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7335 ! 159. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7842 ! 160. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7856 ! 161. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7967 ! 162. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7374 ! 163. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7370 ! 164. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7409 ! 165. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8232 ! 166. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7623 ! 167. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8314 ! 168. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=761 ! 169. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5610 ! 170. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7484 ! 171. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7531 ! 172. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8120 ! 173. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7320 ! 174. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7470 ! 175. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6410 ! 176. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6503 ! 177. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6642 ! 178. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7186 ! 179. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7216 ! 180. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7220 ! 181. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7222 ! 182. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7286 ! 183. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7442 ! 184. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 ! 185. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7291 ! 186. mailto:gnu@gnu.org ! 187. http://www.gnu.org/home.html#ContactInfo ! 188. http://gcc.gnu.org/about.html ! 189. mailto:gcc@gnu.org ! 190. mailto:gcc@gcc.gnu.org ! 191. mailto:gnu@gnu.org ! 192. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html *************** http://gcc.gnu.org/gcc-3.1/index.html *** 576,582 **** 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 --- 824,830 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References *************** References *** 600,606 **** ====================================================================== http://gcc.gnu.org/gcc-3.1/changes.html ! GCC 3.1 Release Series -- Changes, New Features, and Fixes Additional changes in GCC 3.1.1 --- 848,855 ---- ====================================================================== http://gcc.gnu.org/gcc-3.1/changes.html ! GCC 3.1 Release Series ! Changes, New Features, and Fixes Additional changes in GCC 3.1.1 *************** Documentation improvements *** 939,945 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-01-28 [25]Valid XHTML 1.0 References --- 1188,1194 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-03-21 [25]Valid XHTML 1.0 References *************** Previous 3.0.x Releases *** 1028,1034 **** 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 --- 1277,1283 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References *************** Other significant improvements *** 1229,1235 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-01-04 [20]Valid XHTML 1.0 References --- 1478,1484 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [20]Valid XHTML 1.0 References *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 1308,1314 **** 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 --- 1557,1563 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [10]Valid XHTML 1.0 References *************** http://gcc.gnu.org/gcc-2.95/index.html *** 1387,1393 **** 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 --- 1636,1642 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [19]Valid XHTML 1.0 References *************** Additional Changes in GCC 2.95.3 *** 1662,1668 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-12-30 [23]Valid XHTML 1.0 References --- 1911,1917 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [23]Valid XHTML 1.0 References *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 1751,1757 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-12-30 [8]Valid XHTML 1.0 References --- 2000,2006 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [8]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.1/index.html *** 1978,1984 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-01-04 [17]Valid XHTML 1.0 References --- 2227,2233 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 2053,2067 **** + Alpha port has been tuned for the EV6 processor and has an optimized expansion of memcpy/bzero. The Alpha port now uses the Haifa scheduler. ! + RS6000/PowerPC: EGCS 1.1 includes support for the Power64 ! architecture and aix4.3 support. The RS6000/PowerPC port now ! uses the Haifa scheduler. + x86: Alignment of static store data and jump targets is per Intel recommendations now. Various improvements throughout ! the x86 port to improve performance on Pentium processors. ! Conditional move support has been fixed and enabled for PPro ! processors. The x86 port also better supports 64bit ! operations now. + MIPS has improved multiply/multiply-add support and now includes mips16 ISA support. + M68k has many micro-optimizations and Coldfire fixes. --- 2302,2319 ---- + Alpha port has been tuned for the EV6 processor and has an optimized expansion of memcpy/bzero. The Alpha port now uses the Haifa scheduler. ! + RS6000/PowerPC: support for the Power64 architecture and AIX ! 4.3. The RS6000/PowerPC port now uses the Haifa scheduler. + x86: Alignment of static store data and jump targets is per Intel recommendations now. Various improvements throughout ! the x86 port to improve performance on Pentium processors ! (including improved epilogue sequences for Pentium chips and ! backend improvements which should help register allocation on ! all x86 variants. Conditional move support has been fixed and ! enabled for PPro processors. The x86 port also better ! supports 64bit operations now. Unixware 7, a System V Release ! 5 target, is now supported and SCO OpenServer targets can ! support GAS. + MIPS has improved multiply/multiply-add support and now includes mips16 ISA support. + M68k has many micro-optimizations and Coldfire fixes. *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 2085,2091 **** 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 --- 2337,2343 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-03-29 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 2146,2152 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-12-30 [7]Valid XHTML 1.0 References --- 2398,2404 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [7]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h *** 2250,2256 **** 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 --- 2502,2508 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h *** 2390,2396 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-01-04 [12]Valid XHTML 1.0 References --- 2642,2648 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h *** 2530,2536 **** 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 --- 2782,2788 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm *** 2627,2633 **** 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 --- 2879,2885 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 2701,2707 **** 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 --- 2953,2959 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [9]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 2761,2767 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-12-30 [7]Valid XHTML 1.0 References --- 3013,3019 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [7]Valid XHTML 1.0 References diff -Nrc3pad gcc-3.2.2/gcc/bb-reorder.c gcc-3.2.3/gcc/bb-reorder.c *** gcc-3.2.2/gcc/bb-reorder.c Mon Jul 15 16:19:38 2002 --- gcc-3.2.3/gcc/bb-reorder.c Thu Feb 20 20:10:57 2003 *************** make_reorder_chain_1 (bb, prev) *** 205,211 **** e_taken = e; } ! next = (taken ? e_taken : e_fall)->dest; } /* In the absence of a prediction, disturb things as little as possible --- 205,211 ---- e_taken = e; } ! next = ((taken && e_taken) ? e_taken : e_fall)->dest; } /* In the absence of a prediction, disturb things as little as possible diff -Nrc3pad gcc-3.2.2/gcc/builtins.c gcc-3.2.3/gcc/builtins.c *** gcc-3.2.2/gcc/builtins.c Sun Dec 1 18:19:08 2002 --- gcc-3.2.3/gcc/builtins.c Sun Mar 30 04:42:16 2003 *************** expand_builtin_fputs (arglist, ignore, u *** 3385,3392 **** /* FALLTHROUGH */ case 1: /* length is greater than 1, call fwrite. */ { ! tree string_arg = TREE_VALUE (arglist); /* New argument list transforming fputs(string, stream) to fwrite(string, 1, len, stream). */ arglist = build_tree_list (NULL_TREE, TREE_VALUE (TREE_CHAIN (arglist))); --- 3385,3396 ---- /* FALLTHROUGH */ case 1: /* length is greater than 1, call fwrite. */ { ! tree string_arg; + /* If optimizing for size keep fputs. */ + if (optimize_size) + return 0; + string_arg = TREE_VALUE (arglist); /* New argument list transforming fputs(string, stream) to fwrite(string, 1, len, stream). */ arglist = build_tree_list (NULL_TREE, TREE_VALUE (TREE_CHAIN (arglist))); *************** expand_builtin (exp, target, subtarget, *** 3599,3604 **** --- 3603,3611 ---- tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); tree arglist = TREE_OPERAND (exp, 1); enum built_in_function fcode = DECL_FUNCTION_CODE (fndecl); + + /* Perform postincrements before expanding builtin functions. */ + emit_queue (); if (DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD) return (*targetm.expand_builtin) (exp, target, subtarget, mode, ignore); diff -Nrc3pad gcc-3.2.2/gcc/c-decl.c gcc-3.2.3/gcc/c-decl.c *** gcc-3.2.2/gcc/c-decl.c Sat Nov 23 08:20:02 2002 --- gcc-3.2.3/gcc/c-decl.c Wed Mar 12 10:04:51 2003 *************** duplicate_decls (newdecl, olddecl, diffe *** 1665,1670 **** --- 1665,1677 ---- } } error_with_decl (olddecl, "previous declaration of `%s'"); + + /* This is safer because the initializer might contain references + to variables that were declared between olddecl and newdecl. This + will make the initializer invalid for olddecl in case it gets + assigned to olddecl below. */ + if (TREE_CODE (newdecl) == VAR_DECL) + DECL_INITIAL (newdecl) = 0; } else { diff -Nrc3pad gcc-3.2.2/gcc/c-parse.c gcc-3.2.3/gcc/c-parse.c *** gcc-3.2.2/gcc/c-parse.c Wed Feb 5 03:10:41 2003 --- gcc-3.2.3/gcc/c-parse.c Tue Apr 22 07:00:33 2003 *************** *** 1,75 **** ! /* A Bison parser, made from c-parse.y ! by GNU bison 1.33. */ ! #define YYBISON 1 /* Identify Bison output. */ ! # define IDENTIFIER 257 ! # define TYPENAME 258 ! # define SCSPEC 259 ! # define TYPESPEC 260 ! # define TYPE_QUAL 261 ! # define CONSTANT 262 ! # define STRING 263 ! # define ELLIPSIS 264 ! # define SIZEOF 265 ! # define ENUM 266 ! # define STRUCT 267 ! # define UNION 268 ! # define IF 269 ! # define ELSE 270 ! # define WHILE 271 ! # define DO 272 ! # define FOR 273 ! # define SWITCH 274 ! # define CASE 275 ! # define DEFAULT 276 ! # define BREAK 277 ! # define CONTINUE 278 ! # define RETURN 279 ! # define GOTO 280 ! # define ASM_KEYWORD 281 ! # define TYPEOF 282 ! # define ALIGNOF 283 ! # define ATTRIBUTE 284 ! # define EXTENSION 285 ! # define LABEL 286 ! # define REALPART 287 ! # define IMAGPART 288 ! # define VA_ARG 289 ! # define CHOOSE_EXPR 290 ! # define TYPES_COMPATIBLE_P 291 ! # define PTR_VALUE 292 ! # define PTR_BASE 293 ! # define PTR_EXTENT 294 ! # define STRING_FUNC_NAME 295 ! # define VAR_FUNC_NAME 296 ! # define ASSIGN 297 ! # define OROR 298 ! # define ANDAND 299 ! # define EQCOMPARE 300 ! # define ARITHCOMPARE 301 ! # define LSHIFT 302 ! # define RSHIFT 303 ! # define UNARY 304 ! # define PLUSPLUS 305 ! # define MINUSMINUS 306 ! # define HYPERUNARY 307 ! # define POINTSAT 308 ! # define INTERFACE 309 ! # define IMPLEMENTATION 310 ! # define END 311 ! # define SELECTOR 312 ! # define DEFS 313 ! # define ENCODE 314 ! # define CLASSNAME 315 ! # define PUBLIC 316 ! # define PRIVATE 317 ! # define PROTECTED 318 ! # define PROTOCOL 319 ! # define OBJECTNAME 320 ! # define CLASS 321 ! # define ALIAS 322 #line 34 "c-parse.y" #include "config.h" --- 1,197 ---- ! /* A Bison parser, made by GNU Bison 1.875. */ ! /* Skeleton parser for Yacc-like parsing with Bison, ! Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; either version 2, or (at your option) ! any later version. ! ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 59 Temple Place - Suite 330, ! Boston, MA 02111-1307, USA. */ ! ! /* As a special exception, when this file is copied by Bison into a ! Bison output file, you may use that output file without restriction. ! This special exception was added by the Free Software Foundation ! in version 1.24 of Bison. */ ! ! /* Written by Richard Stallman by simplifying the original so called ! ``semantic'' parser. */ ! ! /* All symbols defined below should begin with yy or YY, to avoid ! infringing on user name space. This should be done even for local ! variables, as they might otherwise be expanded by user macros. ! There are some unavoidable exceptions within include files to ! define necessary library symbols; they are noted "INFRINGES ON ! USER NAME SPACE" below. */ ! ! /* Identify Bison output. */ ! #define YYBISON 1 ! ! /* Skeleton name. */ ! #define YYSKELETON_NAME "yacc.c" ! ! /* Pure parsers. */ ! #define YYPURE 0 ! ! /* Using locations. */ ! #define YYLSP_NEEDED 0 ! ! ! ! /* Tokens. */ ! #ifndef YYTOKENTYPE ! # define YYTOKENTYPE ! /* Put the tokens into the symbol table, so that GDB and other debuggers ! know about them. */ ! enum yytokentype { ! IDENTIFIER = 258, ! TYPENAME = 259, ! SCSPEC = 260, ! TYPESPEC = 261, ! TYPE_QUAL = 262, ! CONSTANT = 263, ! STRING = 264, ! ELLIPSIS = 265, ! SIZEOF = 266, ! ENUM = 267, ! STRUCT = 268, ! UNION = 269, ! IF = 270, ! ELSE = 271, ! WHILE = 272, ! DO = 273, ! FOR = 274, ! SWITCH = 275, ! CASE = 276, ! DEFAULT = 277, ! BREAK = 278, ! CONTINUE = 279, ! RETURN = 280, ! GOTO = 281, ! ASM_KEYWORD = 282, ! TYPEOF = 283, ! ALIGNOF = 284, ! ATTRIBUTE = 285, ! EXTENSION = 286, ! LABEL = 287, ! REALPART = 288, ! IMAGPART = 289, ! VA_ARG = 290, ! CHOOSE_EXPR = 291, ! TYPES_COMPATIBLE_P = 292, ! PTR_VALUE = 293, ! PTR_BASE = 294, ! PTR_EXTENT = 295, ! STRING_FUNC_NAME = 296, ! VAR_FUNC_NAME = 297, ! ASSIGN = 298, ! OROR = 299, ! ANDAND = 300, ! EQCOMPARE = 301, ! ARITHCOMPARE = 302, ! RSHIFT = 303, ! LSHIFT = 304, ! MINUSMINUS = 305, ! PLUSPLUS = 306, ! UNARY = 307, ! HYPERUNARY = 308, ! POINTSAT = 309, ! INTERFACE = 310, ! IMPLEMENTATION = 311, ! END = 312, ! SELECTOR = 313, ! DEFS = 314, ! ENCODE = 315, ! CLASSNAME = 316, ! PUBLIC = 317, ! PRIVATE = 318, ! PROTECTED = 319, ! PROTOCOL = 320, ! OBJECTNAME = 321, ! CLASS = 322, ! ALIAS = 323 ! }; ! #endif ! #define IDENTIFIER 258 ! #define TYPENAME 259 ! #define SCSPEC 260 ! #define TYPESPEC 261 ! #define TYPE_QUAL 262 ! #define CONSTANT 263 ! #define STRING 264 ! #define ELLIPSIS 265 ! #define SIZEOF 266 ! #define ENUM 267 ! #define STRUCT 268 ! #define UNION 269 ! #define IF 270 ! #define ELSE 271 ! #define WHILE 272 ! #define DO 273 ! #define FOR 274 ! #define SWITCH 275 ! #define CASE 276 ! #define DEFAULT 277 ! #define BREAK 278 ! #define CONTINUE 279 ! #define RETURN 280 ! #define GOTO 281 ! #define ASM_KEYWORD 282 ! #define TYPEOF 283 ! #define ALIGNOF 284 ! #define ATTRIBUTE 285 ! #define EXTENSION 286 ! #define LABEL 287 ! #define REALPART 288 ! #define IMAGPART 289 ! #define VA_ARG 290 ! #define CHOOSE_EXPR 291 ! #define TYPES_COMPATIBLE_P 292 ! #define PTR_VALUE 293 ! #define PTR_BASE 294 ! #define PTR_EXTENT 295 ! #define STRING_FUNC_NAME 296 ! #define VAR_FUNC_NAME 297 ! #define ASSIGN 298 ! #define OROR 299 ! #define ANDAND 300 ! #define EQCOMPARE 301 ! #define ARITHCOMPARE 302 ! #define RSHIFT 303 ! #define LSHIFT 304 ! #define MINUSMINUS 305 ! #define PLUSPLUS 306 ! #define UNARY 307 ! #define HYPERUNARY 308 ! #define POINTSAT 309 ! #define INTERFACE 310 ! #define IMPLEMENTATION 311 ! #define END 312 ! #define SELECTOR 313 ! #define DEFS 314 ! #define ENCODE 315 ! #define CLASSNAME 316 ! #define PUBLIC 317 ! #define PRIVATE 318 ! #define PROTECTED 319 ! #define PROTOCOL 320 ! #define OBJECTNAME 321 ! #define CLASS 322 ! #define ALIAS 323 + + + + /* Copy the first part of user declarations. */ #line 34 "c-parse.y" #include "config.h" *************** *** 101,112 **** /* Rename the "yyparse" function so that we can override it elsewhere. */ #define yyparse yyparse_1 #line 67 "c-parse.y" ! #ifndef YYSTYPE ! typedef union {long itype; tree ttype; enum tree_code code; ! const char *filename; int lineno; } yystype; ! # define YYSTYPE yystype #endif #line 200 "c-parse.y" /* Number of statements (loosely speaking) and compound statements --- 223,256 ---- /* Rename the "yyparse" function so that we can override it elsewhere. */ #define yyparse yyparse_1 + + /* Enabling traces. */ + #ifndef YYDEBUG + # define YYDEBUG 0 + #endif + + /* Enabling verbose error messages. */ + #ifdef YYERROR_VERBOSE + # undef YYERROR_VERBOSE + # define YYERROR_VERBOSE 1 + #else + # define YYERROR_VERBOSE 0 + #endif + + #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 67 "c-parse.y" ! typedef union YYSTYPE {long itype; tree ttype; enum tree_code code; ! const char *filename; int lineno; } YYSTYPE; ! /* Line 191 of yacc.c. */ ! #line 245 "c-p10602.c" ! # define yystype YYSTYPE /* obsolescent; will be withdrawn */ ! # define YYSTYPE_IS_DECLARED 1 ! # define YYSTYPE_IS_TRIVIAL 1 #endif + + + + /* Copy the second part of user declarations. */ #line 200 "c-parse.y" /* Number of statements (loosely speaking) and compound statements *************** c_parse_init () *** 191,222 **** ggc_add_tree_root (&all_prefix_attributes, 1); } ! #ifndef YYDEBUG ! # define YYDEBUG 0 #endif ! #define YYFINAL 901 ! #define YYFLAG -32768 ! #define YYNTBASE 91 ! /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ ! #define YYTRANSLATE(x) ((unsigned)(x) <= 322 ? yytranslate[x] : 290) ! /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ ! static const char yytranslate[] = { 0, 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, 87, 2, 2, 2, 60, 51, 2, ! 67, 83, 58, 56, 88, 57, 66, 59, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 46, 84, ! 2, 44, 2, 45, 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, 68, 2, 90, 50, 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, 89, 49, 85, 86, 2, 2, 2, --- 335,473 ---- ggc_add_tree_root (&all_prefix_attributes, 1); } ! ! ! /* Line 214 of yacc.c. */ ! #line 341 "c-p10602.c" ! ! #if ! defined (yyoverflow) || YYERROR_VERBOSE ! ! /* The parser invokes alloca or malloc; define the necessary symbols. */ ! ! # if YYSTACK_USE_ALLOCA ! # define YYSTACK_ALLOC alloca ! # else ! # ifndef YYSTACK_USE_ALLOCA ! # if defined (alloca) || defined (_ALLOCA_H) ! # define YYSTACK_ALLOC alloca ! # else ! # ifdef __GNUC__ ! # define YYSTACK_ALLOC __builtin_alloca ! # endif ! # endif ! # endif ! # endif ! ! # ifdef YYSTACK_ALLOC ! /* Pacify GCC's `empty if-body' warning. */ ! # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) ! # else ! # if defined (__STDC__) || defined (__cplusplus) ! # include /* INFRINGES ON USER NAME SPACE */ ! # define YYSIZE_T size_t ! # endif ! # define YYSTACK_ALLOC malloc ! # define YYSTACK_FREE free ! # endif ! #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ ! ! ! #if (! defined (yyoverflow) \ ! && (! defined (__cplusplus) \ ! || (YYSTYPE_IS_TRIVIAL))) ! ! /* A type that is properly aligned for any stack member. */ ! union yyalloc ! { ! short yyss; ! YYSTYPE yyvs; ! }; ! ! /* The size of the maximum gap between one aligned stack and the next. */ ! # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) ! ! /* The size of an array large to enough to hold all stacks, each with ! N elements. */ ! # define YYSTACK_BYTES(N) \ ! ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ ! + YYSTACK_GAP_MAXIMUM) ! ! /* Copy COUNT objects from FROM to TO. The source and destination do ! not overlap. */ ! # ifndef YYCOPY ! # if 1 < __GNUC__ ! # define YYCOPY(To, From, Count) \ ! __builtin_memcpy (To, From, (Count) * sizeof (*(From))) ! # else ! # define YYCOPY(To, From, Count) \ ! do \ ! { \ ! register YYSIZE_T yyi; \ ! for (yyi = 0; yyi < (Count); yyi++) \ ! (To)[yyi] = (From)[yyi]; \ ! } \ ! while (0) ! # endif ! # endif ! ! /* Relocate STACK from its old location to the new one. The ! local variables YYSIZE and YYSTACKSIZE give the old and new number of ! elements in the stack, and YYPTR gives the new location of the ! stack. Advance YYPTR to a properly aligned location for the next ! stack. */ ! # define YYSTACK_RELOCATE(Stack) \ ! do \ ! { \ ! YYSIZE_T yynewbytes; \ ! YYCOPY (&yyptr->Stack, Stack, yysize); \ ! Stack = &yyptr->Stack; \ ! yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ ! yyptr += yynewbytes / sizeof (*yyptr); \ ! } \ ! while (0) ! #endif + #if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; + #else + typedef short yysigned_char; + #endif + /* YYFINAL -- State number of the termination state. */ + #define YYFINAL 4 + /* YYLAST -- Last index in YYTABLE. */ + #define YYLAST 3173 ! /* YYNTOKENS -- Number of terminals. */ ! #define YYNTOKENS 91 ! /* YYNNTS -- Number of nonterminals. */ ! #define YYNNTS 200 ! /* YYNRULES -- Number of rules. */ ! #define YYNRULES 561 ! /* YYNRULES -- Number of states. */ ! #define YYNSTATES 901 ! /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ ! #define YYUNDEFTOK 2 ! #define YYMAXUTOK 323 ! #define YYTRANSLATE(YYX) \ ! ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ! ! /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ ! static const unsigned char yytranslate[] = { 0, 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, 87, 2, 2, 2, 60, 51, 2, ! 66, 83, 58, 56, 88, 57, 65, 59, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 46, 84, ! 2, 43, 2, 45, 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, 67, 2, 90, 50, 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, 89, 49, 85, 86, 2, 2, 2, *************** static const char yytranslate[] = *** 232,590 **** 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, 3, 4, 5, ! 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ! 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, ! 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, ! 36, 37, 38, 39, 40, 41, 42, 43, 47, 48, ! 52, 53, 54, 55, 61, 62, 63, 64, 65, 69, ! 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, ! 80, 81, 82 }; #if YYDEBUG ! static const short yyprhs[] = { ! 0, 0, 1, 3, 4, 7, 8, 12, 14, 16, ! 22, 25, 29, 34, 39, 42, 45, 48, 50, 51, ! 52, 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 ! ! #if YYDEBUG ! /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ! static const short yyrline[] = { ! 0, 286, 291, 306, 306, 308, 308, 311, 313, 314, ! 322, 326, 334, 336, 338, 340, 341, 342, 347, 347, ! 347, 360, 362, 362, 362, 374, 376, 376, 376, 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, 527, 533, 533, 539, 539, 539, ! 548, 548, 558, 565, 575, 582, 583, 585, 587, 587, ! 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, 1317, 1326, 1333, ! 1333, 1342, 1349, 1352, 1356, 1359, 1363, 1368, 1371, 1375, ! 1378, 1380, 1382, 1384, 1391, 1393, 1394, 1395, 1400, 1402, ! 1402, 1406, 1411, 1415, 1418, 1420, 1425, 1429, 1432, 1432, ! 1438, 1441, 1441, 1446, 1448, 1451, 1453, 1456, 1462, 1466, ! 1470, 1470, 1470, 1500, 1500, 1500, 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, 1636, 1643, 1647, 1647, 1651, ! 1655, 1655, 1660, 1660, 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, 1800, 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, ! 2072, 2094, 2094, 2114, 2120, 2126, 2128, 2132, 2138, 2152, ! 2161, 2161, 2170, 2182, 2192, 2192, 2192, 2202, 2205, 2207, ! 2207, 2207, 2207, 2207, 2221, 2221, 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, 2371, ! 2382, 2384, 2384, 2384, 2397, 2403, 2405, 2415, 2417, 2421, ! 2424, 2430, 2436, 2441, 2444, 2450, 2457, 2463, 2468, 2471, ! 2477, 2482, 2491, 2491, 2502, 2504, 2521, 2524, 2529, 2532, ! 2536 }; #endif ! ! #if (YYDEBUG) || defined YYERROR_VERBOSE ! ! /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ static const char *const yytname[] = { ! "$", "error", "$undefined.", "IDENTIFIER", "TYPENAME", "SCSPEC", "TYPESPEC", "TYPE_QUAL", "CONSTANT", "STRING", "ELLIPSIS", "SIZEOF", "ENUM", "STRUCT", "UNION", "IF", "ELSE", "WHILE", "DO", "FOR", "SWITCH", "CASE", "DEFAULT", "BREAK", "CONTINUE", "RETURN", "GOTO", "ASM_KEYWORD", "TYPEOF", "ALIGNOF", "ATTRIBUTE", "EXTENSION", "LABEL", "REALPART", "IMAGPART", "VA_ARG", "CHOOSE_EXPR", "TYPES_COMPATIBLE_P", "PTR_VALUE", ! "PTR_BASE", "PTR_EXTENT", "STRING_FUNC_NAME", "VAR_FUNC_NAME", "ASSIGN", ! "'='", "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQCOMPARE", ! "ARITHCOMPARE", "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'", "'%'", ! "UNARY", "PLUSPLUS", "MINUSMINUS", "HYPERUNARY", "POINTSAT", "'.'", ! "'('", "'['", "INTERFACE", "IMPLEMENTATION", "END", "SELECTOR", "DEFS", ! "ENCODE", "CLASSNAME", "PUBLIC", "PRIVATE", "PROTECTED", "PROTOCOL", ! "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", ! "declspecs_nosc_ts_sa_ea", "declspecs_sc_nots_nosa_noea", ! "declspecs_sc_nots_nosa_ea", "declspecs_sc_nots_sa_noea", ! "declspecs_sc_nots_sa_ea", "declspecs_sc_ts_nosa_noea", ! "declspecs_sc_ts_nosa_ea", "declspecs_sc_ts_sa_noea", ! "declspecs_sc_ts_sa_ea", "declspecs_ts", "declspecs_nots", ! "declspecs_ts_nosa", "declspecs_nots_nosa", "declspecs_nosc_ts", ! "declspecs_nosc_nots", "declspecs_nosc", "declspecs", ! "maybe_type_quals_attrs", "typespec_nonattr", "typespec_attr", ! "typespec_reserved_nonattr", "typespec_reserved_attr", "typespec_nonreserved_nonattr", "initdecls", "notype_initdecls", "maybeasm", "initdcl", "@15", "notype_initdcl", "@16", "maybe_attribute", "attributes", "attribute", "attribute_list", --- 483,841 ---- 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, 2, 3, 4, ! 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ! 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, ! 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, ! 35, 36, 37, 38, 39, 40, 41, 42, 44, 47, ! 48, 52, 53, 54, 55, 61, 62, 63, 64, 68, ! 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, ! 79, 80, 81, 82 }; #if YYDEBUG ! /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in ! YYRHS. */ ! static const unsigned short yyprhs[] = { ! 0, 0, 3, 4, 6, 7, 10, 11, 15, 17, ! 19, 25, 28, 32, 37, 42, 45, 48, 51, 53, ! 54, 55, 65, 70, 71, 72, 82, 87, 88, 89, ! 98, 102, 104, 106, 108, 110, 112, 114, 116, 118, ! 120, 122, 123, 125, 127, 131, 133, 136, 139, 142, ! 145, 148, 153, 156, 161, 164, 167, 169, 171, 173, ! 175, 180, 182, 186, 190, 194, 198, 202, 206, 210, ! 214, 218, 222, 226, 230, 231, 236, 237, 242, 243, ! 244, 252, 253, 259, 263, 267, 269, 271, 273, 275, ! 276, 284, 288, 292, 296, 300, 305, 312, 321, 328, ! 333, 337, 341, 344, 347, 349, 352, 353, 355, 358, ! 362, 364, 366, 369, 372, 377, 382, 385, 388, 392, ! 393, 395, 400, 405, 409, 413, 416, 419, 421, 424, ! 427, 430, 433, 436, 438, 441, 443, 446, 449, 452, ! 455, 458, 461, 463, 466, 469, 472, 475, 478, 481, ! 484, 487, 490, 493, 496, 499, 502, 505, 508, 511, 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, 645, 647, 649, 651, 653, 655, ! 657, 659, 661, 663, 665, 667, 669, 671, 673, 675, ! 677, 679, 681, 683, 685, 687, 689, 691, 693, 695, ! 697, 699, 701, 703, 705, 707, 709, 711, 713, 715, ! 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, ! 737, 739, 741, 743, 745, 747, 749, 751, 753, 755, ! 757, 758, 760, 762, 764, 766, 768, 770, 772, 774, ! 779, 784, 786, 791, 793, 798, 799, 804, 805, 812, ! 816, 817, 824, 828, 829, 831, 833, 836, 843, 845, ! 849, 850, 852, 857, 864, 869, 871, 873, 875, 877, ! 879, 880, 885, 887, 888, 891, 893, 897, 901, 904, ! 905, 910, 912, 913, 918, 920, 922, 924, 927, 930, ! 936, 940, 941, 942, 950, 951, 952, 960, 962, 964, ! 969, 973, 976, 980, 982, 984, 986, 990, 993, 995, ! 999, 1002, 1006, 1010, 1015, 1019, 1024, 1028, 1031, 1033, ! 1035, 1038, 1040, 1043, 1045, 1048, 1049, 1057, 1063, 1064, ! 1072, 1078, 1079, 1088, 1089, 1097, 1100, 1103, 1106, 1107, ! 1109, 1110, 1112, 1114, 1117, 1118, 1122, 1125, 1129, 1134, ! 1138, 1140, 1142, 1145, 1147, 1152, 1154, 1159, 1164, 1171, ! 1177, 1182, 1189, 1195, 1197, 1201, 1203, 1205, 1209, 1210, ! 1214, 1215, 1217, 1218, 1220, 1223, 1225, 1227, 1229, 1233, ! 1236, 1240, 1245, 1249, 1252, 1255, 1257, 1261, 1266, 1269, ! 1273, 1277, 1282, 1287, 1293, 1299, 1301, 1303, 1305, 1307, ! 1309, 1312, 1315, 1318, 1321, 1323, 1326, 1329, 1332, 1334, ! 1337, 1340, 1343, 1346, 1348, 1351, 1353, 1355, 1357, 1359, ! 1362, 1363, 1364, 1365, 1366, 1367, 1369, 1371, 1374, 1378, ! 1380, 1383, 1385, 1387, 1393, 1395, 1397, 1400, 1403, 1406, ! 1409, 1410, 1416, 1417, 1422, 1423, 1424, 1426, 1429, 1433, ! 1437, 1441, 1442, 1447, 1449, 1453, 1454, 1455, 1463, 1469, ! 1472, 1473, 1474, 1475, 1476, 1489, 1490, 1497, 1500, 1502, ! 1504, 1507, 1511, 1514, 1517, 1520, 1524, 1531, 1540, 1551, ! 1564, 1568, 1573, 1575, 1579, 1585, 1588, 1594, 1595, 1597, ! 1598, 1600, 1601, 1603, 1605, 1609, 1614, 1622, 1624, 1628, ! 1629, 1633, 1636, 1637, 1638, 1645, 1648, 1649, 1651, 1653, ! 1657, 1659, 1663, 1668, 1673, 1677, 1682, 1686, 1691, 1696, ! 1700, 1705, 1709, 1711, 1712, 1716, 1718, 1721, 1723, 1727, ! 1729, 1733 }; + + /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short yyrhs[] = { ! 92, 0, -1, -1, 93, -1, -1, 94, 96, -1, ! -1, 93, 95, 96, -1, 98, -1, 97, -1, 27, ! 66, 107, 83, 84, -1, 290, 96, -1, 129, 163, ! 84, -1, 149, 129, 163, 84, -1, 148, 129, 162, ! 84, -1, 155, 84, -1, 1, 84, -1, 1, 85, ! -1, 84, -1, -1, -1, 148, 129, 191, 99, 124, ! 100, 251, 252, 240, -1, 148, 129, 191, 1, -1, ! -1, -1, 149, 129, 196, 101, 124, 102, 251, 252, ! 240, -1, 149, 129, 196, 1, -1, -1, -1, 129, ! 196, 103, 124, 104, 251, 252, 240, -1, 129, 196, ! 1, -1, 3, -1, 4, -1, 51, -1, 57, -1, ! 56, -1, 62, -1, 61, -1, 86, -1, 87, -1, ! 109, -1, -1, 109, -1, 115, -1, 109, 88, 115, ! -1, 121, -1, 58, 114, -1, 290, 114, -1, 106, ! 114, -1, 48, 105, -1, 111, 110, -1, 111, 66, ! 217, 83, -1, 112, 110, -1, 112, 66, 217, 83, ! -1, 33, 114, -1, 34, 114, -1, 11, -1, 29, ! -1, 28, -1, 110, -1, 66, 217, 83, 114, -1, ! 114, -1, 115, 56, 115, -1, 115, 57, 115, -1, ! 115, 58, 115, -1, 115, 59, 115, -1, 115, 60, ! 115, -1, 115, 55, 115, -1, 115, 54, 115, -1, ! 115, 53, 115, -1, 115, 52, 115, -1, 115, 51, ! 115, -1, 115, 49, 115, -1, 115, 50, 115, -1, ! -1, 115, 48, 116, 115, -1, -1, 115, 47, 117, ! 115, -1, -1, -1, 115, 45, 118, 107, 46, 119, ! 115, -1, -1, 115, 45, 120, 46, 115, -1, 115, ! 43, 115, -1, 115, 44, 115, -1, 3, -1, 8, ! -1, 123, -1, 42, -1, -1, 66, 217, 83, 89, ! 122, 177, 85, -1, 66, 107, 83, -1, 66, 1, ! 83, -1, 244, 242, 83, -1, 244, 1, 83, -1, ! 121, 66, 108, 83, -1, 35, 66, 115, 88, 217, ! 83, -1, 36, 66, 115, 88, 115, 88, 115, 83, ! -1, 37, 66, 217, 88, 217, 83, -1, 121, 67, ! 107, 90, -1, 121, 65, 105, -1, 121, 68, 105, ! -1, 121, 62, -1, 121, 61, -1, 9, -1, 123, ! 9, -1, -1, 126, -1, 126, 10, -1, 251, 252, ! 127, -1, 125, -1, 232, -1, 126, 125, -1, 125, ! 232, -1, 150, 129, 162, 84, -1, 151, 129, 163, ! 84, -1, 150, 84, -1, 151, 84, -1, 251, 252, ! 131, -1, -1, 169, -1, 148, 129, 162, 84, -1, ! 149, 129, 163, 84, -1, 148, 129, 185, -1, 149, ! 129, 188, -1, 155, 84, -1, 290, 131, -1, 7, ! -1, 132, 7, -1, 133, 7, -1, 132, 170, -1, ! 134, 7, -1, 135, 7, -1, 170, -1, 134, 170, ! -1, 157, -1, 136, 7, -1, 137, 7, -1, 136, ! 159, -1, 137, 159, -1, 132, 157, -1, 133, 157, ! -1, 158, -1, 136, 170, -1, 136, 160, -1, 137, ! 160, -1, 132, 158, -1, 133, 158, -1, 138, 7, ! -1, 139, 7, -1, 138, 159, -1, 139, 159, -1, ! 134, 157, -1, 135, 157, -1, 138, 170, -1, 138, ! 160, -1, 139, 160, -1, 134, 158, -1, 135, 158, ! -1, 5, -1, 140, 7, -1, 141, 7, -1, 132, ! 5, -1, 133, 5, -1, 140, 5, -1, 141, 5, ! -1, 140, 170, -1, 142, 7, -1, 143, 7, -1, ! 134, 5, -1, 135, 5, -1, 142, 5, -1, 143, ! 5, -1, 142, 170, -1, 144, 7, -1, 145, 7, ! -1, 144, 159, -1, 145, 159, -1, 140, 157, -1, ! 141, 157, -1, 136, 5, -1, 137, 5, -1, 144, ! 5, -1, 145, 5, -1, 144, 170, -1, 144, 160, ! -1, 145, 160, -1, 140, 158, -1, 141, 158, -1, ! 146, 7, -1, 147, 7, -1, 146, 159, -1, 147, ! 159, -1, 142, 157, -1, 143, 157, -1, 138, 5, ! -1, 139, 5, -1, 146, 5, -1, 147, 5, -1, ! 146, 170, -1, 146, 160, -1, 147, 160, -1, 142, ! 158, -1, 143, 158, -1, 136, -1, 137, -1, 138, ! -1, 139, -1, 144, -1, 145, -1, 146, -1, 147, ! -1, 132, -1, 133, -1, 134, -1, 135, -1, 140, ! -1, 141, -1, 142, -1, 143, -1, 136, -1, 137, ! -1, 144, -1, 145, -1, 132, -1, 133, -1, 140, ! -1, 141, -1, 136, -1, 137, -1, 138, -1, 139, ! -1, 132, -1, 133, -1, 134, -1, 135, -1, 136, ! -1, 137, -1, 138, -1, 139, -1, 132, -1, 133, ! -1, 134, -1, 135, -1, 132, -1, 133, -1, 134, ! -1, 135, -1, 136, -1, 137, -1, 138, -1, 139, ! -1, 140, -1, 141, -1, 142, -1, 143, -1, 144, ! -1, 145, -1, 146, -1, 147, -1, -1, 153, -1, ! 159, -1, 161, -1, 160, -1, 6, -1, 205, -1, ! 200, -1, 4, -1, 113, 66, 107, 83, -1, 113, ! 66, 217, 83, -1, 165, -1, 162, 88, 130, 165, ! -1, 167, -1, 163, 88, 130, 167, -1, -1, 27, ! 66, 123, 83, -1, -1, 191, 164, 169, 43, 166, ! 175, -1, 191, 164, 169, -1, -1, 196, 164, 169, ! 43, 168, 175, -1, 196, 164, 169, -1, -1, 170, ! -1, 171, -1, 170, 171, -1, 30, 66, 66, 172, ! 83, 83, -1, 173, -1, 172, 88, 173, -1, -1, ! 174, -1, 174, 66, 3, 83, -1, 174, 66, 3, ! 88, 109, 83, -1, 174, 66, 108, 83, -1, 105, ! -1, 5, -1, 6, -1, 7, -1, 115, -1, -1, ! 89, 176, 177, 85, -1, 1, -1, -1, 178, 206, ! -1, 179, -1, 178, 88, 179, -1, 183, 43, 181, ! -1, 184, 181, -1, -1, 105, 46, 180, 181, -1, ! 181, -1, -1, 89, 182, 177, 85, -1, 115, -1, ! 1, -1, 184, -1, 183, 184, -1, 65, 105, -1, ! 67, 115, 10, 115, 90, -1, 67, 115, 90, -1, ! -1, -1, 191, 186, 124, 187, 251, 252, 245, -1, ! -1, -1, 196, 189, 124, 190, 251, 252, 245, -1, ! 192, -1, 196, -1, 66, 169, 192, 83, -1, 192, ! 66, 285, -1, 192, 225, -1, 58, 156, 192, -1, ! 4, -1, 194, -1, 195, -1, 194, 66, 285, -1, ! 194, 225, -1, 4, -1, 195, 66, 285, -1, 195, ! 225, -1, 58, 156, 194, -1, 58, 156, 195, -1, ! 66, 169, 195, 83, -1, 196, 66, 285, -1, 66, ! 169, 196, 83, -1, 58, 156, 196, -1, 196, 225, ! -1, 3, -1, 13, -1, 13, 170, -1, 14, -1, ! 14, 170, -1, 12, -1, 12, 170, -1, -1, 197, ! 105, 89, 201, 208, 85, 169, -1, 197, 89, 208, ! 85, 169, -1, -1, 198, 105, 89, 202, 208, 85, ! 169, -1, 198, 89, 208, 85, 169, -1, -1, 199, ! 105, 89, 203, 215, 207, 85, 169, -1, -1, 199, ! 89, 204, 215, 207, 85, 169, -1, 197, 105, -1, ! 198, 105, -1, 199, 105, -1, -1, 88, -1, -1, ! 88, -1, 209, -1, 209, 210, -1, -1, 209, 210, ! 84, -1, 209, 84, -1, 152, 129, 211, -1, 152, ! 129, 251, 252, -1, 153, 129, 212, -1, 153, -1, ! 1, -1, 290, 210, -1, 213, -1, 211, 88, 130, ! 213, -1, 214, -1, 212, 88, 130, 214, -1, 251, ! 252, 191, 169, -1, 251, 252, 191, 46, 115, 169, ! -1, 251, 252, 46, 115, 169, -1, 251, 252, 196, ! 169, -1, 251, 252, 196, 46, 115, 169, -1, 251, ! 252, 46, 115, 169, -1, 216, -1, 215, 88, 216, ! -1, 1, -1, 105, -1, 105, 43, 115, -1, -1, ! 154, 218, 219, -1, -1, 221, -1, -1, 221, -1, ! 222, 170, -1, 223, -1, 222, -1, 224, -1, 58, ! 156, 222, -1, 58, 156, -1, 58, 156, 223, -1, ! 66, 169, 221, 83, -1, 224, 66, 275, -1, 224, ! 225, -1, 66, 275, -1, 225, -1, 67, 107, 90, ! -1, 67, 154, 107, 90, -1, 67, 90, -1, 67, ! 154, 90, -1, 67, 58, 90, -1, 67, 154, 58, ! 90, -1, 67, 5, 107, 90, -1, 67, 5, 154, ! 107, 90, -1, 67, 154, 5, 107, 90, -1, 227, ! -1, 228, -1, 229, -1, 230, -1, 255, -1, 227, ! 255, -1, 228, 255, -1, 229, 255, -1, 230, 255, ! -1, 128, -1, 227, 128, -1, 228, 128, -1, 230, ! 128, -1, 256, -1, 227, 256, -1, 228, 256, -1, ! 229, 256, -1, 230, 256, -1, 232, -1, 231, 232, ! -1, 227, -1, 228, -1, 229, -1, 230, -1, 1, ! 84, -1, -1, -1, -1, -1, -1, 238, -1, 239, ! -1, 238, 239, -1, 32, 289, 84, -1, 245, -1, ! 1, 245, -1, 89, -1, 85, -1, 233, 237, 243, ! 85, 234, -1, 226, -1, 1, -1, 66, 89, -1, ! 241, 242, -1, 247, 254, -1, 247, 1, -1, -1, ! 15, 248, 66, 107, 83, -1, -1, 18, 250, 254, ! 17, -1, -1, -1, 255, -1, 256, 253, -1, 235, ! 253, 236, -1, 251, 252, 267, -1, 251, 252, 268, ! -1, -1, 246, 16, 258, 254, -1, 246, -1, 246, ! 16, 1, -1, -1, -1, 17, 259, 66, 107, 83, ! 260, 254, -1, 249, 66, 107, 83, 84, -1, 249, ! 1, -1, -1, -1, -1, -1, 19, 261, 66, 266, ! 262, 270, 84, 263, 270, 83, 264, 254, -1, -1, ! 20, 66, 107, 83, 265, 254, -1, 270, 84, -1, ! 131, -1, 245, -1, 107, 84, -1, 235, 257, 236, ! -1, 23, 84, -1, 24, 84, -1, 25, 84, -1, ! 25, 107, 84, -1, 27, 269, 66, 107, 83, 84, ! -1, 27, 269, 66, 107, 46, 271, 83, 84, -1, ! 27, 269, 66, 107, 46, 271, 46, 271, 83, 84, ! -1, 27, 269, 66, 107, 46, 271, 46, 271, 46, ! 274, 83, 84, -1, 26, 105, 84, -1, 26, 58, ! 107, 84, -1, 84, -1, 21, 115, 46, -1, 21, ! 115, 10, 115, 46, -1, 22, 46, -1, 105, 251, ! 252, 46, 169, -1, -1, 7, -1, -1, 107, -1, ! -1, 272, -1, 273, -1, 272, 88, 273, -1, 9, ! 66, 107, 83, -1, 67, 105, 90, 9, 66, 107, ! 83, -1, 123, -1, 274, 88, 123, -1, -1, 169, ! 276, 277, -1, 280, 83, -1, -1, -1, 281, 84, ! 278, 169, 279, 277, -1, 1, 83, -1, -1, 10, ! -1, 281, -1, 281, 88, 10, -1, 283, -1, 281, ! 88, 282, -1, 148, 129, 193, 169, -1, 148, 129, ! 196, 169, -1, 148, 129, 220, -1, 149, 129, 196, ! 169, -1, 149, 129, 220, -1, 150, 284, 193, 169, ! -1, 150, 284, 196, 169, -1, 150, 284, 220, -1, ! 151, 284, 196, 169, -1, 151, 284, 220, -1, 129, ! -1, -1, 169, 286, 287, -1, 277, -1, 288, 83, ! -1, 3, -1, 288, 88, 3, -1, 105, -1, 289, ! 88, 105, -1, 31, -1 }; ! /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ! static const unsigned short yyrline[] = { ! 0, 287, 287, 291, 307, 307, 308, 308, 312, 313, ! 314, 322, 327, 334, 336, 338, 340, 341, 342, 349, ! 354, 348, 360, 363, 368, 362, 374, 377, 382, 376, ! 388, 393, 394, 397, 399, 401, 406, 408, 410, 412, ! 416, 422, 423, 427, 429, 434, 435, 438, 441, 445, ! 462, 468, 471, 474, 477, 479, 484, 488, 492, 496, ! 497, 502, 503, 505, 507, 509, 511, 513, 515, 517, ! 519, 521, 523, 525, 528, 527, 534, 533, 540, 543, ! 539, 549, 548, 558, 565, 576, 582, 583, 585, 588, ! 587, 600, 605, 607, 623, 630, 632, 635, 645, 655, ! 657, 661, 667, 669, 675, 676, 693, 695, 696, 707, ! 712, 713, 714, 715, 723, 725, 727, 730, 739, 748, ! 758, 763, 765, 767, 769, 771, 773, 830, 833, 836, ! 842, 848, 851, 857, 860, 866, 869, 872, 875, 878, ! 881, 884, 890, 893, 896, 899, 902, 905, 911, 914, ! 917, 920, 923, 926, 932, 935, 938, 941, 944, 950, ! 953, 956, 959, 965, 971, 977, 986, 992, 995, 998, ! 1004, 1010, 1016, 1025, 1031, 1034, 1037, 1040, 1043, 1046, ! 1049, 1055, 1061, 1067, 1076, 1079, 1082, 1085, 1088, 1094, ! 1097, 1100, 1103, 1106, 1109, 1112, 1118, 1124, 1130, 1139, ! 1142, 1145, 1148, 1151, 1158, 1159, 1160, 1161, 1162, 1163, ! 1164, 1165, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, ! 1180, 1181, 1182, 1183, 1187, 1188, 1189, 1190, 1194, 1195, ! 1196, 1197, 1201, 1202, 1203, 1204, 1208, 1209, 1210, 1211, ! 1212, 1213, 1214, 1215, 1219, 1220, 1221, 1222, 1223, 1224, ! 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, ! 1240, 1241, 1267, 1268, 1272, 1276, 1278, 1282, 1286, 1290, ! 1292, 1299, 1300, 1304, 1305, 1310, 1311, 1319, 1318, 1326, ! 1335, 1334, 1342, 1351, 1352, 1357, 1359, 1364, 1369, 1371, ! 1377, 1378, 1380, 1382, 1384, 1392, 1393, 1394, 1395, 1401, ! 1403, 1402, 1406, 1413, 1415, 1419, 1420, 1426, 1429, 1433, ! 1432, 1438, 1443, 1442, 1446, 1448, 1452, 1453, 1457, 1462, ! 1466, 1472, 1484, 1471, 1502, 1514, 1501, 1534, 1535, 1541, ! 1543, 1548, 1550, 1552, 1560, 1561, 1565, 1570, 1572, 1576, ! 1581, 1583, 1585, 1587, 1595, 1600, 1602, 1604, 1606, 1610, ! 1612, 1617, 1619, 1624, 1626, 1638, 1637, 1643, 1648, 1647, ! 1651, 1656, 1655, 1661, 1660, 1668, 1670, 1672, 1680, 1682, ! 1685, 1687, 1693, 1695, 1701, 1702, 1704, 1710, 1713, 1723, ! 1726, 1731, 1733, 1739, 1740, 1745, 1746, 1751, 1754, 1758, ! 1764, 1767, 1771, 1782, 1783, 1788, 1794, 1796, 1802, 1801, ! 1810, 1811, 1816, 1819, 1823, 1830, 1831, 1835, 1836, 1841, ! 1843, 1848, 1850, 1852, 1854, 1856, 1863, 1865, 1867, 1869, ! 1871, 1873, 1875, 1879, 1883, 1896, 1897, 1898, 1902, 1906, ! 1907, 1908, 1909, 1910, 1914, 1915, 1918, 1919, 1923, 1924, ! 1925, 1926, 1927, 1931, 1932, 1936, 1937, 1938, 1939, 1942, ! 1946, 1953, 1958, 1974, 1988, 1990, 1996, 1997, 2001, 2015, ! 2017, 2020, 2024, 2026, 2034, 2035, 2039, 2056, 2064, 2069, ! 2082, 2081, 2096, 2095, 2115, 2121, 2127, 2128, 2133, 2139, ! 2153, 2163, 2162, 2170, 2182, 2193, 2196, 2192, 2202, 2205, ! 2208, 2212, 2215, 2218, 2207, 2222, 2221, 2229, 2231, 2237, ! 2239, 2242, 2246, 2249, 2252, 2255, 2258, 2262, 2266, 2271, ! 2275, 2287, 2293, 2301, 2304, 2307, 2310, 2327, 2329, 2335, ! 2336, 2342, 2343, 2347, 2348, 2353, 2355, 2360, 2362, 2373, ! 2372, 2383, 2385, 2393, 2384, 2397, 2404, 2405, 2415, 2417, ! 2422, 2424, 2431, 2436, 2441, 2444, 2450, 2458, 2463, 2468, ! 2471, 2477, 2483, 2493, 2492, 2503, 2504, 2522, 2524, 2530, ! 2532, 2537 }; #endif ! #if YYDEBUG || YYERROR_VERBOSE ! /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. ! First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { ! "$end", "error", "$undefined", "IDENTIFIER", "TYPENAME", "SCSPEC", "TYPESPEC", "TYPE_QUAL", "CONSTANT", "STRING", "ELLIPSIS", "SIZEOF", "ENUM", "STRUCT", "UNION", "IF", "ELSE", "WHILE", "DO", "FOR", "SWITCH", "CASE", "DEFAULT", "BREAK", "CONTINUE", "RETURN", "GOTO", "ASM_KEYWORD", "TYPEOF", "ALIGNOF", "ATTRIBUTE", "EXTENSION", "LABEL", "REALPART", "IMAGPART", "VA_ARG", "CHOOSE_EXPR", "TYPES_COMPATIBLE_P", "PTR_VALUE", ! "PTR_BASE", "PTR_EXTENT", "STRING_FUNC_NAME", "VAR_FUNC_NAME", "'='", ! "ASSIGN", "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", ! "EQCOMPARE", "ARITHCOMPARE", "RSHIFT", "LSHIFT", "'+'", "'-'", "'*'", ! "'/'", "'%'", "MINUSMINUS", "PLUSPLUS", "UNARY", "HYPERUNARY", "'.'", ! "'('", "'['", "POINTSAT", "INTERFACE", "IMPLEMENTATION", "END", ! "SELECTOR", "DEFS", "ENCODE", "CLASSNAME", "PUBLIC", "PRIVATE", ! "PROTECTED", "PROTOCOL", "OBJECTNAME", "CLASS", "ALIAS", "')'", "';'", ! "'}'", "'~'", "'!'", "','", "'{'", "']'", "$accept", "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", "declspecs_nosc_ts_sa_ea", ! "declspecs_sc_nots_nosa_noea", "declspecs_sc_nots_nosa_ea", ! "declspecs_sc_nots_sa_noea", "declspecs_sc_nots_sa_ea", ! "declspecs_sc_ts_nosa_noea", "declspecs_sc_ts_nosa_ea", ! "declspecs_sc_ts_sa_noea", "declspecs_sc_ts_sa_ea", "declspecs_ts", ! "declspecs_nots", "declspecs_ts_nosa", "declspecs_nots_nosa", ! "declspecs_nosc_ts", "declspecs_nosc_nots", "declspecs_nosc", ! "declspecs", "maybe_type_quals_attrs", "typespec_nonattr", ! "typespec_attr", "typespec_reserved_nonattr", "typespec_reserved_attr", "typespec_nonreserved_nonattr", "initdecls", "notype_initdecls", "maybeasm", "initdcl", "@15", "notype_initdcl", "@16", "maybe_attribute", "attributes", "attribute", "attribute_list", *************** static const char *const yytname[] = *** 621,1770 **** }; #endif ! /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ! static const short yyr1[] = { ! 0, 91, 91, 93, 92, 94, 92, 95, 95, 95, ! 95, 96, 96, 96, 96, 96, 96, 96, 98, 99, ! 97, 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 }; ! /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ! static const short yyr2[] = { ! 0, 0, 1, 0, 2, 0, 3, 1, 1, 5, ! 2, 3, 4, 4, 2, 2, 2, 1, 0, 0, ! 9, 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 }; ! /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE ! doesn't specify something else to do. Zero means the default is an ! error. */ ! 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, 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, -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/share/bison/bison.simple" - - /* Skeleton output parser for bison, - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software - Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - - /* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - - /* This is the parser code that is written into each bison parser when - the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - - /* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - - #ifdef __cplusplus - # define YYSTD(x) std::x - #else - # define YYSTD(x) x - #endif ! #ifndef YYPARSE_RETURN_TYPE ! #define YYPARSE_RETURN_TYPE int ! #endif ! ! #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) ! ! /* The parser invokes alloca or malloc; define the necessary symbols. */ ! ! # if YYSTACK_USE_ALLOCA ! # define YYSTACK_ALLOC alloca ! # else ! # ifndef YYSTACK_USE_ALLOCA ! # if defined (alloca) || defined (_ALLOCA_H) ! # define YYSTACK_ALLOC alloca ! # else ! # ifdef __GNUC__ ! # define YYSTACK_ALLOC __builtin_alloca ! # endif ! # endif ! # endif ! # endif ! ! # ifdef YYSTACK_ALLOC ! /* Pacify GCC's `empty if-body' warning. */ ! # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) ! # else ! # ifdef __cplusplus ! # include /* INFRINGES ON USER NAME SPACE */ ! # define YYSIZE_T std::size_t ! # else ! # ifdef __STDC__ ! # include /* INFRINGES ON USER NAME SPACE */ ! # define YYSIZE_T size_t ! # endif ! # endif ! # define YYSTACK_ALLOC YYSTD (malloc) ! # define YYSTACK_FREE YYSTD (free) ! # endif ! ! /* A type that is properly aligned for any stack member. */ ! union yyalloc { ! short yyss; ! YYSTYPE yyvs; ! # if YYLSP_NEEDED ! YYLTYPE yyls; ! # endif }; - /* The size of the maximum gap between one aligned stack and the next. */ - # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) - - /* The size of an array large to enough to hold all stacks, each with - N elements. */ - # if YYLSP_NEEDED - # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ - + 2 * YYSTACK_GAP_MAX) - # else - # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAX) - # endif - - /* Relocate the TYPE STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ - # define YYSTACK_RELOCATE(Type, Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - yymemcpy ((char *) yyptr, (char *) (Stack), \ - yysize * (YYSIZE_T) sizeof (Type)); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (Type) + YYSTACK_GAP_MAX; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (0) - - #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ - - #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif --- 872,2011 ---- }; #endif ! # ifdef YYPRINT ! /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to ! token YYLEX-NUM. */ ! static const unsigned short yytoknum[] = { ! 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, ! 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, ! 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, ! 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, ! 295, 296, 297, 61, 298, 63, 58, 299, 300, 124, ! 94, 38, 301, 302, 303, 304, 43, 45, 42, 47, ! 37, 305, 306, 307, 308, 46, 40, 91, 309, 310, ! 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, ! 321, 322, 323, 41, 59, 125, 126, 33, 44, 123, ! 93 }; + # endif ! /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ! static const unsigned short yyr1[] = { ! 0, 91, 92, 92, 94, 93, 95, 93, 96, 96, ! 96, 96, 97, 97, 97, 97, 97, 97, 97, 99, ! 100, 98, 98, 101, 102, 98, 98, 103, 104, 98, ! 98, 105, 105, 106, 106, 106, 106, 106, 106, 106, ! 107, 108, 108, 109, 109, 110, 110, 110, 110, 110, ! 110, 110, 110, 110, 110, 110, 111, 112, 113, 114, ! 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, ! 115, 115, 115, 115, 116, 115, 117, 115, 118, 119, ! 115, 120, 115, 115, 115, 121, 121, 121, 121, 122, ! 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, ! 121, 121, 121, 121, 123, 123, 124, 124, 124, 125, ! 126, 126, 126, 126, 127, 127, 127, 127, 128, 129, ! 130, 131, 131, 131, 131, 131, 131, 132, 132, 132, ! 133, 134, 134, 135, 135, 136, 136, 136, 136, 136, ! 136, 136, 137, 137, 137, 137, 137, 137, 138, 138, ! 138, 138, 138, 138, 139, 139, 139, 139, 139, 140, ! 140, 140, 140, 140, 140, 140, 141, 142, 142, 142, ! 142, 142, 142, 143, 144, 144, 144, 144, 144, 144, ! 144, 144, 144, 144, 145, 145, 145, 145, 145, 146, ! 146, 146, 146, 146, 146, 146, 146, 146, 146, 147, ! 147, 147, 147, 147, 148, 148, 148, 148, 148, 148, ! 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, ! 150, 150, 150, 150, 151, 151, 151, 151, 152, 152, ! 152, 152, 153, 153, 153, 153, 154, 154, 154, 154, ! 154, 154, 154, 154, 155, 155, 155, 155, 155, 155, ! 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, ! 156, 156, 157, 157, 158, 159, 159, 160, 161, 161, ! 161, 162, 162, 163, 163, 164, 164, 166, 165, 165, ! 168, 167, 167, 169, 169, 170, 170, 171, 172, 172, ! 173, 173, 173, 173, 173, 174, 174, 174, 174, 175, ! 176, 175, 175, 177, 177, 178, 178, 179, 179, 180, ! 179, 179, 182, 181, 181, 181, 183, 183, 184, 184, ! 184, 186, 187, 185, 189, 190, 188, 191, 191, 192, ! 192, 192, 192, 192, 193, 193, 194, 194, 194, 195, ! 195, 195, 195, 195, 196, 196, 196, 196, 196, 197, ! 197, 198, 198, 199, 199, 201, 200, 200, 202, 200, ! 200, 203, 200, 204, 200, 205, 205, 205, 206, 206, ! 207, 207, 208, 208, 209, 209, 209, 210, 210, 210, ! 210, 210, 210, 211, 211, 212, 212, 213, 213, 213, ! 214, 214, 214, 215, 215, 215, 216, 216, 218, 217, ! 219, 219, 220, 220, 220, 221, 221, 222, 222, 223, ! 223, 224, 224, 224, 224, 224, 225, 225, 225, 225, ! 225, 225, 225, 225, 225, 226, 226, 226, 226, 227, ! 227, 227, 227, 227, 228, 228, 228, 228, 229, 229, ! 229, 229, 229, 230, 230, 231, 231, 231, 231, 232, ! 233, 234, 235, 236, 237, 237, 238, 238, 239, 240, ! 240, 241, 242, 242, 243, 243, 244, 245, 246, 246, ! 248, 247, 250, 249, 251, 252, 253, 253, 254, 255, ! 256, 258, 257, 257, 257, 259, 260, 257, 257, 257, ! 261, 262, 263, 264, 257, 265, 257, 266, 266, 267, ! 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, ! 267, 267, 267, 268, 268, 268, 268, 269, 269, 270, ! 270, 271, 271, 272, 272, 273, 273, 274, 274, 276, ! 275, 277, 278, 279, 277, 277, 280, 280, 280, 280, ! 281, 281, 282, 282, 282, 282, 282, 283, 283, 283, ! 283, 283, 284, 286, 285, 287, 287, 288, 288, 289, ! 289, 290 ! }; ! ! /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ ! static const unsigned char yyr2[] = ! { ! 0, 2, 0, 1, 0, 2, 0, 3, 1, 1, ! 5, 2, 3, 4, 4, 2, 2, 2, 1, 0, ! 0, 9, 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 }; ! /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state ! STATE-NUM when YYTABLE doesn't specify something else to do. Zero ! means the default is an error. */ ! static const unsigned short yydefact[] = { ! 4, 0, 6, 0, 1, 0, 0, 268, 159, 265, ! 127, 353, 349, 351, 0, 58, 0, 561, 18, 5, ! 9, 8, 0, 0, 212, 213, 214, 215, 204, 205, ! 206, 207, 216, 217, 218, 219, 208, 209, 210, 211, ! 119, 119, 0, 135, 142, 262, 264, 263, 133, 285, ! 0, 0, 0, 267, 266, 0, 7, 16, 17, 354, ! 350, 352, 0, 0, 0, 348, 260, 283, 0, 273, ! 0, 162, 128, 140, 146, 130, 163, 129, 141, 147, ! 169, 131, 152, 157, 134, 170, 132, 153, 158, 180, ! 136, 138, 144, 143, 181, 137, 139, 145, 195, 148, ! 150, 155, 154, 196, 149, 151, 156, 164, 160, 178, ! 187, 166, 165, 161, 179, 188, 171, 167, 193, 202, ! 173, 172, 168, 194, 203, 182, 174, 176, 185, 184, ! 183, 175, 177, 186, 197, 189, 191, 200, 199, 198, ! 190, 192, 201, 0, 0, 15, 286, 31, 32, 374, ! 365, 374, 366, 363, 367, 11, 85, 86, 104, 56, ! 57, 0, 0, 0, 0, 0, 88, 0, 33, 35, ! 34, 0, 37, 36, 0, 38, 39, 0, 0, 40, ! 59, 0, 0, 61, 43, 45, 87, 0, 0, 290, ! 0, 240, 241, 242, 243, 236, 237, 238, 239, 398, ! 0, 232, 233, 234, 235, 261, 0, 0, 284, 12, ! 283, 30, 0, 283, 0, 0, 283, 347, 333, 260, ! 283, 0, 271, 0, 327, 328, 0, 0, 0, 0, ! 355, 0, 358, 0, 361, 54, 55, 0, 0, 0, ! 49, 46, 0, 466, 0, 0, 48, 0, 0, 0, ! 50, 0, 52, 0, 0, 78, 76, 74, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 103, 102, 0, 41, 0, 0, 105, 0, 462, 454, ! 0, 47, 296, 297, 298, 295, 0, 288, 291, 269, ! 400, 270, 346, 0, 0, 120, 0, 553, 344, 0, ! 0, 418, 0, 0, 0, 28, 0, 474, 111, 475, ! 282, 0, 0, 14, 283, 22, 0, 283, 283, 331, ! 13, 26, 0, 283, 381, 376, 232, 233, 234, 235, ! 228, 229, 230, 231, 119, 119, 373, 0, 374, 283, ! 374, 395, 396, 370, 393, 0, 0, 0, 0, 92, ! 91, 0, 10, 44, 0, 0, 83, 84, 0, 0, ! 0, 0, 72, 73, 71, 70, 69, 68, 67, 62, ! 63, 64, 65, 66, 100, 0, 42, 0, 101, 94, ! 0, 0, 455, 456, 93, 0, 290, 41, 260, 283, ! 399, 401, 406, 405, 407, 415, 345, 274, 275, 0, ! 0, 0, 0, 420, 416, 0, 0, 419, 0, 449, ! 474, 113, 108, 112, 0, 280, 332, 0, 0, 20, ! 279, 330, 24, 357, 474, 474, 375, 382, 0, 360, ! 0, 0, 371, 0, 370, 0, 0, 0, 89, 60, ! 51, 53, 0, 0, 77, 75, 95, 99, 559, 0, ! 465, 434, 464, 474, 474, 474, 474, 0, 443, 0, ! 475, 429, 438, 457, 287, 289, 85, 0, 409, 529, ! 414, 283, 413, 276, 0, 557, 537, 224, 225, 220, ! 221, 226, 227, 222, 223, 119, 119, 555, 0, 538, ! 540, 554, 0, 422, 0, 0, 421, 417, 475, 109, ! 119, 119, 0, 329, 272, 275, 474, 277, 474, 377, ! 383, 475, 379, 385, 475, 283, 283, 397, 394, 283, ! 0, 0, 0, 0, 0, 79, 82, 458, 0, 435, ! 430, 439, 436, 431, 440, 475, 432, 441, 437, 433, ! 442, 444, 451, 452, 292, 0, 294, 408, 410, 0, ! 0, 529, 412, 535, 552, 402, 402, 531, 532, 0, ! 556, 0, 423, 424, 0, 116, 0, 117, 0, 302, ! 300, 299, 281, 475, 0, 475, 283, 378, 283, 0, ! 356, 359, 364, 283, 96, 0, 98, 315, 85, 0, ! 0, 312, 0, 314, 0, 368, 305, 311, 0, 0, ! 0, 560, 452, 463, 268, 0, 0, 0, 0, 0, ! 0, 517, 512, 461, 474, 0, 118, 119, 119, 0, ! 0, 450, 499, 479, 480, 0, 0, 411, 530, 338, ! 260, 283, 283, 334, 335, 283, 549, 403, 406, 260, ! 283, 283, 551, 283, 539, 212, 213, 214, 215, 204, ! 205, 206, 207, 216, 217, 218, 219, 208, 209, 210, ! 211, 119, 119, 541, 558, 0, 29, 459, 0, 0, ! 0, 0, 278, 0, 474, 0, 283, 474, 0, 283, ! 362, 0, 318, 0, 0, 309, 90, 0, 304, 0, ! 317, 308, 80, 0, 515, 502, 503, 504, 0, 0, ! 0, 518, 0, 475, 500, 0, 0, 125, 470, 485, ! 472, 490, 0, 483, 0, 0, 453, 467, 126, 293, ! 409, 529, 547, 283, 337, 283, 340, 548, 404, 409, ! 529, 550, 533, 402, 402, 460, 114, 115, 0, 21, ! 25, 384, 475, 283, 0, 387, 386, 283, 0, 390, ! 97, 0, 320, 0, 0, 306, 307, 0, 513, 505, ! 0, 510, 0, 0, 0, 123, 321, 0, 124, 324, ! 0, 0, 452, 0, 0, 0, 469, 474, 468, 489, ! 0, 501, 341, 342, 0, 336, 339, 0, 283, 283, ! 544, 283, 546, 301, 0, 389, 283, 392, 283, 0, ! 313, 310, 0, 511, 0, 283, 121, 0, 122, 0, ! 0, 0, 0, 519, 0, 484, 452, 453, 476, 474, ! 0, 343, 534, 542, 543, 545, 388, 391, 319, 514, ! 521, 0, 516, 322, 325, 0, 0, 473, 520, 498, ! 491, 0, 495, 482, 478, 477, 0, 0, 0, 0, ! 522, 523, 506, 474, 474, 471, 486, 519, 497, 452, ! 488, 0, 0, 521, 0, 0, 475, 475, 452, 0, ! 496, 0, 0, 0, 507, 524, 0, 0, 487, 492, ! 525, 0, 0, 0, 323, 326, 519, 0, 527, 0, ! 508, 0, 0, 0, 0, 493, 526, 509, 528, 452, ! 494 }; + /* YYDEFGOTO[NTERM-NUM]. */ static const short yydefgoto[] = { ! -1, 1, 2, 3, 5, 19, 20, 21, 316, 506, ! 322, 508, 215, 410, 592, 177, 244, 375, 179, 180, ! 181, 182, 22, 183, 184, 361, 360, 358, 600, 359, ! 185, 524, 186, 305, 306, 307, 499, 451, 23, 294, ! 616, 191, 192, 193, 194, 195, 196, 197, 198, 32, ! 33, 34, 35, 36, 37, 38, 39, 40, 41, 485, ! 486, 334, 205, 199, 42, 206, 43, 44, 45, 46, ! 47, 221, 68, 216, 222, 574, 69, 502, 295, 208, ! 49, 286, 287, 288, 572, 670, 594, 595, 596, 754, ! 597, 684, 598, 599, 765, 807, 853, 768, 809, 854, ! 505, 224, 632, 633, 634, 225, 50, 51, 52, 53, ! 338, 340, 345, 233, 54, 688, 433, 228, 229, 336, ! 509, 512, 510, 513, 343, 344, 200, 290, 390, 636, ! 637, 392, 393, 394, 217, 452, 453, 454, 455, 456, ! 457, 308, 279, 603, 777, 781, 381, 382, 383, 666, ! 621, 280, 459, 187, 667, 713, 714, 770, 715, 772, ! 309, 414, 817, 778, 818, 819, 716, 816, 771, 868, ! 773, 857, 886, 899, 859, 840, 623, 624, 702, 841, ! 849, 850, 851, 889, 470, 550, 487, 643, 787, 488, ! 489, 663, 490, 555, 298, 400, 491, 492, 449, 188 }; + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ + #define YYPACT_NINF -713 static const short yypact[] = { ! 159, 169, 177, 961, -713, 961, 441, -713, -713, -713, ! -713, 196, 196, 196, 166, -713, 192, -713, -713, -713, ! -713, -713, 213, 345, 300, 515, 1115, 1018, 458, 408, ! 796, 488, 1236, 1269, 1240, 1454, 1309, 751, 1501, 885, ! -713, -713, 208, -713, -713, -713, -713, -713, 196, -713, ! 127, 133, 150, -713, -713, 961, -713, -713, -713, 196, ! 196, 196, 2755, 229, 2673, -713, 120, 196, 163, -713, ! 1167, -713, -713, -713, -713, 196, -713, -713, -713, -713, ! -713, -713, -713, -713, 196, -713, -713, -713, -713, -713, ! -713, -713, -713, 196, -713, -713, -713, -713, -713, -713, ! -713, -713, 196, -713, -713, -713, -713, -713, -713, -713, ! -713, 196, -713, -713, -713, -713, -713, -713, -713, -713, ! 196, -713, -713, -713, -713, -713, -713, -713, -713, 196, ! -713, -713, -713, -713, -713, -713, -713, -713, 196, -713, ! -713, -713, -713, 501, 345, -713, -713, -713, -713, -713, ! 245, -713, 248, -713, 255, -713, -713, -713, -713, -713, ! -713, 2755, 2755, 330, 343, 357, -713, 534, -713, -713, ! -713, 2755, -713, -713, 1774, -713, -713, 2755, 275, 342, ! -713, 2796, 2837, -713, 3084, 755, 424, 1536, 2755, 615, ! 359, 1022, 784, 1163, 3080, 1077, 719, 1743, 1102, -713, ! 367, 258, 460, 287, 469, -713, 345, 345, 196, -713, ! 196, -713, 413, 196, 2206, 358, 196, -713, -713, 120, ! 196, 238, -713, 447, 499, 502, 289, 2141, 421, 930, ! -713, 425, -713, 482, -713, -713, -713, 2755, 2755, 3049, ! -713, -713, 430, -713, 451, 456, -713, 446, 2755, 1774, ! -713, 1774, -713, 2755, 2755, 462, -713, -713, 2755, 2755, ! 2755, 2755, 2755, 2755, 2755, 2755, 2755, 2755, 2755, 2755, ! -713, -713, 534, 2755, 2755, 534, -713, 463, -713, 542, ! 496, -713, -713, -713, -713, -713, 122, -713, 524, -713, ! 224, -713, 502, 351, 345, -713, 586, -713, -713, 2673, ! 2307, -713, 508, 2247, 518, -713, 111, 79, -713, -713, ! 568, 501, 501, -713, 196, -713, 358, 196, 196, -713, ! -713, -713, 358, 196, -713, -713, 1022, 784, 1163, 3080, ! 1077, 719, 1743, 1102, -713, 493, 550, 2169, -713, 196, ! -713, -713, 595, 555, -713, 482, 2942, 2960, 557, -713, ! -713, 2548, -713, 3084, 564, 570, 3084, 3084, 2755, 605, ! 2755, 2755, 2510, 1799, 1464, 2635, 783, 997, 997, 308, ! 308, -713, -713, -713, -713, 574, 342, 569, -713, -713, ! 534, 1391, 542, -713, -713, 578, 615, 2878, 120, 196, ! -713, -713, -713, -713, 516, -713, -713, -713, 179, 89, ! 1211, 585, 2755, -713, -713, 2755, 2348, -713, 601, -713, ! -713, -713, -713, -713, 1373, -713, 499, 432, 501, -713, ! 650, -713, -713, -713, -713, -713, -713, -713, 614, -713, ! 616, 2755, 534, 620, 555, 3049, 2755, 3049, -713, -713, ! 630, 630, 677, 2755, 3113, 2064, -713, -713, -713, 292, ! 518, -713, -713, 78, 93, 96, 118, 737, -713, 659, ! -713, -713, -713, -713, -713, -713, 155, 667, 224, 224, ! -713, 196, -713, -713, 679, -713, -713, 2050, 1458, 690, ! 772, 2317, 2079, 740, 1299, -713, -713, -713, 683, 310, ! -713, -713, 189, -713, 652, 681, -713, -713, -713, -713, ! 696, 699, 2039, -713, -713, 760, -713, -713, -713, 705, ! -713, -713, 706, -713, -713, 196, 196, 3084, -713, 196, ! 682, 717, 2984, 721, 1838, -713, 3100, -713, 534, -713, ! -713, -713, -713, -713, -713, -713, -713, -713, -713, -713, ! -713, -713, -713, 2418, -713, 2755, -713, -713, -713, 722, ! 855, -713, -713, -713, -713, 321, 283, -713, -713, 1336, ! -713, 803, -713, -713, 73, -713, 501, -713, 345, -713, ! -713, 3084, -713, -713, 2039, -713, 196, 547, 196, 366, ! -713, -713, -713, 196, -713, 2755, -713, -713, 761, 534, ! 2755, -713, 767, 3084, 734, 739, -713, -713, 211, 1972, ! 2755, -713, 2487, -713, 786, 2755, 798, 745, 746, 2714, ! 265, 842, -713, -713, -713, 768, -713, -713, -713, 769, ! 986, 770, -713, -713, -713, 2612, 215, -713, -713, -713, ! 120, 196, 196, 598, 644, 218, -713, -713, 196, 120, ! 196, 218, -713, 196, -713, 2050, 1458, 2458, 2527, 690, ! 772, 1063, 1569, 2317, 2079, 3045, 3076, 740, 1299, 1377, ! 1656, -713, -713, -713, -713, 774, -713, -713, 313, 320, ! 1838, 73, -713, 73, -713, 2755, 130, -713, 2755, 457, ! -713, 1556, -713, 1440, 1838, -713, -713, 1905, -713, 2101, ! -713, -713, 3100, 2923, -713, -713, -713, -713, 780, 2755, ! 782, -713, 804, -713, -713, 501, 345, -713, -713, -713, ! -713, -713, 806, 861, 1623, 107, -713, -713, -713, -713, ! 321, 333, -713, 196, -713, 196, -713, -713, 196, 283, ! 283, -713, -713, 321, 283, -713, -713, -713, 793, -713, ! -713, -713, -713, 1643, 2755, -713, -713, 1643, 2755, -713, ! -713, 2755, -713, 794, 2101, -713, -713, 2755, -713, -713, ! 797, -713, 2755, 836, 322, -713, 606, 355, -713, 655, ! 820, 821, -713, 823, 2755, 1710, -713, -713, -713, -713, ! 2755, -713, 598, 644, 466, -713, -713, 855, 196, 218, ! -713, 218, -713, -713, 547, -713, 1643, -713, 1643, 2898, ! -713, -713, 3066, -713, 60, 196, -713, 358, -713, 358, ! 2755, 2755, 878, 2612, 817, -713, -713, -713, -713, -713, ! 818, -713, -713, -713, -713, -713, -713, -713, -713, -713, ! 140, 819, -713, -713, -713, 833, 834, -713, -713, -713, ! -713, 835, -713, -713, -713, -713, 838, 852, 534, 63, ! 814, -713, -713, -713, -713, -713, -713, 2755, -713, -713, ! -713, 2755, 837, 140, 839, 140, -713, -713, -713, 844, ! -713, 843, 924, 112, -713, -713, 774, 774, -713, -713, ! -713, 873, 586, 875, -713, -713, 2755, 2755, 424, 233, ! -713, 874, 880, 886, 586, -713, -713, -713, 424, -713, ! -713 }; + /* YYPGOTO[NTERM-NUM]. */ static const short yypgoto[] = { ! -713, -713, -713, -713, -713, 102, -713, -713, -713, -713, ! -713, -713, -713, -713, 82, -713, -62, 584, -252, 548, ! -713, -713, -713, -107, 687, -713, -713, -713, -713, -713, ! -713, -713, -270, -300, 665, -713, -713, 100, 11, -295, ! -580, 2, 5, 37, 38, 41, 44, -2, 45, -380, ! -342, 418, 420, -341, -331, 426, 427, -481, -458, 573, ! 576, -713, -153, -109, -511, -202, 582, 654, 678, 876, ! -713, -476, -133, -208, 566, -713, 700, -713, 253, 1, ! 27, -713, 607, -713, 428, -713, -529, -713, 325, -713, ! -563, -713, -713, 397, -713, -713, -713, -713, -713, -713, ! -120, 423, 264, 293, 40, 7, -713, -713, -713, -713, ! -713, -713, -713, -713, -713, -713, 583, -85, -713, 670, ! -713, -713, 344, 339, 675, 589, -52, -713, -713, -474, ! -281, -373, -440, -713, 365, -713, -713, -713, -713, -713, ! -713, -215, -713, -713, -401, 216, -713, -713, 658, -182, ! -713, 416, -713, -713, -525, -713, -713, -713, -713, -713, ! 657, -350, 220, -688, -192, -145, -713, -713, -713, -713, ! -713, -713, -713, -713, -713, -713, -713, -713, -713, -712, ! 180, -713, 197, -713, 590, -713, -512, -713, -713, -713, ! -713, -713, -713, 579, -294, -713, -713, -713, -713, 58 }; ! /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If ! positive, shift that token. If negative, reduce the rule which ! number is the opposite. If zero, do what YYDEFACT says. ! If YYTABLE_NINF, syntax error. */ ! #define YYTABLE_NINF -537 static const short yytable[] = { ! 178, 30, 190, 30, 48, 24, 48, 24, 25, 391, ! 25, 226, 59, 60, 61, 317, 419, 311, 622, 418, ! 481, 376, 422, 223, 421, 75, 399, 84, 548, 93, ! 70, 102, 619, 111, 481, 120, 691, 129, 628, 138, ! 26, 27, 26, 27, 28, 718, 28, 29, 31, 29, ! 31, 143, 144, 30, 235, 236, 48, 24, 482, 483, ! 25, 55, 617, 55, 241, 48, 231, 48, 201, 484, ! 246, 202, 482, 483, 665, 146, 335, 622, 661, -445, ! -107, 281, 642, 484, 812, 618, 146, 146, 146, 412, ! 668, 411, 26, 27, -446, 547, 28, -447, 276, 29, ! 31, 662, 146, 203, 204, 303, 830, 56, 779, 863, ! 543, 146, 304, 55, 619, -110, -110, -110, -110, -448, ! 146, -110, 245, -110, -110, -110, 756, 10, 843, 146, ! 147, 148, 150, 152, 154, 376, 147, 148, 146, -110, ! 735, 738, 620, 831, 617, 869, 864, 146, 564, 847, ! 16, 227, 302, 147, 148, 753, 146, 155, 882, -2, ! 16, 577, 613, -425, 579, 146, 458, 618, -107, 4, ! 481, 870, 473, 780, 891, 48, 744, -3, -426, 653, ! 878, -427, 638, 638, 335, 602, 468, 348, 549, 461, ! 402, 801, 75, 241, 84, 883, 93, 354, 102, 355, ! -110, 620, 75, -428, 84, 385, 212, 848, 482, 483, ! 386, 900, 377, 292, 293, 48, 149, 654, 657, 484, ! 48, 201, 151, 671, 202, 673, 16, 332, 658, 764, ! 48, 326, 62, 839, 327, 146, 462, 401, 544, 153, ! 48, 408, 541, 545, 439, 213, 214, 209, 16, 240, ! 48, 210, 48, 428, 689, 430, 203, 204, 63, 790, ! 792, 530, 533, 536, 539, 72, 328, 329, 147, 148, ! 330, 285, 560, 331, 333, 822, 589, 561, 590, 64, ! 548, 674, 388, 677, 213, 214, 65, 337, 16, 548, ! 389, 214, 145, 626, 81, 189, 442, 317, 719, 241, ! 48, 398, 619, 248, 7, 71, 9, 72, 531, 534, ! 537, 540, 11, 12, 13, 342, 893, 16, 292, 293, ! 207, 894, 313, 699, 65, 629, 314, 75, 15, 84, ! 16, 93, 617, 102, 230, 332, 65, 232, 48, 326, ! 494, 639, 327, 495, 234, 424, 425, 547, 65, 640, ! 214, 884, 885, 763, 374, 618, 547, 378, 247, 304, ! 638, 638, -474, -474, -474, -474, 267, 268, 269, 65, ! -474, -474, -474, 320, 328, 329, 527, 210, 330, 630, ! 528, 331, 333, 521, -244, 523, -474, 631, 214, 48, ! 201, 630, 794, 202, 558, 337, 237, 736, 559, 631, ! 214, 314, 477, 66, 737, 478, 806, 481, 210, 238, ! 314, 67, 678, 94, 9, 95, 477, 213, 214, 478, ! 11, 12, 13, 239, 66, 203, 204, 342, 720, 785, ! 248, 786, 67, 276, 396, 669, 48, 729, 48, 808, ! 549, 479, 289, 210, 480, 482, 483, -106, 315, 549, ! 291, -19, -19, -19, -19, 479, 484, 676, 480, -19, ! -19, -19, 448, 89, 9, 90, 297, 77, 285, 310, ! 11, 12, 13, 312, 212, -19, 86, -275, 75, 296, ! 93, 615, 111, 341, 129, 147, 148, 16, 16, 739, ! -275, 740, -249, 103, 9, 104, 554, 554, 318, 214, ! 11, 12, 13, 748, 65, 218, 323, 833, -81, 834, ! 339, 566, 568, 349, 342, 503, 876, 877, 281, 7, ! 76, 9, 77, 213, 214, 57, 58, 11, 12, 13, ! 352, -275, 725, 214, 350, -275, -19, 147, 148, 351, ! 615, 30, -248, 15, 48, 24, 379, 698, 25, 821, ! 65, 218, 477, 529, 532, 478, 538, 651, 317, 219, ! 48, 645, 635, 641, 646, 318, 214, 220, 213, 214, ! 420, 297, -251, 767, 380, 398, 423, -380, -380, 384, ! 26, 27, 471, 214, 28, 766, 679, 29, 31, 319, ! 387, 479, 429, 675, 480, 158, 647, 648, 404, -245, ! 649, 625, 409, 650, 652, 219, 73, 78, 82, 87, ! 601, 415, 888, 220, 109, 114, 118, 123, 147, 148, ! 282, 283, 284, 30, 898, 614, 48, 24, 705, 706, ! 25, 48, 201, 212, 426, 202, -275, 760, 431, 728, ! 48, 201, 469, 432, 202, 437, 75, 440, 84, -275, ! 93, 443, 102, 441, 111, 395, 120, 446, 129, 447, ! 138, 464, 26, 27, 723, 214, 28, 203, 204, 29, ! 31, 682, 733, 734, 676, 493, 203, 204, 74, 79, ! 83, 88, 212, 625, 614, -275, 110, 115, 119, 124, ! -275, 497, 700, 507, -275, 89, 9, 90, -275, 515, ! 804, 516, 11, 12, 13, 519, 91, 96, 100, 105, ! 725, 214, 814, 769, 127, 132, 136, 141, 820, 438, ! 16, 213, 214, 525, 551, 9, 95, 292, 293, 250, ! 252, 11, 12, 13, 416, 417, 292, 293, 304, -275, ! 789, 791, 562, -275, 542, 125, 9, 126, 835, 836, ! 546, 838, 11, 12, 13, 146, 130, 9, 131, 472, ! 783, 784, 553, 11, 12, 13, 557, 583, 580, 581, ! 16, 563, 582, 73, 78, 82, 87, 94, 9, 95, ! 565, 319, 319, 567, 11, 12, 13, 212, 7, 477, ! 9, 77, 478, 576, 578, 838, 11, 12, 13, 871, ! 584, 98, 9, 99, 586, 627, 664, -31, 11, 12, ! 13, 30, 15, 685, 48, 24, 270, 271, 25, 686, ! 272, 273, 274, 275, 838, 892, 16, 687, 479, 695, ! 696, 480, -32, 395, 395, -257, 680, 263, 264, 265, ! 266, 267, 268, 269, 694, 74, 79, 83, 88, 701, ! 26, 27, 704, 707, 28, 278, 474, 29, 31, 7, ! 8, 9, 10, 613, 759, 476, 761, 11, 12, 13, ! 762, 625, 774, 91, 96, 100, 105, 775, 793, 800, ! -250, 803, 805, 15, 721, 722, 810, 811, 727, 813, ! 139, 9, 140, 730, 731, 837, 732, 11, 12, 13, ! 842, 846, 865, 852, 92, 97, 101, 106, 73, 78, ! 82, 87, 128, 133, 137, 142, 855, 856, 861, 858, ! 395, 395, 860, 874, 346, 347, 880, 872, 879, 745, ! 862, 324, 749, 881, 7, 353, 9, 10, -536, 887, ! 356, 357, 11, 12, 13, 362, 363, 364, 365, 366, ! 367, 368, 369, 370, 371, 372, 373, 895, 15, 890, ! 16, 17, 6, 896, -119, 7, 8, 9, 10, -259, ! 897, 467, 413, 11, 12, 13, 297, 655, 297, 656, ! 74, 79, 83, 88, 504, 659, 660, 500, 14, 15, ! 501, 16, 17, 465, 397, 690, 795, 788, 724, 726, ! 797, 708, 672, 709, 710, 711, 712, 427, 91, 96, ! 100, 105, 755, 782, 325, -372, 746, 520, 741, -119, ! 434, 518, 7, 85, 9, 86, 7, -119, 9, 72, ! 11, 12, 13, 844, 11, 12, 13, 717, 460, 845, ! 463, 823, 824, 873, 825, 18, 15, 444, 445, 826, ! 15, 827, 16, 265, 266, 267, 268, 269, 832, 73, ! 78, 552, 875, 109, 114, 556, 0, 498, 98, 9, ! 99, 92, 97, 101, 106, 11, 12, 13, 0, 0, ! 0, 511, 514, 9, 90, 395, 395, 0, 0, 11, ! 12, 13, 0, 16, 395, 395, 0, 0, 395, 395, ! 0, 0, -247, 0, 0, 0, 0, 16, 9, 104, ! 460, 460, 535, 460, 11, 12, 13, 0, 517, 7, ! 80, 9, 81, 522, 0, 0, 0, 11, 12, 13, ! 526, 74, 79, 0, 0, 110, 115, 0, 0, 0, ! 0, 0, 0, 15, 0, 16, 0, 724, 726, 726, ! 0, 0, 0, 0, 0, 0, 0, 91, 96, 0, ! 0, 127, 132, 573, 0, 575, 0, 7, 211, 9, ! 81, -27, -27, -27, -27, 11, 12, 13, 0, -27, ! -27, -27, 0, 0, 0, 0, 0, 0, 0, 571, ! 0, 15, 0, 16, 212, -27, 0, -275, 0, -246, ! 0, 0, 0, 0, 0, 0, 92, 97, 101, 106, ! -275, 593, 474, 0, 475, 7, 8, 9, 10, 0, ! 0, 476, 0, 11, 12, 13, 0, 73, 78, 82, ! 87, 0, 0, 213, 214, 109, 114, 118, 123, 15, ! 7, 107, 9, 108, 7, 116, 9, 117, 11, 12, ! 13, -275, 11, 12, 13, -275, -27, 0, 0, 0, ! 0, 571, 0, 0, 15, 0, 16, 0, 15, 0, ! 16, 703, 681, 7, 112, 9, 113, 683, 0, 0, ! 0, 11, 12, 13, 0, 0, 593, 692, 0, 0, ! 0, 0, 693, 0, -536, 0, 0, 15, 0, 74, ! 79, 83, 88, 0, 130, 9, 131, 110, 115, 119, ! 124, 11, 12, 13, 125, 9, 126, 0, 0, 0, ! -252, 11, 12, 13, -254, 0, 0, 91, 96, 100, ! 105, 742, 0, 0, 514, 127, 132, 136, 141, 16, ! 7, 8, 9, 10, 0, 0, 644, 0, 11, 12, ! 13, 0, 0, -253, 0, 92, 97, 593, 0, 128, ! 133, 0, 743, 0, 15, 747, 16, 0, 0, 0, ! 0, 593, 0, 0, 593, 0, 593, 7, 8, 9, ! 10, 0, 134, 9, 135, 11, 12, 13, 0, 11, ! 12, 13, 450, -256, -474, -474, -474, -474, -474, -474, ! -474, 15, -474, -474, -474, -474, -474, 16, -474, -474, ! -474, -474, -474, -474, -474, -474, -474, -474, -474, -474, ! -474, -474, -474, 0, -474, -474, -474, -474, -474, 0, ! 0, 796, 0, -474, 535, 798, 0, 0, 799, -474, ! 0, 593, -474, 0, 802, 0, 0, -474, -474, -474, ! 751, 0, -474, -474, 0, 0, 0, -474, 7, 121, ! 9, 122, 7, 76, 9, 77, 11, 12, 13, 0, ! 11, 12, 13, 0, 0, -474, 535, -474, -474, 0, ! -474, 0, 15, 253, 254, 255, 15, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, ! 269, 0, 0, 0, 0, 0, 134, 9, 135, 0, ! 866, 867, 0, 11, 12, 13, 261, 262, 263, 264, ! 265, 266, 267, 268, 269, 92, 97, 101, 106, 0, ! 752, 16, 0, 128, 133, 137, 142, 277, -255, -450, ! -450, -450, -450, -450, -450, -450, 0, -450, -450, -450, ! -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, ! -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, ! -450, -450, -450, -450, 103, 9, 104, 0, -450, 0, ! 0, 11, 12, 13, -450, -258, 0, -450, 0, 0, ! 0, 0, -450, -450, -450, 0, 0, -450, -450, 253, ! 254, 255, -450, 256, 257, 258, 259, 260, 261, 262, ! 263, 264, 265, 266, 267, 268, 269, 0, 0, 0, ! -450, 278, -450, -450, 776, -450, -452, -452, 0, 0, ! 0, -452, -452, 0, -452, 0, 0, 0, -452, 750, ! -452, -452, -452, -452, -452, -452, -452, -452, -452, -452, ! -452, 0, -452, 0, -452, 0, -452, -452, -452, -452, ! -452, 139, 9, 140, 0, -452, 0, 0, 11, 12, ! 13, -452, 0, 16, -452, 0, 0, 0, 0, -452, ! -452, -452, 0, 0, -452, -452, 253, 254, 255, -452, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 267, 268, 269, 0, 0, 0, -452, 0, -452, ! -452, 815, -452, -481, -481, 0, 0, 0, -481, -481, ! 0, -481, 0, 0, 0, -481, 0, -481, -481, -481, ! -481, -481, -481, -481, -481, -481, -481, -481, 0, -481, ! 0, -481, 0, -481, -481, -481, -481, -481, 0, 9, ! 99, 0, -481, 0, 0, 11, 12, 13, -481, 0, ! 0, -481, 0, 0, 0, 0, -481, -481, -481, 0, ! 0, -481, -481, 16, 0, 242, -481, 156, 7, 0, ! 9, 10, 157, 158, 0, 159, 11, 12, 13, 0, ! 0, 0, 0, 0, -481, 0, -481, -481, 0, -481, ! 0, 0, 15, 160, 16, 17, 0, 161, 162, 163, ! 164, 165, 0, 0, 0, 0, 166, 0, 0, 0, ! 0, 0, 167, 0, 0, 168, 0, 0, 0, 0, ! 169, 170, 171, 0, 0, 172, 173, 0, 0, 587, ! 174, 588, 148, 0, 0, 0, 157, 158, 0, 159, ! 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, ! 175, 176, 0, 243, 0, 0, 0, 160, 0, 17, ! 0, 161, 162, 163, 164, 165, 0, 0, 0, 0, ! 166, 0, 0, 0, 0, 0, 167, 0, 0, 168, ! 0, 0, 0, 0, 169, 170, 171, 0, 0, 172, ! 173, 0, 0, 589, 174, 590, 587, 0, 588, 148, ! 0, 0, 0, 157, 158, 0, 159, 0, 0, 0, ! 0, 0, 0, -303, 175, 176, 0, 591, 0, 0, ! 0, 0, 0, 0, 160, 0, 17, 0, 161, 162, ! 163, 164, 165, 0, 0, 0, 0, 166, 0, 0, ! 0, 0, 0, 167, 0, 0, 168, 0, 0, 0, ! 0, 169, 170, 171, 0, 0, 172, 173, 0, 0, ! 589, 174, 590, 587, 0, 156, 0, 0, 0, 0, ! 157, 158, 0, 159, 0, 0, 0, 0, 0, 0, ! -369, 175, 176, 0, 591, 0, 0, 0, 0, 0, ! 0, 160, 0, 17, 0, 161, 162, 163, 164, 165, ! 0, 0, 0, 0, 166, -316, 0, 0, 0, 0, ! 167, 0, 0, 168, 0, 0, 0, 0, 169, 170, ! 171, 0, 0, 172, 173, 0, 0, -316, 174, -316, ! 569, 0, 156, 0, 0, 0, 0, 157, 158, 0, ! 159, 0, 0, 0, 7, 71, 9, 72, 175, 176, ! 0, 591, 11, 12, 13, 0, 0, 0, 160, 0, ! 17, 0, 161, 162, 163, 164, 165, 0, 15, 0, ! 16, 166, 0, 7, 112, 9, 113, 167, 0, 0, ! 168, 11, 12, 13, 0, 169, 170, 171, 0, 0, ! 172, 173, 587, 0, 156, 174, 0, 15, 0, 157, ! 158, 0, 159, 258, 259, 260, 261, 262, 263, 264, ! 265, 266, 267, 268, 269, 175, 176, 0, 570, 0, ! 160, 0, 17, 0, 161, 162, 163, 164, 165, 0, ! 0, 0, 321, 166, 0, -23, -23, -23, -23, 167, ! 0, 0, 168, -23, -23, -23, 0, 169, 170, 171, ! 0, 0, 172, 173, 0, 0, 0, 174, 212, -23, ! 324, -275, 0, 7, 0, 9, 10, 0, 0, 0, ! 0, 11, 12, 13, -275, 0, 0, 175, 176, 0, ! 591, 0, 0, 0, 0, 0, 0, 15, 0, 16, ! 17, 0, 0, 0, 0, 0, 0, 213, 214, 156, ! 7, 299, 9, 10, 157, 158, 0, 159, 11, 12, ! 13, 0, 0, 0, 0, -275, 0, 0, 0, -275, ! -23, 0, 0, 0, 15, 160, 16, 17, 0, 161, ! 162, 163, 164, 165, 0, 0, 0, 0, 166, 0, ! 156, 0, 405, 0, 167, 157, 158, 168, 159, 0, ! 0, 0, 169, 170, 300, 0, 0, 172, 173, 0, ! 0, 0, 174, 0, 0, 0, 160, 0, 17, 0, ! 161, 162, 163, 164, 165, 0, 0, 0, 0, 166, ! 0, 0, 175, 176, 0, 167, 301, 0, 168, 0, ! 0, 0, 0, 169, 170, 406, 0, 0, 172, 173, ! 156, 0, 0, 174, 0, 157, 158, 0, 159, 0, ! 0, 7, 107, 9, 108, 0, 0, 0, 0, 11, ! 12, 13, 0, 175, 176, 0, 160, 407, 17, 0, ! 161, 162, 163, 164, 165, 15, 0, 16, 0, 166, ! 0, 156, 0, 0, 0, 167, 157, 158, 168, 159, ! 0, 0, 0, 169, 170, 171, 0, 0, 172, 173, ! 0, 0, 0, 174, 0, 0, 0, 160, 0, 17, ! 0, 161, 162, 163, 164, 165, 0, 0, 0, 0, ! 166, 0, 0, 175, 176, 0, 167, 403, 0, 168, ! 0, 0, 0, 0, 169, 170, 171, 0, 0, 172, ! 173, 0, 0, 0, 174, 0, 0, 0, 0, 0, ! 0, 588, 604, 8, 9, 10, 157, 158, 0, 159, ! 11, 12, 13, 0, 175, 176, 0, 0, 496, 605, ! 606, 607, 608, 609, 610, 611, 15, 160, 16, 17, ! 0, 161, 162, 163, 164, 165, 0, 0, 0, 0, ! 166, 0, 7, 80, 9, 81, 167, 0, 0, 168, ! 11, 12, 13, 0, 169, 170, 171, 0, 0, 172, ! 173, 0, 0, 0, 174, 0, 15, 0, 16, 0, ! 588, 148, 0, 0, 0, 157, 158, 0, 159, 0, ! 0, 0, 612, 0, 175, 176, 0, 613, 605, 606, ! 607, 608, 609, 610, 611, 0, 160, 0, 17, 0, ! 161, 162, 163, 164, 165, 0, 0, 0, 0, 166, ! 0, 7, 85, 9, 86, 167, 0, 0, 168, 11, ! 12, 13, 0, 169, 170, 171, 0, 0, 172, 173, ! 0, 156, 0, 174, 0, 15, 157, 158, 0, 159, ! 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, ! 269, 612, 0, 175, 176, 0, 613, 160, 0, 17, ! 0, 161, 162, 163, 164, 165, 0, 0, 0, 0, ! 166, 0, 0, 0, 0, 0, 167, 0, 0, 168, ! 0, 0, 0, 0, 169, 170, 171, 0, 0, 172, ! 173, 0, 0, 0, 174, 156, 7, 8, 9, 10, ! 157, 158, 0, 159, 11, 12, 13, 0, 0, 0, ! 0, 0, 0, 0, 175, 176, 0, 438, 0, 0, ! 15, 160, 16, 17, 0, 161, 162, 163, 164, 165, ! 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, ! 167, 0, 0, 168, 0, 0, 0, 0, 169, 170, ! 171, 0, 0, 172, 173, 0, 156, 7, 174, 9, ! 10, 157, 158, 0, 159, 11, 12, 13, 262, 263, ! 264, 265, 266, 267, 268, 269, 0, 0, 175, 176, ! 0, 15, 160, 16, 17, 0, 161, 162, 163, 164, ! 165, 0, 0, 0, 0, 166, 0, 156, 0, 0, ! 0, 167, 157, 158, 168, 159, 0, 0, 0, 169, ! 170, 171, 0, 0, 172, 173, 0, 0, 0, 174, ! 0, 0, 0, 160, 0, 17, 0, 161, 162, 163, ! 164, 165, 0, 0, 0, 0, 166, 0, 156, 175, ! 176, 0, 167, 157, 158, 168, 159, 0, 0, 0, ! 169, 170, 171, 0, 0, 172, 173, 0, 0, 0, ! 174, 0, 0, 0, 160, 0, 17, 0, 161, 162, ! 163, 164, 165, 0, 0, 0, 0, 166, 697, 156, ! 175, 176, 0, 167, 157, 158, 168, 159, 0, 0, ! 0, 169, 170, 171, 0, 0, 172, 173, 0, 0, ! 0, 174, 0, 0, 0, 160, 0, 17, 0, 161, ! 162, 163, 164, 165, 0, 0, 0, 0, 166, 0, ! 156, 175, 176, 0, 167, 157, 158, 168, 159, 0, ! 0, 0, 169, 170, 171, 0, 0, 172, 173, 0, ! 0, 0, 249, 0, 0, 0, 160, 0, 17, 0, ! 161, 162, 163, 164, 165, 0, 0, 0, 0, 166, ! 0, 466, 175, 176, 0, 167, 157, 158, 168, 159, ! 0, 0, 0, 169, 170, 171, 0, 0, 172, 173, ! 0, 0, 0, 251, 0, 0, 0, 160, 0, 17, ! 0, 161, 162, 163, 164, 165, 0, 0, 0, 0, ! 166, 0, 0, 175, 176, 0, 167, 0, 0, 168, ! 0, 0, 0, 757, 169, 170, 171, 0, 0, 172, ! 173, 253, 254, 255, 174, 256, 257, 258, 259, 260, ! 261, 262, 263, 264, 265, 266, 267, 268, 269, 0, ! 0, 0, 0, 0, 175, 176, 253, 254, 255, 758, ! 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 267, 268, 269, 0, 253, 254, 255, 828, 256, ! 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, ! 267, 268, 269, 253, 254, 255, 0, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, ! 269, 0, 0, 0, 0, 0, 0, 253, 254, 255, ! 435, 256, 257, 258, 259, 260, 261, 262, 263, 264, ! 265, 266, 267, 268, 269, 0, 0, 0, 436, 7, ! 116, 9, 117, 7, 0, 9, 10, 11, 12, 13, ! 0, 11, 12, 13, 0, 0, 0, 0, 0, 0, ! 0, 0, 585, 15, 0, 16, 0, 15, 0, 16, ! 7, 121, 9, 122, 7, 0, 9, 86, 11, 12, ! 13, 0, 11, 12, 13, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 15, 0, 0, 0, 15, 253, ! 254, 255, 829, 256, 257, 258, 259, 260, 261, 262, ! 263, 264, 265, 266, 267, 268, 269, 253, 254, 255, ! 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, ! 265, 266, 267, 268, 269, 255, 0, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, ! 269, 257, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 267, 268, 269 }; static const short yycheck[] = { ! 62, 3, 64, 5, 3, 3, 5, 5, 3, 290, ! 5, 144, 11, 12, 13, 223, 316, 219, 543, 314, ! 400, 273, 322, 143, 318, 24, 296, 26, 468, 28, ! 23, 30, 543, 32, 414, 34, 599, 36, 550, 38, ! 3, 3, 5, 5, 3, 625, 5, 3, 3, 5, ! 5, 40, 41, 55, 161, 162, 55, 55, 400, 400, ! 55, 3, 543, 5, 171, 64, 151, 66, 66, 400, ! 177, 66, 414, 414, 1, 48, 229, 602, 559, 1, ! 1, 188, 556, 414, 772, 543, 59, 60, 61, 10, ! 566, 306, 55, 55, 1, 468, 55, 1, 9, 55, ! 55, 559, 75, 66, 66, 214, 46, 5, 1, 46, ! 460, 84, 1, 55, 625, 4, 5, 6, 7, 1, ! 93, 10, 174, 12, 13, 14, 689, 7, 816, 102, ! 3, 4, 50, 51, 52, 387, 3, 4, 111, 28, ! 665, 670, 543, 83, 625, 857, 83, 120, 498, 9, ! 30, 144, 214, 3, 4, 684, 129, 55, 46, 0, ! 30, 511, 89, 85, 514, 138, 381, 625, 89, 0, ! 550, 859, 83, 66, 886, 174, 46, 0, 85, 559, ! 868, 85, 555, 556, 337, 535, 388, 239, 469, 381, ! 299, 754, 191, 300, 193, 83, 195, 249, 197, 251, ! 89, 602, 201, 85, 203, 83, 27, 67, 550, 550, ! 88, 899, 274, 206, 207, 214, 89, 559, 559, 550, ! 219, 219, 89, 573, 219, 575, 30, 229, 559, 705, ! 229, 229, 66, 813, 229, 208, 381, 299, 83, 89, ! 239, 303, 457, 88, 351, 66, 67, 84, 30, 167, ! 249, 88, 251, 338, 43, 340, 219, 219, 66, 733, ! 734, 453, 454, 455, 456, 7, 229, 229, 3, 4, ! 229, 189, 83, 229, 229, 787, 65, 88, 67, 66, ! 720, 576, 58, 578, 66, 67, 3, 229, 30, 729, ! 66, 67, 84, 545, 7, 66, 358, 505, 83, 406, ! 299, 294, 813, 88, 4, 5, 6, 7, 453, 454, ! 455, 456, 12, 13, 14, 233, 83, 30, 311, 312, ! 67, 88, 84, 58, 3, 4, 88, 326, 28, 328, ! 30, 330, 813, 332, 89, 337, 3, 89, 337, 337, ! 402, 58, 337, 405, 89, 334, 335, 720, 3, 66, ! 67, 876, 877, 703, 272, 813, 729, 275, 83, 1, ! 733, 734, 4, 5, 6, 7, 58, 59, 60, 3, ! 12, 13, 14, 84, 337, 337, 84, 88, 337, 58, ! 88, 337, 337, 435, 84, 437, 28, 66, 67, 388, ! 388, 58, 742, 388, 84, 337, 66, 84, 88, 66, ! 67, 88, 400, 58, 84, 400, 84, 787, 88, 66, ! 88, 66, 46, 5, 6, 7, 414, 66, 67, 414, ! 12, 13, 14, 66, 58, 388, 388, 345, 630, 723, ! 88, 725, 66, 9, 83, 568, 435, 639, 437, 84, ! 721, 400, 83, 88, 400, 787, 787, 89, 1, 730, ! 83, 4, 5, 6, 7, 414, 787, 577, 414, 12, ! 13, 14, 380, 5, 6, 7, 213, 7, 386, 216, ! 12, 13, 14, 220, 27, 28, 7, 30, 477, 66, ! 479, 543, 481, 1, 483, 3, 4, 30, 30, 671, ! 43, 673, 84, 5, 6, 7, 485, 486, 66, 67, ! 12, 13, 14, 46, 3, 4, 85, 807, 46, 809, ! 85, 500, 501, 83, 432, 83, 866, 867, 625, 4, ! 5, 6, 7, 66, 67, 84, 85, 12, 13, 14, ! 84, 84, 66, 67, 83, 88, 89, 3, 4, 83, ! 602, 543, 84, 28, 543, 543, 83, 609, 543, 83, ! 3, 4, 550, 453, 454, 550, 456, 559, 766, 58, ! 559, 559, 555, 556, 559, 66, 67, 66, 66, 67, ! 317, 318, 84, 706, 32, 568, 323, 84, 85, 83, ! 543, 543, 66, 67, 543, 705, 579, 543, 543, 224, ! 66, 550, 339, 46, 550, 9, 559, 559, 90, 84, ! 559, 543, 84, 559, 559, 58, 24, 25, 26, 27, ! 528, 43, 882, 66, 32, 33, 34, 35, 3, 4, ! 5, 6, 7, 625, 894, 543, 625, 625, 617, 618, ! 625, 630, 630, 27, 84, 630, 30, 699, 43, 638, ! 639, 639, 389, 88, 639, 88, 645, 83, 647, 43, ! 649, 46, 651, 83, 653, 290, 655, 83, 657, 90, ! 659, 83, 625, 625, 66, 67, 625, 630, 630, 625, ! 625, 589, 661, 662, 794, 90, 639, 639, 24, 25, ! 26, 27, 27, 625, 602, 30, 32, 33, 34, 35, ! 84, 90, 610, 43, 88, 5, 6, 7, 43, 85, ! 762, 85, 12, 13, 14, 85, 28, 29, 30, 31, ! 66, 67, 774, 706, 36, 37, 38, 39, 780, 89, ! 30, 66, 67, 46, 471, 6, 7, 720, 721, 181, ! 182, 12, 13, 14, 311, 312, 729, 730, 1, 84, ! 733, 734, 90, 88, 85, 5, 6, 7, 810, 811, ! 83, 813, 12, 13, 14, 728, 5, 6, 7, 394, ! 720, 721, 83, 12, 13, 14, 83, 85, 515, 516, ! 30, 90, 519, 191, 192, 193, 194, 5, 6, 7, ! 84, 416, 417, 84, 12, 13, 14, 27, 4, 787, ! 6, 7, 787, 88, 88, 857, 12, 13, 14, 861, ! 83, 5, 6, 7, 83, 83, 3, 46, 12, 13, ! 14, 813, 28, 46, 813, 813, 61, 62, 813, 85, ! 65, 66, 67, 68, 886, 887, 30, 88, 787, 84, ! 84, 787, 46, 468, 469, 84, 583, 54, 55, 56, ! 57, 58, 59, 60, 46, 191, 192, 193, 194, 7, ! 813, 813, 84, 84, 813, 85, 1, 813, 813, 4, ! 5, 6, 7, 89, 84, 10, 84, 12, 13, 14, ! 66, 813, 66, 195, 196, 197, 198, 16, 85, 85, ! 84, 84, 46, 28, 631, 632, 66, 66, 635, 66, ! 5, 6, 7, 640, 641, 17, 643, 12, 13, 14, ! 83, 83, 88, 84, 28, 29, 30, 31, 326, 327, ! 328, 329, 36, 37, 38, 39, 83, 83, 66, 84, ! 555, 556, 84, 84, 237, 238, 83, 90, 84, 676, ! 848, 1, 679, 9, 4, 248, 6, 7, 83, 66, ! 253, 254, 12, 13, 14, 258, 259, 260, 261, 262, ! 263, 264, 265, 266, 267, 268, 269, 83, 28, 84, ! 30, 31, 1, 83, 3, 4, 5, 6, 7, 84, ! 84, 387, 307, 12, 13, 14, 723, 559, 725, 559, ! 326, 327, 328, 329, 418, 559, 559, 414, 27, 28, ! 414, 30, 31, 386, 294, 598, 743, 733, 633, 634, ! 747, 15, 574, 17, 18, 19, 20, 337, 330, 331, ! 332, 333, 687, 720, 84, 85, 677, 434, 674, 58, ! 345, 432, 4, 5, 6, 7, 4, 66, 6, 7, ! 12, 13, 14, 817, 12, 13, 14, 621, 381, 819, ! 382, 788, 789, 863, 791, 84, 28, 360, 361, 796, ! 28, 798, 30, 56, 57, 58, 59, 60, 805, 477, ! 478, 471, 865, 481, 482, 486, -1, 410, 5, 6, ! 7, 195, 196, 197, 198, 12, 13, 14, -1, -1, ! -1, 424, 425, 6, 7, 720, 721, -1, -1, 12, ! 13, 14, -1, 30, 729, 730, -1, -1, 733, 734, ! -1, -1, 84, -1, -1, -1, -1, 30, 6, 7, ! 453, 454, 455, 456, 12, 13, 14, -1, 431, 4, ! 5, 6, 7, 436, -1, -1, -1, 12, 13, 14, ! 443, 477, 478, -1, -1, 481, 482, -1, -1, -1, ! -1, -1, -1, 28, -1, 30, -1, 782, 783, 784, ! -1, -1, -1, -1, -1, -1, -1, 479, 480, -1, ! -1, 483, 484, 506, -1, 508, -1, 4, 1, 6, ! 7, 4, 5, 6, 7, 12, 13, 14, -1, 12, ! 13, 14, -1, -1, -1, -1, -1, -1, -1, 502, ! -1, 28, -1, 30, 27, 28, -1, 30, -1, 84, ! -1, -1, -1, -1, -1, -1, 330, 331, 332, 333, ! 43, 524, 1, -1, 3, 4, 5, 6, 7, -1, ! -1, 10, -1, 12, 13, 14, -1, 645, 646, 647, ! 648, -1, -1, 66, 67, 653, 654, 655, 656, 28, ! 4, 5, 6, 7, 4, 5, 6, 7, 12, 13, ! 14, 84, 12, 13, 14, 88, 89, -1, -1, -1, ! -1, 574, -1, -1, 28, -1, 30, -1, 28, -1, ! 30, 614, 585, 4, 5, 6, 7, 590, -1, -1, ! -1, 12, 13, 14, -1, -1, 599, 600, -1, -1, ! -1, -1, 605, -1, 83, -1, -1, 28, -1, 645, ! 646, 647, 648, -1, 5, 6, 7, 653, 654, 655, ! 656, 12, 13, 14, 5, 6, 7, -1, -1, -1, ! 84, 12, 13, 14, 84, -1, -1, 649, 650, 651, ! 652, 674, -1, -1, 677, 657, 658, 659, 660, 30, ! 4, 5, 6, 7, -1, -1, 10, -1, 12, 13, ! 14, -1, -1, 84, -1, 479, 480, 670, -1, 483, ! 484, -1, 675, -1, 28, 678, 30, -1, -1, -1, ! -1, 684, -1, -1, 687, -1, 689, 4, 5, 6, ! 7, -1, 5, 6, 7, 12, 13, 14, -1, 12, ! 13, 14, 1, 84, 3, 4, 5, 6, 7, 8, ! 9, 28, 11, 12, 13, 14, 15, 30, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, ! 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, ! -1, 744, -1, 42, 777, 748, -1, -1, 751, 48, ! -1, 754, 51, -1, 757, -1, -1, 56, 57, 58, ! 10, -1, 61, 62, -1, -1, -1, 66, 4, 5, ! 6, 7, 4, 5, 6, 7, 12, 13, 14, -1, ! 12, 13, 14, -1, -1, 84, 819, 86, 87, -1, ! 89, -1, 28, 43, 44, 45, 28, 47, 48, 49, ! 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, ! 60, -1, -1, -1, -1, -1, 5, 6, 7, -1, ! 853, 854, -1, 12, 13, 14, 52, 53, 54, 55, ! 56, 57, 58, 59, 60, 649, 650, 651, 652, -1, ! 90, 30, -1, 657, 658, 659, 660, 1, 84, 3, ! 4, 5, 6, 7, 8, 9, -1, 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, 5, 6, 7, -1, 42, -1, ! -1, 12, 13, 14, 48, 84, -1, 51, -1, -1, ! -1, -1, 56, 57, 58, -1, -1, 61, 62, 43, ! 44, 45, 66, 47, 48, 49, 50, 51, 52, 53, ! 54, 55, 56, 57, 58, 59, 60, -1, -1, -1, ! 84, 85, 86, 87, 1, 89, 3, 4, -1, -1, ! -1, 8, 9, -1, 11, -1, -1, -1, 15, 83, ! 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ! 27, -1, 29, -1, 31, -1, 33, 34, 35, 36, ! 37, 5, 6, 7, -1, 42, -1, -1, 12, 13, ! 14, 48, -1, 30, 51, -1, -1, -1, -1, 56, ! 57, 58, -1, -1, 61, 62, 43, 44, 45, 66, ! 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, ! 57, 58, 59, 60, -1, -1, -1, 84, -1, 86, ! 87, 1, 89, 3, 4, -1, -1, -1, 8, 9, ! -1, 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, 6, ! 7, -1, 42, -1, -1, 12, 13, 14, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, ! -1, 61, 62, 30, -1, 1, 66, 3, 4, -1, ! 6, 7, 8, 9, -1, 11, 12, 13, 14, -1, ! -1, -1, -1, -1, 84, -1, 86, 87, -1, 89, ! -1, -1, 28, 29, 30, 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, 61, 62, -1, -1, 1, ! 66, 3, 4, -1, -1, -1, 8, 9, -1, 11, ! 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ! 86, 87, -1, 89, -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, 61, ! 62, -1, -1, 65, 66, 67, 1, -1, 3, 4, ! -1, -1, -1, 8, 9, -1, 11, -1, -1, -1, ! -1, -1, -1, 85, 86, 87, -1, 89, -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, 61, 62, -1, -1, ! 65, 66, 67, 1, -1, 3, -1, -1, -1, -1, ! 8, 9, -1, 11, -1, -1, -1, -1, -1, -1, ! 85, 86, 87, -1, 89, -1, -1, -1, -1, -1, ! -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, ! -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, ! 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, ! 58, -1, -1, 61, 62, -1, -1, 65, 66, 67, ! 1, -1, 3, -1, -1, -1, -1, 8, 9, -1, ! 11, -1, -1, -1, 4, 5, 6, 7, 86, 87, ! -1, 89, 12, 13, 14, -1, -1, -1, 29, -1, ! 31, -1, 33, 34, 35, 36, 37, -1, 28, -1, ! 30, 42, -1, 4, 5, 6, 7, 48, -1, -1, ! 51, 12, 13, 14, -1, 56, 57, 58, -1, -1, ! 61, 62, 1, -1, 3, 66, -1, 28, -1, 8, ! 9, -1, 11, 49, 50, 51, 52, 53, 54, 55, ! 56, 57, 58, 59, 60, 86, 87, -1, 89, -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, 61, 62, -1, -1, -1, 66, 27, 28, ! 1, 30, -1, 4, -1, 6, 7, -1, -1, -1, ! -1, 12, 13, 14, 43, -1, -1, 86, 87, -1, ! 89, -1, -1, -1, -1, -1, -1, 28, -1, 30, ! 31, -1, -1, -1, -1, -1, -1, 66, 67, 3, ! 4, 5, 6, 7, 8, 9, -1, 11, 12, 13, ! 14, -1, -1, -1, -1, 84, -1, -1, -1, 88, ! 89, -1, -1, -1, 28, 29, 30, 31, -1, 33, ! 34, 35, 36, 37, -1, -1, -1, -1, 42, -1, ! 3, -1, 5, -1, 48, 8, 9, 51, 11, -1, ! -1, -1, 56, 57, 58, -1, -1, 61, 62, -1, ! -1, -1, 66, -1, -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, 61, 62, ! 3, -1, -1, 66, -1, 8, 9, -1, 11, -1, ! -1, 4, 5, 6, 7, -1, -1, -1, -1, 12, ! 13, 14, -1, 86, 87, -1, 29, 90, 31, -1, ! 33, 34, 35, 36, 37, 28, -1, 30, -1, 42, ! -1, 3, -1, -1, -1, 48, 8, 9, 51, 11, ! -1, -1, -1, 56, 57, 58, -1, -1, 61, 62, ! -1, -1, -1, 66, -1, -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, 61, ! 62, -1, -1, -1, 66, -1, -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, 61, ! 62, -1, -1, -1, 66, -1, 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, 61, 62, ! -1, 3, -1, 66, -1, 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, 61, ! 62, -1, -1, -1, 66, 3, 4, 5, 6, 7, ! 8, 9, -1, 11, 12, 13, 14, -1, -1, -1, ! -1, -1, -1, -1, 86, 87, -1, 89, -1, -1, 28, 29, 30, 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, 61, 62, -1, 3, 4, 66, 6, ! 7, 8, 9, -1, 11, 12, 13, 14, 53, 54, ! 55, 56, 57, 58, 59, 60, -1, -1, 86, 87, ! -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, 61, 62, -1, -1, -1, 66, ! -1, -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, 61, 62, -1, -1, -1, ! 66, -1, -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, 61, 62, -1, -1, ! -1, 66, -1, -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, 61, 62, -1, ! -1, -1, 66, -1, -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, 61, 62, ! -1, -1, -1, 66, -1, -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, 61, ! 62, 43, 44, 45, 66, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, ! -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, 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, -1, -1, -1, 88, 4, ! 5, 6, 7, 4, -1, 6, 7, 12, 13, 14, ! -1, 12, 13, 14, -1, -1, -1, -1, -1, -1, ! -1, -1, 88, 28, -1, 30, -1, 28, -1, 30, ! 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, -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 }; ! /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing ! symbol of state STATE-NUM. */ ! static const unsigned short yystos[] = { ! 0, 92, 93, 94, 0, 95, 1, 4, 5, 6, ! 7, 12, 13, 14, 27, 28, 30, 31, 84, 96, ! 97, 98, 113, 129, 132, 133, 134, 135, 136, 137, ! 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, ! 148, 149, 155, 157, 158, 159, 160, 161, 170, 171, ! 197, 198, 199, 200, 205, 290, 96, 84, 85, 170, ! 170, 170, 66, 66, 66, 3, 58, 66, 163, 167, ! 196, 5, 7, 157, 158, 170, 5, 7, 157, 158, ! 5, 7, 157, 158, 170, 5, 7, 157, 158, 5, ! 7, 159, 160, 170, 5, 7, 159, 160, 5, 7, ! 159, 160, 170, 5, 7, 159, 160, 5, 7, 157, ! 158, 170, 5, 7, 157, 158, 5, 7, 157, 158, ! 170, 5, 7, 157, 158, 5, 7, 159, 160, 170, ! 5, 7, 159, 160, 5, 7, 159, 160, 170, 5, ! 7, 159, 160, 129, 129, 84, 171, 3, 4, 89, ! 105, 89, 105, 89, 105, 96, 3, 8, 9, 11, ! 29, 33, 34, 35, 36, 37, 42, 48, 51, 56, ! 57, 58, 61, 62, 66, 86, 87, 106, 107, 109, ! 110, 111, 112, 114, 115, 121, 123, 244, 290, 66, ! 107, 132, 133, 134, 135, 136, 137, 138, 139, 154, ! 217, 132, 133, 134, 135, 153, 156, 169, 170, 84, ! 88, 1, 27, 66, 67, 103, 164, 225, 4, 58, ! 66, 162, 165, 191, 192, 196, 163, 196, 208, 209, ! 89, 208, 89, 204, 89, 114, 114, 66, 66, 66, ! 105, 114, 1, 89, 107, 217, 114, 83, 88, 66, ! 110, 66, 110, 43, 44, 45, 47, 48, 49, 50, ! 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ! 61, 62, 65, 66, 67, 68, 9, 1, 85, 233, ! 242, 114, 5, 6, 7, 105, 172, 173, 174, 83, ! 218, 83, 196, 196, 130, 169, 66, 169, 285, 5, ! 58, 90, 107, 154, 1, 124, 125, 126, 232, 251, ! 169, 156, 169, 84, 88, 1, 99, 164, 66, 225, ! 84, 1, 101, 85, 1, 84, 132, 133, 134, 135, ! 136, 137, 138, 139, 152, 153, 210, 290, 201, 85, ! 202, 1, 105, 215, 216, 203, 115, 115, 217, 83, ! 83, 83, 84, 115, 217, 217, 115, 115, 118, 120, ! 117, 116, 115, 115, 115, 115, 115, 115, 115, 115, ! 115, 115, 115, 115, 105, 108, 109, 107, 105, 83, ! 32, 237, 238, 239, 83, 83, 88, 66, 58, 66, ! 219, 221, 222, 223, 224, 225, 83, 167, 196, 123, ! 286, 107, 154, 90, 90, 5, 58, 90, 107, 84, ! 104, 232, 10, 125, 252, 43, 192, 192, 130, 124, ! 169, 285, 124, 169, 129, 129, 84, 210, 208, 169, ! 208, 43, 88, 207, 215, 88, 88, 88, 89, 114, ! 83, 83, 107, 46, 115, 115, 83, 90, 105, 289, ! 1, 128, 226, 227, 228, 229, 230, 231, 232, 243, ! 251, 255, 256, 239, 83, 173, 3, 108, 156, 169, ! 275, 66, 225, 83, 1, 3, 10, 132, 133, 136, ! 137, 140, 141, 144, 145, 150, 151, 277, 280, 281, ! 283, 287, 288, 90, 107, 107, 90, 90, 251, 127, ! 150, 151, 168, 83, 165, 191, 100, 43, 102, 211, ! 213, 251, 212, 214, 251, 85, 85, 115, 216, 85, ! 207, 217, 115, 217, 122, 46, 115, 84, 88, 128, ! 255, 256, 128, 255, 256, 251, 255, 256, 128, 255, ! 256, 232, 85, 252, 83, 88, 83, 222, 223, 221, ! 276, 169, 275, 83, 129, 284, 284, 83, 84, 88, ! 83, 88, 90, 90, 252, 84, 129, 84, 129, 1, ! 89, 115, 175, 251, 166, 251, 88, 252, 88, 252, ! 169, 169, 169, 85, 83, 88, 83, 1, 3, 65, ! 67, 89, 105, 115, 177, 178, 179, 181, 183, 184, ! 119, 105, 252, 234, 4, 21, 22, 23, 24, 25, ! 26, 27, 84, 89, 105, 107, 131, 148, 149, 155, ! 235, 241, 245, 267, 268, 290, 109, 83, 277, 4, ! 58, 66, 193, 194, 195, 196, 220, 221, 222, 58, ! 66, 196, 220, 278, 10, 132, 133, 134, 135, 136, ! 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, ! 147, 148, 149, 282, 3, 1, 240, 245, 162, 163, ! 176, 252, 175, 252, 130, 46, 191, 130, 46, 196, ! 169, 115, 105, 115, 182, 46, 85, 88, 206, 43, ! 184, 181, 115, 115, 46, 84, 84, 84, 107, 58, ! 105, 7, 269, 251, 84, 129, 129, 84, 15, 17, ! 18, 19, 20, 246, 247, 249, 257, 242, 131, 83, ! 156, 169, 169, 66, 225, 66, 225, 169, 170, 156, ! 169, 169, 169, 129, 129, 245, 84, 84, 177, 240, ! 240, 213, 251, 115, 46, 169, 214, 115, 46, 169, ! 83, 10, 90, 177, 180, 179, 181, 10, 46, 84, ! 107, 84, 66, 252, 162, 185, 191, 163, 188, 196, ! 248, 259, 250, 261, 66, 16, 1, 235, 254, 1, ! 66, 236, 194, 195, 195, 285, 285, 279, 193, 196, ! 220, 196, 220, 85, 252, 169, 115, 169, 115, 115, ! 85, 181, 115, 84, 107, 46, 84, 186, 84, 189, ! 66, 66, 254, 66, 107, 1, 258, 253, 255, 256, ! 107, 83, 277, 169, 169, 169, 169, 169, 90, 46, ! 46, 83, 169, 124, 124, 107, 107, 17, 107, 131, ! 266, 270, 83, 254, 236, 253, 83, 9, 67, 271, ! 272, 273, 84, 187, 190, 83, 83, 262, 84, 265, ! 84, 66, 105, 46, 83, 88, 251, 251, 260, 270, ! 254, 107, 90, 271, 84, 273, 252, 252, 254, 84, ! 83, 9, 46, 83, 245, 245, 263, 66, 123, 274, ! 84, 270, 107, 83, 88, 83, 83, 84, 123, 264, ! 254 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif *************** union yyalloc *** 1772,1785 **** # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) ! # ifdef __cplusplus ! # include /* INFRINGES ON USER NAME SPACE */ ! # define YYSIZE_T std::size_t ! # else ! # ifdef __STDC__ ! # include /* INFRINGES ON USER NAME SPACE */ ! # define YYSIZE_T size_t ! # endif # endif #endif #if ! defined (YYSIZE_T) --- 2013,2021 ---- # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) ! # if defined (__STDC__) || defined (__cplusplus) ! # include /* INFRINGES ON USER NAME SPACE */ ! # define YYSIZE_T size_t # endif #endif #if ! defined (YYSIZE_T) *************** union yyalloc *** 1788,1816 **** #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) ! #define YYEMPTY -2 #define YYEOF 0 #define YYACCEPT goto yyacceptlab ! #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ ! yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ ! yyerror ("syntax error: cannot back up"); \ YYERROR; \ } \ while (0) --- 2024,2057 ---- #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) ! #define YYEMPTY (-2) #define YYEOF 0 + #define YYACCEPT goto yyacceptlab ! #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 + /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ + #define YYFAIL goto yyerrlab + #define YYRECOVERING() (!!yyerrstatus) + #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ ! yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ ! yyerror ("syntax error: cannot back up");\ YYERROR; \ } \ while (0) *************** while (0) *** 1818,1869 **** #define YYTERROR 1 #define YYERRCODE 256 - /* YYLLOC_DEFAULT -- Compute the default location (before the actions ! are run). ! ! When YYLLOC_DEFAULT is run, CURRENT is set the location of the ! first token. By default, to implement support for ranges, extend ! its range to the last symbol. */ #ifndef YYLLOC_DEFAULT ! # define YYLLOC_DEFAULT(Current, Rhs, N) \ ! Current.last_line = Rhs[N].last_line; \ ! Current.last_column = Rhs[N].last_column; #endif - /* YYLEX -- calling `yylex' with the right arguments. */ ! #if YYPURE ! # if YYLSP_NEEDED ! # ifdef YYLEX_PARAM ! # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) ! # else ! # define YYLEX yylex (&yylval, &yylloc) ! # endif ! # else /* !YYLSP_NEEDED */ ! # ifdef YYLEX_PARAM ! # define YYLEX yylex (&yylval, YYLEX_PARAM) ! # else ! # define YYLEX yylex (&yylval) ! # endif ! # endif /* !YYLSP_NEEDED */ ! #else /* !YYPURE */ ! # define YYLEX yylex () ! #endif /* !YYPURE */ ! /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF ! # ifdef __cplusplus ! # include /* INFRINGES ON USER NAME SPACE */ ! # else ! # include /* INFRINGES ON USER NAME SPACE */ ! # endif ! # define YYFPRINTF YYSTD (fprintf) # endif # define YYDPRINTF(Args) \ --- 2059,2089 ---- #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Compute the default location (before the actions ! are run). */ #ifndef YYLLOC_DEFAULT ! # define YYLLOC_DEFAULT(Current, Rhs, N) \ ! Current.first_line = Rhs[1].first_line; \ ! Current.first_column = Rhs[1].first_column; \ ! Current.last_line = Rhs[N].last_line; \ ! Current.last_column = Rhs[N].last_column; #endif /* YYLEX -- calling `yylex' with the right arguments. */ ! #ifdef YYLEX_PARAM ! # define YYLEX yylex (YYLEX_PARAM) ! #else ! # define YYLEX yylex () ! #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF ! # include /* INFRINGES ON USER NAME SPACE */ ! # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ *************** do { \ *** 1871,1885 **** if (yydebug) \ YYFPRINTF Args; \ } while (0) ! /* Nonzero means print parse trace. [The following comment makes no ! sense to me. Could someone clarify it? --akim] Since this is ! uninitialized, it does not stop multiple parsers from coexisting. ! */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 --- 2091,2183 ---- if (yydebug) \ YYFPRINTF Args; \ } while (0) ! ! # define YYDSYMPRINT(Args) \ ! do { \ ! if (yydebug) \ ! yysymprint Args; \ ! } while (0) ! ! # define YYDSYMPRINTF(Title, Token, Value, Location) \ ! do { \ ! if (yydebug) \ ! { \ ! YYFPRINTF (stderr, "%s ", Title); \ ! yysymprint (stderr, \ ! Token, Value); \ ! YYFPRINTF (stderr, "\n"); \ ! } \ ! } while (0) ! ! /*------------------------------------------------------------------. ! | yy_stack_print -- Print the state stack from its BOTTOM up to its | ! | TOP (cinluded). | ! `------------------------------------------------------------------*/ ! ! #if defined (__STDC__) || defined (__cplusplus) ! static void ! yy_stack_print (short *bottom, short *top) ! #else ! static void ! yy_stack_print (bottom, top) ! short *bottom; ! short *top; ! #endif ! { ! YYFPRINTF (stderr, "Stack now"); ! for (/* Nothing. */; bottom <= top; ++bottom) ! YYFPRINTF (stderr, " %d", *bottom); ! YYFPRINTF (stderr, "\n"); ! } ! ! # define YY_STACK_PRINT(Bottom, Top) \ ! do { \ ! if (yydebug) \ ! yy_stack_print ((Bottom), (Top)); \ ! } while (0) ! ! ! /*------------------------------------------------. ! | Report that the YYRULE is going to be reduced. | ! `------------------------------------------------*/ ! ! #if defined (__STDC__) || defined (__cplusplus) ! static void ! yy_reduce_print (int yyrule) ! #else ! static void ! yy_reduce_print (yyrule) ! int yyrule; ! #endif ! { ! int yyi; ! unsigned int yylineno = yyrline[yyrule]; ! YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", ! yyrule - 1, yylineno); ! /* Print the symbols being reduced, and their result. */ ! for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) ! YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); ! YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); ! } ! ! # define YY_REDUCE_PRINT(Rule) \ ! do { \ ! if (yydebug) \ ! yy_reduce_print (Rule); \ ! } while (0) ! ! /* Nonzero means print parse trace. It is left uninitialized so that ! multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) + # define YYDSYMPRINT(Args) + # define YYDSYMPRINTF(Title, Token, Value, Location) + # define YY_STACK_PRINT(Bottom, Top) + # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ + /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 *************** int yydebug; *** 1899,1933 **** #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif - - #if ! defined (yyoverflow) && ! defined (yymemcpy) - # if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ - # define yymemcpy __builtin_memcpy - # else /* not GNU C or C++ */ ! /* This is the most reliable way to avoid incompatibilities ! in available built-in functions on various systems. */ ! static void ! # if defined (__STDC__) || defined (__cplusplus) ! yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T yycount) ! # else ! yymemcpy (yyto, yyfrom, yycount) ! char *yyto; ! const char *yyfrom; ! YYSIZE_T yycount; ! # endif ! { ! register const char *yyf = yyfrom; ! register char *yyt = yyto; ! register YYSIZE_T yyi = yycount; ! ! while (yyi-- != 0) ! *yyt++ = *yyf++; ! } ! # endif ! #endif ! #ifdef YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) --- 2197,2206 ---- #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif ! ! #if YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) *************** yystpcpy (yydest, yysrc) *** 1977,2062 **** } # endif # endif ! #endif - #line 345 "/usr/share/bison/bison.simple" ! /* The user can define YYPARSE_PARAM as the name of an argument to be passed ! into yyparse. The argument should have type void *. ! It should actually point to an object. ! Grammar actions can access the variable by casting it ! to the proper pointer type. */ ! #ifdef YYPARSE_PARAM ! # ifdef __cplusplus ! # define YYPARSE_PARAM_ARG void *YYPARSE_PARAM ! # define YYPARSE_PARAM_DECL ! # else /* !__cplusplus */ ! # define YYPARSE_PARAM_ARG YYPARSE_PARAM ! # define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; ! # endif /* !__cplusplus */ ! #else /* !YYPARSE_PARAM */ ! # define YYPARSE_PARAM_ARG ! # define YYPARSE_PARAM_DECL ! #endif /* !YYPARSE_PARAM */ ! /* Prevent warning if -Wstrict-prototypes. */ ! #ifdef __GNUC__ ! # ifdef YYPARSE_PARAM ! YYPARSE_RETURN_TYPE yyparse (void *); # else ! YYPARSE_RETURN_TYPE yyparse (void); # endif #endif - /* YY_DECL_VARIABLES -- depending whether we use a pure parser, - variables are global, or local to YYPARSE. */ ! #define YY_DECL_NON_LSP_VARIABLES \ ! /* The lookahead symbol. */ \ ! int yychar; \ ! \ ! /* The semantic value of the lookahead symbol. */ \ ! YYSTYPE yylval; \ ! \ ! /* Number of parse errors so far. */ \ int yynerrs; - #if YYLSP_NEEDED - # define YY_DECL_VARIABLES \ - YY_DECL_NON_LSP_VARIABLES \ - \ - /* Location data for the lookahead symbol. */ \ - YYLTYPE yylloc; - #else - # define YY_DECL_VARIABLES \ - YY_DECL_NON_LSP_VARIABLES - #endif ! /* If nonreentrant, generate the variables here. */ ! #if !YYPURE ! YY_DECL_VARIABLES ! #endif /* !YYPURE */ ! YYPARSE_RETURN_TYPE ! yyparse (YYPARSE_PARAM_ARG) ! YYPARSE_PARAM_DECL { ! /* If reentrant, generate the variables here. */ ! #if YYPURE ! YY_DECL_VARIABLES ! #endif /* !YYPURE */ ! register int yystate; register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ ! int yychar1 = 0; /* Three stacks and their tools: `yyss': related to states, --- 2250,2383 ---- } # endif # endif ! ! #endif /* !YYERROR_VERBOSE */ ! + #if YYDEBUG + /*--------------------------------. + | Print this symbol on YYOUTPUT. | + `--------------------------------*/ ! #if defined (__STDC__) || defined (__cplusplus) ! static void ! yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) ! #else ! static void ! yysymprint (yyoutput, yytype, yyvaluep) ! FILE *yyoutput; ! int yytype; ! YYSTYPE *yyvaluep; ! #endif ! { ! /* Pacify ``unused variable'' warnings. */ ! (void) yyvaluep; ! if (yytype < YYNTOKENS) ! { ! YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); ! # ifdef YYPRINT ! YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); ! # endif ! } ! else ! YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); ! switch (yytype) ! { ! default: ! break; ! } ! YYFPRINTF (yyoutput, ")"); ! } ! ! #endif /* ! YYDEBUG */ ! /*-----------------------------------------------. ! | Release the memory associated to this symbol. | ! `-----------------------------------------------*/ ! ! #if defined (__STDC__) || defined (__cplusplus) ! static void ! yydestruct (int yytype, YYSTYPE *yyvaluep) ! #else ! static void ! yydestruct (yytype, yyvaluep) ! int yytype; ! YYSTYPE *yyvaluep; ! #endif ! { ! /* Pacify ``unused variable'' warnings. */ ! (void) yyvaluep; ! ! switch (yytype) ! { ! ! default: ! break; ! } ! } ! ! ! /* Prevent warnings from -Wmissing-prototypes. */ ! ! #ifdef YYPARSE_PARAM ! # if defined (__STDC__) || defined (__cplusplus) ! int yyparse (void *YYPARSE_PARAM); # else ! int yyparse (); # endif + #else /* ! YYPARSE_PARAM */ + #if defined (__STDC__) || defined (__cplusplus) + int yyparse (void); + #else + int yyparse (); #endif + #endif /* ! YYPARSE_PARAM */ ! ! /* The lookahead symbol. */ ! int yychar; ! ! /* The semantic value of the lookahead symbol. */ ! YYSTYPE yylval; ! ! /* Number of syntax errors so far. */ int yynerrs; ! /*----------. ! | yyparse. | ! `----------*/ ! #ifdef YYPARSE_PARAM ! # if defined (__STDC__) || defined (__cplusplus) ! int yyparse (void *YYPARSE_PARAM) ! # else ! int yyparse (YYPARSE_PARAM) ! void *YYPARSE_PARAM; ! # endif ! #else /* ! YYPARSE_PARAM */ ! #if defined (__STDC__) || defined (__cplusplus) ! int ! yyparse (void) ! #else ! int ! yyparse () ! #endif ! #endif { ! register int yystate; register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ ! int yytoken = 0; /* Three stacks and their tools: `yyss': related to states, *************** yyparse (YYPARSE_PARAM_ARG) *** 2066,2072 **** Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ ! /* The state stack. */ short yyssa[YYINITDEPTH]; short *yyss = yyssa; register short *yyssp; --- 2387,2393 ---- Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ ! /* The state stack. */ short yyssa[YYINITDEPTH]; short *yyss = yyssa; register short *yyssp; *************** yyparse (YYPARSE_PARAM_ARG) *** 2076,2106 **** YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; - #if YYLSP_NEEDED - /* The location stack. */ - YYLTYPE yylsa[YYINITDEPTH]; - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - #endif - #if YYLSP_NEEDED - # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) - #else - # define YYPOPSTACK (yyvsp--, yyssp--) - #endif ! YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; ! #if YYLSP_NEEDED ! YYLTYPE yyloc; ! #endif /* When reducing, the number of symbols on the RHS of the reduced ! rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); --- 2397,2415 ---- YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; ! #define YYPOPSTACK (yyvsp--, yyssp--) + YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; ! /* When reducing, the number of symbols on the RHS of the reduced ! rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); *************** yyparse (YYPARSE_PARAM_ARG) *** 2117,2125 **** yyssp = yyss; yyvsp = yyvs; ! #if YYLSP_NEEDED ! yylsp = yyls; ! #endif goto yysetstate; /*------------------------------------------------------------. --- 2426,2432 ---- yyssp = yyss; yyvsp = yyvs; ! goto yysetstate; /*------------------------------------------------------------. *************** yyparse (YYPARSE_PARAM_ARG) *** 2134,2140 **** yysetstate: *yyssp = yystate; ! if (yyssp >= yyss + yystacksize - 1) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; --- 2441,2447 ---- yysetstate: *yyssp = yystate; ! if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; *************** yyparse (YYPARSE_PARAM_ARG) *** 2147,2179 **** YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; /* Each stack pointer address is followed by the size of the ! data in use in that stack, in bytes. */ ! # if YYLSP_NEEDED ! YYLTYPE *yyls1 = yyls; ! /* This used to be a conditional around just the two extra args, ! but that might be undefined if yyoverflow is a macro. */ ! yyoverflow ("parser stack overflow", ! &yyss1, yysize * sizeof (*yyssp), ! &yyvs1, yysize * sizeof (*yyvsp), ! &yyls1, yysize * sizeof (*yylsp), ! &yystacksize); ! yyls = yyls1; ! # else yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); ! # endif yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ /* Extend the stack our own way. */ ! if (yystacksize >= YYMAXDEPTH) goto yyoverflowlab; yystacksize *= 2; ! if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; { --- 2454,2482 ---- YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; + /* Each stack pointer address is followed by the size of the ! data in use in that stack, in bytes. This used to be a ! conditional around just the two extra args, but that might ! be undefined if yyoverflow is a macro. */ yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); ! yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ + # ifndef YYSTACK_RELOCATE + goto yyoverflowlab; + # else /* Extend the stack our own way. */ ! if (YYMAXDEPTH <= yystacksize) goto yyoverflowlab; yystacksize *= 2; ! if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { *************** yyparse (YYPARSE_PARAM_ARG) *** 2182,2208 **** (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyoverflowlab; ! YYSTACK_RELOCATE (short, yyss); ! YYSTACK_RELOCATE (YYSTYPE, yyvs); ! # if YYLSP_NEEDED ! YYSTACK_RELOCATE (YYLTYPE, yyls); ! # endif ! # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; ! #if YYLSP_NEEDED ! yylsp = yyls + yysize - 1; ! #endif YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); ! if (yyssp >= yyss + yystacksize - 1) YYABORT; } --- 2485,2508 ---- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyoverflowlab; ! YYSTACK_RELOCATE (yyss); ! YYSTACK_RELOCATE (yyvs); ! ! # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } + # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; ! YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); ! if (yyss + yystacksize - 1 <= yyssp) YYABORT; } *************** yyparse (YYPARSE_PARAM_ARG) *** 2210,2216 **** goto yybackup; - /*-----------. | yybackup. | `-----------*/ --- 2510,2515 ---- *************** yybackup: *** 2223,2310 **** /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; ! if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ ! /* yychar is either YYEMPTY or YYEOF ! or a valid token in external form. */ ! if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } ! /* Convert token to internal form (in yychar1) for indexing tables with */ ! ! if (yychar <= 0) /* This means end of input. */ { ! yychar1 = 0; ! yychar = YYEOF; /* Don't call YYLEX any more */ ! YYDPRINTF ((stderr, "Now at end of input.\n")); } else { ! yychar1 = YYTRANSLATE (yychar); ! ! #if YYDEBUG ! /* We have to keep this `#if YYDEBUG', since we use variables ! which are defined only if `YYDEBUG' is set. */ ! if (yydebug) ! { ! YYFPRINTF (stderr, "Next token is %d (%s", ! yychar, yytname[yychar1]); ! /* Give the individual parser a way to print the precise ! meaning of a token, for further debugging info. */ ! # ifdef YYPRINT ! YYPRINT (stderr, yychar, yylval); ! # endif ! YYFPRINTF (stderr, ")\n"); ! } ! #endif } ! yyn += yychar1; ! if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; - yyn = yytable[yyn]; ! ! /* yyn is what to do for this token type in this state. ! Negative => reduce, -yyn is rule number. ! Positive => shift, yyn is new state. ! New state is final state => don't bother to shift, ! just return success. ! 0, or most negative number => error. */ ! ! if (yyn < 0) { ! if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } - else if (yyn == 0) - goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ ! YYDPRINTF ((stderr, "Shifting token %d (%s), ", ! yychar, yytname[yychar1])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; ! #if YYLSP_NEEDED ! *++yylsp = yylloc; ! #endif /* Count tokens shifted since error; after three, turn off error status. */ --- 2522,2576 ---- /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; ! if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ ! /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } ! if (yychar <= YYEOF) { ! yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { ! yytoken = YYTRANSLATE (yychar); ! YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } ! /* If the proper action on seeing token YYTOKEN is to reduce or to ! detect an error, take that action. */ ! yyn += yytoken; ! if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; ! if (yyn <= 0) { ! if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ ! YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; ! /* Count tokens shifted since error; after three, turn off error status. */ *************** yyreduce: *** 2335,2780 **** /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. ! Otherwise, the following line sets YYVAL to the semantic value of ! the lookahead token. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; - #if YYLSP_NEEDED - /* Similarly for the default location. Let the user run additional - commands if for instance locations are ranges. */ - yyloc = yylsp[1-yylen]; - YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); - #endif ! #if YYDEBUG ! /* We have to keep this `#if YYDEBUG', since we use variables which ! are defined only if `YYDEBUG' is set. */ ! if (yydebug) { ! int yyi; ! ! YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", ! yyn, yyrline[yyn]); ! ! /* Print the symbols being reduced, and their result. */ ! for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) ! YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); ! YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); ! } ! #endif ! ! switch (yyn) { ! ! case 1: #line 287 "c-parse.y" ! { if (pedantic) pedwarn ("ISO C forbids an empty source file"); finish_file (); ! ; ! break;} ! case 2: #line 292 "c-parse.y" ! { /* In case there were missing closebraces, get us back to the global binding level. */ while (! global_bindings_p ()) poplevel (0, 0, 0); finish_fname_decls (); finish_file (); ! ; ! break;} ! case 3: #line 307 "c-parse.y" ! {yyval.ttype = NULL_TREE; ; ! break;} ! case 5: #line 308 "c-parse.y" ! {yyval.ttype = NULL_TREE; ggc_collect(); ; ! break;} ! case 9: #line 315 "c-parse.y" ! { STRIP_NOPS (yyvsp[-2].ttype); if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST) || TREE_CODE (yyvsp[-2].ttype) == STRING_CST) assemble_asm (yyvsp[-2].ttype); else ! error ("argument of `asm' is not a constant string"); ; ! break;} ! case 10: #line 323 "c-parse.y" ! { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; ! break;} ! case 11: #line 328 "c-parse.y" ! { if (pedantic) error ("ISO C forbids data definition with no type or storage class"); else if (!flag_traditional) warning ("data definition has no type or storage class"); ! POP_DECLSPEC_STACK; ; ! break;} ! case 12: #line 335 "c-parse.y" ! { POP_DECLSPEC_STACK; ; ! break;} ! case 13: #line 337 "c-parse.y" ! { POP_DECLSPEC_STACK; ; ! break;} ! case 14: #line 339 "c-parse.y" ! { shadow_tag (yyvsp[-1].ttype); ; ! break;} ! case 17: #line 343 "c-parse.y" ! { if (pedantic) ! pedwarn ("ISO C does not allow extra `;' outside of a function"); ; ! break;} ! case 18: #line 349 "c-parse.y" ! { if (! start_function (current_declspecs, yyvsp[0].ttype, all_prefix_attributes)) YYERROR1; ! ; ! break;} ! case 19: #line 354 "c-parse.y" ! { store_parm_decls (); ; ! break;} ! case 20: #line 356 "c-parse.y" ! { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno; finish_function (0, 1); ! POP_DECLSPEC_STACK; ; ! break;} ! case 21: #line 361 "c-parse.y" ! { POP_DECLSPEC_STACK; ; ! break;} ! case 22: #line 363 "c-parse.y" ! { if (! start_function (current_declspecs, yyvsp[0].ttype, all_prefix_attributes)) YYERROR1; ! ; ! break;} ! case 23: #line 368 "c-parse.y" ! { store_parm_decls (); ; ! break;} ! case 24: #line 370 "c-parse.y" ! { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno; finish_function (0, 1); ! POP_DECLSPEC_STACK; ; ! break;} ! case 25: #line 375 "c-parse.y" ! { POP_DECLSPEC_STACK; ; ! break;} ! case 26: #line 377 "c-parse.y" ! { if (! start_function (NULL_TREE, yyvsp[0].ttype, all_prefix_attributes)) YYERROR1; ! ; ! break;} ! case 27: #line 382 "c-parse.y" ! { store_parm_decls (); ; ! break;} ! case 28: #line 384 "c-parse.y" ! { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno; finish_function (0, 1); ! POP_DECLSPEC_STACK; ; ! break;} ! case 29: #line 389 "c-parse.y" ! { POP_DECLSPEC_STACK; ; ! break;} ! case 32: #line 398 "c-parse.y" ! { yyval.code = ADDR_EXPR; ; ! break;} ! case 33: #line 400 "c-parse.y" ! { yyval.code = NEGATE_EXPR; ; ! break;} ! case 34: #line 402 "c-parse.y" ! { yyval.code = CONVERT_EXPR; if (warn_traditional && !in_system_header) warning ("traditional C rejects the unary plus operator"); ! ; ! break;} ! case 35: #line 407 "c-parse.y" ! { yyval.code = PREINCREMENT_EXPR; ; ! break;} ! case 36: #line 409 "c-parse.y" ! { yyval.code = PREDECREMENT_EXPR; ; ! break;} ! case 37: #line 411 "c-parse.y" ! { yyval.code = BIT_NOT_EXPR; ; ! break;} ! case 38: #line 413 "c-parse.y" ! { yyval.code = TRUTH_NOT_EXPR; ; ! break;} ! case 39: #line 417 "c-parse.y" ! { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ; ! break;} ! case 40: #line 422 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; ! break;} ! case 42: #line 428 "c-parse.y" ! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; ! break;} ! case 43: #line 430 "c-parse.y" ! { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; ! break;} ! case 45: #line 436 "c-parse.y" ! { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ; ! break;} ! case 46: #line 439 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; ! break;} ! case 47: #line 442 "c-parse.y" ! { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); ! overflow_warning (yyval.ttype); ; ! break;} ! case 48: #line 446 "c-parse.y" ! { yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ; ! break;} ! case 49: #line 463 "c-parse.y" ! { skip_evaluation--; if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) error ("`sizeof' applied to a bit-field"); ! yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ; ! break;} ! case 50: #line 469 "c-parse.y" ! { skip_evaluation--; ! yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ; ! break;} ! case 51: #line 472 "c-parse.y" ! { skip_evaluation--; ! yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ; ! break;} ! case 52: #line 475 "c-parse.y" ! { skip_evaluation--; ! yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ; ! break;} ! case 53: #line 478 "c-parse.y" ! { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ; ! break;} ! case 54: #line 480 "c-parse.y" ! { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ; ! break;} ! case 55: #line 484 "c-parse.y" ! { skip_evaluation++; ; ! break;} ! case 56: #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. */ yyvsp[0].ttype = save_expr (yyvsp[-1].ttype); 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)); if (IS_EXPR_CODE_CLASS (class)) 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. */ class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype)); if (IS_EXPR_CODE_CLASS (class)) 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 (); if (pedantic && ! flag_isoc99) pedwarn ("ISO C89 forbids compound literals"); 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) pedwarn ("ISO C forbids braced-groups within expressions"); --- 2601,3102 ---- /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. ! Otherwise, the following line sets YYVAL to garbage. ! This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; ! YY_REDUCE_PRINT (yyn); ! switch (yyn) { ! case 2: #line 287 "c-parse.y" ! { if (pedantic) pedwarn ("ISO C forbids an empty source file"); finish_file (); ! ;} ! break; ! ! case 3: #line 292 "c-parse.y" ! { /* In case there were missing closebraces, get us back to the global binding level. */ while (! global_bindings_p ()) poplevel (0, 0, 0); finish_fname_decls (); finish_file (); ! ;} ! break; ! ! case 4: #line 307 "c-parse.y" ! {yyval.ttype = NULL_TREE; ;} ! break; ! ! case 6: #line 308 "c-parse.y" ! {yyval.ttype = NULL_TREE; ggc_collect(); ;} ! break; ! ! case 10: #line 315 "c-parse.y" ! { STRIP_NOPS (yyvsp[-2].ttype); if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST) || TREE_CODE (yyvsp[-2].ttype) == STRING_CST) assemble_asm (yyvsp[-2].ttype); else ! error ("argument of `asm' is not a constant string"); ;} ! break; ! ! case 11: #line 323 "c-parse.y" ! { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;} ! break; ! ! case 12: #line 328 "c-parse.y" ! { if (pedantic) error ("ISO C forbids data definition with no type or storage class"); else if (!flag_traditional) warning ("data definition has no type or storage class"); ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 13: #line 335 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 14: #line 337 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 15: #line 339 "c-parse.y" ! { shadow_tag (yyvsp[-1].ttype); ;} ! break; ! ! case 18: #line 343 "c-parse.y" ! { if (pedantic) ! pedwarn ("ISO C does not allow extra `;' outside of a function"); ;} ! break; ! ! case 19: #line 349 "c-parse.y" ! { if (! start_function (current_declspecs, yyvsp[0].ttype, all_prefix_attributes)) YYERROR1; ! ;} ! break; ! ! case 20: #line 354 "c-parse.y" ! { store_parm_decls (); ;} ! break; ! ! case 21: #line 356 "c-parse.y" ! { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno; finish_function (0, 1); ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 22: #line 361 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 23: #line 363 "c-parse.y" ! { if (! start_function (current_declspecs, yyvsp[0].ttype, all_prefix_attributes)) YYERROR1; ! ;} ! break; ! ! case 24: #line 368 "c-parse.y" ! { store_parm_decls (); ;} ! break; ! ! case 25: #line 370 "c-parse.y" ! { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno; finish_function (0, 1); ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 26: #line 375 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 27: #line 377 "c-parse.y" ! { if (! start_function (NULL_TREE, yyvsp[0].ttype, all_prefix_attributes)) YYERROR1; ! ;} ! break; ! ! case 28: #line 382 "c-parse.y" ! { store_parm_decls (); ;} ! break; ! ! case 29: #line 384 "c-parse.y" ! { DECL_SOURCE_FILE (current_function_decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (current_function_decl) = yyvsp[-1].lineno; finish_function (0, 1); ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 30: #line 389 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 33: #line 398 "c-parse.y" ! { yyval.code = ADDR_EXPR; ;} ! break; ! ! case 34: #line 400 "c-parse.y" ! { yyval.code = NEGATE_EXPR; ;} ! break; ! ! case 35: #line 402 "c-parse.y" ! { yyval.code = CONVERT_EXPR; if (warn_traditional && !in_system_header) warning ("traditional C rejects the unary plus operator"); ! ;} ! break; ! ! case 36: #line 407 "c-parse.y" ! { yyval.code = PREINCREMENT_EXPR; ;} ! break; ! ! case 37: #line 409 "c-parse.y" ! { yyval.code = PREDECREMENT_EXPR; ;} ! break; ! ! case 38: #line 411 "c-parse.y" ! { yyval.code = BIT_NOT_EXPR; ;} ! break; ! ! case 39: #line 413 "c-parse.y" ! { yyval.code = TRUTH_NOT_EXPR; ;} ! break; ! ! case 40: #line 417 "c-parse.y" ! { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;} ! break; ! ! case 41: #line 422 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 43: #line 428 "c-parse.y" ! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;} ! break; ! ! case 44: #line 430 "c-parse.y" ! { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;} ! break; ! ! case 46: #line 436 "c-parse.y" ! { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;} ! break; ! ! case 47: #line 439 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;} ! break; ! ! case 48: #line 442 "c-parse.y" ! { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); ! overflow_warning (yyval.ttype); ;} ! break; ! ! case 49: #line 446 "c-parse.y" ! { yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;} ! break; ! ! case 50: #line 463 "c-parse.y" ! { skip_evaluation--; if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1))) error ("`sizeof' applied to a bit-field"); ! yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;} ! break; ! ! case 51: #line 469 "c-parse.y" ! { skip_evaluation--; ! yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;} ! break; ! ! case 52: #line 472 "c-parse.y" ! { skip_evaluation--; ! yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;} ! break; ! ! case 53: #line 475 "c-parse.y" ! { skip_evaluation--; ! yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;} ! break; ! ! case 54: #line 478 "c-parse.y" ! { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;} ! break; ! ! case 55: #line 480 "c-parse.y" ! { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;} ! break; ! ! case 56: #line 484 "c-parse.y" ! { skip_evaluation++; ;} ! break; ! ! case 57: #line 488 "c-parse.y" ! { skip_evaluation++; ;} ! break; ! ! case 58: #line 492 "c-parse.y" ! { skip_evaluation++; ;} ! break; ! ! case 60: #line 498 "c-parse.y" ! { yyval.ttype = c_cast_expr (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" ! { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 73: #line 526 "c-parse.y" ! { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 74: #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 75: #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 76: #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 77: #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 78: #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 79: #line 543 "c-parse.y" ! { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) ! - (yyvsp[-4].ttype == boolean_false_node)); ;} ! break; ! ! case 80: #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 81: #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. */ yyvsp[0].ttype = save_expr (yyvsp[-1].ttype); yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype)); ! skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;} ! break; ! ! case 82: #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 83: #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)); if (IS_EXPR_CODE_CLASS (class)) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ! ;} ! break; ! ! case 84: #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. */ class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype)); if (IS_EXPR_CODE_CLASS (class)) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ! ;} ! break; ! ! case 85: #line 577 "c-parse.y" ! { if (yychar == YYEMPTY) yychar = YYLEX; yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '('); ! ;} ! break; ! ! case 87: #line 584 "c-parse.y" ! { yyval.ttype = combine_strings (yyvsp[0].ttype); ;} ! break; ! ! case 88: #line 586 "c-parse.y" ! { yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); ;} ! break; ! ! case 89: #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 90: #line 592 "c-parse.y" ! { tree constructor = pop_init_level (0); tree type = yyvsp[-5].ttype; finish_init (); if (pedantic && ! flag_isoc99) pedwarn ("ISO C89 forbids compound literals"); yyval.ttype = build_compound_literal (type, constructor); ! ;} ! break; ! ! case 91: #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 92: #line 606 "c-parse.y" ! { yyval.ttype = error_mark_node; ;} ! break; ! ! case 93: #line 608 "c-parse.y" ! { tree saved_last_tree; if (pedantic) pedwarn ("ISO C forbids braced-groups within expressions"); *************** case 92: *** 2788,2815 **** last_expr_type = void_type_node; yyval.ttype = build1 (STMT_EXPR, last_expr_type, yyvsp[-2].ttype); TREE_SIDE_EFFECTS (yyval.ttype) = 1; ! ; ! break;} ! case 93: #line 624 "c-parse.y" ! { pop_label_level (); last_tree = COMPOUND_BODY (yyvsp[-2].ttype); TREE_CHAIN (last_tree) = NULL_TREE; 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; c = fold (yyvsp[-5].ttype); --- 3110,3141 ---- last_expr_type = void_type_node; yyval.ttype = build1 (STMT_EXPR, last_expr_type, yyvsp[-2].ttype); TREE_SIDE_EFFECTS (yyval.ttype) = 1; ! ;} ! break; ! ! case 94: #line 624 "c-parse.y" ! { pop_label_level (); last_tree = COMPOUND_BODY (yyvsp[-2].ttype); TREE_CHAIN (last_tree) = NULL_TREE; yyval.ttype = error_mark_node; ! ;} ! break; ! ! case 95: #line 631 "c-parse.y" ! { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;} ! break; ! ! case 96: #line 633 "c-parse.y" ! { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;} ! break; ! ! case 97: #line 636 "c-parse.y" ! { tree c; c = fold (yyvsp[-5].ttype); *************** case 96: *** 2817,2827 **** if (TREE_CODE (c) != INTEGER_CST) error ("first argument to __builtin_choose_expr not a constant"); yyval.ttype = integer_zerop (c) ? yyvsp[-1].ttype : yyvsp[-3].ttype; ! ; ! break;} ! case 97: #line 646 "c-parse.y" ! { tree e1, e2; e1 = TYPE_MAIN_VARIANT (groktypename (yyvsp[-3].ttype)); --- 3143,3154 ---- if (TREE_CODE (c) != INTEGER_CST) error ("first argument to __builtin_choose_expr not a constant"); yyval.ttype = integer_zerop (c) ? yyvsp[-1].ttype : yyvsp[-3].ttype; ! ;} ! break; ! ! case 98: #line 646 "c-parse.y" ! { tree e1, e2; e1 = TYPE_MAIN_VARIANT (groktypename (yyvsp[-3].ttype)); *************** case 97: *** 2829,2865 **** yyval.ttype = comptypes (e1, e2) ? 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; yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); --- 3156,3198 ---- yyval.ttype = comptypes (e1, e2) ? build_int_2 (1, 0) : build_int_2 (0, 0); ! ;} ! break; ! ! case 99: #line 656 "c-parse.y" ! { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;} ! break; ! ! case 100: #line 658 "c-parse.y" ! { yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); ! ;} ! break; ! ! case 101: #line 662 "c-parse.y" ! { tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); yyval.ttype = build_component_ref (expr, yyvsp[0].ttype); ! ;} ! break; ! ! case 102: #line 668 "c-parse.y" ! { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;} ! break; ! ! case 103: #line 670 "c-parse.y" ! { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;} ! break; ! ! case 105: #line 677 "c-parse.y" ! { static int last_lineno = 0; static const char *last_input_filename = 0; yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); *************** case 104: *** 2871,3563 **** last_lineno = lineno; last_input_filename = input_filename; } ! ; ! 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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! 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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! 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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! 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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! 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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! 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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! 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"); push_function_context (); --- 3204,4029 ---- last_lineno = lineno; last_input_filename = input_filename; } ! ;} ! break; ! ! case 108: #line 698 "c-parse.y" ! { c_mark_varargs (); if (pedantic) ! pedwarn ("ISO C does not permit use of `varargs.h'"); ;} ! break; ! ! case 109: #line 708 "c-parse.y" ! { ;} ! break; ! ! case 114: #line 724 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 115: #line 726 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 116: #line 728 "c-parse.y" ! { shadow_tag_warned (yyvsp[-1].ttype, 1); ! pedwarn ("empty declaration"); ;} ! break; ! ! case 117: #line 731 "c-parse.y" ! { pedwarn ("empty declaration"); ;} ! break; ! ! case 118: #line 740 "c-parse.y" ! { ;} ! break; ! ! case 119: #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 120: #line 759 "c-parse.y" ! { all_prefix_attributes = chainon (yyvsp[0].ttype, prefix_attributes); ;} ! 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" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 124: #line 770 "c-parse.y" ! { POP_DECLSPEC_STACK; ;} ! break; ! ! case 125: #line 772 "c-parse.y" ! { shadow_tag (yyvsp[-1].ttype); ;} ! break; ! ! case 126: #line 774 "c-parse.y" ! { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;} ! break; ! ! case 127: #line 831 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 128: #line 834 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 129: #line 837 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 130: #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 131: #line 849 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 132: #line 852 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 133: #line 858 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ! TREE_STATIC (yyval.ttype) = 0; ;} ! break; ! ! case 134: #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 135: #line 867 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 136: #line 870 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 137: #line 873 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 138: #line 876 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 139: #line 879 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 140: #line 882 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 141: #line 885 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 142: #line 891 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 143: #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 144: #line 897 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 145: #line 900 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 146: #line 903 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 147: #line 906 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 148: #line 912 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 149: #line 915 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 150: #line 918 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 151: #line 921 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 152: #line 924 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 153: #line 927 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 154: #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 155: #line 936 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 156: #line 939 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 157: #line 942 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 158: #line 945 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 159: #line 951 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ! TREE_STATIC (yyval.ttype) = 0; ;} ! break; ! ! case 160: #line 954 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 161: #line 957 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 162: #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 163: #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 164: #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 165: #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 166: #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 167: #line 993 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 168: #line 996 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 169: #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 170: #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 171: #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 172: #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 173: #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 174: #line 1032 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 175: #line 1035 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 176: #line 1038 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 177: #line 1041 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 178: #line 1044 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 179: #line 1047 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 180: #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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;} ! break; ! ! case 181: #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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;} ! break; ! ! case 182: #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)); 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 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 184: #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 185: #line 1080 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 186: #line 1083 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 187: #line 1086 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 188: #line 1089 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 189: #line 1095 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 190: #line 1098 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 191: #line 1101 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 192: #line 1104 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 193: #line 1107 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 194: #line 1110 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 195: #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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;} ! break; ! ! case 196: #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)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;} ! break; ! ! case 197: #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)); 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 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 199: #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 200: #line 1143 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 201: #line 1146 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 202: #line 1149 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 203: #line 1152 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ;} ! break; ! ! case 260: #line 1240 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 261: #line 1242 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 265: #line 1277 "c-parse.y" ! { OBJC_NEED_RAW_IDENTIFIER (1); ;} ! break; ! ! case 268: #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 269: #line 1291 "c-parse.y" ! { skip_evaluation--; yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;} ! break; ! ! case 270: #line 1293 "c-parse.y" ! { skip_evaluation--; yyval.ttype = groktypename (yyvsp[-1].ttype); ;} ! break; ! ! case 275: #line 1310 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 276: #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 277: #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 278: #line 1324 "c-parse.y" ! { finish_init (); ! finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;} ! break; ! ! case 279: #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 280: #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 281: #line 1340 "c-parse.y" ! { finish_init (); ! finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;} ! break; ! ! case 282: #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 283: #line 1351 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 284: #line 1353 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 285: #line 1358 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 286: #line 1360 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 287: #line 1365 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype; ;} ! break; ! ! case 288: #line 1370 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 289: #line 1372 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 290: #line 1377 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 291: #line 1379 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 292: #line 1381 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;} ! break; ! ! case 293: #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 294: #line 1385 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;} ! break; ! ! case 300: #line 1403 "c-parse.y" ! { really_start_incremental_init (NULL_TREE); ;} ! break; ! ! case 301: #line 1405 "c-parse.y" ! { yyval.ttype = pop_init_level (0); ;} ! break; ! ! case 302: #line 1407 "c-parse.y" ! { yyval.ttype = error_mark_node; ;} ! break; ! ! case 303: #line 1413 "c-parse.y" ! { if (pedantic) ! pedwarn ("ISO C forbids empty initializer braces"); ;} ! break; ! ! case 307: #line 1427 "c-parse.y" ! { if (pedantic && ! flag_isoc99) ! pedwarn ("ISO C89 forbids specifying subobject to initialize"); ;} ! break; ! ! case 308: #line 1430 "c-parse.y" ! { if (pedantic) ! pedwarn ("obsolete use of designated initializer without `='"); ;} ! break; ! ! case 309: #line 1433 "c-parse.y" ! { set_init_label (yyvsp[-1].ttype); if (pedantic) ! pedwarn ("obsolete use of designated initializer with `:'"); ;} ! break; ! ! case 310: #line 1437 "c-parse.y" ! {;} ! break; ! ! case 312: #line 1443 "c-parse.y" ! { push_init_level (0); ;} ! break; ! ! case 313: #line 1445 "c-parse.y" ! { process_init_element (pop_init_level (0)); ;} ! break; ! ! case 314: #line 1447 "c-parse.y" ! { process_init_element (yyvsp[0].ttype); ;} ! break; ! ! case 318: #line 1458 "c-parse.y" ! { set_init_label (yyvsp[0].ttype); ;} ! break; ! ! case 319: #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 320: #line 1467 "c-parse.y" ! { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;} ! break; ! ! case 321: #line 1472 "c-parse.y" ! { if (pedantic) pedwarn ("ISO C forbids nested functions"); push_function_context (); *************** case 320: *** 3567,3590 **** pop_function_context (); YYERROR1; } ! ; ! 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; finish_function (1, 1); pop_function_context (); ! add_decl_stmt (decl); ; ! break;} ! case 323: #line 1502 "c-parse.y" ! { if (pedantic) pedwarn ("ISO C forbids nested functions"); push_function_context (); --- 4033,4059 ---- pop_function_context (); YYERROR1; } ! ;} ! break; ! ! case 322: #line 1484 "c-parse.y" ! { store_parm_decls (); ;} ! break; ! ! case 323: #line 1492 "c-parse.y" ! { tree decl = current_function_decl; DECL_SOURCE_FILE (decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno; finish_function (1, 1); pop_function_context (); ! add_decl_stmt (decl); ;} ! break; ! ! case 324: #line 1502 "c-parse.y" ! { if (pedantic) pedwarn ("ISO C forbids nested functions"); push_function_context (); *************** case 323: *** 3594,3797 **** pop_function_context (); YYERROR1; } ! ; ! 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; finish_function (1, 1); 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 MS P-SDK). */ --- 4063,4310 ---- pop_function_context (); YYERROR1; } ! ;} ! break; ! ! case 325: #line 1514 "c-parse.y" ! { store_parm_decls (); ;} ! break; ! ! case 326: #line 1522 "c-parse.y" ! { tree decl = current_function_decl; DECL_SOURCE_FILE (decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno; finish_function (1, 1); pop_function_context (); ! add_decl_stmt (decl); ;} ! break; ! ! case 329: #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 330: #line 1544 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 331: #line 1549 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;} ! break; ! ! case 332: #line 1551 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 336: #line 1566 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 337: #line 1571 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;} ! break; ! ! case 339: #line 1577 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 340: #line 1582 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;} ! break; ! ! case 341: #line 1584 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 342: #line 1586 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 343: #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 344: #line 1596 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 345: #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 346: #line 1603 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 347: #line 1605 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ;} ! break; ! ! case 349: #line 1611 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 350: #line 1613 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 351: #line 1618 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 352: #line 1620 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 353: #line 1625 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 354: #line 1627 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 355: #line 1638 "c-parse.y" ! { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); /* Start scope of tag before parsing components. */ ! ;} ! break; ! ! case 356: #line 1642 "c-parse.y" ! { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;} ! break; ! ! case 357: #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 358: #line 1648 "c-parse.y" ! { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;} ! break; ! ! case 359: #line 1650 "c-parse.y" ! { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;} ! break; ! ! case 360: #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 361: #line 1656 "c-parse.y" ! { yyval.ttype = start_enum (yyvsp[-1].ttype); ;} ! break; ! ! case 362: #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 363: #line 1661 "c-parse.y" ! { yyval.ttype = start_enum (NULL_TREE); ;} ! break; ! ! case 364: #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 365: #line 1669 "c-parse.y" ! { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;} ! break; ! ! case 366: #line 1671 "c-parse.y" ! { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;} ! break; ! ! case 367: #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 371: #line 1688 "c-parse.y" ! { if (pedantic && ! flag_isoc99) ! pedwarn ("comma at end of enumerator list"); ;} ! break; ! ! case 372: #line 1694 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 373: #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 374: #line 1701 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 375: #line 1703 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;} ! break; ! ! case 376: #line 1705 "c-parse.y" ! { if (pedantic) ! pedwarn ("extra semicolon in struct or union specified"); ;} ! break; ! ! case 377: #line 1711 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 378: #line 1714 "c-parse.y" ! { /* Support for unnamed structs or unions as members of structs or unions (which is [a] useful and [b] supports MS P-SDK). */ *************** case 377: *** 3799,4014 **** pedwarn ("ISO C doesn't support unnamed structs/unions"); 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 (); pushlevel (0); --- 4312,4571 ---- pedwarn ("ISO C doesn't support unnamed structs/unions"); yyval.ttype = grokfield(yyvsp[-1].filename, yyvsp[0].lineno, NULL, current_declspecs, NULL_TREE); ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 379: #line 1724 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 380: #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 381: #line 1732 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 382: #line 1734 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;} ! break; ! ! case 384: #line 1741 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 386: #line 1747 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 387: #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 388: #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 389: #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 390: #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 391: #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 392: #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 394: #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 395: #line 1789 "c-parse.y" ! { yyval.ttype = error_mark_node; ;} ! break; ! ! case 396: #line 1795 "c-parse.y" ! { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 397: #line 1797 "c-parse.y" ! { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 398: #line 1802 "c-parse.y" ! { pending_xref_error (); ! yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 399: #line 1805 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 400: #line 1810 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 402: #line 1816 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, NULL_TREE), ! all_prefix_attributes); ;} ! break; ! ! case 403: #line 1820 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[0].ttype), ! all_prefix_attributes); ;} ! break; ! ! case 404: #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 408: #line 1837 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 409: #line 1842 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 410: #line 1844 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 411: #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 412: #line 1851 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 413: #line 1853 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 1); ;} ! break; ! ! case 414: #line 1855 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;} ! break; ! ! case 415: #line 1857 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, NULL_TREE, 1); ;} ! break; ! ! case 416: #line 1864 "c-parse.y" ! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 0, 0); ;} ! break; ! ! case 417: #line 1866 "c-parse.y" ! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, 0); ;} ! break; ! ! case 418: #line 1868 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 0); ;} ! break; ! ! case 419: #line 1870 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-1].ttype, 0, 0); ;} ! break; ! ! case 420: #line 1872 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 1); ;} ! break; ! ! case 421: #line 1874 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-2].ttype, 0, 1); ;} ! break; ! ! case 422: #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 423: #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 424: #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 427: #line 1899 "c-parse.y" ! { pedwarn ("deprecated use of label at end of compound statement"); ! ;} ! break; ! ! case 435: #line 1916 "c-parse.y" ! { if (pedantic && !flag_isoc99) ! pedwarn ("ISO C89 forbids mixed declarations and code"); ;} ! break; ! ! case 450: #line 1946 "c-parse.y" ! { pushlevel (0); clear_last_expr (); add_scope_stmt (/*begin_p=*/1, /*partial_p=*/0); ! ;} ! break; ! ! case 451: #line 1953 "c-parse.y" ! { yyval.ttype = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); ;} ! break; ! ! case 452: #line 1958 "c-parse.y" ! { if (flag_isoc99) { yyval.ttype = c_begin_compound_stmt (); pushlevel (0); *************** case 451: *** 4017,4027 **** } else 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); yyval.ttype = poplevel (kept_level_p (), 0, 0); --- 4574,4585 ---- } else yyval.ttype = NULL_TREE; ! ;} ! break; ! ! case 453: #line 1974 "c-parse.y" ! { if (flag_isoc99) { tree scope_stmt = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); yyval.ttype = poplevel (kept_level_p (), 0, 0); *************** case 452: *** 4030,4076 **** = yyval.ttype; } 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)) { tree label = shadow_label (TREE_VALUE (link)); C_DECLARED_LABEL_FLAG (label) = 1; add_decl_stmt (label); } ! ; ! 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"); YYERROR; --- 4588,4641 ---- = yyval.ttype; } else ! yyval.ttype = NULL_TREE; ;} ! break; ! ! case 455: #line 1991 "c-parse.y" ! { if (pedantic) ! pedwarn ("ISO C forbids label declarations"); ;} ! break; ! ! case 458: #line 2002 "c-parse.y" ! { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { tree label = shadow_label (TREE_VALUE (link)); C_DECLARED_LABEL_FLAG (label) = 1; add_decl_stmt (label); } ! ;} ! break; ! ! case 459: #line 2016 "c-parse.y" ! {;} ! break; ! ! case 461: #line 2020 "c-parse.y" ! { compstmt_count++; ! yyval.ttype = c_begin_compound_stmt (); ;} ! break; ! ! case 462: #line 2025 "c-parse.y" ! { yyval.ttype = convert (void_type_node, integer_zero_node); ;} ! break; ! ! case 463: #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 466: #line 2040 "c-parse.y" ! { if (current_function_decl == 0) { error ("braced-group within expression allowed only inside a function"); YYERROR; *************** case 465: *** 4083,4115 **** push_label_level (); compstmt_count++; 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 = add_stmt (build_stmt (DO_STMT, NULL_TREE, --- 4648,4685 ---- push_label_level (); compstmt_count++; yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree)); ! ;} ! break; ! ! case 467: #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 468: #line 2065 "c-parse.y" ! { c_finish_then (); ;} ! break; ! ! case 470: #line 2082 "c-parse.y" ! { yyval.ttype = c_begin_if_stmt (); ;} ! break; ! ! case 471: #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 472: #line 2096 "c-parse.y" ! { stmt_count++; compstmt_count++; yyval.ttype = add_stmt (build_stmt (DO_STMT, NULL_TREE, *************** case 471: *** 4118,4150 **** parsing the complete do-statement, set the condition now. Otherwise, we can get crashes at 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; /* ??? We currently have no way of recording --- 4688,4725 ---- parsing the complete do-statement, set the condition now. Otherwise, we can get crashes at RTL-generation time. */ ! DO_COND (yyval.ttype) = error_mark_node; ;} ! break; ! ! case 473: #line 2107 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype; ! RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); ;} ! break; ! ! case 474: #line 2115 "c-parse.y" ! { if (yychar == YYEMPTY) yychar = YYLEX; ! yyval.filename = input_filename; ;} ! break; ! ! case 475: #line 2121 "c-parse.y" ! { if (yychar == YYEMPTY) yychar = YYLEX; ! yyval.lineno = lineno; ;} ! break; ! ! case 478: #line 2134 "c-parse.y" ! { if (flag_isoc99) ! RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ;} ! break; ! ! case 479: #line 2140 "c-parse.y" ! { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno; /* ??? We currently have no way of recording *************** case 478: *** 4153,4318 **** but I suspect that problems will occur when doing inlining at the tree level. */ } ! ; ! 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 else statement. Increment stmt_count so we don't give a second error if this is a nested `if'. */ if (extra_warnings && stmt_count++ == yyvsp[0].itype) 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); if (decl != 0) --- 4728,4924 ---- but I suspect that problems will occur when doing inlining at the tree level. */ } ! ;} ! break; ! ! case 480: #line 2154 "c-parse.y" ! { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno; } ! ;} ! break; ! ! case 481: #line 2163 "c-parse.y" ! { c_expand_start_else (); ! yyvsp[-1].itype = stmt_count; ;} ! break; ! ! case 482: #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 483: #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 else statement. Increment stmt_count so we don't give a second error if this is a nested `if'. */ if (extra_warnings && stmt_count++ == yyvsp[0].itype) warning_with_file_and_line (if_stmt_file, if_stmt_line, ! "empty body in an if-statement"); ;} ! break; ! ! case 484: #line 2183 "c-parse.y" ! { c_expand_end_cond (); ;} ! break; ! ! case 485: #line 2193 "c-parse.y" ! { stmt_count++; ! yyval.ttype = c_begin_while_stmt (); ;} ! break; ! ! case 486: #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 487: #line 2201 "c-parse.y" ! { RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ;} ! break; ! ! case 488: #line 2204 "c-parse.y" ! { DO_COND (yyvsp[-4].ttype) = truthvalue_conversion (yyvsp[-2].ttype); ;} ! break; ! ! case 489: #line 2206 "c-parse.y" ! { ;} ! break; ! ! case 490: #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 491: #line 2212 "c-parse.y" ! { stmt_count++; ! RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ;} ! break; ! ! case 492: #line 2215 "c-parse.y" ! { if (yyvsp[-1].ttype) ! FOR_COND (yyvsp[-5].ttype) = truthvalue_conversion (yyvsp[-1].ttype); ;} ! break; ! ! case 493: #line 2218 "c-parse.y" ! { FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ;} ! break; ! ! case 494: #line 2220 "c-parse.y" ! { RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); ;} ! break; ! ! case 495: #line 2222 "c-parse.y" ! { stmt_count++; ! yyval.ttype = c_start_case (yyvsp[-1].ttype); ;} ! break; ! ! case 496: #line 2225 "c-parse.y" ! { c_finish_case (); ;} ! break; ! ! case 497: #line 2230 "c-parse.y" ! { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ;} ! break; ! ! case 498: #line 2232 "c-parse.y" ! { check_for_loop_decls (); ;} ! break; ! ! case 499: #line 2238 "c-parse.y" ! { stmt_count++; yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 500: #line 2240 "c-parse.y" ! { stmt_count++; ! yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ;} ! break; ! ! case 501: #line 2243 "c-parse.y" ! { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ! yyval.ttype = NULL_TREE; ;} ! break; ! ! case 502: #line 2247 "c-parse.y" ! { stmt_count++; ! yyval.ttype = add_stmt (build_break_stmt ()); ;} ! break; ! ! case 503: #line 2250 "c-parse.y" ! { stmt_count++; ! yyval.ttype = add_stmt (build_continue_stmt ()); ;} ! break; ! ! case 504: #line 2253 "c-parse.y" ! { stmt_count++; ! yyval.ttype = c_expand_return (NULL_TREE); ;} ! break; ! ! case 505: #line 2256 "c-parse.y" ! { stmt_count++; ! yyval.ttype = c_expand_return (yyvsp[-1].ttype); ;} ! break; ! ! case 506: #line 2259 "c-parse.y" ! { stmt_count++; ! yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ;} ! break; ! ! case 507: #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 508: #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 509: #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 510: #line 2276 "c-parse.y" ! { tree decl; stmt_count++; decl = lookup_label (yyvsp[-1].ttype); if (decl != 0) *************** case 509: *** 4322,4359 **** } else 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) { --- 4928,4971 ---- } else yyval.ttype = NULL_TREE; ! ;} ! break; ! ! case 511: #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 512: #line 2294 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 513: #line 2302 "c-parse.y" ! { stmt_count++; ! yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ;} ! break; ! ! case 514: #line 2305 "c-parse.y" ! { stmt_count++; ! yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;} ! break; ! ! case 515: #line 2308 "c-parse.y" ! { stmt_count++; ! yyval.ttype = do_case (NULL_TREE, NULL_TREE); ;} ! break; ! ! case 516: #line 2311 "c-parse.y" ! { tree label = define_label (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-4].ttype); stmt_count++; if (label) { *************** case 515: *** 4362,4448 **** } else 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"); /* Mark the forward decls as such. */ for (parm = getdecls (); parm; parm = TREE_CHAIN (parm)) 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. Also, since func (...) and func () are indistinguishable, --- 4974,5077 ---- } else yyval.ttype = NULL_TREE; ! ;} ! break; ! ! case 517: #line 2327 "c-parse.y" ! { emit_line_note (input_filename, lineno); ! yyval.ttype = NULL_TREE; ;} ! break; ! ! case 518: #line 2330 "c-parse.y" ! { emit_line_note (input_filename, lineno); ;} ! break; ! ! case 519: #line 2335 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 521: #line 2342 "c-parse.y" ! { yyval.ttype = NULL_TREE; ;} ! break; ! ! case 524: #line 2349 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;} ! break; ! ! case 525: #line 2354 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ;} ! break; ! ! case 526: #line 2356 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ;} ! break; ! ! case 527: #line 2361 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;} ! break; ! ! case 528: #line 2363 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;} ! break; ! ! case 529: #line 2373 "c-parse.y" ! { pushlevel (0); clear_parm_order (); ! declare_parm_level (0); ;} ! break; ! ! case 530: #line 2377 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); ! poplevel (0, 0, 0); ;} ! break; ! ! case 532: #line 2385 "c-parse.y" ! { tree parm; if (pedantic) pedwarn ("ISO C forbids forward parameter declarations"); /* Mark the forward decls as such. */ for (parm = getdecls (); parm; parm = TREE_CHAIN (parm)) TREE_ASM_WRITTEN (parm) = 1; ! clear_parm_order (); ;} ! break; ! ! case 533: #line 2393 "c-parse.y" ! { /* Dummy action so attributes are in known place ! on parser stack. */ ;} ! break; ! ! case 534: #line 2396 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ;} ! break; ! ! case 535: #line 2398 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;} ! break; ! ! case 536: #line 2404 "c-parse.y" ! { yyval.ttype = get_parm_info (0); ;} ! break; ! ! case 537: #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. Also, since func (...) and func () are indistinguishable, *************** case 536: *** 4450,4555 **** tries to verify that BUILT_IN_NEXT_ARG is being used correctly. */ 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) error ("`...' in old-style identifier list"); --- 5079,5202 ---- tries to verify that BUILT_IN_NEXT_ARG is being used correctly. */ error ("ISO C requires a named argument before `...'"); ! ;} ! break; ! ! case 538: #line 2416 "c-parse.y" ! { yyval.ttype = get_parm_info (1); ;} ! break; ! ! case 539: #line 2418 "c-parse.y" ! { yyval.ttype = get_parm_info (0); ;} ! break; ! ! case 540: #line 2423 "c-parse.y" ! { push_parm_decl (yyvsp[0].ttype); ;} ! break; ! ! case 541: #line 2425 "c-parse.y" ! { push_parm_decl (yyvsp[0].ttype); ;} ! break; ! ! case 542: #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 543: #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 544: #line 2442 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 545: #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 546: #line 2451 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 547: #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 548: #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 549: #line 2469 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 550: #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 551: #line 2478 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ! POP_DECLSPEC_STACK; ;} ! break; ! ! case 552: #line 2484 "c-parse.y" ! { prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype); ! all_prefix_attributes = prefix_attributes; ;} ! break; ! ! case 553: #line 2493 "c-parse.y" ! { pushlevel (0); clear_parm_order (); ! declare_parm_level (1); ;} ! break; ! ! case 554: #line 2497 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); ! poplevel (0, 0, 0); ;} ! break; ! ! case 556: #line 2505 "c-parse.y" ! { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) error ("`...' in old-style identifier list"); *************** case 555: *** 4561,4617 **** || TREE_PURPOSE (yyval.ttype) == 0 || TREE_CODE (TREE_PURPOSE (yyval.ttype)) != PARM_DECL)) 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; ! warn_traditional = 0; ; ! break;} ! } - #line 731 "/usr/share/bison/bison.simple" yyvsp -= yylen; yyssp -= yylen; - #if YYLSP_NEEDED - yylsp -= yylen; - #endif ! #if YYDEBUG ! if (yydebug) ! { ! short *yyssp1 = yyss - 1; ! YYFPRINTF (stderr, "state stack now"); ! while (yyssp1 != yyssp) ! YYFPRINTF (stderr, " %d", *++yyssp1); ! YYFPRINTF (stderr, "\n"); ! } ! #endif *++yyvsp = yyval; ! #if YYLSP_NEEDED ! *++yylsp = yyloc; ! #endif /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule --- 5208,5258 ---- || TREE_PURPOSE (yyval.ttype) == 0 || TREE_CODE (TREE_PURPOSE (yyval.ttype)) != PARM_DECL)) YYERROR1; ! ;} ! break; ! ! case 557: #line 2523 "c-parse.y" ! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;} ! break; ! ! case 558: #line 2525 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;} ! break; ! ! case 559: #line 2531 "c-parse.y" ! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;} ! break; ! ! case 560: #line 2533 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;} ! break; ! ! case 561: #line 2538 "c-parse.y" ! { yyval.ttype = SAVE_WARN_FLAGS(); pedantic = 0; warn_pointer_arith = 0; ! warn_traditional = 0; ;} ! break; + } + + /* Line 991 of yacc.c. */ + #line 5246 "c-p10602.c" yyvsp -= yylen; yyssp -= yylen; ! ! YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; ! /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule *************** case 560: *** 4619,4629 **** yyn = yyr1[yyn]; ! yystate = yypgoto[yyn - YYNTBASE] + *yyssp; ! if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else ! yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; --- 5260,5270 ---- yyn = yyr1[yyn]; ! yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; ! if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else ! yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; *************** yyerrlab: *** 4636,4648 **** if (!yyerrstatus) { ++yynerrs; ! ! #ifdef YYERROR_VERBOSE yyn = yypact[yystate]; ! if (yyn > YYFLAG && yyn < YYLAST) { YYSIZE_T yysize = 0; char *yymsg; int yyx, yycount; --- 5277,5289 ---- if (!yyerrstatus) { ++yynerrs; ! #if YYERROR_VERBOSE yyn = yypact[yystate]; ! if (YYPACT_NINF < yyn && yyn < YYLAST) { YYSIZE_T yysize = 0; + int yytype = YYTRANSLATE (yychar); char *yymsg; int yyx, yycount; *************** yyerrlab: *** 4651,4665 **** YYCHECK. */ for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) ! if (yycheck[yyx + yyn] == yyx) yysize += yystrlen (yytname[yyx]) + 15, yycount++; ! yysize += yystrlen ("parse error, unexpected ") + 1; ! yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { ! char *yyp = yystpcpy (yymsg, "parse error, unexpected "); ! yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); if (yycount < 5) { --- 5292,5306 ---- YYCHECK. */ for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) ! if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) yysize += yystrlen (yytname[yyx]) + 15, yycount++; ! yysize += yystrlen ("syntax error, unexpected ") + 1; ! yysize += yystrlen (yytname[yytype]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { ! char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); ! yyp = yystpcpy (yyp, yytname[yytype]); if (yycount < 5) { *************** yyerrlab: *** 4667,4673 **** for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) ! if (yycheck[yyx + yyn] == yyx) { const char *yyq = ! yycount ? ", expecting " : " or "; yyp = yystpcpy (yyp, yyq); --- 5308,5314 ---- for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) ! if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { const char *yyq = ! yycount ? ", expecting " : " or "; yyp = yystpcpy (yyp, yyq); *************** yyerrlab: *** 4679,4780 **** YYSTACK_FREE (yymsg); } else ! yyerror ("parse error; also virtual memory exhausted"); } else ! #endif /* defined (YYERROR_VERBOSE) */ ! yyerror ("parse error"); } - goto yyerrlab1; ! /*--------------------------------------------------. ! | yyerrlab1 -- error raised explicitly by an action | ! `--------------------------------------------------*/ ! yyerrlab1: if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ ! /* return failure if at end of input */ if (yychar == YYEOF) ! YYABORT; ! YYDPRINTF ((stderr, "Discarding token %d (%s).\n", ! yychar, yytname[yychar1])); yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ - yyerrstatus = 3; /* Each real token shifted decrements this */ ! goto yyerrhandle; - /*-------------------------------------------------------------------. - | yyerrdefault -- current state does not do anything special for the | - | error token. | - `-------------------------------------------------------------------*/ - yyerrdefault: - #if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ ! /* If its default is to accept any token, ok. Otherwise pop it. */ ! yyn = yydefact[yystate]; ! if (yyn) ! goto yydefault; ! #endif /*---------------------------------------------------------------. ! | yyerrpop -- pop the current state because it cannot handle the | ! | error token | `---------------------------------------------------------------*/ ! yyerrpop: ! if (yyssp == yyss) ! YYABORT; ! yyvsp--; ! yystate = *--yyssp; ! #if YYLSP_NEEDED ! yylsp--; ! #endif ! #if YYDEBUG ! if (yydebug) { ! short *yyssp1 = yyss - 1; ! YYFPRINTF (stderr, "Error: state stack now"); ! while (yyssp1 != yyssp) ! YYFPRINTF (stderr, " %d", *++yyssp1); ! YYFPRINTF (stderr, "\n"); ! } ! #endif ! /*--------------. ! | yyerrhandle. | ! `--------------*/ ! yyerrhandle: ! yyn = yypact[yystate]; ! if (yyn == YYFLAG) ! goto yyerrdefault; ! yyn += YYTERROR; ! if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) ! goto yyerrdefault; ! yyn = yytable[yyn]; ! if (yyn < 0) ! { ! if (yyn == YYFLAG) ! goto yyerrpop; ! yyn = -yyn; ! goto yyreduce; } - else if (yyn == 0) - goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; --- 5320,5411 ---- YYSTACK_FREE (yymsg); } else ! yyerror ("syntax error; also virtual memory exhausted"); } else ! #endif /* YYERROR_VERBOSE */ ! yyerror ("syntax error"); } ! if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ ! /* Return failure if at end of input. */ if (yychar == YYEOF) ! { ! /* Pop the error token. */ ! YYPOPSTACK; ! /* Pop the rest of the stack. */ ! while (yyss < yyssp) ! { ! YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); ! yydestruct (yystos[*yyssp], yyvsp); ! YYPOPSTACK; ! } ! YYABORT; ! } ! ! YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); ! yydestruct (yytoken, &yylval); yychar = YYEMPTY; + } /* Else will try to reuse lookahead token after shifting the error token. */ + goto yyerrlab2; ! /*----------------------------------------------------. ! | yyerrlab1 -- error raised explicitly by an action. | ! `----------------------------------------------------*/ ! yyerrlab1: + /* Suppress GCC warning that yyerrlab1 is unused when no action + invokes YYERROR. */ + #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) + __attribute__ ((__unused__)); + #endif ! goto yyerrlab2; /*---------------------------------------------------------------. ! | yyerrlab2 -- pop states until the error token can be shifted. | `---------------------------------------------------------------*/ ! yyerrlab2: ! yyerrstatus = 3; /* Each real token shifted decrements this. */ ! for (;;) { ! yyn = yypact[yystate]; ! if (yyn != YYPACT_NINF) ! { ! yyn += YYTERROR; ! if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) ! { ! yyn = yytable[yyn]; ! if (0 < yyn) ! break; ! } ! } ! /* Pop the current state because it cannot handle the error token. */ ! if (yyssp == yyss) ! YYABORT; ! YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); ! yydestruct (yystos[yystate], yyvsp); ! yyvsp--; ! yystate = *--yyssp; ! YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; *************** yyerrhandle: *** 4782,4790 **** YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; ! #if YYLSP_NEEDED ! *++yylsp = yylloc; ! #endif yystate = yyn; goto yynewstate; --- 5413,5419 ---- YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; ! yystate = yyn; goto yynewstate; *************** yyabortlab: *** 4804,4816 **** yyresult = 1; goto yyreturn; ! /*---------------------------------------------. ! | yyoverflowab -- parser overflow comes here. | ! `---------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ yyreturn: #ifndef yyoverflow --- 5433,5447 ---- yyresult = 1; goto yyreturn; ! #ifndef yyoverflow ! /*----------------------------------------------. ! | yyoverflowlab -- parser overflow comes here. | ! `----------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ + #endif yyreturn: #ifndef yyoverflow *************** yyreturn: *** 4819,4824 **** --- 5450,5457 ---- #endif return yyresult; } + + #line 2544 "c-parse.y" *************** make_pointer_declarator (type_quals_attr *** 5369,5371 **** --- 6002,6006 ---- itarget = tree_cons (attrs, target, NULL_TREE); return build1 (INDIRECT_REF, quals, itarget); } + + diff -Nrc3pad gcc-3.2.2/gcc/c-typeck.c gcc-3.2.3/gcc/c-typeck.c *** gcc-3.2.2/gcc/c-typeck.c Thu Jan 9 13:18:41 2003 --- gcc-3.2.3/gcc/c-typeck.c Wed Mar 5 09:00:37 2003 *************** push_init_level (implicit) *** 5292,5297 **** --- 5292,5298 ---- && constructor_fields == 0) process_init_element (pop_init_level (1)); else if (TREE_CODE (constructor_type) == ARRAY_TYPE + && constructor_max_index && tree_int_cst_lt (constructor_max_index, constructor_index)) process_init_element (pop_init_level (1)); else diff -Nrc3pad gcc-3.2.2/gcc/cfgcleanup.c gcc-3.2.3/gcc/cfgcleanup.c *** gcc-3.2.2/gcc/cfgcleanup.c Mon Feb 3 18:01:32 2003 --- gcc-3.2.3/gcc/cfgcleanup.c Sun Mar 23 20:41:22 2003 *************** outgoing_edges_match (mode, bb1, bb2) *** 1078,1086 **** /* If BB1 has only one successor, we may be looking at either an unconditional jump, or a fake edge to exit. */ if (bb1->succ && !bb1->succ->succ_next ! && !(bb1->succ->flags & (EDGE_COMPLEX | EDGE_FAKE))) return (bb2->succ && !bb2->succ->succ_next ! && (bb2->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0); /* Match conditional jumps - this may get tricky when fallthru and branch edges are crossed. */ --- 1078,1088 ---- /* If BB1 has only one successor, we may be looking at either an unconditional jump, or a fake edge to exit. */ if (bb1->succ && !bb1->succ->succ_next ! && (bb1->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0 ! && (GET_CODE (bb1->end) != JUMP_INSN || simplejump_p (bb1->end))) return (bb2->succ && !bb2->succ->succ_next ! && (bb2->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0 ! && (GET_CODE (bb2->end) != JUMP_INSN || simplejump_p (bb2->end))); /* Match conditional jumps - this may get tricky when fallthru and branch edges are crossed. */ *************** try_optimize_cfg (mode) *** 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; --- 1640,1648 ---- /* If the jump insn has side effects, we can't kill the edge. */ && (GET_CODE (b->end) != JUMP_INSN ! || (flow2_completed ! ? simplejump_p (b->end) ! : onlyjump_p (b->end))) && merge_blocks (s, b, c, mode)) changed_here = true; diff -Nrc3pad gcc-3.2.2/gcc/cfgrtl.c gcc-3.2.3/gcc/cfgrtl.c *** gcc-3.2.2/gcc/cfgrtl.c Mon Nov 11 03:35:59 2002 --- gcc-3.2.3/gcc/cfgrtl.c Thu Mar 27 22:25:48 2003 *************** try_redirect_by_replacing_jump (e, targe *** 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) --- 665,670 ---- *************** try_redirect_by_replacing_jump (e, targe *** 675,685 **** 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. */ --- 674,680 ---- if (tmp || !onlyjump_p (insn)) return false; ! if ((!optimize || flow2_completed) && tablejump_p (insn)) return false; /* Avoid removing branch with side effects. */ diff -Nrc3pad gcc-3.2.2/gcc/collect2.c gcc-3.2.3/gcc/collect2.c *** gcc-3.2.2/gcc/collect2.c Fri Aug 16 18:03:06 2002 --- gcc-3.2.3/gcc/collect2.c Mon Mar 31 01:14:02 2003 *************** collect_wait (prog) *** 1522,1528 **** int sig = WTERMSIG (status); error ("%s terminated with signal %d [%s]%s", prog, sig, strsignal(sig), ! status & 0200 ? "" : ", core dumped"); collect_exit (FATAL_EXIT_CODE); } --- 1522,1528 ---- int sig = WTERMSIG (status); error ("%s terminated with signal %d [%s]%s", prog, sig, strsignal(sig), ! WCOREDUMP(status) ? ", core dumped" : ""); collect_exit (FATAL_EXIT_CODE); } diff -Nrc3pad gcc-3.2.2/gcc/combine.c gcc-3.2.3/gcc/combine.c *** gcc-3.2.2/gcc/combine.c Mon Jan 27 17:25:14 2003 --- gcc-3.2.3/gcc/combine.c Wed Mar 19 01:36:16 2003 *************** *** 1,6 **** /* Optimize by combining instructions for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GCC. --- 1,6 ---- /* Optimize by combining instructions for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. *************** force_to_mode (x, mode, mask, reg, just_ *** 7125,7131 **** < GET_MODE_BITSIZE (GET_MODE (x))) && INTVAL (XEXP (XEXP (x, 0), 1)) < HOST_BITS_PER_WIDE_INT) { ! temp = GEN_INT (mask << INTVAL (XEXP (XEXP (x, 0), 1))); temp = gen_binary (XOR, GET_MODE (x), XEXP (XEXP (x, 0), 0), temp); x = gen_binary (LSHIFTRT, GET_MODE (x), temp, XEXP (XEXP (x, 0), 1)); --- 7125,7132 ---- < GET_MODE_BITSIZE (GET_MODE (x))) && INTVAL (XEXP (XEXP (x, 0), 1)) < HOST_BITS_PER_WIDE_INT) { ! temp = gen_int_mode (mask << INTVAL (XEXP (XEXP (x, 0), 1)), ! GET_MODE (x)); temp = gen_binary (XOR, GET_MODE (x), XEXP (XEXP (x, 0), 0), temp); x = gen_binary (LSHIFTRT, GET_MODE (x), temp, XEXP (XEXP (x, 0), 1)); diff -Nrc3pad gcc-3.2.2/gcc/config/alpha/alpha.md gcc-3.2.3/gcc/config/alpha/alpha.md *** gcc-3.2.2/gcc/config/alpha/alpha.md Sun Sep 8 05:30:19 2002 --- gcc-3.2.3/gcc/config/alpha/alpha.md Sat Feb 22 01:58:21 2003 *************** *** 1,6 **** ;; Machine description for DEC Alpha for GNU C compiler ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! ;; 2000, 2001 Free Software Foundation, Inc. ;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) ;; ;; This file is part of GNU CC. --- 1,6 ---- ;; Machine description for DEC Alpha for GNU C compiler ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! ;; 2000, 2001, 2003 Free Software Foundation, Inc. ;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) ;; ;; This file is part of GNU CC. *************** fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi *** 5523,5532 **** [(match_dup 0)] "operands[0] = split_small_symbolic_operand (operands[0]);") (define_insn "movdi_er_high_g" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(match_operand:DI 1 "register_operand" "r") ! (match_operand:DI 2 "global_symbolic_operand" "") (match_operand 3 "const_int_operand" "")] UNSPEC_LITERAL))] "TARGET_EXPLICIT_RELOCS" --- 5523,5534 ---- [(match_dup 0)] "operands[0] = split_small_symbolic_operand (operands[0]);") + ;; Accepts any symbolic, not just global, since function calls that + ;; don't go via bsr still use !literal in hopes of linker relaxation. (define_insn "movdi_er_high_g" [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(match_operand:DI 1 "register_operand" "r") ! (match_operand:DI 2 "symbolic_operand" "") (match_operand 3 "const_int_operand" "")] UNSPEC_LITERAL))] "TARGET_EXPLICIT_RELOCS" diff -Nrc3pad gcc-3.2.2/gcc/config/alpha/osf.h gcc-3.2.3/gcc/config/alpha/osf.h *** gcc-3.2.2/gcc/config/alpha/osf.h Fri Apr 12 22:16:56 2002 --- gcc-3.2.3/gcc/config/alpha/osf.h Mon Mar 17 14:52:14 2003 *************** *** 1,5 **** /* Definitions of target machine for GNU compiler, for DEC Alpha on OSF/1. ! Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) --- 1,5 ---- /* Definitions of target machine for GNU compiler, for DEC Alpha on OSF/1. ! Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) *************** Boston, MA 02111-1307, USA. */ *** 33,39 **** /* Names to predefine in the preprocessor for this target machine. */ #define CPP_PREDEFINES "\ ! -Dunix -D__osf__ -D_LONGLONG -DSYSTYPE_BSD \ -D_SYSTYPE_BSD -Asystem=unix -Asystem=xpg4" /* Tru64 UNIX V5 requires additional definitions for 16 byte long double --- 33,39 ---- /* Names to predefine in the preprocessor for this target machine. */ #define CPP_PREDEFINES "\ ! -Dunix -D__osf__ -D__digital__ -D__arch64__ -D_LONGLONG -DSYSTYPE_BSD \ -D_SYSTYPE_BSD -Asystem=unix -Asystem=xpg4" /* Tru64 UNIX V5 requires additional definitions for 16 byte long double *************** Boston, MA 02111-1307, USA. */ *** 48,54 **** #undef CPP_SUBTARGET_SPEC #define CPP_SUBTARGET_SPEC \ "%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4} %(cpp_xfloat) \ ! -D__EXTERN_PREFIX" /* Under OSF4, -p and -pg require -lprof1, and -lprof1 requires -lpdf. */ --- 48,54 ---- #undef CPP_SUBTARGET_SPEC #define CPP_SUBTARGET_SPEC \ "%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4} %(cpp_xfloat) \ ! -D__PRAGMA_EXTERN_PREFIX" /* Under OSF4, -p and -pg require -lprof1, and -lprof1 requires -lpdf. */ diff -Nrc3pad gcc-3.2.2/gcc/config/cris/cris.md gcc-3.2.3/gcc/config/cris/cris.md *** gcc-3.2.2/gcc/config/cris/cris.md Mon Jun 17 22:06:34 2002 --- gcc-3.2.3/gcc/config/cris/cris.md Mon Apr 14 21:16:12 2003 *************** *** 1,5 **** ;; GCC machine description for CRIS cpu cores. ! ;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ;; Contributed by Axis Communications. ;; This file is part of GCC. --- 1,5 ---- ;; GCC machine description for CRIS cpu cores. ! ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ;; Contributed by Axis Communications. ;; This file is part of GCC. *************** *** 496,502 **** [(set (match_operand:QI 0 "register_operand" "=r,r,r") (mem:QI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] --- 496,502 ---- [(set (match_operand:QI 0 "register_operand" "=r,r,r") (mem:QI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] *************** *** 519,525 **** [(set (match_operand:HI 0 "register_operand" "=r,r,r") (mem:HI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] --- 519,525 ---- [(set (match_operand:HI 0 "register_operand" "=r,r,r") (mem:HI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] *************** *** 542,548 **** [(set (match_operand:SI 0 "register_operand" "=r,r,r") (mem:SI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] --- 542,548 ---- [(set (match_operand:SI 0 "register_operand" "=r,r,r") (mem:SI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] *************** *** 671,677 **** (define_insn "*mov_sideqi_mem" [(set (mem:QI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r>Ri,r,>Ri"))) (match_operand:QI 2 "register_operand" "r,r,r,r")) (set (match_operand:SI 3 "register_operand" "=*0,!*2,r,r") (plus:SI (match_dup 0) --- 671,677 ---- (define_insn "*mov_sideqi_mem" [(set (mem:QI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r>Rn,r,>Rn"))) (match_operand:QI 2 "register_operand" "r,r,r,r")) (set (match_operand:SI 3 "register_operand" "=*0,!*2,r,r") (plus:SI (match_dup 0) *************** *** 696,702 **** (define_insn "*mov_sidehi_mem" [(set (mem:HI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r>Ri,r,>Ri"))) (match_operand:HI 2 "register_operand" "r,r,r,r")) (set (match_operand:SI 3 "register_operand" "=*0,!*2,r,r") (plus:SI (match_dup 0) --- 696,702 ---- (define_insn "*mov_sidehi_mem" [(set (mem:HI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r>Rn,r,>Rn"))) (match_operand:HI 2 "register_operand" "r,r,r,r")) (set (match_operand:SI 3 "register_operand" "=*0,!*2,r,r") (plus:SI (match_dup 0) *************** *** 721,727 **** (define_insn "*mov_sidesi_mem" [(set (mem:SI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r>Ri,r,>Ri"))) (match_operand:SI 2 "register_operand" "r,r,r,r")) (set (match_operand:SI 3 "register_operand" "=*0,!*2,r,r") (plus:SI (match_dup 0) --- 721,727 ---- (define_insn "*mov_sidesi_mem" [(set (mem:SI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r>Rn,r,>Rn"))) (match_operand:SI 2 "register_operand" "r,r,r,r")) (set (match_operand:SI 3 "register_operand" "=*0,!*2,r,r") (plus:SI (match_dup 0) *************** *** 786,792 **** (define_insn "*clear_sidesi" [(set (mem:SI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r,>Ri"))) (const_int 0)) (set (match_operand:SI 2 "register_operand" "=*0,r,r") (plus:SI (match_dup 0) --- 786,792 ---- (define_insn "*clear_sidesi" [(set (mem:SI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r,>Rn"))) (const_int 0)) (set (match_operand:SI 2 "register_operand" "=*0,r,r") (plus:SI (match_dup 0) *************** *** 826,832 **** (define_insn "*clear_sidehi" [(set (mem:HI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r,>Ri"))) (const_int 0)) (set (match_operand:SI 2 "register_operand" "=*0,r,r") (plus:SI (match_dup 0) --- 826,832 ---- (define_insn "*clear_sidehi" [(set (mem:HI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r,>Rn"))) (const_int 0)) (set (match_operand:SI 2 "register_operand" "=*0,r,r") (plus:SI (match_dup 0) *************** *** 866,872 **** (define_insn "*clear_sideqi" [(set (mem:QI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Ri,r,>Ri"))) (const_int 0)) (set (match_operand:SI 2 "register_operand" "=*0,r,r") (plus:SI (match_dup 0) --- 866,872 ---- (define_insn "*clear_sideqi" [(set (mem:QI (plus:SI (match_operand:SI 0 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 1 "cris_bdap_operand" "r>Rn,r,>Rn"))) (const_int 0)) (set (match_operand:SI 2 "register_operand" "=*0,r,r") (plus:SI (match_dup 0) *************** *** 1127,1133 **** 4 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))])) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] --- 1127,1133 ---- 4 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))])) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] *************** *** 1152,1158 **** 4 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))])) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] --- 1152,1158 ---- 4 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))])) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] *************** *** 1177,1183 **** 4 "cris_extend_operator" [(mem:HI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Ri,r,>Ri")))])) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] --- 1177,1183 ---- 4 "cris_extend_operator" [(mem:HI (plus:SI (match_operand:SI 1 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 2 "cris_bdap_operand" "r>Rn,r,>Rn")))])) (set (match_operand:SI 3 "register_operand" "=*1,r,r") (plus:SI (match_dup 1) (match_dup 2)))] *************** *** 1473,1479 **** [(match_operand:QI 1 "register_operand" "0,0,0") (mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) (match_dup 3)))] --- 1473,1479 ---- [(match_operand:QI 1 "register_operand" "0,0,0") (mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) (match_dup 3)))] *************** *** 1499,1505 **** [(match_operand:HI 1 "register_operand" "0,0,0") (mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) (match_dup 3)))] --- 1499,1505 ---- [(match_operand:HI 1 "register_operand" "0,0,0") (mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) (match_dup 3)))] *************** *** 1525,1531 **** [(match_operand:SI 1 "register_operand" "0,0,0") (mem:SI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) (match_dup 3)))] --- 1525,1531 ---- [(match_operand:SI 1 "register_operand" "0,0,0") (mem:SI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) (match_dup 3)))] *************** *** 1624,1630 **** 5 "cris_commutative_orth_op" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri"))) (match_operand:QI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 1624,1630 ---- 5 "cris_commutative_orth_op" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn"))) (match_operand:QI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 1650,1656 **** 5 "cris_commutative_orth_op" [(mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri"))) (match_operand:HI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 1650,1656 ---- 5 "cris_commutative_orth_op" [(mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn"))) (match_operand:HI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 1676,1682 **** 5 "cris_commutative_orth_op" [(mem:SI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri"))) (match_operand:SI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 1676,1682 ---- 5 "cris_commutative_orth_op" [(mem:SI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn"))) (match_operand:SI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 1965,1971 **** 6 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri") ))])])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 1965,1971 ---- 6 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn") ))])])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 1995,2001 **** 6 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri") ))])])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 1995,2001 ---- 6 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn") ))])])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 2026,2032 **** 6 "cris_extend_operator" [(mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri") ))])])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 2026,2032 ---- 6 "cris_extend_operator" [(mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn") ))])])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 2135,2141 **** 5 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))]) (match_operand:HI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 2135,2141 ---- 5 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))]) (match_operand:HI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 2164,2170 **** 5 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))]) (match_operand:SI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 2164,2170 ---- 5 "cris_extend_operator" [(mem:QI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))]) (match_operand:SI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 2193,2199 **** 5 "cris_extend_operator" [(mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Ri,r,>Ri")))]) (match_operand:SI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) --- 2193,2199 ---- 5 "cris_extend_operator" [(mem:HI (plus:SI (match_operand:SI 2 "cris_bdap_operand" "%r,r,r") ! (match_operand:SI 3 "cris_bdap_operand" "r>Rn,r,>Rn")))]) (match_operand:SI 1 "register_operand" "0,0,0")])) (set (match_operand:SI 4 "register_operand" "=*2,r,r") (plus:SI (match_dup 2) *************** *** 4854,4863 **** (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0"))) (set (match_operand 4 "register_operand" "=r,r,r,r") (mem (match_dup 0)))] "(rtx_equal_p (operands[2], operands[0]) --- 4854,4863 ---- (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0"))) (set (match_operand 4 "register_operand" "=r,r,r,r") (mem (match_dup 0)))] "(rtx_equal_p (operands[2], operands[0]) *************** *** 4882,4891 **** (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0"))) (set (mem (match_dup 0)) (match_operand 4 "register_operand" "=r,r,r,r"))] "(rtx_equal_p (operands[2], operands[0]) --- 4882,4891 ---- (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0"))) (set (mem (match_dup 0)) (match_operand 4 "register_operand" "=r,r,r,r"))] "(rtx_equal_p (operands[2], operands[0]) *************** *** 4912,4921 **** (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0"))) (set (match_operand 4 "register_operand" "=r,r,r,r") (match_operator 5 "cris_orthogonal_operator" [(match_dup 3) --- 4912,4921 ---- (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0"))) (set (match_operand 4 "register_operand" "=r,r,r,r") (match_operator 5 "cris_orthogonal_operator" [(match_dup 3) *************** *** 4942,4951 **** (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Ri,r,>Ri")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Ri,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Ri,r,0,0"))) (set (match_operand 4 "register_operand" "=r,r,r,r") (match_operator 5 "cris_commutative_orth_op" [(mem (match_dup 0)) --- 4942,4951 ---- (define_peephole [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,>Rn,r,>Rn")) (set (match_dup 0) ! (plus:SI (match_operand:SI 2 "cris_bdap_biap_operand" "0,0,r>Rn,r") ! (match_operand:SI 3 "cris_bdap_biap_operand" "r>Rn,r,0,0"))) (set (match_operand 4 "register_operand" "=r,r,r,r") (match_operator 5 "cris_commutative_orth_op" [(mem (match_dup 0)) *************** *** 5014,5021 **** (define_peephole [(set (match_operand 0 "register_operand" "=r,r,r,r") (mem (plus:SI ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,r>Ri,r,r>Ri") ! (match_operand:SI 2 "cris_bdap_biap_operand" "r>Ri,r,r>Ri,r")))) (set (match_dup 0) (match_operator 5 "cris_commutative_orth_op" [(match_operand 3 "register_operand" "0,0,r,r") --- 5014,5021 ---- (define_peephole [(set (match_operand 0 "register_operand" "=r,r,r,r") (mem (plus:SI ! (match_operand:SI 1 "cris_bdap_biap_operand" "r,r>Rn,r,r>Rn") ! (match_operand:SI 2 "cris_bdap_biap_operand" "r>Rn,r,r>Rn,r")))) (set (match_dup 0) (match_operator 5 "cris_commutative_orth_op" [(match_operand 3 "register_operand" "0,0,r,r") diff -Nrc3pad gcc-3.2.2/gcc/config/i386/i386.c gcc-3.2.3/gcc/config/i386/i386.c *** gcc-3.2.2/gcc/config/i386/i386.c Fri Jan 31 22:06:28 2003 --- gcc-3.2.3/gcc/config/i386/i386.c Wed Mar 12 09:04:01 2003 *************** static enum x86_64_reg_class merge_class *** 822,827 **** --- 822,833 ---- struct gcc_target targetm = TARGET_INITIALIZER; + /* The svr4 ABI for the i386 says that records and unions are returned + in memory. */ + #ifndef DEFAULT_PCC_STRUCT_RETURN + #define DEFAULT_PCC_STRUCT_RETURN 1 + #endif + /* Sometimes certain combinations of command options do not make sense on a particular target machine. You can define a macro `OVERRIDE_OPTIONS' to take account of this. This macro, if ********