diff -Nrc3pad gcc-3.2/.brik gcc-3.2.1/.brik *** gcc-3.2/.brik Wed Aug 14 10:35:21 2002 --- gcc-3.2.1/.brik Tue Nov 19 19:17:47 2002 *************** *** 14,20 **** 2411687152b ./boehm-gc/BCC_MAKEFILE 394605993b ./boehm-gc/blacklst.c 971406525b ./boehm-gc/callprocs ! 2564765476b ./boehm-gc/ChangeLog 2542310219b ./boehm-gc/checksums.c 1272640704b ./boehm-gc/config.guess 4182969326b ./boehm-gc/config.sub --- 14,20 ---- 2411687152b ./boehm-gc/BCC_MAKEFILE 394605993b ./boehm-gc/blacklst.c 971406525b ./boehm-gc/callprocs ! 2840737175b ./boehm-gc/ChangeLog 2542310219b ./boehm-gc/checksums.c 1272640704b ./boehm-gc/config.guess 4182969326b ./boehm-gc/config.sub *************** *** 115,126 **** 2932074179b ./boehm-gc/mach_dep.c 145946109b ./boehm-gc/MacOS.c 591574792b ./boehm-gc/MacProjects.sit.hqx ! 1399035599b ./boehm-gc/Makefile.am 3148936110b ./boehm-gc/Makefile.direct 3806813747b ./boehm-gc/Makefile.dist 87051491b ./boehm-gc/Makefile.dj 2647418481b ./boehm-gc/Makefile.DLLs ! 3352764249b ./boehm-gc/Makefile.in 4270565414b ./boehm-gc/malloc.c 3656007348b ./boehm-gc/mallocx.c 2488176063b ./boehm-gc/mark.c --- 115,126 ---- 2932074179b ./boehm-gc/mach_dep.c 145946109b ./boehm-gc/MacOS.c 591574792b ./boehm-gc/MacProjects.sit.hqx ! 3930151010b ./boehm-gc/Makefile.am 3148936110b ./boehm-gc/Makefile.direct 3806813747b ./boehm-gc/Makefile.dist 87051491b ./boehm-gc/Makefile.dj 2647418481b ./boehm-gc/Makefile.DLLs ! 1617270503b ./boehm-gc/Makefile.in 4270565414b ./boehm-gc/malloc.c 3656007348b ./boehm-gc/mallocx.c 2488176063b ./boehm-gc/mark.c *************** *** 161,172 **** 2467355438b ./boehm-gc/typd_mlc.c 332085760b ./boehm-gc/version.h 205379550b ./boehm-gc/WCC_MAKEFILE ! 3644911074b ./boehm-gc/win32_threads.c ! 3068867888b ./BUGS ! 483004181b ./bugs.html ! 57362442b ./ChangeLog 3004978457b ./config/acinclude.m4 ! 1959210195b ./config/ChangeLog 1242784498b ./config.guess 1864899138b ./config.if 3007349820b ./config/mh-a68bsd --- 161,172 ---- 2467355438b ./boehm-gc/typd_mlc.c 332085760b ./boehm-gc/version.h 205379550b ./boehm-gc/WCC_MAKEFILE ! 3326583566b ./boehm-gc/win32_threads.c ! 1610170592b ./BUGS ! 3809269006b ./bugs.html ! 3781032226b ./ChangeLog 3004978457b ./config/acinclude.m4 ! 3317944764b ./config/ChangeLog 1242784498b ./config.guess 1864899138b ./config.if 3007349820b ./config/mh-a68bsd *************** *** 211,217 **** 456622165b ./config/mh-vaxult2 3265825290b ./config/mh-x86pic 3139906847b ./config-ml.in ! 2776795818b ./config/mpw/ChangeLog 4005879853b ./config/mpw/forward-include 439409833b ./config/mpw/g-mpw-make.sed 198559626b ./config/mpw-mh-mpw --- 211,217 ---- 456622165b ./config/mh-vaxult2 3265825290b ./config/mh-x86pic 3139906847b ./config-ml.in ! 2319412792b ./config/mpw/ChangeLog 4005879853b ./config/mpw/forward-include 439409833b ./config/mpw/g-mpw-make.sed 198559626b ./config/mpw-mh-mpw *************** *** 244,250 **** 2416042097b ./configure 3230279174b ./configure.in 1948950130b ./contrib/analyze_brprob ! 2162237348b ./contrib/ChangeLog 550196746b ./contrib/compare_tests 2828387446b ./contrib/convert_to_f2c 2929939770b ./contrib/convert_to_g2c --- 244,250 ---- 2416042097b ./configure 3230279174b ./configure.in 1948950130b ./contrib/analyze_brprob ! 3428325838b ./contrib/ChangeLog 550196746b ./contrib/compare_tests 2828387446b ./contrib/convert_to_f2c 2929939770b ./contrib/convert_to_g2c *************** *** 256,262 **** 4256039795b ./contrib/index-prop 3683285493b ./contrib/newcvsroot 1596938872b ./contrib/regression/btest-gcc.sh ! 2831060315b ./contrib/regression/ChangeLog 4208566980b ./contrib/regression/objs-gcc.sh 1757898889b ./contrib/regression/README 1865505596b ./contrib/regression/site.exp --- 256,262 ---- 4256039795b ./contrib/index-prop 3683285493b ./contrib/newcvsroot 1596938872b ./contrib/regression/btest-gcc.sh ! 2896767265b ./contrib/regression/ChangeLog 4208566980b ./contrib/regression/objs-gcc.sh 1757898889b ./contrib/regression/README 1865505596b ./contrib/regression/site.exp *************** *** 267,277 **** 2171125041b ./COPYING 508743035b ./COPYING.LIB 3205162104b ./.cvsignore ! 4032751412b ./FAQ ! 2321091199b ./faq.html 3513702948b ./fastjar/aclocal.m4 1005262133b ./fastjar/AUTHORS ! 3003145020b ./fastjar/ChangeLog 1745615150b ./fastjar/CHANGES 3743222129b ./fastjar/compress.c 1169302702b ./fastjar/compress.h --- 267,277 ---- 2171125041b ./COPYING 508743035b ./COPYING.LIB 3205162104b ./.cvsignore ! 3112237745b ./FAQ ! 118439247b ./faq.html 3513702948b ./fastjar/aclocal.m4 1005262133b ./fastjar/AUTHORS ! 640599037b ./fastjar/ChangeLog 1745615150b ./fastjar/CHANGES 3743222129b ./fastjar/compress.c 1169302702b ./fastjar/compress.h *************** *** 279,286 **** 1796406241b ./fastjar/configure 1220094724b ./fastjar/configure.in 1396100520b ./fastjar/COPYING ! 390830084b ./fastjar/dostime.c ! 2574136940b ./fastjar/dostime.h 2770615802b ./fastjar/INSTALL 2331671736b ./fastjar/install-defs.sh.in 1178077958b ./fastjar/install-sh --- 279,286 ---- 1796406241b ./fastjar/configure 1220094724b ./fastjar/configure.in 1396100520b ./fastjar/COPYING ! 3353116274b ./fastjar/dostime.c ! 446939748b ./fastjar/dostime.h 2770615802b ./fastjar/INSTALL 2331671736b ./fastjar/install-defs.sh.in 1178077958b ./fastjar/install-sh *************** *** 738,744 **** 3825818772b ./gcc/ada/casing.adb 2190810584b ./gcc/ada/casing.ads 3750437973b ./gcc/ada/ceinfo.adb ! 3249250835b ./gcc/ada/ChangeLog 869185536b ./gcc/ada/checks.adb 440073759b ./gcc/ada/checks.ads 401488734b ./gcc/ada/cio.c --- 738,744 ---- 3825818772b ./gcc/ada/casing.adb 2190810584b ./gcc/ada/casing.ads 3750437973b ./gcc/ada/ceinfo.adb ! 2529867828b ./gcc/ada/ChangeLog 869185536b ./gcc/ada/checks.adb 440073759b ./gcc/ada/checks.ads 401488734b ./gcc/ada/cio.c *************** *** 933,939 **** 2787179765b ./gcc/ada/gnat_rm.texi 1099903949b ./gcc/ada/gnat-style.texi 3866519797b ./gcc/ada/gnat_ug.texi ! 3439022171b ./gcc/ada/gnatvsn.ads 2692053620b ./gcc/ada/gnatxref.adb 1804647254b ./gcc/ada/g-os_lib.adb 3221085683b ./gcc/ada/g-os_lib.ads --- 933,939 ---- 2787179765b ./gcc/ada/gnat_rm.texi 1099903949b ./gcc/ada/gnat-style.texi 3866519797b ./gcc/ada/gnat_ug.texi ! 2880471508b ./gcc/ada/gnatvsn.ads 2692053620b ./gcc/ada/gnatxref.adb 1804647254b ./gcc/ada/g-os_lib.adb 3221085683b ./gcc/ada/g-os_lib.ads *************** *** 1596,1602 **** 4200440603b ./gcc/ada/s-wwdenu.ads 1874741026b ./gcc/ada/s-wwdwch.adb 3321650370b ./gcc/ada/s-wwdwch.ads ! 1364437604b ./gcc/ada/sysdep.c 1119298405b ./gcc/ada/system.ads 3848197813b ./gcc/ada/table.adb 3687590744b ./gcc/ada/table.ads --- 1596,1602 ---- 4200440603b ./gcc/ada/s-wwdenu.ads 1874741026b ./gcc/ada/s-wwdwch.adb 3321650370b ./gcc/ada/s-wwdwch.ads ! 4244182023b ./gcc/ada/sysdep.c 1119298405b ./gcc/ada/system.ads 3848197813b ./gcc/ada/table.adb 3687590744b ./gcc/ada/table.ads *************** *** 1652,1658 **** 1408035530b ./gcc/ada/xsinfo.adb 1441973181b ./gcc/ada/xsnames.adb 579454790b ./gcc/ada/xtreeprs.adb ! 3742376932b ./gcc/alias.c 1031959714b ./gcc/attribs.c 2742514573b ./gcc/basic-block.h 534677057b ./gcc/bb-reorder.c --- 1652,1658 ---- 1408035530b ./gcc/ada/xsinfo.adb 1441973181b ./gcc/ada/xsnames.adb 579454790b ./gcc/ada/xtreeprs.adb ! 790330640b ./gcc/alias.c 1031959714b ./gcc/attribs.c 2742514573b ./gcc/basic-block.h 534677057b ./gcc/bb-reorder.c *************** *** 1663,1686 **** 2454689977b ./gcc/builtins.def 3361511841b ./gcc/builtin-types.def 4196427447b ./gcc/caller-save.c ! 2566522078b ./gcc/calls.c 420541423b ./gcc/c-aux-info.c ! 2734296831b ./gcc/c-common.c 2096270511b ./gcc/c-common.def ! 3951106812b ./gcc/c-common.h 1317742909b ./gcc/c-convert.c ! 723213634b ./gcc/c-decl.c 487899684b ./gcc/c-errors.c ! 181278358b ./gcc/cfganal.c 1964748151b ./gcc/cfgbuild.c 2908854975b ./gcc/cfg.c ! 4109178465b ./gcc/cfgcleanup.c 1219429812b ./gcc/cfglayout.c 1858346793b ./gcc/cfglayout.h 3236894730b ./gcc/cfgloop.c ! 2076106567b ./gcc/cfgrtl.c 2243757094b ./gcc/c-format.c ! 428187719b ./gcc/ChangeLog 1398127668b ./gcc/ChangeLog.0 2827765101b ./gcc/ChangeLog.1 1199055802b ./gcc/ChangeLog.2 --- 1663,1686 ---- 2454689977b ./gcc/builtins.def 3361511841b ./gcc/builtin-types.def 4196427447b ./gcc/caller-save.c ! 1802334908b ./gcc/calls.c 420541423b ./gcc/c-aux-info.c ! 1073499624b ./gcc/c-common.c 2096270511b ./gcc/c-common.def ! 3764400561b ./gcc/c-common.h 1317742909b ./gcc/c-convert.c ! 1025902837b ./gcc/c-decl.c 487899684b ./gcc/c-errors.c ! 2570808086b ./gcc/cfganal.c 1964748151b ./gcc/cfgbuild.c 2908854975b ./gcc/cfg.c ! 822237739b ./gcc/cfgcleanup.c 1219429812b ./gcc/cfglayout.c 1858346793b ./gcc/cfglayout.h 3236894730b ./gcc/cfgloop.c ! 2041391494b ./gcc/cfgrtl.c 2243757094b ./gcc/c-format.c ! 2870572971b ./gcc/ChangeLog 1398127668b ./gcc/ChangeLog.0 2827765101b ./gcc/ChangeLog.1 1199055802b ./gcc/ChangeLog.2 *************** *** 1692,1699 **** 1985388077b ./gcc/c-lang.c 382517507b ./gcc/c-lex.c 835686435b ./gcc/c-lex.h ! 2161943665b ./gcc/c-objc-common.c ! 2900417621b ./gcc/collect2.c 653998699b ./gcc/collect2.h 2586036597b ./gcc/combine.c 4122382037b ./gcc/conditions.h --- 1692,1699 ---- 1985388077b ./gcc/c-lang.c 382517507b ./gcc/c-lex.c 835686435b ./gcc/c-lex.h ! 1191094530b ./gcc/c-objc-common.c ! 1806916686b ./gcc/collect2.c 653998699b ./gcc/collect2.h 2586036597b ./gcc/combine.c 4122382037b ./gcc/conditions.h *************** *** 1715,1721 **** 830149807b ./gcc/config/alpha/alpha.c 2486755494b ./gcc/config/alpha/alpha.h 1076515812b ./gcc/config/alpha/alpha-interix.h ! 2405259347b ./gcc/config/alpha/alpha.md 4085134134b ./gcc/config/alpha/alpha-protos.h 1407988137b ./gcc/config/alpha/crtfastmath.c 221364934b ./gcc/config/alpha/elf.h --- 1715,1721 ---- 830149807b ./gcc/config/alpha/alpha.c 2486755494b ./gcc/config/alpha/alpha.h 1076515812b ./gcc/config/alpha/alpha-interix.h ! 1955091231b ./gcc/config/alpha/alpha.md 4085134134b ./gcc/config/alpha/alpha-protos.h 1407988137b ./gcc/config/alpha/crtfastmath.c 221364934b ./gcc/config/alpha/elf.h *************** *** 1767,1775 **** 2135297695b ./gcc/config/arc/t-arc 2672724137b ./gcc/config/arm/aof.h 754089758b ./gcc/config/arm/aout.h ! 3275521552b ./gcc/config/arm/arm.c ! 2476043642b ./gcc/config/arm/arm.h ! 2992914365b ./gcc/config/arm/arm.md 2355527864b ./gcc/config/arm/arm-protos.h 478450204b ./gcc/config/arm/arm-wince-pe.h 531784060b ./gcc/config/arm/coff.h --- 1767,1775 ---- 2135297695b ./gcc/config/arc/t-arc 2672724137b ./gcc/config/arm/aof.h 754089758b ./gcc/config/arm/aout.h ! 968318223b ./gcc/config/arm/arm.c ! 2386488705b ./gcc/config/arm/arm.h ! 2864793753b ./gcc/config/arm/arm.md 2355527864b ./gcc/config/arm/arm-protos.h 478450204b ./gcc/config/arm/arm-wince-pe.h 531784060b ./gcc/config/arm/coff.h *************** *** 1816,1822 **** 2366951282b ./gcc/config/arm/xscale-elf.h 2474041656b ./gcc/config/avr/avr.c 3254145940b ./gcc/config/avr/avr.h ! 3802932744b ./gcc/config/avr/avr.md 567694740b ./gcc/config/avr/avr-protos.h 1853285406b ./gcc/config/avr/libgcc.S 3040444126b ./gcc/config/avr/t-avr --- 1816,1822 ---- 2366951282b ./gcc/config/arm/xscale-elf.h 2474041656b ./gcc/config/avr/avr.c 3254145940b ./gcc/config/avr/avr.h ! 4276324027b ./gcc/config/avr/avr.md 567694740b ./gcc/config/avr/avr-protos.h 1853285406b ./gcc/config/avr/libgcc.S 3040444126b ./gcc/config/avr/t-avr *************** *** 1903,1909 **** 22917470b ./gcc/config/freebsd.h 3532526787b ./gcc/config/freebsd-nthr.h 3508760161b ./gcc/config/freebsd-spec.h ! 3872776681b ./gcc/config.gcc 3236013445b ./gcc/config/gnu.h 269492728b ./gcc/config/gofast.h 1315260558b ./gcc/config.guess --- 1903,1909 ---- 22917470b ./gcc/config/freebsd.h 3532526787b ./gcc/config/freebsd-nthr.h 3508760161b ./gcc/config/freebsd-spec.h ! 3290013183b ./gcc/config.gcc 3236013445b ./gcc/config/gnu.h 269492728b ./gcc/config/gofast.h 1315260558b ./gcc/config.guess *************** *** 1952,1971 **** 915598536b ./gcc/config/i386/gnu.h 166489147b ./gcc/config/i386/gstabs.h 1725036574b ./gcc/config/i386/i386-aout.h ! 1056818854b ./gcc/config/i386/i386.c 4168545992b ./gcc/config/i386/i386-coff.h 2017248418b ./gcc/config/i386/i386elf.h ! 817460708b ./gcc/config/i386/i386.h 721929446b ./gcc/config/i386/i386-interix3.h 1321445318b ./gcc/config/i386/i386-interix.h ! 332230525b ./gcc/config/i386/i386.md 2589129574b ./gcc/config/i386/i386-protos.h 1164740130b ./gcc/config/i386/interix.c 1996803131b ./gcc/config/i386/isccoff.h 1692083111b ./gcc/config/i386/iscdbx.h 3908393755b ./gcc/config/i386/isc.h 877642037b ./gcc/config/i386/libgcc-x86_64-glibc.ver ! 4048130721b ./gcc/config/i386/linux64.h 2999558891b ./gcc/config/i386/linux-aout.h 2801664794b ./gcc/config/i386/linux.h 2799520524b ./gcc/config/i386/linux-oldld.h --- 1952,1971 ---- 915598536b ./gcc/config/i386/gnu.h 166489147b ./gcc/config/i386/gstabs.h 1725036574b ./gcc/config/i386/i386-aout.h ! 2087644841b ./gcc/config/i386/i386.c 4168545992b ./gcc/config/i386/i386-coff.h 2017248418b ./gcc/config/i386/i386elf.h ! 126280949b ./gcc/config/i386/i386.h 721929446b ./gcc/config/i386/i386-interix3.h 1321445318b ./gcc/config/i386/i386-interix.h ! 1643637147b ./gcc/config/i386/i386.md 2589129574b ./gcc/config/i386/i386-protos.h 1164740130b ./gcc/config/i386/interix.c 1996803131b ./gcc/config/i386/isccoff.h 1692083111b ./gcc/config/i386/iscdbx.h 3908393755b ./gcc/config/i386/isc.h 877642037b ./gcc/config/i386/libgcc-x86_64-glibc.ver ! 1758822745b ./gcc/config/i386/linux64.h 2999558891b ./gcc/config/i386/linux-aout.h 2801664794b ./gcc/config/i386/linux.h 2799520524b ./gcc/config/i386/linux-oldld.h *************** *** 1973,1979 **** 83628421b ./gcc/config/i386/lynx-ng.h 4206477894b ./gcc/config/i386/mach.h 3763689293b ./gcc/config/i386/mingw32.h ! 3292708147b ./gcc/config/i386/mmintrin.h 3361545892b ./gcc/config/i386/moss.h 2015644945b ./gcc/config/i386/netbsd64.h 527360119b ./gcc/config/i386/netbsd-elf.h --- 1973,1979 ---- 83628421b ./gcc/config/i386/lynx-ng.h 4206477894b ./gcc/config/i386/mach.h 3763689293b ./gcc/config/i386/mingw32.h ! 3851444052b ./gcc/config/i386/mmintrin.h 3361545892b ./gcc/config/i386/moss.h 2015644945b ./gcc/config/i386/netbsd64.h 527360119b ./gcc/config/i386/netbsd-elf.h *************** *** 2018,2024 **** 2902972689b ./gcc/config/i386/t-djgpp 537671296b ./gcc/config/i386/t-i386elf 1614388594b ./gcc/config/i386/t-interix ! 795980282b ./gcc/config/i386/t-linux64 4056914306b ./gcc/config/i386/t-mingw32 92801654b ./gcc/config/i386/t-netware 1960948471b ./gcc/config/i386/t-next --- 2018,2024 ---- 2902972689b ./gcc/config/i386/t-djgpp 537671296b ./gcc/config/i386/t-i386elf 1614388594b ./gcc/config/i386/t-interix ! 196644080b ./gcc/config/i386/t-linux64 4056914306b ./gcc/config/i386/t-mingw32 92801654b ./gcc/config/i386/t-netware 1960948471b ./gcc/config/i386/t-next *************** *** 2040,2052 **** 1621915956b ./gcc/config/i386/vsta.h 57307462b ./gcc/config/i386/vxi386.h 3423798645b ./gcc/config/i386/win32.h ! 3552187277b ./gcc/config/i386/winnt.c 2420589009b ./gcc/config/i386/x86-64.h 1690208514b ./gcc/config/i386/xm-cygwin.h 3902343879b ./gcc/config/i386/xm-djgpp.h 3631826497b ./gcc/config/i386/xm-i386-interix.h 92688945b ./gcc/config/i386/xm-mingw32.h ! 298059282b ./gcc/config/i386/xmmintrin.h 1404515293b ./gcc/config/i386/xm-vsta.h 2229503331b ./gcc/config/i860/bsd-gas.h 3105781024b ./gcc/config/i860/bsd.h --- 2040,2052 ---- 1621915956b ./gcc/config/i386/vsta.h 57307462b ./gcc/config/i386/vxi386.h 3423798645b ./gcc/config/i386/win32.h ! 1200967744b ./gcc/config/i386/winnt.c 2420589009b ./gcc/config/i386/x86-64.h 1690208514b ./gcc/config/i386/xm-cygwin.h 3902343879b ./gcc/config/i386/xm-djgpp.h 3631826497b ./gcc/config/i386/xm-i386-interix.h 92688945b ./gcc/config/i386/xm-mingw32.h ! 2085781748b ./gcc/config/i386/xmmintrin.h 1404515293b ./gcc/config/i386/xm-vsta.h 2229503331b ./gcc/config/i860/bsd-gas.h 3105781024b ./gcc/config/i860/bsd.h *************** *** 2119,2125 **** 1272963761b ./gcc/config/m68hc11/m68hc11.c 3563849705b ./gcc/config/m68hc11/m68hc11-crt0.S 1280294916b ./gcc/config/m68hc11/m68hc11.h ! 4149782803b ./gcc/config/m68hc11/m68hc11.md 1796033124b ./gcc/config/m68hc11/m68hc11-protos.h 452436463b ./gcc/config/m68hc11/m68hc12.h 1483227044b ./gcc/config/m68hc11/t-m68hc11-gas --- 2119,2125 ---- 1272963761b ./gcc/config/m68hc11/m68hc11.c 3563849705b ./gcc/config/m68hc11/m68hc11-crt0.S 1280294916b ./gcc/config/m68hc11/m68hc11.h ! 520753477b ./gcc/config/m68hc11/m68hc11.md 1796033124b ./gcc/config/m68hc11/m68hc11-protos.h 452436463b ./gcc/config/m68hc11/m68hc12.h 1483227044b ./gcc/config/m68hc11/t-m68hc11-gas *************** *** 2205,2211 **** 120628064b ./gcc/config/m68k/sun3n.h 2298299278b ./gcc/config/m68k/sun3o3.h 3527955370b ./gcc/config/m68k/t-aux ! 1499818164b ./gcc/config/m68k/t-crtstuff 1845413337b ./gcc/config/m68k/t-hp320 1601671577b ./gcc/config/m68k/t-linux 1601671577b ./gcc/config/m68k/t-linux-aout --- 2205,2211 ---- 120628064b ./gcc/config/m68k/sun3n.h 2298299278b ./gcc/config/m68k/sun3o3.h 3527955370b ./gcc/config/m68k/t-aux ! 2428228359b ./gcc/config/m68k/t-crtstuff 1845413337b ./gcc/config/m68k/t-hp320 1601671577b ./gcc/config/m68k/t-linux 1601671577b ./gcc/config/m68k/t-linux-aout *************** *** 2297,2303 **** 3112223626b ./gcc/config/mips/mips-5.h 4175300921b ./gcc/config/mips/mips.c 1450296441b ./gcc/config/mips/mips.h ! 27312380b ./gcc/config/mips/mips.md 4191298187b ./gcc/config/mips/mips-protos.h 3451330990b ./gcc/config/mips/netbsd.h 1685635385b ./gcc/config/mips/news4.h --- 2297,2303 ---- 3112223626b ./gcc/config/mips/mips-5.h 4175300921b ./gcc/config/mips/mips.c 1450296441b ./gcc/config/mips/mips.h ! 3326013566b ./gcc/config/mips/mips.md 4191298187b ./gcc/config/mips/mips-protos.h 3451330990b ./gcc/config/mips/netbsd.h 1685635385b ./gcc/config/mips/news4.h *************** *** 2322,2328 **** 3379398326b ./gcc/config/mips/t-ecoff 3744526568b ./gcc/config/mips/t-elf 2896429436b ./gcc/config/mips/t-iris ! 926858795b ./gcc/config/mips/t-iris6 2995723142b ./gcc/config/mips/t-isa3264 3174612276b ./gcc/config/mips/t-linux 3174612276b ./gcc/config/mips/t-netbsd --- 2322,2328 ---- 3379398326b ./gcc/config/mips/t-ecoff 3744526568b ./gcc/config/mips/t-elf 2896429436b ./gcc/config/mips/t-iris ! 1323445357b ./gcc/config/mips/t-iris6 2995723142b ./gcc/config/mips/t-isa3264 3174612276b ./gcc/config/mips/t-linux 3174612276b ./gcc/config/mips/t-netbsd *************** *** 2459,2465 **** 1258445797b ./gcc/config/rs6000/eabisim.h 3017082484b ./gcc/config/rs6000/freebsd.h 4293496085b ./gcc/config/rs6000/gnu.h ! 1853325160b ./gcc/config/rs6000/linux64.h 1351560312b ./gcc/config/rs6000/linuxaltivec.h 3642990693b ./gcc/config/rs6000/linux.h 1286374006b ./gcc/config/rs6000/lynx.h --- 2459,2465 ---- 1258445797b ./gcc/config/rs6000/eabisim.h 3017082484b ./gcc/config/rs6000/freebsd.h 4293496085b ./gcc/config/rs6000/gnu.h ! 1281642247b ./gcc/config/rs6000/linux64.h 1351560312b ./gcc/config/rs6000/linuxaltivec.h 3642990693b ./gcc/config/rs6000/linux.h 1286374006b ./gcc/config/rs6000/lynx.h *************** *** 2467,2481 **** 1820610909b ./gcc/config/rs6000/milli.exp 926081320b ./gcc/config/rs6000/netbsd.h 4127185084b ./gcc/config/rs6000/ppc-asm.h ! 2556177832b ./gcc/config/rs6000/rs6000.c 1882734550b ./gcc/config/rs6000/rs6000.h ! 2550315868b ./gcc/config/rs6000/rs6000.md 4107218804b ./gcc/config/rs6000/rs6000-protos.h 1817513646b ./gcc/config/rs6000/rtems.h 2439652147b ./gcc/config/rs6000/softfloat.h 3703627966b ./gcc/config/rs6000/sol-ci.asm 3016810975b ./gcc/config/rs6000/sol-cn.asm ! 2895846126b ./gcc/config/rs6000/sysv4.h 3795959522b ./gcc/config/rs6000/sysv4le.h 781650112b ./gcc/config/rs6000/t-aix43 2042460673b ./gcc/config/rs6000/t-beos --- 2467,2481 ---- 1820610909b ./gcc/config/rs6000/milli.exp 926081320b ./gcc/config/rs6000/netbsd.h 4127185084b ./gcc/config/rs6000/ppc-asm.h ! 2628430224b ./gcc/config/rs6000/rs6000.c 1882734550b ./gcc/config/rs6000/rs6000.h ! 1182996779b ./gcc/config/rs6000/rs6000.md 4107218804b ./gcc/config/rs6000/rs6000-protos.h 1817513646b ./gcc/config/rs6000/rtems.h 2439652147b ./gcc/config/rs6000/softfloat.h 3703627966b ./gcc/config/rs6000/sol-ci.asm 3016810975b ./gcc/config/rs6000/sol-cn.asm ! 1082828955b ./gcc/config/rs6000/sysv4.h 3795959522b ./gcc/config/rs6000/sysv4le.h 781650112b ./gcc/config/rs6000/t-aix43 2042460673b ./gcc/config/rs6000/t-beos *************** *** 2495,2501 **** 661638700b ./gcc/config/s390/linux.h 3979416840b ./gcc/config/s390/s390.c 2354192299b ./gcc/config/s390/s390.h ! 2043805243b ./gcc/config/s390/s390.md 1407420306b ./gcc/config/s390/s390-protos.h 3998835120b ./gcc/config/s390/s390x.h 1051100452b ./gcc/config/s390/t-linux --- 2495,2501 ---- 661638700b ./gcc/config/s390/linux.h 3979416840b ./gcc/config/s390/s390.c 2354192299b ./gcc/config/s390/s390.h ! 2229281672b ./gcc/config/s390/s390.md 1407420306b ./gcc/config/s390/s390-protos.h 3998835120b ./gcc/config/s390/s390x.h 1051100452b ./gcc/config/s390/t-linux *************** *** 2525,2537 **** 1386942151b ./gcc/config/sparc/bsd.h 1479022830b ./gcc/config/sparc/crtfastmath.c 54964474b ./gcc/config/sparc/elf.h ! 2261391724b ./gcc/config/sparc/freebsd.h 1322899413b ./gcc/config/sparc/gmon-sol2.c 3746795534b ./gcc/config/sparc/hal.h 3587954192b ./gcc/config/sparc/lb1spc.asm 557614974b ./gcc/config/sparc/lb1spl.asm 1761187951b ./gcc/config/sparc/libgcc-sparc-glibc.ver ! 1211069020b ./gcc/config/sparc/linux64.h 2544415545b ./gcc/config/sparc/linux-aout.h 1914379195b ./gcc/config/sparc/linux.h 2163445162b ./gcc/config/sparc/litecoff.h --- 2525,2537 ---- 1386942151b ./gcc/config/sparc/bsd.h 1479022830b ./gcc/config/sparc/crtfastmath.c 54964474b ./gcc/config/sparc/elf.h ! 1883862361b ./gcc/config/sparc/freebsd.h 1322899413b ./gcc/config/sparc/gmon-sol2.c 3746795534b ./gcc/config/sparc/hal.h 3587954192b ./gcc/config/sparc/lb1spc.asm 557614974b ./gcc/config/sparc/lb1spl.asm 1761187951b ./gcc/config/sparc/libgcc-sparc-glibc.ver ! 753491459b ./gcc/config/sparc/linux64.h 2544415545b ./gcc/config/sparc/linux-aout.h 1914379195b ./gcc/config/sparc/linux.h 2163445162b ./gcc/config/sparc/litecoff.h *************** *** 2549,2555 **** 4106236389b ./gcc/config/sparc/rtems.h 1579903847b ./gcc/config/sparc/sol2-64.h 2488307215b ./gcc/config/sparc/sol27-sld.h ! 3856389871b ./gcc/config/sparc/sol2-bi.h 1463670426b ./gcc/config/sparc/sol2-c1.asm 3288323690b ./gcc/config/sparc/sol2-ci.asm 2004370404b ./gcc/config/sparc/sol2-cn.asm --- 2549,2555 ---- 4106236389b ./gcc/config/sparc/rtems.h 1579903847b ./gcc/config/sparc/sol2-64.h 2488307215b ./gcc/config/sparc/sol27-sld.h ! 1510111749b ./gcc/config/sparc/sol2-bi.h 1463670426b ./gcc/config/sparc/sol2-c1.asm 3288323690b ./gcc/config/sparc/sol2-ci.asm 2004370404b ./gcc/config/sparc/sol2-cn.asm *************** *** 2562,2570 **** 2870886299b ./gcc/config/sparc/sp64-elf.h 3128199560b ./gcc/config/sparc/sp86x-aout.h 1221714757b ./gcc/config/sparc/sp86x-elf.h ! 2208851995b ./gcc/config/sparc/sparc.c 3432806460b ./gcc/config/sparc/sparc.h ! 3779592443b ./gcc/config/sparc/sparc.md 4023359087b ./gcc/config/sparc/sparc-protos.h 842964351b ./gcc/config/sparc/splet.h 952337645b ./gcc/config/sparc/sun4gas.h --- 2562,2570 ---- 2870886299b ./gcc/config/sparc/sp64-elf.h 3128199560b ./gcc/config/sparc/sp86x-aout.h 1221714757b ./gcc/config/sparc/sp86x-elf.h ! 2169834781b ./gcc/config/sparc/sparc.c 3432806460b ./gcc/config/sparc/sparc.h ! 879790849b ./gcc/config/sparc/sparc.md 4023359087b ./gcc/config/sparc/sparc-protos.h 842964351b ./gcc/config/sparc/splet.h 952337645b ./gcc/config/sparc/sun4gas.h *************** *** 2575,2585 **** 2056024669b ./gcc/config/sparc/t-crtfm 3744055768b ./gcc/config/sparc/t-elf 1582758741b ./gcc/config/sparc/t-halos ! 1439446046b ./gcc/config/sparc/t-linux64 ! 695285893b ./gcc/config/sparc/t-netbsd64 1190032917b ./gcc/config/sparc/t-openbsd 851768603b ./gcc/config/sparc/t-sol2 ! 1145811925b ./gcc/config/sparc/t-sol2-64 4194854877b ./gcc/config/sparc/t-sp86x 2727045329b ./gcc/config/sparc/t-sparcbare 1324996929b ./gcc/config/sparc/t-sparclite --- 2575,2585 ---- 2056024669b ./gcc/config/sparc/t-crtfm 3744055768b ./gcc/config/sparc/t-elf 1582758741b ./gcc/config/sparc/t-halos ! 2435625847b ./gcc/config/sparc/t-linux64 ! 1132426437b ./gcc/config/sparc/t-netbsd64 1190032917b ./gcc/config/sparc/t-openbsd 851768603b ./gcc/config/sparc/t-sol2 ! 3560385692b ./gcc/config/sparc/t-sol2-64 4194854877b ./gcc/config/sparc/t-sp86x 2727045329b ./gcc/config/sparc/t-sparcbare 1324996929b ./gcc/config/sparc/t-sparclite *************** *** 2620,2628 **** 321200235b ./gcc/config/t-svr4 937080303b ./gcc/config/udivmod.c 2590328114b ./gcc/config/udivmodsi4.c ! 1016693269b ./gcc/configure 2239237249b ./gcc/configure.frag ! 3096119353b ./gcc/configure.in 1401546799b ./gcc/config/usegas.h 1330961877b ./gcc/config/v850/lib1funcs.asm 3345272584b ./gcc/config/v850/rtems.h --- 2620,2628 ---- 321200235b ./gcc/config/t-svr4 937080303b ./gcc/config/udivmod.c 2590328114b ./gcc/config/udivmodsi4.c ! 2291528331b ./gcc/configure 2239237249b ./gcc/configure.frag ! 4254063890b ./gcc/configure.in 1401546799b ./gcc/config/usegas.h 1330961877b ./gcc/config/v850/lib1funcs.asm 3345272584b ./gcc/config/v850/rtems.h *************** *** 2648,2687 **** 3169968881b ./gcc/config/we32k/we32k.md 2514844092b ./gcc/config/we32k/we32k-protos.h 2711497169b ./gcc/config/x-interix ! 2141220080b ./gcc/config/xtensa/elf.h 1027874511b ./gcc/config/xtensa/lib1funcs.asm 3621223618b ./gcc/config/xtensa/lib2funcs.S 2321639494b ./gcc/config/xtensa/linux.h 3617796239b ./gcc/config/xtensa/t-xtensa ! 4293691443b ./gcc/config/xtensa/xtensa.c 2796950173b ./gcc/config/xtensa/xtensa-config.h ! 1720519523b ./gcc/config/xtensa/xtensa.h 1183159023b ./gcc/config/xtensa/xtensa.md ! 2854754468b ./gcc/config/xtensa/xtensa-protos.h 3382606314b ./gcc/conflict.c 2854418854b ./gcc/convert.c 2020855935b ./gcc/convert.h 2171125041b ./gcc/COPYING 508743035b ./gcc/COPYING.LIB ! 2221971030b ./gcc/c-parse.c ! 404744322b ./gcc/c-parse.in ! 4212422843b ./gcc/c-parse.y ! 1606645276b ./gcc/cp/call.c 4115552602b ./gcc/cp/cfns.gperf 1705070232b ./gcc/cp/cfns.h ! 246530727b ./gcc/cp/ChangeLog 2221404065b ./gcc/cp/ChangeLog.1 2127340768b ./gcc/cp/ChangeLog.2 2546444747b ./gcc/cp/ChangeLog.egcs ! 3382716843b ./gcc/cp/class.c 1309293181b ./gcc/cp/config-lang.in ! 2814007338b ./gcc/cp/cp-lang.c 2928114977b ./gcc/cp/cp-tree.def ! 520848138b ./gcc/cp/cp-tree.h 1230086821b ./gcc/cp/.cvsignore ! 1810620203b ./gcc/cp/cvt.c ! 3724208706b ./gcc/cp/decl2.c ! 2328300155b ./gcc/cp/decl.c 3040950596b ./gcc/cp/decl.h 1503739344b ./gcc/cp/dump.c 1402846352b ./gcc/cp/error.c --- 2648,2687 ---- 3169968881b ./gcc/config/we32k/we32k.md 2514844092b ./gcc/config/we32k/we32k-protos.h 2711497169b ./gcc/config/x-interix ! 1151914555b ./gcc/config/xtensa/elf.h 1027874511b ./gcc/config/xtensa/lib1funcs.asm 3621223618b ./gcc/config/xtensa/lib2funcs.S 2321639494b ./gcc/config/xtensa/linux.h 3617796239b ./gcc/config/xtensa/t-xtensa ! 221057176b ./gcc/config/xtensa/xtensa.c 2796950173b ./gcc/config/xtensa/xtensa-config.h ! 3802608261b ./gcc/config/xtensa/xtensa.h 1183159023b ./gcc/config/xtensa/xtensa.md ! 2389425253b ./gcc/config/xtensa/xtensa-protos.h 3382606314b ./gcc/conflict.c 2854418854b ./gcc/convert.c 2020855935b ./gcc/convert.h 2171125041b ./gcc/COPYING 508743035b ./gcc/COPYING.LIB ! 1845167332b ./gcc/c-parse.c ! 300639623b ./gcc/c-parse.in ! 492383053b ./gcc/c-parse.y ! 211407592b ./gcc/cp/call.c 4115552602b ./gcc/cp/cfns.gperf 1705070232b ./gcc/cp/cfns.h ! 696338438b ./gcc/cp/ChangeLog 2221404065b ./gcc/cp/ChangeLog.1 2127340768b ./gcc/cp/ChangeLog.2 2546444747b ./gcc/cp/ChangeLog.egcs ! 3828154577b ./gcc/cp/class.c 1309293181b ./gcc/cp/config-lang.in ! 4084279121b ./gcc/cp/cp-lang.c 2928114977b ./gcc/cp/cp-tree.def ! 4216823168b ./gcc/cp/cp-tree.h 1230086821b ./gcc/cp/.cvsignore ! 106302269b ./gcc/cp/cvt.c ! 276724828b ./gcc/cp/decl2.c ! 3891994909b ./gcc/cp/decl.c 3040950596b ./gcc/cp/decl.h 1503739344b ./gcc/cp/dump.c 1402846352b ./gcc/cp/error.c *************** *** 2690,2747 **** 728682437b ./gcc/cp/friend.c 1574667259b ./gcc/cp/g++.1 3180385434b ./gcc/cp/g++spec.c ! 6213340b ./gcc/cp/init.c 3812650249b ./gcc/cp/lang-options.h 2714092533b ./gcc/cp/lang-specs.h ! 1021773846b ./gcc/cp/lex.c 2280147967b ./gcc/cp/lex.h 2683095257b ./gcc/cp/Make-lang.in ! 2268565299b ./gcc/cp/mangle.c ! 3566373635b ./gcc/cp/method.c 701335209b ./gcc/cp/mpw-config.in 4041177245b ./gcc/cp/mpw-make.sed 3379488726b ./gcc/cp/NEWS 3146548402b ./gcc/cp/operators.def 622478745b ./gcc/cp/optimize.c ! 2913547076b ./gcc/cp/parse.c ! 170370885b ./gcc/cp/parse.h ! 3869126793b ./gcc/cp/parse.y 1602205564b ./gcc/cppdefault.c 733799898b ./gcc/cppdefault.h 3582099799b ./gcc/cpperror.c 4072103215b ./gcc/cppexp.c ! 1744773234b ./gcc/cppfiles.c 2283152717b ./gcc/cpphash.c 3545195852b ./gcc/cpphash.h ! 3019939107b ./gcc/cppinit.c 201524367b ./gcc/cpplex.c ! 696100766b ./gcc/cpplib.c ! 2677210260b ./gcc/cpplib.h ! 2425864251b ./gcc/cppmacro.c 2363485754b ./gcc/cppmain.c 3972345626b ./gcc/cppspec.c ! 877619125b ./gcc/cp/pt.c 1408553642b ./gcc/cp/ptree.c 73956308b ./gcc/c-pragma.c 1212765089b ./gcc/c-pragma.h 3993964584b ./gcc/cp/repo.c ! 1225143498b ./gcc/cp/rtti.c ! 4073173263b ./gcc/cp/search.c ! 1391383527b ./gcc/cp/semantics.c ! 435715887b ./gcc/cp/spew.c ! 1157806438b ./gcc/cp/tree.c ! 319815603b ./gcc/cp/typeck2.c ! 3802862631b ./gcc/cp/typeck.c 2032357073b ./gcc/crtstuff.c 3365219033b ./gcc/cse.c 1706957017b ./gcc/cselib.c 3914093915b ./gcc/cselib.h 2383555787b ./gcc/c-semantics.c 216805921b ./gcc/cstamp-h.in ! 2979514529b ./gcc/c-tree.h ! 2525875527b ./gcc/c-typeck.c 4208197548b ./gcc/.cvsignore ! 1600176938b ./gcc/dbxout.c 2583180678b ./gcc/dbxout.h 1104788844b ./gcc/dbxstclass.h 2470087149b ./gcc/debug.c --- 2690,2747 ---- 728682437b ./gcc/cp/friend.c 1574667259b ./gcc/cp/g++.1 3180385434b ./gcc/cp/g++spec.c ! 1504087345b ./gcc/cp/init.c 3812650249b ./gcc/cp/lang-options.h 2714092533b ./gcc/cp/lang-specs.h ! 1945319355b ./gcc/cp/lex.c 2280147967b ./gcc/cp/lex.h 2683095257b ./gcc/cp/Make-lang.in ! 1932648807b ./gcc/cp/mangle.c ! 3212394829b ./gcc/cp/method.c 701335209b ./gcc/cp/mpw-config.in 4041177245b ./gcc/cp/mpw-make.sed 3379488726b ./gcc/cp/NEWS 3146548402b ./gcc/cp/operators.def 622478745b ./gcc/cp/optimize.c ! 2202196704b ./gcc/cp/parse.c ! 24533096b ./gcc/cp/parse.h ! 1414382616b ./gcc/cp/parse.y 1602205564b ./gcc/cppdefault.c 733799898b ./gcc/cppdefault.h 3582099799b ./gcc/cpperror.c 4072103215b ./gcc/cppexp.c ! 2221722550b ./gcc/cppfiles.c 2283152717b ./gcc/cpphash.c 3545195852b ./gcc/cpphash.h ! 2419669468b ./gcc/cppinit.c 201524367b ./gcc/cpplex.c ! 2222966585b ./gcc/cpplib.c ! 3414601474b ./gcc/cpplib.h ! 3518489790b ./gcc/cppmacro.c 2363485754b ./gcc/cppmain.c 3972345626b ./gcc/cppspec.c ! 3092071067b ./gcc/cp/pt.c 1408553642b ./gcc/cp/ptree.c 73956308b ./gcc/c-pragma.c 1212765089b ./gcc/c-pragma.h 3993964584b ./gcc/cp/repo.c ! 1891418656b ./gcc/cp/rtti.c ! 1831732259b ./gcc/cp/search.c ! 1562130475b ./gcc/cp/semantics.c ! 2648162646b ./gcc/cp/spew.c ! 3766127741b ./gcc/cp/tree.c ! 1284974262b ./gcc/cp/typeck2.c ! 3575565334b ./gcc/cp/typeck.c 2032357073b ./gcc/crtstuff.c 3365219033b ./gcc/cse.c 1706957017b ./gcc/cselib.c 3914093915b ./gcc/cselib.h 2383555787b ./gcc/c-semantics.c 216805921b ./gcc/cstamp-h.in ! 2780104305b ./gcc/c-tree.h ! 1526402625b ./gcc/c-typeck.c 4208197548b ./gcc/.cvsignore ! 1308064076b ./gcc/dbxout.c 2583180678b ./gcc/dbxout.h 1104788844b ./gcc/dbxstclass.h 2470087149b ./gcc/debug.c *************** *** 2755,2807 **** 4192732570b ./gcc/diagnostic.h 23600501b ./gcc/doc/bugreport.texi 2815010075b ./gcc/doc/collect2.texi 2785243168b ./gcc/doc/configfiles.texi 3399730921b ./gcc/doc/configterms.texi ! 423742597b ./gcc/doc/contrib.texi 2272556046b ./gcc/doc/contribute.texi ! 3338732053b ./gcc/doc/cpp.1 ! 728474004b ./gcc/doc/cppenv.texi ! 614113989b ./gcc/doc/cpp.info ! 3684701703b ./gcc/doc/cpp.info-1 ! 2051881480b ./gcc/doc/cpp.info-2 ! 4277996359b ./gcc/doc/cpp.info-3 ! 1723172915b ./gcc/doc/cpp.info-4 4128300115b ./gcc/doc/cppinternals.info 1958814700b ./gcc/doc/cppinternals.texi ! 1576301312b ./gcc/doc/cppopts.texi ! 3942827135b ./gcc/doc/cpp.texi ! 3074388753b ./gcc/doc/c-tree.texi 1471878644b ./gcc/doc/.cvsignore ! 3767903981b ./gcc/doc/extend.texi 2634996326b ./gcc/doc/fragments.texi 600815516b ./gcc/doc/frontends.texi ! 47476850b ./gcc/doc/fsf-funding.7 ! 4122483838b ./gcc/doc/gcc.1 ! 1322329267b ./gcc/doc/gcc.info ! 1125594091b ./gcc/doc/gcc.info-1 ! 2210088709b ./gcc/doc/gcc.info-10 ! 3588585377b ./gcc/doc/gcc.info-11 2472794790b ./gcc/doc/gcc.info-12 3020319333b ./gcc/doc/gcc.info-13 3100556077b ./gcc/doc/gcc.info-14 2100335389b ./gcc/doc/gcc.info-15 1973326326b ./gcc/doc/gcc.info-16 ! 983912118b ./gcc/doc/gcc.info-17 ! 4229810973b ./gcc/doc/gcc.info-18 ! 2774448157b ./gcc/doc/gcc.info-19 ! 4041736365b ./gcc/doc/gcc.info-2 ! 273873526b ./gcc/doc/gcc.info-20 ! 913770364b ./gcc/doc/gcc.info-21 ! 1105239440b ./gcc/doc/gcc.info-22 ! 3748204607b ./gcc/doc/gcc.info-23 177802939b ./gcc/doc/gcc.info-3 ! 3514858133b ./gcc/doc/gcc.info-4 ! 4164754347b ./gcc/doc/gcc.info-5 523405852b ./gcc/doc/gcc.info-6 4075929926b ./gcc/doc/gcc.info-7 ! 399228416b ./gcc/doc/gcc.info-8 701416922b ./gcc/doc/gcc.info-9 ! 3451282471b ./gcc/doc/gccint.info 3600548089b ./gcc/doc/gccint.info-1 1504619998b ./gcc/doc/gccint.info-10 3473339140b ./gcc/doc/gccint.info-11 --- 2755,2809 ---- 4192732570b ./gcc/diagnostic.h 23600501b ./gcc/doc/bugreport.texi 2815010075b ./gcc/doc/collect2.texi + 3060436631b ./gcc/doc/compat.texi 2785243168b ./gcc/doc/configfiles.texi 3399730921b ./gcc/doc/configterms.texi ! 2163122922b ./gcc/doc/contrib.texi 2272556046b ./gcc/doc/contribute.texi ! 299886887b ./gcc/doc/cpp.1 ! 1838233798b ./gcc/doc/cppenv.texi ! 942037060b ./gcc/doc/cpp.info ! 579743374b ./gcc/doc/cpp.info-1 ! 3971167691b ./gcc/doc/cpp.info-2 ! 3217640916b ./gcc/doc/cpp.info-3 ! 3238131507b ./gcc/doc/cpp.info-4 ! 113743627b ./gcc/doc/cpp.info-5 4128300115b ./gcc/doc/cppinternals.info 1958814700b ./gcc/doc/cppinternals.texi ! 685869710b ./gcc/doc/cppopts.texi ! 3543132597b ./gcc/doc/cpp.texi ! 3813743019b ./gcc/doc/c-tree.texi 1471878644b ./gcc/doc/.cvsignore ! 1477628931b ./gcc/doc/extend.texi 2634996326b ./gcc/doc/fragments.texi 600815516b ./gcc/doc/frontends.texi ! 4060734459b ./gcc/doc/fsf-funding.7 ! 2701882048b ./gcc/doc/gcc.1 ! 3771908520b ./gcc/doc/gcc.info ! 1921369526b ./gcc/doc/gcc.info-1 ! 809288507b ./gcc/doc/gcc.info-10 ! 937687037b ./gcc/doc/gcc.info-11 2472794790b ./gcc/doc/gcc.info-12 3020319333b ./gcc/doc/gcc.info-13 3100556077b ./gcc/doc/gcc.info-14 2100335389b ./gcc/doc/gcc.info-15 1973326326b ./gcc/doc/gcc.info-16 ! 4233127554b ./gcc/doc/gcc.info-17 ! 1177537033b ./gcc/doc/gcc.info-18 ! 2957434958b ./gcc/doc/gcc.info-19 ! 546744273b ./gcc/doc/gcc.info-2 ! 4179571895b ./gcc/doc/gcc.info-20 ! 503977090b ./gcc/doc/gcc.info-21 ! 3135435025b ./gcc/doc/gcc.info-22 ! 766898990b ./gcc/doc/gcc.info-23 177802939b ./gcc/doc/gcc.info-3 ! 300919832b ./gcc/doc/gcc.info-4 ! 3173162766b ./gcc/doc/gcc.info-5 523405852b ./gcc/doc/gcc.info-6 4075929926b ./gcc/doc/gcc.info-7 ! 1604498314b ./gcc/doc/gcc.info-8 701416922b ./gcc/doc/gcc.info-9 ! 1334526965b ./gcc/doc/gccint.info 3600548089b ./gcc/doc/gccint.info-1 1504619998b ./gcc/doc/gccint.info-10 3473339140b ./gcc/doc/gccint.info-11 *************** *** 2812,2823 **** 1782892412b ./gcc/doc/gccint.info-16 2959978575b ./gcc/doc/gccint.info-17 4176515869b ./gcc/doc/gccint.info-18 ! 140211443b ./gcc/doc/gccint.info-19 ! 807234232b ./gcc/doc/gccint.info-2 202943203b ./gcc/doc/gccint.info-20 3389515766b ./gcc/doc/gccint.info-21 ! 934370110b ./gcc/doc/gccint.info-22 ! 2398443189b ./gcc/doc/gccint.info-23 1907881660b ./gcc/doc/gccint.info-3 1456140435b ./gcc/doc/gccint.info-4 645003639b ./gcc/doc/gccint.info-5 --- 2814,2825 ---- 1782892412b ./gcc/doc/gccint.info-16 2959978575b ./gcc/doc/gccint.info-17 4176515869b ./gcc/doc/gccint.info-18 ! 2985208404b ./gcc/doc/gccint.info-19 ! 630391800b ./gcc/doc/gccint.info-2 202943203b ./gcc/doc/gccint.info-20 3389515766b ./gcc/doc/gccint.info-21 ! 244064775b ./gcc/doc/gccint.info-22 ! 3017009534b ./gcc/doc/gccint.info-23 1907881660b ./gcc/doc/gccint.info-3 1456140435b ./gcc/doc/gccint.info-4 645003639b ./gcc/doc/gccint.info-5 *************** *** 2826,2837 **** 422138694b ./gcc/doc/gccint.info-8 3245006523b ./gcc/doc/gccint.info-9 926520134b ./gcc/doc/gccint.texi ! 1397603823b ./gcc/doc/gcc.texi ! 1484573546b ./gcc/doc/gcov.1 3165676809b ./gcc/doc/gcov.texi ! 1948430484b ./gcc/doc/gfdl.7 4217859569b ./gcc/doc/gnu.texi ! 2944376632b ./gcc/doc/gpl.7 2632697239b ./gcc/doc/headerdirs.texi 1425599017b ./gcc/doc/hostconfig.texi 1232987106b ./gcc/doc/include/fdl.texi --- 2828,2839 ---- 422138694b ./gcc/doc/gccint.info-8 3245006523b ./gcc/doc/gccint.info-9 926520134b ./gcc/doc/gccint.texi ! 489956337b ./gcc/doc/gcc.texi ! 439884872b ./gcc/doc/gcov.1 3165676809b ./gcc/doc/gcov.texi ! 41943876b ./gcc/doc/gfdl.7 4217859569b ./gcc/doc/gnu.texi ! 1434573161b ./gcc/doc/gpl.7 2632697239b ./gcc/doc/headerdirs.texi 1425599017b ./gcc/doc/hostconfig.texi 1232987106b ./gcc/doc/include/fdl.texi *************** *** 2840,2863 **** 1416455933b ./gcc/doc/include/gpl.texi 3627483023b ./gcc/doc/include/texinfo.tex 4219640220b ./gcc/doc/install-old.texi ! 3289828701b ./gcc/doc/install.texi 1451529977b ./gcc/doc/install.texi2html 1103982611b ./gcc/doc/interface.texi ! 3201795382b ./gcc/doc/invoke.texi 1327866291b ./gcc/doc/languages.texi ! 1442569774b ./gcc/doc/makefile.texi 647485435b ./gcc/doc/md.texi 2014418726b ./gcc/doc/objc.texi 285120363b ./gcc/doc/passes.texi 2247614285b ./gcc/doc/portability.texi ! 1491224498b ./gcc/doc/rtl.texi 3603168219b ./gcc/doc/service.texi ! 1541018360b ./gcc/doc/sourcebuild.texi ! 4060536618b ./gcc/doc/standards.texi ! 2682716543b ./gcc/doc/tm.texi ! 3680484655b ./gcc/doc/trouble.texi 3478556786b ./gcc/doc/vms.texi ! 1216009797b ./gcc/doloop.c 1033704706b ./gcc/dominance.c 2791449994b ./gcc/doschk.c 31829346b ./gcc/dwarf2asm.c --- 2842,2865 ---- 1416455933b ./gcc/doc/include/gpl.texi 3627483023b ./gcc/doc/include/texinfo.tex 4219640220b ./gcc/doc/install-old.texi ! 977716914b ./gcc/doc/install.texi 1451529977b ./gcc/doc/install.texi2html 1103982611b ./gcc/doc/interface.texi ! 1690368898b ./gcc/doc/invoke.texi 1327866291b ./gcc/doc/languages.texi ! 409601074b ./gcc/doc/makefile.texi 647485435b ./gcc/doc/md.texi 2014418726b ./gcc/doc/objc.texi 285120363b ./gcc/doc/passes.texi 2247614285b ./gcc/doc/portability.texi ! 2576532070b ./gcc/doc/rtl.texi 3603168219b ./gcc/doc/service.texi ! 3643604442b ./gcc/doc/sourcebuild.texi ! 2997941012b ./gcc/doc/standards.texi ! 3195862103b ./gcc/doc/tm.texi ! 886635974b ./gcc/doc/trouble.texi 3478556786b ./gcc/doc/vms.texi ! 2482239883b ./gcc/doloop.c 1033704706b ./gcc/dominance.c 2791449994b ./gcc/doschk.c 31829346b ./gcc/dwarf2asm.c *************** *** 2867,2882 **** 1010158138b ./gcc/dwarf2out.h 109276966b ./gcc/dwarf.h 3359840971b ./gcc/dwarfout.c ! 751950639b ./gcc/emit-rtl.c 626897841b ./gcc/enquire.c 2953931641b ./gcc/errors.c 3972701730b ./gcc/errors.h 1431652736b ./gcc/except.c 2826708782b ./gcc/except.h ! 3043936594b ./gcc/explow.c ! 2506147319b ./gcc/expmed.c ! 2453007041b ./gcc/expr.c ! 2884660603b ./gcc/expr.h 1934744031b ./gcc/f/ansify.c 1543506773b ./gcc/f/bad.c 3978113547b ./gcc/f/bad.def --- 2869,2884 ---- 1010158138b ./gcc/dwarf2out.h 109276966b ./gcc/dwarf.h 3359840971b ./gcc/dwarfout.c ! 1599988341b ./gcc/emit-rtl.c 626897841b ./gcc/enquire.c 2953931641b ./gcc/errors.c 3972701730b ./gcc/errors.h 1431652736b ./gcc/except.c 2826708782b ./gcc/except.h ! 908040152b ./gcc/explow.c ! 1156766543b ./gcc/expmed.c ! 3693001667b ./gcc/expr.c ! 3115307664b ./gcc/expr.h 1934744031b ./gcc/f/ansify.c 1543506773b ./gcc/f/bad.c 3978113547b ./gcc/f/bad.def *************** *** 2886,2897 **** 948632599b ./gcc/f/bld.c 3286267604b ./gcc/f/bld.h 2128697889b ./gcc/f/bld-op.def ! 1491665580b ./gcc/f/BUGS 235013049b ./gcc/f/bugs0.texi ! 2193415872b ./gcc/f/bugs.texi ! 2882007047b ./gcc/f/ChangeLog 4225493150b ./gcc/f/ChangeLog.0 ! 3761650327b ./gcc/f/com.c 87369815b ./gcc/f/com.h 2664732170b ./gcc/f/com-rt.def 535595698b ./gcc/f/config-lang.in --- 2888,2899 ---- 948632599b ./gcc/f/bld.c 3286267604b ./gcc/f/bld.h 2128697889b ./gcc/f/bld-op.def ! 576635123b ./gcc/f/BUGS 235013049b ./gcc/f/bugs0.texi ! 158397208b ./gcc/f/bugs.texi ! 2823422254b ./gcc/f/ChangeLog 4225493150b ./gcc/f/ChangeLog.0 ! 1588166676b ./gcc/f/com.c 87369815b ./gcc/f/com.h 2664732170b ./gcc/f/com-rt.def 535595698b ./gcc/f/config-lang.in *************** *** 2904,2911 **** 417834755b ./gcc/f/expr.h 2351117682b ./gcc/f/ffe.texi 782070966b ./gcc/f/fini.c ! 2713856129b ./gcc/f/g77.1 ! 1283152374b ./gcc/f/g77.info 1405242906b ./gcc/f/g77.info-1 4020360826b ./gcc/f/g77.info-10 2010631566b ./gcc/f/g77.info-11 --- 2906,2913 ---- 417834755b ./gcc/f/expr.h 2351117682b ./gcc/f/ffe.texi 782070966b ./gcc/f/fini.c ! 3506777541b ./gcc/f/g77.1 ! 3497434494b ./gcc/f/g77.info 1405242906b ./gcc/f/g77.info-1 4020360826b ./gcc/f/g77.info-10 2010631566b ./gcc/f/g77.info-11 *************** *** 2913,2919 **** 3461821628b ./gcc/f/g77.info-13 1208071216b ./gcc/f/g77.info-14 1936205287b ./gcc/f/g77.info-15 ! 4292352815b ./gcc/f/g77.info-16 259584195b ./gcc/f/g77.info-17 4125227617b ./gcc/f/g77.info-18 254417931b ./gcc/f/g77.info-19 --- 2915,2921 ---- 3461821628b ./gcc/f/g77.info-13 1208071216b ./gcc/f/g77.info-14 1936205287b ./gcc/f/g77.info-15 ! 2810069222b ./gcc/f/g77.info-16 259584195b ./gcc/f/g77.info-17 4125227617b ./gcc/f/g77.info-18 254417931b ./gcc/f/g77.info-19 *************** *** 2921,2928 **** 26285497b ./gcc/f/g77.info-20 3543736255b ./gcc/f/g77.info-21 116586643b ./gcc/f/g77.info-3 ! 873971042b ./gcc/f/g77.info-4 ! 328927715b ./gcc/f/g77.info-5 145000084b ./gcc/f/g77.info-6 2563451928b ./gcc/f/g77.info-7 3172593296b ./gcc/f/g77.info-8 --- 2923,2930 ---- 26285497b ./gcc/f/g77.info-20 3543736255b ./gcc/f/g77.info-21 116586643b ./gcc/f/g77.info-3 ! 3513135358b ./gcc/f/g77.info-4 ! 676912166b ./gcc/f/g77.info-5 145000084b ./gcc/f/g77.info-6 2563451928b ./gcc/f/g77.info-7 3172593296b ./gcc/f/g77.info-8 *************** *** 3041,3062 **** 2236212838b ./gcc/fixproto 1861938661b ./gcc/f/lab.c 3674332618b ./gcc/f/lab.h ! 2269802260b ./gcc/flags.h 136843109b ./gcc/f/lang-options.h ! 1804470939b ./gcc/f/lang-specs.h 4037310288b ./gcc/f/lex.c 722310274b ./gcc/f/lex.h 1465737068b ./gcc/floatlib.c ! 4159478385b ./gcc/flow.c 413109492b ./gcc/f/Make-lang.in 3929672430b ./gcc/f/malloc.c 1633854048b ./gcc/f/malloc.h 2687881356b ./gcc/f/name.c 558328466b ./gcc/f/name.h ! 3098033943b ./gcc/f/NEWS 3453379674b ./gcc/f/news0.texi ! 2256277091b ./gcc/f/news.texi ! 1024706751b ./gcc/fold-const.c 2696377463b ./gcc/f/parse.c 1067232252b ./gcc/f/proj.h 3820449811b ./gcc/fp-test.c --- 3043,3064 ---- 2236212838b ./gcc/fixproto 1861938661b ./gcc/f/lab.c 3674332618b ./gcc/f/lab.h ! 3658835587b ./gcc/flags.h 136843109b ./gcc/f/lang-options.h ! 1977846343b ./gcc/f/lang-specs.h 4037310288b ./gcc/f/lex.c 722310274b ./gcc/f/lex.h 1465737068b ./gcc/floatlib.c ! 959822363b ./gcc/flow.c 413109492b ./gcc/f/Make-lang.in 3929672430b ./gcc/f/malloc.c 1633854048b ./gcc/f/malloc.h 2687881356b ./gcc/f/name.c 558328466b ./gcc/f/name.h ! 2816874481b ./gcc/f/NEWS 3453379674b ./gcc/f/news0.texi ! 273264189b ./gcc/f/news.texi ! 522369544b ./gcc/fold-const.c 2696377463b ./gcc/f/parse.c 1067232252b ./gcc/f/proj.h 3820449811b ./gcc/fp-test.c *************** *** 3106,3127 **** 659922490b ./gcc/f/symbol.c 1323122026b ./gcc/f/symbol.def 690030434b ./gcc/f/symbol.h ! 1638259975b ./gcc/f/target.c ! 45862499b ./gcc/f/target.h 2698043928b ./gcc/f/top.c 2232338664b ./gcc/f/top.h 3443401298b ./gcc/f/type.c 2499934202b ./gcc/f/type.h ! 3501935943b ./gcc/function.c 316231375b ./gcc/function.h 3058774034b ./gcc/future.options ! 1968002837b ./gcc/f/version.c 1781447679b ./gcc/f/version.h 3584291506b ./gcc/f/where.c 819940437b ./gcc/f/where.h 1214866690b ./gcc/gbl-ctors.h 2405976148b ./gcc/gccbug.in ! 1471132352b ./gcc/gcc.c 960741132b ./gcc/gcc.h 3093644366b ./gcc/gcc.hlp 3633749318b ./gcc/gccspec.c --- 3108,3129 ---- 659922490b ./gcc/f/symbol.c 1323122026b ./gcc/f/symbol.def 690030434b ./gcc/f/symbol.h ! 561154028b ./gcc/f/target.c ! 1248104671b ./gcc/f/target.h 2698043928b ./gcc/f/top.c 2232338664b ./gcc/f/top.h 3443401298b ./gcc/f/type.c 2499934202b ./gcc/f/type.h ! 3426758284b ./gcc/function.c 316231375b ./gcc/function.h 3058774034b ./gcc/future.options ! 3972775402b ./gcc/f/version.c 1781447679b ./gcc/f/version.h 3584291506b ./gcc/f/where.c 819940437b ./gcc/f/where.h 1214866690b ./gcc/gbl-ctors.h 2405976148b ./gcc/gccbug.in ! 2534170090b ./gcc/gcc.c 960741132b ./gcc/gcc.h 3093644366b ./gcc/gcc.hlp 3633749318b ./gcc/gccspec.c *************** *** 3139,3145 **** 2648961261b ./gcc/genextract.c 2023228290b ./gcc/genflags.c 2713590814b ./gcc/gengenrtl.c ! 2807447281b ./gcc/genmultilib 1384421270b ./gcc/genopinit.c 4030468350b ./gcc/genoutput.c 2221468101b ./gcc/genpeep.c --- 3141,3147 ---- 2648961261b ./gcc/genextract.c 2023228290b ./gcc/genflags.c 2713590814b ./gcc/gengenrtl.c ! 2574485728b ./gcc/genmultilib 1384421270b ./gcc/genopinit.c 4030468350b ./gcc/genoutput.c 2221468101b ./gcc/genpeep.c *************** *** 3176,3182 **** 3966292684b ./gcc/gthr-solaris.h 4243675148b ./gcc/gthr-vxworks.h 3942109358b ./gcc/gthr-win32.h ! 3024578055b ./gcc/haifa-sched.c 544018069b ./gcc/halfpic.c 2731657470b ./gcc/halfpic.h 3590969103b ./gcc/hard-reg-set.h --- 3178,3184 ---- 3966292684b ./gcc/gthr-solaris.h 4243675148b ./gcc/gthr-vxworks.h 3942109358b ./gcc/gthr-win32.h ! 430540108b ./gcc/haifa-sched.c 544018069b ./gcc/halfpic.c 2731657470b ./gcc/halfpic.h 3590969103b ./gcc/hard-reg-set.h *************** *** 3184,3191 **** 2987787285b ./gcc/hash.h 466224151b ./gcc/hashtable.c 126902747b ./gcc/hashtable.h ! 3612003626b ./gcc/hooks.c ! 1290543146b ./gcc/hooks.h 519586985b ./gcc/hwint.h 3563549730b ./gcc/ifcvt.c 3686080794b ./gcc/input.h --- 3186,3193 ---- 2987787285b ./gcc/hash.h 466224151b ./gcc/hashtable.c 126902747b ./gcc/hashtable.h ! 3796251430b ./gcc/hooks.c ! 779103435b ./gcc/hooks.h 519586985b ./gcc/hwint.h 3563549730b ./gcc/ifcvt.c 3686080794b ./gcc/input.h *************** *** 3194,3200 **** 1320722832b ./gcc/integrate.h 3847321727b ./gcc/intl/bindtextdom.c 3277280645b ./gcc/intl.c ! 2698710874b ./gcc/intl/ChangeLog 3698301396b ./gcc/intl/config.charset 3683549278b ./gcc/intl/dcgettext.c 1537282354b ./gcc/intl/dcigettext.c --- 3196,3202 ---- 1320722832b ./gcc/integrate.h 3847321727b ./gcc/intl/bindtextdom.c 3277280645b ./gcc/intl.c ! 4257359986b ./gcc/intl/ChangeLog 3698301396b ./gcc/intl/config.charset 3683549278b ./gcc/intl/dcgettext.c 1537282354b ./gcc/intl/dcigettext.c *************** *** 3229,3235 **** 3814965188b ./gcc/java/buffer.c 1535113190b ./gcc/java/buffer.h 637702143b ./gcc/java/builtins.c ! 768598382b ./gcc/java/ChangeLog 2409493226b ./gcc/java/chartables.h 1544711683b ./gcc/java/check-init.c 3161785437b ./gcc/java/class.c --- 3231,3237 ---- 3814965188b ./gcc/java/buffer.c 1535113190b ./gcc/java/buffer.h 637702143b ./gcc/java/builtins.c ! 1215892592b ./gcc/java/ChangeLog 2409493226b ./gcc/java/chartables.h 1544711683b ./gcc/java/check-init.c 3161785437b ./gcc/java/class.c *************** *** 3240,3253 **** 698834578b ./gcc/java/decl.c 1301173842b ./gcc/java/except.c 1888306202b ./gcc/java/expr.c ! 2034854247b ./gcc/java/gcj.1 ! 89329382b ./gcc/java/gcjh.1 4005049153b ./gcc/java/gcj.info 3864487285b ./gcc/java/gcj.info-1 4154067378b ./gcc/java/gcj.info-2 1974029021b ./gcc/java/gcj.texi 533046670b ./gcc/java/gen-table.pl ! 1258102490b ./gcc/java/gij.1 2862690686b ./gcc/java/gjavah.c 1545050516b ./gcc/java/java-except.h 1953641142b ./gcc/java/java-opcodes.h --- 3242,3255 ---- 698834578b ./gcc/java/decl.c 1301173842b ./gcc/java/except.c 1888306202b ./gcc/java/expr.c ! 3243162773b ./gcc/java/gcj.1 ! 1643671722b ./gcc/java/gcjh.1 4005049153b ./gcc/java/gcj.info 3864487285b ./gcc/java/gcj.info-1 4154067378b ./gcc/java/gcj.info-2 1974029021b ./gcc/java/gcj.texi 533046670b ./gcc/java/gen-table.pl ! 2017208618b ./gcc/java/gij.1 2862690686b ./gcc/java/gjavah.c 1545050516b ./gcc/java/java-except.h 1953641142b ./gcc/java/java-opcodes.h *************** *** 3256,3262 **** 2113802419b ./gcc/java/java-tree.def 3036080891b ./gcc/java/java-tree.h 1618392854b ./gcc/java/jcf-depend.c ! 1928020938b ./gcc/java/jcf-dump.1 1347786459b ./gcc/java/jcf-dump.c 921328820b ./gcc/java/jcf.h 370700983b ./gcc/java/jcf-io.c --- 3258,3264 ---- 2113802419b ./gcc/java/java-tree.def 3036080891b ./gcc/java/java-tree.h 1618392854b ./gcc/java/jcf-depend.c ! 134179386b ./gcc/java/jcf-dump.1 1347786459b ./gcc/java/jcf-dump.c 921328820b ./gcc/java/jcf.h 370700983b ./gcc/java/jcf-io.c *************** *** 3264,3277 **** 189754917b ./gcc/java/jcf-path.c 3070824570b ./gcc/java/jcf-reader.c 3086938723b ./gcc/java/jcf-write.c ! 731971925b ./gcc/java/jv-convert.1 3805988298b ./gcc/java/jvgenmain.c ! 843035612b ./gcc/java/jv-scan.1 3491242747b ./gcc/java/jv-scan.c 686969605b ./gcc/java/jvspec.c 3733396854b ./gcc/java/keyword.gperf 3748734913b ./gcc/java/keyword.h ! 3656655116b ./gcc/java/lang.c 366330104b ./gcc/java/lang-options.h 3731853870b ./gcc/java/lang-specs.h 930602719b ./gcc/java/lex.c --- 3266,3279 ---- 189754917b ./gcc/java/jcf-path.c 3070824570b ./gcc/java/jcf-reader.c 3086938723b ./gcc/java/jcf-write.c ! 3332938287b ./gcc/java/jv-convert.1 3805988298b ./gcc/java/jvgenmain.c ! 2795084151b ./gcc/java/jv-scan.1 3491242747b ./gcc/java/jv-scan.c 686969605b ./gcc/java/jvspec.c 3733396854b ./gcc/java/keyword.gperf 3748734913b ./gcc/java/keyword.h ! 2455368983b ./gcc/java/lang.c 366330104b ./gcc/java/lang-options.h 3731853870b ./gcc/java/lang-specs.h 930602719b ./gcc/java/lex.c *************** *** 3279,3305 **** 497222224b ./gcc/java/Make-lang.in 1290236487b ./gcc/java/mangle.c 624686086b ./gcc/java/mangle_name.c ! 2885864991b ./gcc/java/parse.c 924019294b ./gcc/java/parse.h ! 69387480b ./gcc/java/parse-scan.c 578153036b ./gcc/java/parse-scan.y ! 2520755256b ./gcc/java/parse.y ! 3234576989b ./gcc/java/rmic.1 ! 284942511b ./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 ! 2231553098b ./gcc/jump.c ! 1661628068b ./gcc/langhooks.c ! 159385744b ./gcc/langhooks-def.h ! 4012039513b ./gcc/langhooks.h 4134111346b ./gcc/LANGUAGES 2367190261b ./gcc/lcm.c 2318627229b ./gcc/libfuncs.h ! 3947654856b ./gcc/libgcc2.c 3671718625b ./gcc/libgcc2.h 1452643639b ./gcc/libgcc-std.ver 2497915666b ./gcc/limitx.h --- 3281,3307 ---- 497222224b ./gcc/java/Make-lang.in 1290236487b ./gcc/java/mangle.c 624686086b ./gcc/java/mangle_name.c ! 3984779313b ./gcc/java/parse.c 924019294b ./gcc/java/parse.h ! 3149853640b ./gcc/java/parse-scan.c 578153036b ./gcc/java/parse-scan.y ! 2763518333b ./gcc/java/parse.y ! 298027378b ./gcc/java/rmic.1 ! 3080717916b ./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 ! 2867377468b ./gcc/jump.c ! 4163847594b ./gcc/langhooks.c ! 1885354315b ./gcc/langhooks-def.h ! 718654791b ./gcc/langhooks.h 4134111346b ./gcc/LANGUAGES 2367190261b ./gcc/lcm.c 2318627229b ./gcc/libfuncs.h ! 2402286846b ./gcc/libgcc2.c 3671718625b ./gcc/libgcc2.h 1452643639b ./gcc/libgcc-std.ver 2497915666b ./gcc/limitx.h *************** *** 3309,3320 **** 2698117766b ./gcc/lists.c 1174355773b ./gcc/local-alloc.c 830917499b ./gcc/longlong.h ! 2909380196b ./gcc/loop.c ! 1864476849b ./gcc/loop.h 2150704349b ./gcc/machmode.def 3928982379b ./gcc/machmode.h 189930733b ./gcc/main.c ! 1388062738b ./gcc/Makefile.in 501600506b ./gcc/mbchar.c 1508701785b ./gcc/mbchar.h 886384654b ./gcc/mips-tdump.c --- 3311,3322 ---- 2698117766b ./gcc/lists.c 1174355773b ./gcc/local-alloc.c 830917499b ./gcc/longlong.h ! 3943918019b ./gcc/loop.c ! 483531210b ./gcc/loop.h 2150704349b ./gcc/machmode.def 3928982379b ./gcc/machmode.h 189930733b ./gcc/main.c ! 1247644918b ./gcc/Makefile.in 501600506b ./gcc/mbchar.c 1508701785b ./gcc/mbchar.h 886384654b ./gcc/mips-tdump.c *************** *** 3323,3333 **** 217659056b ./gcc/mkdeps.c 3976112005b ./gcc/mkdeps.h 827441351b ./gcc/mkinstalldirs ! 461862408b ./gcc/mklibgcc.in 4201050746b ./gcc/mkmap-flat.awk 2827346461b ./gcc/mkmap-symver.awk 1597314052b ./gcc/move-if-change ! 3174803827b ./gcc/NEWS 4010954163b ./gcc/objc/config-lang.in 1966957144b ./gcc/objc/.cvsignore 588115418b ./gcc/objc/lang-options.h --- 3325,3335 ---- 217659056b ./gcc/mkdeps.c 3976112005b ./gcc/mkdeps.h 827441351b ./gcc/mkinstalldirs ! 4248086923b ./gcc/mklibgcc.in 4201050746b ./gcc/mkmap-flat.awk 2827346461b ./gcc/mkmap-symver.awk 1597314052b ./gcc/move-if-change ! 1558946830b ./gcc/NEWS 4010954163b ./gcc/objc/config-lang.in 1966957144b ./gcc/objc/.cvsignore 588115418b ./gcc/objc/lang-options.h *************** *** 3336,3353 **** 3712044081b ./gcc/objc/objc-act.c 2554922770b ./gcc/objc/objc-act.h 2534517289b ./gcc/objc/objc-lang.c ! 1948940216b ./gcc/objc/objc-parse.c ! 2631161308b ./gcc/objc/objc-parse.y 688475759b ./gcc/objc/objc-tree.def 3823063152b ./gcc/objc/README 538471119b ./gcc/ONEWS ! 2124113523b ./gcc/optabs.c 3971816206b ./gcc/optabs.h 151133448b ./gcc/output.h 1911824904b ./gcc/params.c 2474575794b ./gcc/params.def 840880994b ./gcc/params.h ! 138843419b ./gcc/po/ChangeLog 275286308b ./gcc/po/da.gmo 276047898b ./gcc/po/da.po 4175362661b ./gcc/po/el.gmo --- 3338,3355 ---- 3712044081b ./gcc/objc/objc-act.c 2554922770b ./gcc/objc/objc-act.h 2534517289b ./gcc/objc/objc-lang.c ! 1052913658b ./gcc/objc/objc-parse.c ! 283420579b ./gcc/objc/objc-parse.y 688475759b ./gcc/objc/objc-tree.def 3823063152b ./gcc/objc/README 538471119b ./gcc/ONEWS ! 3305080539b ./gcc/optabs.c 3971816206b ./gcc/optabs.h 151133448b ./gcc/output.h 1911824904b ./gcc/params.c 2474575794b ./gcc/params.def 840880994b ./gcc/params.h ! 3712234942b ./gcc/po/ChangeLog 275286308b ./gcc/po/da.gmo 276047898b ./gcc/po/da.po 4175362661b ./gcc/po/el.gmo *************** *** 3388,3395 **** 113125100b ./gcc/regrename.c 3100477763b ./gcc/regs.h 3611458427b ./gcc/reg-stack.c ! 4045449062b ./gcc/reload1.c ! 1469188466b ./gcc/reload.c 834085082b ./gcc/reload.h 4167441145b ./gcc/reorg.c 2715704724b ./gcc/resource.c --- 3390,3397 ---- 113125100b ./gcc/regrename.c 3100477763b ./gcc/regs.h 3611458427b ./gcc/reg-stack.c ! 664936410b ./gcc/reload1.c ! 55889624b ./gcc/reload.c 834085082b ./gcc/reload.h 4167441145b ./gcc/reorg.c 2715704724b ./gcc/resource.c *************** *** 3398,3419 **** 2800367218b ./gcc/rtl.c 3964111654b ./gcc/rtl.def 3490774286b ./gcc/rtl-error.c ! 79528154b ./gcc/rtl.h 1989258075b ./gcc/sbitmap.c 3201428436b ./gcc/sbitmap.h 324348149b ./gcc/scan.c 1702118899b ./gcc/scan-decls.c 339714129b ./gcc/scan.h 3912741047b ./gcc/scan-types.sh ! 1385416186b ./gcc/sched-deps.c 3568403641b ./gcc/sched-ebb.c ! 3539655811b ./gcc/sched-int.h 2565292623b ./gcc/sched-rgn.c 2176345645b ./gcc/sched-vis.c 3014933100b ./gcc/sdbout.c 1391855772b ./gcc/sdbout.h 1084935625b ./gcc/SERVICE ! 3262529120b ./gcc/sibcall.c 63942362b ./gcc/simplify-rtx.c 3345261950b ./gcc/sort-protos 3157302619b ./gcc/ssa.c --- 3400,3421 ---- 2800367218b ./gcc/rtl.c 3964111654b ./gcc/rtl.def 3490774286b ./gcc/rtl-error.c ! 3336969021b ./gcc/rtl.h 1989258075b ./gcc/sbitmap.c 3201428436b ./gcc/sbitmap.h 324348149b ./gcc/scan.c 1702118899b ./gcc/scan-decls.c 339714129b ./gcc/scan.h 3912741047b ./gcc/scan-types.sh ! 347395426b ./gcc/sched-deps.c 3568403641b ./gcc/sched-ebb.c ! 4108826208b ./gcc/sched-int.h 2565292623b ./gcc/sched-rgn.c 2176345645b ./gcc/sched-vis.c 3014933100b ./gcc/sdbout.c 1391855772b ./gcc/sdbout.h 1084935625b ./gcc/SERVICE ! 2225673670b ./gcc/sibcall.c 63942362b ./gcc/simplify-rtx.c 3345261950b ./gcc/sort-protos 3157302619b ./gcc/ssa.c *************** *** 3422,3428 **** 332547863b ./gcc/ssa.h 2395322097b ./gcc/stab.def 471587796b ./gcc/stack.h ! 3088505215b ./gcc/stmt.c 2592810543b ./gcc/stor-layout.c 3515875777b ./gcc/stringpool.c 567176141b ./gcc/sys-protos.h --- 3424,3430 ---- 332547863b ./gcc/ssa.h 2395322097b ./gcc/stab.def 471587796b ./gcc/stack.h ! 2351196198b ./gcc/stmt.c 2592810543b ./gcc/stor-layout.c 3515875777b ./gcc/stringpool.c 567176141b ./gcc/sys-protos.h *************** *** 3430,3436 **** 482558466b ./gcc/sys-types.h 293723253b ./gcc/target-def.h 4078089769b ./gcc/target.h ! 4242319562b ./gcc/testsuite/ChangeLog 1101480727b ./gcc/testsuite/config/default.exp 3657217366b ./gcc/testsuite/consistency.vlad/layout/a-char.c 2814769741b ./gcc/testsuite/consistency.vlad/layout/a-double.c --- 3432,3438 ---- 482558466b ./gcc/sys-types.h 293723253b ./gcc/target-def.h 4078089769b ./gcc/target.h ! 1391688077b ./gcc/testsuite/ChangeLog 1101480727b ./gcc/testsuite/config/default.exp 3657217366b ./gcc/testsuite/consistency.vlad/layout/a-char.c 2814769741b ./gcc/testsuite/consistency.vlad/layout/a-double.c *************** *** 5413,5418 **** --- 5415,5425 ---- 168620187b ./gcc/testsuite/gcc.c-torture/compile/20020701-1.c 1564612166b ./gcc/testsuite/gcc.c-torture/compile/20020710-1.c 737897185b ./gcc/testsuite/gcc.c-torture/compile/20020715-1.c + 4042098602b ./gcc/testsuite/gcc.c-torture/compile/20020926-1.c + 337401938b ./gcc/testsuite/gcc.c-torture/compile/20020927-1.c + 1009786556b ./gcc/testsuite/gcc.c-torture/compile/20021007-1.c + 778329230b ./gcc/testsuite/gcc.c-torture/compile/20021015-1.c + 25981859b ./gcc/testsuite/gcc.c-torture/compile/20021015-2.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 *************** *** 5705,5710 **** --- 5712,5718 ---- 709334018b ./gcc/testsuite/gcc.c-torture/compile/labels-3.x 1060389673b ./gcc/testsuite/gcc.c-torture/compile/packed-1.c 69389766b ./gcc/testsuite/gcc.c-torture/compile/structs.c + 2677779184b ./gcc/testsuite/gcc.c-torture/compile/trunctfdf.c 3723113555b ./gcc/testsuite/gcc.c-torture/compile/widechar-1.c 2985433108b ./gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c 1530761060b ./gcc/testsuite/gcc.c-torture/execute/20000112-1.c *************** *** 5885,5890 **** --- 5893,5902 ---- 2304661446b ./gcc/testsuite/gcc.c-torture/execute/20020615-1.c 1625459055b ./gcc/testsuite/gcc.c-torture/execute/20020619-1.c 2876236122b ./gcc/testsuite/gcc.c-torture/execute/20020716-1.c + 492121497b ./gcc/testsuite/gcc.c-torture/execute/20020904-1.c + 1275043517b ./gcc/testsuite/gcc.c-torture/execute/20021015-1.c + 2849369814b ./gcc/testsuite/gcc.c-torture/execute/20021024-1.c + 3361882342b ./gcc/testsuite/gcc.c-torture/execute/20021111-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 *************** *** 6242,6247 **** --- 6254,6260 ---- 1886321368b ./gcc/testsuite/gcc.c-torture/execute/enum-1.c 3916720934b ./gcc/testsuite/gcc.c-torture/execute/enum-2.c 2211348141b ./gcc/testsuite/gcc.c-torture/execute/execute.exp + 1911697643b ./gcc/testsuite/gcc.c-torture/execute/extzvsi.c 155906334b ./gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c 1157816092b ./gcc/testsuite/gcc.c-torture/execute/gofast.c 3099798770b ./gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c *************** *** 6265,6270 **** --- 6278,6284 ---- 4017678214b ./gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c 3545392440b ./gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c 2290856575b ./gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.x + 3203549249b ./gcc/testsuite/gcc.c-torture/execute/ieee/mzero3.c 545426428b ./gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c 2631912054b ./gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x 287394580b ./gcc/testsuite/gcc.c-torture/execute/index-1.c *************** *** 6274,6279 **** --- 6288,6295 ---- 3284814162b ./gcc/testsuite/gcc.c-torture/execute/loop-10.c 2766603756b ./gcc/testsuite/gcc.c-torture/execute/loop-11.c 3036735737b ./gcc/testsuite/gcc.c-torture/execute/loop-12.c + 2537268960b ./gcc/testsuite/gcc.c-torture/execute/loop-14.c + 995264748b ./gcc/testsuite/gcc.c-torture/execute/loop-15.c 2701191371b ./gcc/testsuite/gcc.c-torture/execute/loop-1.c 3443893179b ./gcc/testsuite/gcc.c-torture/execute/loop-2b.c 869002341b ./gcc/testsuite/gcc.c-torture/execute/loop-2.c *************** *** 6313,6318 **** --- 6329,6335 ---- 146053249b ./gcc/testsuite/gcc.c-torture/execute/regstack-1.c 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 *************** *** 6749,6754 **** --- 6766,6772 ---- 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 *************** *** 6922,6927 **** --- 6940,6946 ---- 3176910360b ./gcc/testsuite/gcc.dg/cpp/20000628-1.c 302522843b ./gcc/testsuite/gcc.dg/cpp/20000628-1.h 3939185973b ./gcc/testsuite/gcc.dg/cpp/20000725-1.c + 1092019739b ./gcc/testsuite/gcc.dg/cpp/20020927-1.c 3918751425b ./gcc/testsuite/gcc.dg/cpp/assembl2.S 2829543114b ./gcc/testsuite/gcc.dg/cpp/assembler.S 2692554582b ./gcc/testsuite/gcc.dg/cpp/assert1.c *************** *** 7055,7060 **** --- 7074,7081 ---- 3534493797b ./gcc/testsuite/gcc.dg/cpp/_Pragma1.c 2473416313b ./gcc/testsuite/gcc.dg/cpp/pragma-2.c 4186091043b ./gcc/testsuite/gcc.dg/cpp/_Pragma2.c + 1230813557b ./gcc/testsuite/gcc.dg/cpp/_Pragma3.c + 3384939096b ./gcc/testsuite/gcc.dg/cpp/_Pragma4.c 1107840471b ./gcc/testsuite/gcc.dg/cpp/redef1.c 1601641321b ./gcc/testsuite/gcc.dg/cpp/redef2.c 2020720031b ./gcc/testsuite/gcc.dg/cpp/skipping2.c *************** *** 7096,7101 **** --- 7117,7124 ---- 1052162081b ./gcc/testsuite/gcc.dg/cpp/undef2.c 1278828881b ./gcc/testsuite/gcc.dg/cpp/vararg1.c 270851301b ./gcc/testsuite/gcc.dg/cpp/vararg2.c + 203701001b ./gcc/testsuite/gcc.dg/cpp/vararg3.c + 2222858341b ./gcc/testsuite/gcc.dg/cpp/vararg4.c 3684840524b ./gcc/testsuite/gcc.dg/cpp/wchar-1.c 2112571638b ./gcc/testsuite/gcc.dg/cpp/widestr1.c 1685485063b ./gcc/testsuite/gcc.dg/cpp/Wtrigraphs.c *************** *** 7220,7226 **** 2161867266b ./gcc/testsuite/gcc.dg/noncompile/920616-2.c 1449844754b ./gcc/testsuite/gcc.dg/noncompile/920721-2.c 2834384944b ./gcc/testsuite/gcc.dg/noncompile/920824-1.c ! 3021076947b ./gcc/testsuite/gcc.dg/noncompile/920923-1.c 3162370830b ./gcc/testsuite/gcc.dg/noncompile/921102-1.c 2258888666b ./gcc/testsuite/gcc.dg/noncompile/921116-1.c 4097035630b ./gcc/testsuite/gcc.dg/noncompile/930301-1.c --- 7243,7249 ---- 2161867266b ./gcc/testsuite/gcc.dg/noncompile/920616-2.c 1449844754b ./gcc/testsuite/gcc.dg/noncompile/920721-2.c 2834384944b ./gcc/testsuite/gcc.dg/noncompile/920824-1.c ! 3955955814b ./gcc/testsuite/gcc.dg/noncompile/920923-1.c 3162370830b ./gcc/testsuite/gcc.dg/noncompile/921102-1.c 2258888666b ./gcc/testsuite/gcc.dg/noncompile/921116-1.c 4097035630b ./gcc/testsuite/gcc.dg/noncompile/930301-1.c *************** *** 7289,7294 **** --- 7312,7320 ---- 1932500816b ./gcc/testsuite/gcc.dg/struct-ret-2.c 548999932b ./gcc/testsuite/gcc.dg/switch-1.c 1141366394b ./gcc/testsuite/gcc.dg/trunc-1.c + 1890682509b ./gcc/testsuite/gcc.dg/typedef-init.c + 1892637986b ./gcc/testsuite/gcc.dg/typeof-1.c + 4017319276b ./gcc/testsuite/gcc.dg/typeof-2.c 1860858242b ./gcc/testsuite/gcc.dg/ultrasp1.c 789972216b ./gcc/testsuite/gcc.dg/ultrasp2.c 2708772692b ./gcc/testsuite/gcc.dg/ultrasp3.c *************** *** 7308,7315 **** 865910481b ./gcc/testsuite/gcc.dg/unused-3.c 3706472995b ./gcc/testsuite/gcc.dg/va-arg-1.c 2932877249b ./gcc/testsuite/gcc.dg/verbose-asm.c 2427295047b ./gcc/testsuite/gcc.dg/vla-init-1.c ! 3993664995b ./gcc/testsuite/gcc.dg/wchar_t-1.c 943771070b ./gcc/testsuite/gcc.dg/Wconversion.c 2603701000b ./gcc/testsuite/gcc.dg/weak-1.c 2107795305b ./gcc/testsuite/gcc.dg/weak-2.c --- 7334,7342 ---- 865910481b ./gcc/testsuite/gcc.dg/unused-3.c 3706472995b ./gcc/testsuite/gcc.dg/va-arg-1.c 2932877249b ./gcc/testsuite/gcc.dg/verbose-asm.c + 3017845162b ./gcc/testsuite/gcc.dg/vla-2.c 2427295047b ./gcc/testsuite/gcc.dg/vla-init-1.c ! 2228363679b ./gcc/testsuite/gcc.dg/wchar_t-1.c 943771070b ./gcc/testsuite/gcc.dg/Wconversion.c 2603701000b ./gcc/testsuite/gcc.dg/weak-1.c 2107795305b ./gcc/testsuite/gcc.dg/weak-2.c *************** *** 7319,7325 **** 1022686552b ./gcc/testsuite/gcc.dg/weak-6.c 789089149b ./gcc/testsuite/gcc.dg/weak-7.c 2849791540b ./gcc/testsuite/gcc.dg/weak-9.c ! 4149249905b ./gcc/testsuite/gcc.dg/wint_t-1.c 3364645726b ./gcc/testsuite/gcc.dg/Wlarger-than.c 3791055151b ./gcc/testsuite/gcc.dg/Wparentheses-1.c 3316229121b ./gcc/testsuite/gcc.dg/Wreturn-type2.c --- 7346,7352 ---- 1022686552b ./gcc/testsuite/gcc.dg/weak-6.c 789089149b ./gcc/testsuite/gcc.dg/weak-7.c 2849791540b ./gcc/testsuite/gcc.dg/weak-9.c ! 455748560b ./gcc/testsuite/gcc.dg/wint_t-1.c 3364645726b ./gcc/testsuite/gcc.dg/Wlarger-than.c 3791055151b ./gcc/testsuite/gcc.dg/Wparentheses-1.c 3316229121b ./gcc/testsuite/gcc.dg/Wreturn-type2.c *************** *** 7398,7407 **** --- 7425,7438 ---- 885716516b ./gcc/testsuite/g++.dg/abi/bitfield1.C 479436735b ./gcc/testsuite/g++.dg/abi/bitfield2.C 3225280346b ./gcc/testsuite/g++.dg/abi/bitfield3.C + 1735502164b ./gcc/testsuite/g++.dg/abi/bitfield5.C 257517025b ./gcc/testsuite/g++.dg/abi/empty4.C 2703592525b ./gcc/testsuite/g++.dg/abi/enum1.C 3235702061b ./gcc/testsuite/g++.dg/abi/layout1.C 4006829604b ./gcc/testsuite/g++.dg/abi/layout2.C + 2689331463b ./gcc/testsuite/g++.dg/abi/mangle11.C + 356153643b ./gcc/testsuite/g++.dg/abi/mangle14.C + 238964482b ./gcc/testsuite/g++.dg/abi/mangle17.C 4166781498b ./gcc/testsuite/g++.dg/abi/mangle1.C 4182318030b ./gcc/testsuite/g++.dg/abi/mangle2.C 1755377648b ./gcc/testsuite/g++.dg/abi/mangle3.C *************** *** 7412,7417 **** --- 7443,7449 ---- 638258652b ./gcc/testsuite/g++.dg/abi/mangle8.C 1969970486b ./gcc/testsuite/g++.dg/abi/offsetof.C 2141080121b ./gcc/testsuite/g++.dg/abi/rtti1.C + 1053392201b ./gcc/testsuite/g++.dg/abi/vbase10.C 20126271b ./gcc/testsuite/g++.dg/abi/vbase1.C 1286609512b ./gcc/testsuite/g++.dg/abi/vbase8-10.C 3227029100b ./gcc/testsuite/g++.dg/abi/vbase8-21.C *************** *** 7442,7447 **** --- 7474,7480 ---- 2213107508b ./gcc/testsuite/g++.dg/eh/template1.C 3379396295b ./gcc/testsuite/g++.dg/eh/template2.C 1789254796b ./gcc/testsuite/g++.dg/eh/unexpected1.C + 880147168b ./gcc/testsuite/g++.dg/expr/cond1.C 10818138b ./gcc/testsuite/g++.dg/ext/align1.C 4214519942b ./gcc/testsuite/g++.dg/ext/attrib1.C 2242814507b ./gcc/testsuite/g++.dg/ext/attrib2.C *************** *** 7456,7481 **** 631460058b ./gcc/testsuite/g++.dg/ext/instantiate3.C 433892339b ./gcc/testsuite/g++.dg/ext/lvalue1.C 1765466377b ./gcc/testsuite/g++.dg/ext/member-attr.C 3028501104b ./gcc/testsuite/g++.dg/ext/typeof1.C 2576905511b ./gcc/testsuite/g++.dg/inherit/access1.C 3833575012b ./gcc/testsuite/g++.dg/inherit/access2.C 3439912284b ./gcc/testsuite/g++.dg/inherit/base1.C 2309234518b ./gcc/testsuite/g++.dg/inherit/namespace-as-base.C 4167951109b ./gcc/testsuite/g++.dg/inherit/null1.C 3799679971b ./gcc/testsuite/g++.dg/inherit/using1.C 3967911027b ./gcc/testsuite/g++.dg/init/array1.C 3157994593b ./gcc/testsuite/g++.dg/init/array2.C 2628461993b ./gcc/testsuite/g++.dg/init/array4.C 267149531b ./gcc/testsuite/g++.dg/init/array5.C 486682064b ./gcc/testsuite/g++.dg/init/copy1.C 1741245578b ./gcc/testsuite/g++.dg/init/dtor1.C 486760656b ./gcc/testsuite/g++.dg/init/elide1.C 2797496870b ./gcc/testsuite/g++.dg/init/empty1.C 2640181867b ./gcc/testsuite/g++.dg/init/init-ref1.C 3275947242b ./gcc/testsuite/g++.dg/init/init-ref2.C 1678560039b ./gcc/testsuite/g++.dg/init/new1.C 4033502091b ./gcc/testsuite/g++.dg/init/new2.C ! 1015198831b ./gcc/testsuite/g++.dg/init/pm1.C 684033142b ./gcc/testsuite/g++.dg/lookup/struct1.C 3358174935b ./gcc/testsuite/g++.dg/lookup/using2.C 3384907788b ./gcc/testsuite/g++.dg/lookup/using.C --- 7489,7523 ---- 631460058b ./gcc/testsuite/g++.dg/ext/instantiate3.C 433892339b ./gcc/testsuite/g++.dg/ext/lvalue1.C 1765466377b ./gcc/testsuite/g++.dg/ext/member-attr.C + 714299152b ./gcc/testsuite/g++.dg/ext/typedef-init.C 3028501104b ./gcc/testsuite/g++.dg/ext/typeof1.C + 2139267109b ./gcc/testsuite/g++.dg/ext/typeof2.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 2576905511b ./gcc/testsuite/g++.dg/inherit/access1.C 3833575012b ./gcc/testsuite/g++.dg/inherit/access2.C 3439912284b ./gcc/testsuite/g++.dg/inherit/base1.C 2309234518b ./gcc/testsuite/g++.dg/inherit/namespace-as-base.C 4167951109b ./gcc/testsuite/g++.dg/inherit/null1.C 3799679971b ./gcc/testsuite/g++.dg/inherit/using1.C + 2391219706b ./gcc/testsuite/g++.dg/inherit/using3.C 3967911027b ./gcc/testsuite/g++.dg/init/array1.C 3157994593b ./gcc/testsuite/g++.dg/init/array2.C 2628461993b ./gcc/testsuite/g++.dg/init/array4.C 267149531b ./gcc/testsuite/g++.dg/init/array5.C + 3220934948b ./gcc/testsuite/g++.dg/init/array7.C 486682064b ./gcc/testsuite/g++.dg/init/copy1.C 1741245578b ./gcc/testsuite/g++.dg/init/dtor1.C + 356489409b ./gcc/testsuite/g++.dg/init/dtor2.C 486760656b ./gcc/testsuite/g++.dg/init/elide1.C 2797496870b ./gcc/testsuite/g++.dg/init/empty1.C 2640181867b ./gcc/testsuite/g++.dg/init/init-ref1.C 3275947242b ./gcc/testsuite/g++.dg/init/init-ref2.C 1678560039b ./gcc/testsuite/g++.dg/init/new1.C 4033502091b ./gcc/testsuite/g++.dg/init/new2.C ! 1385694165b ./gcc/testsuite/g++.dg/init/pm1.C ! 766167426b ./gcc/testsuite/g++.dg/lookup/pretty1.C 684033142b ./gcc/testsuite/g++.dg/lookup/struct1.C 3358174935b ./gcc/testsuite/g++.dg/lookup/using2.C 3384907788b ./gcc/testsuite/g++.dg/lookup/using.C *************** *** 7487,7498 **** --- 7529,7542 ---- 3120356664b ./gcc/testsuite/g++.dg/opt/conj1.C 4054451892b ./gcc/testsuite/g++.dg/opt/conj2.C 2033783153b ./gcc/testsuite/g++.dg/opt/const1.C + 975231214b ./gcc/testsuite/g++.dg/opt/const2.C 2113737922b ./gcc/testsuite/g++.dg/opt/cse1.C 1501006084b ./gcc/testsuite/g++.dg/opt/cse2.C 1685294627b ./gcc/testsuite/g++.dg/opt/dtor1.C 3770486737b ./gcc/testsuite/g++.dg/opt/inline1.C 2869206713b ./gcc/testsuite/g++.dg/opt/inline2.C 3194356521b ./gcc/testsuite/g++.dg/opt/inline3.C + 373643534b ./gcc/testsuite/g++.dg/opt/local1.C 3146403914b ./gcc/testsuite/g++.dg/opt/longbranch1.C 2026702440b ./gcc/testsuite/g++.dg/opt/mmx1.C 2857034604b ./gcc/testsuite/g++.dg/opt/nrv1.C *************** *** 7500,7505 **** --- 7544,7550 ---- 442892442b ./gcc/testsuite/g++.dg/opt/preinc1.C 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 1124740865b ./gcc/testsuite/g++.dg/opt/static1.C 684782459b ./gcc/testsuite/g++.dg/opt/static2.C 4154721541b ./gcc/testsuite/g++.dg/opt/thunk1.C *************** *** 7516,7521 **** --- 7561,7567 ---- 4045861590b ./gcc/testsuite/g++.dg/other/const1.C 109747091b ./gcc/testsuite/g++.dg/other/const2.C 3254620469b ./gcc/testsuite/g++.dg/other/copy1.C + 4162972212b ./gcc/testsuite/g++.dg/other/cxa-atexit1.C 1287592684b ./gcc/testsuite/g++.dg/other/deprecated.C 1127806654b ./gcc/testsuite/g++.dg/other/enum1.C 3062339491b ./gcc/testsuite/g++.dg/other/error1.C *************** *** 7538,7553 **** --- 7584,7605 ---- 492684594b ./gcc/testsuite/g++.dg/overload/builtin1.C 3775778165b ./gcc/testsuite/g++.dg/overload/cond1.C 1110519878b ./gcc/testsuite/g++.dg/overload/error1.C + 3780752279b ./gcc/testsuite/g++.dg/overload/member2.C 3588815363b ./gcc/testsuite/g++.dg/overload/pmf1.C 2166944080b ./gcc/testsuite/g++.dg/parse/angle-bracket.C 3621016079b ./gcc/testsuite/g++.dg/parse/attr1.C + 2532827057b ./gcc/testsuite/g++.dg/parse/decl-specifier-1.C + 3454082090b ./gcc/testsuite/g++.dg/parse/friend1.C + 849996881b ./gcc/testsuite/g++.dg/parse/inline1.C 1601717576b ./gcc/testsuite/g++.dg/parse/named_ops.C 4289007099b ./gcc/testsuite/g++.dg/parse/saved1.C 1402579554b ./gcc/testsuite/g++.dg/parse/stmtexpr1.C 2804352074b ./gcc/testsuite/g++.dg/parse/stmtexpr2.C + 254645785b ./gcc/testsuite/g++.dg/parse/stmtexpr3.C 805014732b ./gcc/testsuite/g++.dg/parse/typedef1.C 739732730b ./gcc/testsuite/g++.dg/README 522523166b ./gcc/testsuite/g++.dg/ref1.C + 438642550b ./gcc/testsuite/g++.dg/rtti/crash1.C 1942107252b ./gcc/testsuite/g++.dg/sizeof1.C 370035332b ./gcc/testsuite/g++.dg/special/conpr-1.C 1217683257b ./gcc/testsuite/g++.dg/special/conpr-2a.C *************** *** 7558,7563 **** --- 7610,7617 ---- 4265992428b ./gcc/testsuite/g++.dg/special/ecos.exp 1952533588b ./gcc/testsuite/g++.dg/special/initp1.C 3059417569b ./gcc/testsuite/g++.dg/template/access1.C + 826296459b ./gcc/testsuite/g++.dg/template/alignof1.C + 783556741b ./gcc/testsuite/g++.dg/template/complit1.C 2083292273b ./gcc/testsuite/g++.dg/template/copy1.C 1072669517b ./gcc/testsuite/g++.dg/template/crash1.C 3504290323b ./gcc/testsuite/g++.dg/template/ctor1.C *************** *** 7573,7578 **** --- 7627,7633 ---- 2182099475b ./gcc/testsuite/g++.dg/template/instantiate1.C 416617778b ./gcc/testsuite/g++.dg/template/local1.C 1449269044b ./gcc/testsuite/g++.dg/template/member.C + 2815776671b ./gcc/testsuite/g++.dg/template/meminit1.C 2073430043b ./gcc/testsuite/g++.dg/template/ntp1.C 188396250b ./gcc/testsuite/g++.dg/template/partial-specialization.C 601175114b ./gcc/testsuite/g++.dg/template/ptrmem1.C *************** *** 7599,7604 **** --- 7654,7660 ---- 1704860378b ./gcc/testsuite/g++.dg/template/qualttp8.C 700938418b ./gcc/testsuite/g++.dg/template/qualttp9.C 4163290563b ./gcc/testsuite/g++.dg/template/recurse.C + 1960444878b ./gcc/testsuite/g++.dg/template/ref1.C 1028564434b ./gcc/testsuite/g++.dg/template/sizeof1.C 2914549620b ./gcc/testsuite/g++.dg/template/spec1.C 2378483146b ./gcc/testsuite/g++.dg/template/spec2.C *************** *** 7610,7618 **** --- 7666,7677 ---- 1430073082b ./gcc/testsuite/g++.dg/template/typedef1.C 3583659165b ./gcc/testsuite/g++.dg/template/typename1.C 566916814b ./gcc/testsuite/g++.dg/template/typename2.C + 471145990b ./gcc/testsuite/g++.dg/template/typename3.C + 1606799647b ./gcc/testsuite/g++.dg/template/typename4.C 3595370582b ./gcc/testsuite/g++.dg/template/unify1.C 3639225580b ./gcc/testsuite/g++.dg/template/unify2.C 4266445185b ./gcc/testsuite/g++.dg/template/unify3.C + 509779393b ./gcc/testsuite/g++.dg/template/union1.C 3718685372b ./gcc/testsuite/g++.dg/template/vtable1.C 2244072137b ./gcc/testsuite/g++.dg/warn/effc1.C 1455133800b ./gcc/testsuite/g++.dg/warn/format1.C *************** *** 9434,9440 **** 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 ! 2220380075b ./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 --- 9493,9499 ---- 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 ! 33710489b ./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 *************** *** 10406,10412 **** 761783865b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp61.C 1690671324b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp62.C 3766969739b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp63.C ! 2177723713b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp64.C 2737484332b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp65.C 733179226b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp66.C 1942260890b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp67.C --- 10465,10471 ---- 761783865b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp61.C 1690671324b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp62.C 3766969739b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp63.C ! 3356487504b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp64.C 2737484332b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp65.C 733179226b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp66.C 1942260890b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp67.C *************** *** 10913,10919 **** 766192419b ./gcc/testsuite/lib/profopt.exp 1029251629b ./gcc/testsuite/lib/prune.exp 2428636490b ./gcc/testsuite/lib/scanasm.exp ! 743118127b ./gcc/testsuite/lib/target-supports.exp 3665869615b ./gcc/testsuite/objc/compile/20011211-1.m 1806367206b ./gcc/testsuite/objc/compile/compile.exp 1369080733b ./gcc/testsuite/objc.dg/alias.m --- 10972,10978 ---- 766192419b ./gcc/testsuite/lib/profopt.exp 1029251629b ./gcc/testsuite/lib/prune.exp 2428636490b ./gcc/testsuite/lib/scanasm.exp ! 3463101165b ./gcc/testsuite/lib/target-supports.exp 3665869615b ./gcc/testsuite/objc/compile/20011211-1.m 1806367206b ./gcc/testsuite/objc/compile/compile.exp 1369080733b ./gcc/testsuite/objc.dg/alias.m *************** *** 11028,11049 **** 2559007517b ./gcc/timevar.def 2115869626b ./gcc/timevar.h 2335446483b ./gcc/tlink.c ! 4150917512b ./gcc/toplev.c 1100253771b ./gcc/toplev.h 2851581967b ./gcc/tradcif.c 840149782b ./gcc/tradcif.y ! 2891356052b ./gcc/tradcpp.c 133942480b ./gcc/tradcpp.h ! 816276340b ./gcc/tree.c 1914541060b ./gcc/tree.def 1565760610b ./gcc/tree-dump.c 177026127b ./gcc/tree-dump.h ! 3303657849b ./gcc/tree.h ! 209817651b ./gcc/tree-inline.c 2000795530b ./gcc/tree-inline.h 2106315745b ./gcc/tsystem.h 4139263293b ./gcc/typeclass.h ! 539416829b ./gcc/unroll.c 3994883910b ./gcc/unwind-dw2.c 939184029b ./gcc/unwind-dw2-fde.c 2451297709b ./gcc/unwind-dw2-fde-glibc.c --- 11087,11108 ---- 2559007517b ./gcc/timevar.def 2115869626b ./gcc/timevar.h 2335446483b ./gcc/tlink.c ! 163649448b ./gcc/toplev.c 1100253771b ./gcc/toplev.h 2851581967b ./gcc/tradcif.c 840149782b ./gcc/tradcif.y ! 585812029b ./gcc/tradcpp.c 133942480b ./gcc/tradcpp.h ! 4051453607b ./gcc/tree.c 1914541060b ./gcc/tree.def 1565760610b ./gcc/tree-dump.c 177026127b ./gcc/tree-dump.h ! 3581573816b ./gcc/tree.h ! 1491742054b ./gcc/tree-inline.c 2000795530b ./gcc/tree-inline.h 2106315745b ./gcc/tsystem.h 4139263293b ./gcc/typeclass.h ! 2642343552b ./gcc/unroll.c 3994883910b ./gcc/unwind-dw2.c 939184029b ./gcc/unwind-dw2-fde.c 2451297709b ./gcc/unwind-dw2-fde-glibc.c *************** *** 11052,11077 **** 1788741054b ./gcc/unwind.inc 1733200042b ./gcc/unwind-pe.h 3015631845b ./gcc/unwind-sjlj.c ! 3691961273b ./gcc/varasm.c 1377429075b ./gcc/varray.c 251576980b ./gcc/varray.h ! 1532516550b ./gcc/version.c 835289284b ./gcc/version.h 1602668013b ./gcc/vmsdbg.h 4159431942b ./gcc/vmsdbgout.c 3414725237b ./gcc/xcoffout.c 241048359b ./gcc/xcoffout.h ! 156832288b ./GNATS ! 2219513221b ./gnats.html 218913669b ./include/ansidecl.h ! 2510440260b ./include/ChangeLog 2171125041b ./include/COPYING 3472518673b ./include/demangle.h 524172850b ./include/dyn-string.h 3966992879b ./include/fibheap.h 3882244111b ./include/floatformat.h 1934715875b ./include/fnmatch.h ! 2129795953b ./include/getopt.h 3613614297b ./include/hashtab.h 1889274764b ./include/libiberty.h 2315750201b ./include/md5.h --- 11111,11136 ---- 1788741054b ./gcc/unwind.inc 1733200042b ./gcc/unwind-pe.h 3015631845b ./gcc/unwind-sjlj.c ! 1202449654b ./gcc/varasm.c 1377429075b ./gcc/varray.c 251576980b ./gcc/varray.h ! 3093622349b ./gcc/version.c 835289284b ./gcc/version.h 1602668013b ./gcc/vmsdbg.h 4159431942b ./gcc/vmsdbgout.c 3414725237b ./gcc/xcoffout.c 241048359b ./gcc/xcoffout.h ! 259673838b ./GNATS ! 3427622163b ./gnats.html 218913669b ./include/ansidecl.h ! 3767303661b ./include/ChangeLog 2171125041b ./include/COPYING 3472518673b ./include/demangle.h 524172850b ./include/dyn-string.h 3966992879b ./include/fibheap.h 3882244111b ./include/floatformat.h 1934715875b ./include/fnmatch.h ! 1069433913b ./include/getopt.h 3613614297b ./include/hashtab.h 1889274764b ./include/libiberty.h 2315750201b ./include/md5.h *************** *** 11085,11104 **** 1386762946b ./include/ternary.h 1261882580b ./include/xregex2.h 1151436348b ./include/xregex.h ! 819645392b ./INSTALL/binaries.html ! 755060523b ./INSTALL/build.html ! 3316367722b ./INSTALL/configure.html ! 1715600552b ./INSTALL/download.html ! 1421457932b ./INSTALL/finalinstall.html ! 2173681035b ./INSTALL/gfdl.html ! 830158416b ./INSTALL/index.html ! 353693005b ./INSTALL/old.html 2229468985b ./INSTALL/README 656627656b ./install-sh ! 3928060040b ./INSTALL/specific.html ! 1066097400b ./INSTALL/test.html 1714952917b ./libf2c/aclocal.m4 ! 3773218698b ./libf2c/ChangeLog 1973941211b ./libf2c/changes.netlib 3975721411b ./libf2c/configure 1477197116b ./libf2c/configure.in --- 11144,11163 ---- 1386762946b ./include/ternary.h 1261882580b ./include/xregex2.h 1151436348b ./include/xregex.h ! 1176932515b ./INSTALL/binaries.html ! 1486978407b ./INSTALL/build.html ! 1718198324b ./INSTALL/configure.html ! 3350091909b ./INSTALL/download.html ! 3420202342b ./INSTALL/finalinstall.html ! 2848899000b ./INSTALL/gfdl.html ! 374079968b ./INSTALL/index.html ! 3936331425b ./INSTALL/old.html 2229468985b ./INSTALL/README 656627656b ./install-sh ! 2979632843b ./INSTALL/specific.html ! 2275412368b ./INSTALL/test.html 1714952917b ./libf2c/aclocal.m4 ! 4143385168b ./libf2c/ChangeLog 1973941211b ./libf2c/changes.netlib 3975721411b ./libf2c/configure 1477197116b ./libf2c/configure.in *************** *** 11231,11237 **** 2593705873b ./libf2c/libF77/s_rnge.c 3862265148b ./libf2c/libF77/s_stop.c 113341864b ./libf2c/libF77/system_.c ! 1072308734b ./libf2c/libF77/Version.c 1937893648b ./libf2c/libF77/z_abs.c 2431309812b ./libf2c/libF77/z_cos.c 4069203393b ./libf2c/libF77/z_div.c --- 11290,11296 ---- 2593705873b ./libf2c/libF77/s_rnge.c 3862265148b ./libf2c/libF77/s_stop.c 113341864b ./libf2c/libF77/system_.c ! 2089507993b ./libf2c/libF77/Version.c 1937893648b ./libf2c/libF77/z_abs.c 2431309812b ./libf2c/libF77/z_cos.c 4069203393b ./libf2c/libF77/z_div.c *************** *** 11278,11284 **** 4028809578b ./libf2c/libI77/typesize.c 2487538082b ./libf2c/libI77/uio.c 1670879675b ./libf2c/libI77/util.c ! 3102519253b ./libf2c/libI77/Version.c 3746777128b ./libf2c/libI77/wref.c 1966568786b ./libf2c/libI77/wrtfmt.c 3540661106b ./libf2c/libI77/wsfe.c --- 11337,11343 ---- 4028809578b ./libf2c/libI77/typesize.c 2487538082b ./libf2c/libI77/uio.c 1670879675b ./libf2c/libI77/util.c ! 3091360080b ./libf2c/libI77/Version.c 3746777128b ./libf2c/libI77/wref.c 1966568786b ./libf2c/libI77/wrtfmt.c 3540661106b ./libf2c/libI77/wsfe.c *************** *** 11346,11355 **** 791266987b ./libf2c/libU77/u77-test.f 387772730b ./libf2c/libU77/umask_.c 1230596654b ./libf2c/libU77/unlink_.c ! 2241614521b ./libf2c/libU77/Version.c 2702299573b ./libf2c/libU77/vxtidate_.c 3987376609b ./libf2c/libU77/vxttime_.c ! 2003108059b ./libf2c/Makefile.in 1384146782b ./libf2c/permission.netlib 3111321221b ./libf2c/README 3513813969b ./libf2c/readme.netlib --- 11405,11414 ---- 791266987b ./libf2c/libU77/u77-test.f 387772730b ./libf2c/libU77/umask_.c 1230596654b ./libf2c/libU77/unlink_.c ! 4065977549b ./libf2c/libU77/Version.c 2702299573b ./libf2c/libU77/vxtidate_.c 3987376609b ./libf2c/libU77/vxttime_.c ! 3277779159b ./libf2c/Makefile.in 1384146782b ./libf2c/permission.netlib 3111321221b ./libf2c/README 3513813969b ./libf2c/readme.netlib *************** *** 11357,11363 **** 1812706554b ./libffi/acconfig.h 2067133813b ./libffi/acinclude.m4 724319761b ./libffi/aclocal.m4 ! 205515924b ./libffi/ChangeLog 2412263940b ./libffi/ChangeLog.libgcj 1481682558b ./libffi/ChangeLog.v1 3495452477b ./libffi/configure --- 11416,11422 ---- 1812706554b ./libffi/acconfig.h 2067133813b ./libffi/acinclude.m4 724319761b ./libffi/aclocal.m4 ! 1801242156b ./libffi/ChangeLog 2412263940b ./libffi/ChangeLog.libgcj 1481682558b ./libffi/ChangeLog.v1 3495452477b ./libffi/configure *************** *** 11369,11376 **** 1175058075b ./libffi/include/Makefile.am 3624063070b ./libffi/include/Makefile.in 2593181117b ./libffi/LICENSE ! 3803183793b ./libffi/Makefile.am ! 4109869593b ./libffi/Makefile.in 3508322383b ./libffi/README 3852747706b ./libffi/src/alpha/ffi.c 2032396460b ./libffi/src/alpha/osf.S --- 11428,11435 ---- 1175058075b ./libffi/include/Makefile.am 3624063070b ./libffi/include/Makefile.in 2593181117b ./libffi/LICENSE ! 1657741728b ./libffi/Makefile.am ! 3338553004b ./libffi/Makefile.in 3508322383b ./libffi/README 3852747706b ./libffi/src/alpha/ffi.c 2032396460b ./libffi/src/alpha/osf.S *************** *** 11417,11423 **** 1033916047b ./libiberty/bsearch.c 2389959529b ./libiberty/bzero.c 1591293922b ./libiberty/calloc.c ! 3224199355b ./libiberty/ChangeLog 2264262326b ./libiberty/choose-temp.c 2557767520b ./libiberty/clock.c 3170582338b ./libiberty/concat.c --- 11476,11482 ---- 1033916047b ./libiberty/bsearch.c 2389959529b ./libiberty/bzero.c 1591293922b ./libiberty/calloc.c ! 1121801877b ./libiberty/ChangeLog 2264262326b ./libiberty/choose-temp.c 2557767520b ./libiberty/clock.c 3170582338b ./libiberty/concat.c *************** *** 11459,11465 **** 1676968368b ./libiberty/lbasename.c 1958824006b ./libiberty/libiberty.texi 3183084918b ./libiberty/maint-tool ! 16748852b ./libiberty/Makefile.in 3226217883b ./libiberty/makefile.vms 2495473509b ./libiberty/make-temp-file.c 3176875729b ./libiberty/md5.c --- 11518,11524 ---- 1676968368b ./libiberty/lbasename.c 1958824006b ./libiberty/libiberty.texi 3183084918b ./libiberty/maint-tool ! 661006252b ./libiberty/Makefile.in 3226217883b ./libiberty/makefile.vms 2495473509b ./libiberty/make-temp-file.c 3176875729b ./libiberty/md5.c *************** *** 11525,11531 **** 3506621156b ./libjava/aclocal.m4 3784840223b ./libjava/addr2name.awk 2317653915b ./libjava/boehm.cc ! 3130214240b ./libjava/ChangeLog 3473562392b ./libjava/ChangeLog-1999 2385951174b ./libjava/ChangeLog-2001 2118024035b ./libjava/configure --- 11584,11590 ---- 3506621156b ./libjava/aclocal.m4 3784840223b ./libjava/addr2name.awk 2317653915b ./libjava/boehm.cc ! 38702888b ./libjava/ChangeLog 3473562392b ./libjava/ChangeLog-1999 2385951174b ./libjava/ChangeLog-2001 2118024035b ./libjava/configure *************** *** 12851,12857 **** 464053222b ./libjava/libltdl/acconfig.h 1486261890b ./libjava/libltdl/acinclude.m4 2748542911b ./libjava/libltdl/aclocal.m4 ! 1384970769b ./libjava/libltdl/ChangeLog 3229611250b ./libjava/libltdl/config.h.in 3663840013b ./libjava/libltdl/configure 586017012b ./libjava/libltdl/configure.in --- 12910,12916 ---- 464053222b ./libjava/libltdl/acconfig.h 1486261890b ./libjava/libltdl/acinclude.m4 2748542911b ./libjava/libltdl/aclocal.m4 ! 1982405743b ./libjava/libltdl/ChangeLog 3229611250b ./libjava/libltdl/config.h.in 3663840013b ./libjava/libltdl/configure 586017012b ./libjava/libltdl/configure.in *************** *** 12864,12871 **** 1322928877b ./libjava/libltdl/README 216805921b ./libjava/libltdl/stamp-h.in 4225681790b ./libjava/libtool-version ! 83234188b ./libjava/Makefile.am ! 2966653638b ./libjava/Makefile.in 1775785992b ./libjava/mauve-libgcj 3598737829b ./libjava/name-finder.cc 4049677327b ./libjava/NEWS --- 12923,12930 ---- 1322928877b ./libjava/libltdl/README 216805921b ./libjava/libltdl/stamp-h.in 4225681790b ./libjava/libtool-version ! 1949592651b ./libjava/Makefile.am ! 3462890813b ./libjava/Makefile.in 1775785992b ./libjava/mauve-libgcj 3598737829b ./libjava/name-finder.cc 4049677327b ./libjava/NEWS *************** *** 12948,12954 **** 2487590179b ./libjava/sysdep/ia64/locks.h 3446737173b ./libjava/sysdep/powerpc/locks.h 2903495760b ./libjava/sysdep/sparc/locks.h ! 4193227237b ./libjava/testsuite/ChangeLog 1230501773b ./libjava/testsuite/config/default.exp 3718926011b ./libjava/testsuite/libjava.compile/abstr.java 2888415448b ./libjava/testsuite/libjava.compile/abstr.xfail --- 13007,13013 ---- 2487590179b ./libjava/sysdep/ia64/locks.h 3446737173b ./libjava/sysdep/powerpc/locks.h 2903495760b ./libjava/sysdep/sparc/locks.h ! 2428761261b ./libjava/testsuite/ChangeLog 1230501773b ./libjava/testsuite/config/default.exp 3718926011b ./libjava/testsuite/libjava.compile/abstr.java 2888415448b ./libjava/testsuite/libjava.compile/abstr.xfail *************** *** 13296,13303 **** 4294967295b ./libjava/testsuite/libjava.lang/PR56.out 832973302b ./libjava/testsuite/libjava.lang/pr83.java 987139956b ./libjava/testsuite/libjava.lang/pr83.out - 3224248635b ./libjava/testsuite/libjava.lang/Primes.java - 3056643169b ./libjava/testsuite/libjava.lang/Primes.out 1555339199b ./libjava/testsuite/libjava.lang/private_direct_read.java 2096756880b ./libjava/testsuite/libjava.lang/private_direct_read.out 901884110b ./libjava/testsuite/libjava.lang/private_direct_write.java --- 13355,13360 ---- *************** *** 13363,13369 **** 4013205125b ./libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java 1740456441b ./libjava/testsuite/libjava.mauve/mauve.exp 2293687712b ./libjava/testsuite/libjava.mauve/xfails ! 4234714160b ./libjava/testsuite/lib/libjava.exp 3806425466b ./libjava/testsuite/Makefile.am 1096421437b ./libjava/testsuite/Makefile.in 3410290178b ./libjava/THANKS --- 13420,13426 ---- 4013205125b ./libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java 1740456441b ./libjava/testsuite/libjava.mauve/mauve.exp 2293687712b ./libjava/testsuite/libjava.mauve/xfails ! 2598210176b ./libjava/testsuite/lib/libjava.exp 3806425466b ./libjava/testsuite/Makefile.am 1096421437b ./libjava/testsuite/Makefile.in 3410290178b ./libjava/THANKS *************** *** 13372,13378 **** 3459150705b ./libjava/win32-threads.cc 202134358b ./libobjc/aclocal.m4 605856870b ./libobjc/archive.c ! 171497277b ./libobjc/ChangeLog 3477231866b ./libobjc/class.c 1748737547b ./libobjc/config.h.in 3049756062b ./libobjc/configure --- 13429,13435 ---- 3459150705b ./libjava/win32-threads.cc 202134358b ./libobjc/aclocal.m4 605856870b ./libobjc/archive.c ! 3939154891b ./libobjc/ChangeLog 3477231866b ./libobjc/class.c 1748737547b ./libobjc/config.h.in 3049756062b ./libobjc/configure *************** *** 13385,13391 **** 4072125181b ./libobjc/libobjc_entry.c 4260228535b ./libobjc/linking.m 2398517524b ./libobjc/makefile.dos ! 1555626783b ./libobjc/Makefile.in 687879051b ./libobjc/misc.c 1752870170b ./libobjc/nil_method.c 638422313b ./libobjc/NXConstStr.m --- 13442,13448 ---- 4072125181b ./libobjc/libobjc_entry.c 4260228535b ./libobjc/linking.m 2398517524b ./libobjc/makefile.dos ! 3980241111b ./libobjc/Makefile.in 687879051b ./libobjc/misc.c 1752870170b ./libobjc/nil_method.c 638422313b ./libobjc/NXConstStr.m *************** *** 13425,13436 **** 60531382b ./libobjc/thr-solaris.c 2005277748b ./libobjc/thr-vxworks.c 2963027857b ./libobjc/thr-win32.c ! 1220048278b ./libstdc++-v3/acconfig.h ! 3510479713b ./libstdc++-v3/acinclude.m4 ! 1802923025b ./libstdc++-v3/aclocal.m4 ! 3206079062b ./libstdc++-v3/ChangeLog 1996982572b ./libstdc++-v3/ChangeLog-2000 3665233589b ./libstdc++-v3/ChangeLog-2001 3799164404b ./libstdc++-v3/config/cpu/alpha/bits/atomicity.h 2657854614b ./libstdc++-v3/config/cpu/alpha/bits/cpu_limits.h 2453414067b ./libstdc++-v3/config/cpu/arm/bits/atomicity.h --- 13482,13497 ---- 60531382b ./libobjc/thr-solaris.c 2005277748b ./libobjc/thr-vxworks.c 2963027857b ./libobjc/thr-win32.c ! 3752097356b ./libstdc++-v3/acconfig.h ! 4198718896b ./libstdc++-v3/acinclude.m4 ! 1909196152b ./libstdc++-v3/aclocal.m4 ! 3127052377b ./libstdc++-v3/ChangeLog 1996982572b ./libstdc++-v3/ChangeLog-2000 3665233589b ./libstdc++-v3/ChangeLog-2001 + 4214408479b ./libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt + 1077465800b ./libstdc++-v3/config/abi/extract_symvers + 1049799838b ./libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt + 3479696688b ./libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt 3799164404b ./libstdc++-v3/config/cpu/alpha/bits/atomicity.h 2657854614b ./libstdc++-v3/config/cpu/alpha/bits/cpu_limits.h 2453414067b ./libstdc++-v3/config/cpu/arm/bits/atomicity.h *************** *** 13452,13462 **** 1958944292b ./libstdc++-v3/config/cpu/powerpc/bits/cpu_limits.h 3930061484b ./libstdc++-v3/config/cpu/s390/bits/atomicity.h 2029688870b ./libstdc++-v3/config/cpu/s390/bits/cpu_limits.h ! 3637219689b ./libstdc++-v3/config/cpu/sparc/sparc32/bits/atomicity.h ! 1609193065b ./libstdc++-v3/config/cpu/sparc/sparc64/bits/atomicity.h 785222978b ./libstdc++-v3/config/cpu/x86-64/bits/atomicity.h 4180289496b ./libstdc++-v3/config/cpu/x86-64/bits/cpu_limits.h ! 3694036271b ./libstdc++-v3/config.h.in 1453199454b ./libstdc++-v3/config/io/basic_file_libio.cc 3157152478b ./libstdc++-v3/config/io/basic_file_libio.h 3725479456b ./libstdc++-v3/config/io/basic_file_stdio.cc --- 13513,13522 ---- 1958944292b ./libstdc++-v3/config/cpu/powerpc/bits/cpu_limits.h 3930061484b ./libstdc++-v3/config/cpu/s390/bits/atomicity.h 2029688870b ./libstdc++-v3/config/cpu/s390/bits/cpu_limits.h ! 1984909614b ./libstdc++-v3/config/cpu/sparc/bits/atomicity.h 785222978b ./libstdc++-v3/config/cpu/x86-64/bits/atomicity.h 4180289496b ./libstdc++-v3/config/cpu/x86-64/bits/cpu_limits.h ! 618996063b ./libstdc++-v3/config.h.in 1453199454b ./libstdc++-v3/config/io/basic_file_libio.cc 3157152478b ./libstdc++-v3/config/io/basic_file_libio.h 3725479456b ./libstdc++-v3/config/io/basic_file_stdio.cc *************** *** 13465,13494 **** 1754405198b ./libstdc++-v3/config/io/c_io_libio.h 3948747720b ./libstdc++-v3/config/io/c_io_stdio.h 1615839786b ./libstdc++-v3/config/linker-map.dummy ! 2918282062b ./libstdc++-v3/config/linker-map.gnu ! 773330578b ./libstdc++-v3/config/locale/generic/c_locale.cc ! 785097262b ./libstdc++-v3/config/locale/generic/c_locale.h 2005861251b ./libstdc++-v3/config/locale/generic/codecvt_specializations.h 4228611347b ./libstdc++-v3/config/locale/generic/collate_members.cc 1221593163b ./libstdc++-v3/config/locale/generic/ctype_members.cc ! 3466940416b ./libstdc++-v3/config/locale/generic/messages_members.cc 2682213266b ./libstdc++-v3/config/locale/generic/messages_members.h 45184175b ./libstdc++-v3/config/locale/generic/monetary_members.cc 650933917b ./libstdc++-v3/config/locale/generic/numeric_members.cc ! 1199479240b ./libstdc++-v3/config/locale/generic/time_members.cc ! 781005318b ./libstdc++-v3/config/locale/gnu/c_locale.cc ! 2998667708b ./libstdc++-v3/config/locale/gnu/c_locale.h ! 3774435712b ./libstdc++-v3/config/locale/gnu/collate_members.cc ! 3212021663b ./libstdc++-v3/config/locale/gnu/ctype_members.cc ! 2575517154b ./libstdc++-v3/config/locale/gnu/messages_members.cc ! 3686696267b ./libstdc++-v3/config/locale/gnu/messages_members.h ! 1229527183b ./libstdc++-v3/config/locale/gnu/monetary_members.cc ! 4180020740b ./libstdc++-v3/config/locale/gnu/numeric_members.cc ! 1982441854b ./libstdc++-v3/config/locale/gnu/time_members.cc 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 ! 3490831019b ./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 2669974896b ./libstdc++-v3/config/os/aix/bits/ctype_base.h --- 13525,13558 ---- 1754405198b ./libstdc++-v3/config/io/c_io_libio.h 3948747720b ./libstdc++-v3/config/io/c_io_stdio.h 1615839786b ./libstdc++-v3/config/linker-map.dummy ! 2896868371b ./libstdc++-v3/config/linker-map.gnu ! 1866975602b ./libstdc++-v3/config/locale/generic/c_locale.cc ! 1871355918b ./libstdc++-v3/config/locale/generic/c_locale.h ! 3981697735b ./libstdc++-v3/config/locale/generic/c++locale_internal.h ! 3717051883b ./libstdc++-v3/config/locale/generic/codecvt_members.cc 2005861251b ./libstdc++-v3/config/locale/generic/codecvt_specializations.h 4228611347b ./libstdc++-v3/config/locale/generic/collate_members.cc 1221593163b ./libstdc++-v3/config/locale/generic/ctype_members.cc ! 474184383b ./libstdc++-v3/config/locale/generic/messages_members.cc 2682213266b ./libstdc++-v3/config/locale/generic/messages_members.h 45184175b ./libstdc++-v3/config/locale/generic/monetary_members.cc 650933917b ./libstdc++-v3/config/locale/generic/numeric_members.cc ! 3011916115b ./libstdc++-v3/config/locale/generic/time_members.cc ! 1345884901b ./libstdc++-v3/config/locale/gnu/c_locale.cc ! 543017678b ./libstdc++-v3/config/locale/gnu/c_locale.h ! 490906006b ./libstdc++-v3/config/locale/gnu/c++locale_internal.h ! 2228791650b ./libstdc++-v3/config/locale/gnu/codecvt_members.cc ! 3958263092b ./libstdc++-v3/config/locale/gnu/collate_members.cc ! 1102464431b ./libstdc++-v3/config/locale/gnu/ctype_members.cc ! 4087381875b ./libstdc++-v3/config/locale/gnu/messages_members.cc ! 4050802736b ./libstdc++-v3/config/locale/gnu/messages_members.h ! 3100021465b ./libstdc++-v3/config/locale/gnu/monetary_members.cc ! 630744503b ./libstdc++-v3/config/locale/gnu/numeric_members.cc ! 2183208255b ./libstdc++-v3/config/locale/gnu/time_members.cc 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 2669974896b ./libstdc++-v3/config/os/aix/bits/ctype_base.h *************** *** 13511,13519 **** 913781161b ./libstdc++-v3/config/os/generic/bits/ctype_inline.h 2814302307b ./libstdc++-v3/config/os/generic/bits/ctype_noninline.h 2662031339b ./libstdc++-v3/config/os/generic/bits/os_defines.h ! 1728709835b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_base.h 577770049b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_inline.h ! 2657263605b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h 1115301117b ./libstdc++-v3/config/os/gnu-linux/bits/os_defines.h 1503897878b ./libstdc++-v3/config/os/hpux/bits/cpu_limits.h 2727448261b ./libstdc++-v3/config/os/hpux/bits/ctype_base.h --- 13575,13583 ---- 913781161b ./libstdc++-v3/config/os/generic/bits/ctype_inline.h 2814302307b ./libstdc++-v3/config/os/generic/bits/ctype_noninline.h 2662031339b ./libstdc++-v3/config/os/generic/bits/os_defines.h ! 585502053b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_base.h 577770049b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_inline.h ! 382466980b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h 1115301117b ./libstdc++-v3/config/os/gnu-linux/bits/os_defines.h 1503897878b ./libstdc++-v3/config/os/hpux/bits/cpu_limits.h 2727448261b ./libstdc++-v3/config/os/hpux/bits/ctype_base.h *************** *** 13535,13542 **** 4236896349b ./libstdc++-v3/config/os/mingw32/bits/ctype_noninline.h 3217385665b ./libstdc++-v3/config/os/mingw32/bits/os_defines.h 1435551091b ./libstdc++-v3/config/os/newlib/bits/ctype_base.h ! 3131508399b ./libstdc++-v3/config/os/newlib/bits/ctype_inline.h ! 780060341b ./libstdc++-v3/config/os/newlib/bits/ctype_noninline.h 1247228618b ./libstdc++-v3/config/os/newlib/bits/os_defines.h 269230749b ./libstdc++-v3/config/os/osf/osf5.0/bits/cpu_limits.h 1980991936b ./libstdc++-v3/config/os/qnx/qnx6.1/bits/ctype_base.h --- 13599,13606 ---- 4236896349b ./libstdc++-v3/config/os/mingw32/bits/ctype_noninline.h 3217385665b ./libstdc++-v3/config/os/mingw32/bits/os_defines.h 1435551091b ./libstdc++-v3/config/os/newlib/bits/ctype_base.h ! 4265751979b ./libstdc++-v3/config/os/newlib/bits/ctype_inline.h ! 3780859290b ./libstdc++-v3/config/os/newlib/bits/ctype_noninline.h 1247228618b ./libstdc++-v3/config/os/newlib/bits/os_defines.h 269230749b ./libstdc++-v3/config/os/osf/osf5.0/bits/cpu_limits.h 1980991936b ./libstdc++-v3/config/os/qnx/qnx6.1/bits/ctype_base.h *************** *** 13555,13568 **** 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 ! 3654425883b ./libstdc++-v3/configure 3116040814b ./libstdc++-v3/configure.host ! 2344837706b ./libstdc++-v3/configure.in ! 3392026093b ./libstdc++-v3/configure.target 1779001880b ./libstdc++-v3/docs/doxygen/doxygroups.cc 1637481960b ./libstdc++-v3/docs/doxygen/Intro.3 748681152b ./libstdc++-v3/docs/doxygen/mainpage.html ! 2699837250b ./libstdc++-v3/docs/doxygen/run_doxygen 668865588b ./libstdc++-v3/docs/doxygen/stdheader.cc 2931788874b ./libstdc++-v3/docs/doxygen/style.css 2943242387b ./libstdc++-v3/docs/doxygen/tables.html --- 13619,13632 ---- 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 ! 3959422938b ./libstdc++-v3/configure 3116040814b ./libstdc++-v3/configure.host ! 247346621b ./libstdc++-v3/configure.in ! 282761406b ./libstdc++-v3/configure.target 1779001880b ./libstdc++-v3/docs/doxygen/doxygroups.cc 1637481960b ./libstdc++-v3/docs/doxygen/Intro.3 748681152b ./libstdc++-v3/docs/doxygen/mainpage.html ! 712715143b ./libstdc++-v3/docs/doxygen/run_doxygen 668865588b ./libstdc++-v3/docs/doxygen/stdheader.cc 2931788874b ./libstdc++-v3/docs/doxygen/style.css 2943242387b ./libstdc++-v3/docs/doxygen/tables.html *************** *** 13572,13627 **** 985890621b ./libstdc++-v3/docs/html/17_intro/BUGS 2881598729b ./libstdc++-v3/docs/html/17_intro/CHECKLIST 3997884874b ./libstdc++-v3/docs/html/17_intro/concept_check.diff ! 3326490253b ./libstdc++-v3/docs/html/17_intro/contribute.html 2171125041b ./libstdc++-v3/docs/html/17_intro/COPYING 3922222294b ./libstdc++-v3/docs/html/17_intro/COPYING.DOC ! 2419103289b ./libstdc++-v3/docs/html/17_intro/C++STYLE 3222542515b ./libstdc++-v3/docs/html/17_intro/DESIGN 1363011462b ./libstdc++-v3/docs/html/17_intro/HEADER_POLICY 3461116413b ./libstdc++-v3/docs/html/17_intro/headers_cc.txt ! 2624515000b ./libstdc++-v3/docs/html/17_intro/howto.html 3565645043b ./libstdc++-v3/docs/html/17_intro/libstdc++-assign.txt ! 2208482093b ./libstdc++-v3/docs/html/17_intro/license.html 982764901b ./libstdc++-v3/docs/html/17_intro/organization 1322295551b ./libstdc++-v3/docs/html/17_intro/porting-howto.html 405521978b ./libstdc++-v3/docs/html/17_intro/porting-howto.xml 2381176791b ./libstdc++-v3/docs/html/17_intro/porting.html 2408767440b ./libstdc++-v3/docs/html/17_intro/porting.texi 12001592b ./libstdc++-v3/docs/html/17_intro/PROBLEMS ! 2042979184b ./libstdc++-v3/docs/html/17_intro/RELEASE-NOTES ! 1553498574b ./libstdc++-v3/docs/html/17_intro/TODO ! 2234420344b ./libstdc++-v3/docs/html/18_support/howto.html ! 1891872084b ./libstdc++-v3/docs/html/19_diagnostics/howto.html ! 797227370b ./libstdc++-v3/docs/html/20_util/howto.html 2326263830b ./libstdc++-v3/docs/html/21_strings/gotw29a.txt ! 933711313b ./libstdc++-v3/docs/html/21_strings/howto.html 3590781787b ./libstdc++-v3/docs/html/21_strings/stringtok_h.txt 3437467499b ./libstdc++-v3/docs/html/21_strings/stringtok_std_h.txt ! 2957885157b ./libstdc++-v3/docs/html/22_locale/codecvt.html ! 2826225921b ./libstdc++-v3/docs/html/22_locale/ctype.html ! 2008651243b ./libstdc++-v3/docs/html/22_locale/howto.html ! 60951948b ./libstdc++-v3/docs/html/22_locale/locale.html ! 2041856691b ./libstdc++-v3/docs/html/22_locale/messages.html ! 461815841b ./libstdc++-v3/docs/html/23_containers/howto.html 3458392326b ./libstdc++-v3/docs/html/23_containers/wrappers_h.txt ! 403270116b ./libstdc++-v3/docs/html/24_iterators/howto.html ! 2968708740b ./libstdc++-v3/docs/html/25_algorithms/howto.html ! 2926171563b ./libstdc++-v3/docs/html/26_numerics/howto.html 2452165260b ./libstdc++-v3/docs/html/27_io/binary_iostreams_kanze.txt 3249620502b ./libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt ! 20954860b ./libstdc++-v3/docs/html/27_io/howto.html ! 3668951243b ./libstdc++-v3/docs/html/configopts.html ! 1719318488b ./libstdc++-v3/docs/html/documentation.html ! 3529196048b ./libstdc++-v3/docs/html/explanations.html ! 3104075238b ./libstdc++-v3/docs/html/ext/howto.html 1604238359b ./libstdc++-v3/docs/html/ext/lwg-active.html 323640830b ./libstdc++-v3/docs/html/ext/lwg-defects.html ! 1724723596b ./libstdc++-v3/docs/html/ext/sgiexts.html ! 3616482744b ./libstdc++-v3/docs/html/faq/index.html ! 1633498853b ./libstdc++-v3/docs/html/faq/index.txt ! 1237174426b ./libstdc++-v3/docs/html/install.html 2049389478b ./libstdc++-v3/docs/html/lib3styles.css ! 3712956921b ./libstdc++-v3/docs/html/Makefile 2473605692b ./libstdc++-v3/include/backward/algobase.h 2730818532b ./libstdc++-v3/include/backward/algo.h 1509057550b ./libstdc++-v3/include/backward/alloc.h --- 13636,13693 ---- 985890621b ./libstdc++-v3/docs/html/17_intro/BUGS 2881598729b ./libstdc++-v3/docs/html/17_intro/CHECKLIST 3997884874b ./libstdc++-v3/docs/html/17_intro/concept_check.diff ! 2558571248b ./libstdc++-v3/docs/html/17_intro/contribute.html 2171125041b ./libstdc++-v3/docs/html/17_intro/COPYING 3922222294b ./libstdc++-v3/docs/html/17_intro/COPYING.DOC ! 3201164177b ./libstdc++-v3/docs/html/17_intro/C++STYLE 3222542515b ./libstdc++-v3/docs/html/17_intro/DESIGN 1363011462b ./libstdc++-v3/docs/html/17_intro/HEADER_POLICY 3461116413b ./libstdc++-v3/docs/html/17_intro/headers_cc.txt ! 2481329262b ./libstdc++-v3/docs/html/17_intro/howto.html 3565645043b ./libstdc++-v3/docs/html/17_intro/libstdc++-assign.txt ! 666334248b ./libstdc++-v3/docs/html/17_intro/license.html 982764901b ./libstdc++-v3/docs/html/17_intro/organization 1322295551b ./libstdc++-v3/docs/html/17_intro/porting-howto.html 405521978b ./libstdc++-v3/docs/html/17_intro/porting-howto.xml 2381176791b ./libstdc++-v3/docs/html/17_intro/porting.html 2408767440b ./libstdc++-v3/docs/html/17_intro/porting.texi 12001592b ./libstdc++-v3/docs/html/17_intro/PROBLEMS ! 2519365120b ./libstdc++-v3/docs/html/17_intro/RELEASE-NOTES ! 1434629529b ./libstdc++-v3/docs/html/17_intro/TODO ! 2819713781b ./libstdc++-v3/docs/html/18_support/howto.html ! 2508850192b ./libstdc++-v3/docs/html/19_diagnostics/howto.html ! 2830656893b ./libstdc++-v3/docs/html/20_util/howto.html 2326263830b ./libstdc++-v3/docs/html/21_strings/gotw29a.txt ! 547290487b ./libstdc++-v3/docs/html/21_strings/howto.html 3590781787b ./libstdc++-v3/docs/html/21_strings/stringtok_h.txt 3437467499b ./libstdc++-v3/docs/html/21_strings/stringtok_std_h.txt ! 1023569015b ./libstdc++-v3/docs/html/22_locale/codecvt.html ! 1194040038b ./libstdc++-v3/docs/html/22_locale/ctype.html ! 2274046295b ./libstdc++-v3/docs/html/22_locale/howto.html ! 908518604b ./libstdc++-v3/docs/html/22_locale/locale.html ! 2156680698b ./libstdc++-v3/docs/html/22_locale/messages.html ! 3162616357b ./libstdc++-v3/docs/html/23_containers/howto.html 3458392326b ./libstdc++-v3/docs/html/23_containers/wrappers_h.txt ! 453248579b ./libstdc++-v3/docs/html/24_iterators/howto.html ! 2290789124b ./libstdc++-v3/docs/html/25_algorithms/howto.html ! 3773351147b ./libstdc++-v3/docs/html/26_numerics/howto.html 2452165260b ./libstdc++-v3/docs/html/27_io/binary_iostreams_kanze.txt 3249620502b ./libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt ! 1136841501b ./libstdc++-v3/docs/html/27_io/howto.html ! 3224577239b ./libstdc++-v3/docs/html/abi.txt ! 552573454b ./libstdc++-v3/docs/html/configopts.html ! 714859455b ./libstdc++-v3/docs/html/documentation.html ! 1281947731b ./libstdc++-v3/docs/html/explanations.html ! 2578738010b ./libstdc++-v3/docs/html/ext/howto.html 1604238359b ./libstdc++-v3/docs/html/ext/lwg-active.html 323640830b ./libstdc++-v3/docs/html/ext/lwg-defects.html ! 2613919530b ./libstdc++-v3/docs/html/ext/sgiexts.html ! 3573437034b ./libstdc++-v3/docs/html/faq/index.html ! 1977830783b ./libstdc++-v3/docs/html/faq/index.txt ! 1032487062b ./libstdc++-v3/docs/html/install.html 2049389478b ./libstdc++-v3/docs/html/lib3styles.css ! 1757651676b ./libstdc++-v3/docs/html/makedoc.awk ! 3528340567b ./libstdc++-v3/docs/html/Makefile 2473605692b ./libstdc++-v3/include/backward/algobase.h 2730818532b ./libstdc++-v3/include/backward/algo.h 1509057550b ./libstdc++-v3/include/backward/alloc.h *************** *** 13660,13698 **** 1420771511b ./libstdc++-v3/include/backward/tree.h 3803139445b ./libstdc++-v3/include/backward/vector.h 4104762506b ./libstdc++-v3/include/bits/basic_ios.h ! 2319127434b ./libstdc++-v3/include/bits/basic_ios.tcc 1196444434b ./libstdc++-v3/include/bits/basic_string.h ! 2433152311b ./libstdc++-v3/include/bits/basic_string.tcc 179433314b ./libstdc++-v3/include/bits/boost_concept_check.h ! 4221694041b ./libstdc++-v3/include/bits/c++config 3498736544b ./libstdc++-v3/include/bits/char_traits.h ! 229999844b ./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 ! 381872118b ./libstdc++-v3/include/bits/fstream.tcc 3886600201b ./libstdc++-v3/include/bits/functexcept.h 3055891139b ./libstdc++-v3/include/bits/generic_shadow.h 3512731163b ./libstdc++-v3/include/bits/gslice_array.h 1117238130b ./libstdc++-v3/include/bits/gslice.h 3450716320b ./libstdc++-v3/include/bits/indirect_array.h ! 1556465309b ./libstdc++-v3/include/bits/ios_base.h ! 4043927392b ./libstdc++-v3/include/bits/istream.tcc ! 1700678698b ./libstdc++-v3/include/bits/locale_facets.h ! 2625853133b ./libstdc++-v3/include/bits/locale_facets.tcc ! 2301356812b ./libstdc++-v3/include/bits/localefwd.h 1519677165b ./libstdc++-v3/include/bits/mask_array.h 2822101373b ./libstdc++-v3/include/bits/ostream.tcc 3592433582b ./libstdc++-v3/include/bits/pthread_allocimpl.h 2670647629b ./libstdc++-v3/include/bits/slice_array.h 3194205835b ./libstdc++-v3/include/bits/slice.h ! 1855208508b ./libstdc++-v3/include/bits/sstream.tcc 3316800061b ./libstdc++-v3/include/bits/stl_algobase.h 1569010907b ./libstdc++-v3/include/bits/stl_algo.h 2270226903b ./libstdc++-v3/include/bits/stl_alloc.h 2801261805b ./libstdc++-v3/include/bits/stl_bvector.h 3302543196b ./libstdc++-v3/include/bits/stl_construct.h ! 2540378118b ./libstdc++-v3/include/bits/stl_deque.h 297399515b ./libstdc++-v3/include/bits/stl_function.h 2464389940b ./libstdc++-v3/include/bits/stl_heap.h 2116609667b ./libstdc++-v3/include/bits/stl_iterator_base_funcs.h --- 13726,13764 ---- 1420771511b ./libstdc++-v3/include/backward/tree.h 3803139445b ./libstdc++-v3/include/backward/vector.h 4104762506b ./libstdc++-v3/include/bits/basic_ios.h ! 613772707b ./libstdc++-v3/include/bits/basic_ios.tcc 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 ! 2084732240b ./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 ! 986176051b ./libstdc++-v3/include/bits/fstream.tcc 3886600201b ./libstdc++-v3/include/bits/functexcept.h 3055891139b ./libstdc++-v3/include/bits/generic_shadow.h 3512731163b ./libstdc++-v3/include/bits/gslice_array.h 1117238130b ./libstdc++-v3/include/bits/gslice.h 3450716320b ./libstdc++-v3/include/bits/indirect_array.h ! 4268468129b ./libstdc++-v3/include/bits/ios_base.h ! 43945125b ./libstdc++-v3/include/bits/istream.tcc ! 1947395633b ./libstdc++-v3/include/bits/locale_facets.h ! 1104096949b ./libstdc++-v3/include/bits/locale_facets.tcc ! 3189614545b ./libstdc++-v3/include/bits/localefwd.h 1519677165b ./libstdc++-v3/include/bits/mask_array.h 2822101373b ./libstdc++-v3/include/bits/ostream.tcc 3592433582b ./libstdc++-v3/include/bits/pthread_allocimpl.h 2670647629b ./libstdc++-v3/include/bits/slice_array.h 3194205835b ./libstdc++-v3/include/bits/slice.h ! 3555571522b ./libstdc++-v3/include/bits/sstream.tcc 3316800061b ./libstdc++-v3/include/bits/stl_algobase.h 1569010907b ./libstdc++-v3/include/bits/stl_algo.h 2270226903b ./libstdc++-v3/include/bits/stl_alloc.h 2801261805b ./libstdc++-v3/include/bits/stl_bvector.h 3302543196b ./libstdc++-v3/include/bits/stl_construct.h ! 1156806073b ./libstdc++-v3/include/bits/stl_deque.h 297399515b ./libstdc++-v3/include/bits/stl_function.h 2464389940b ./libstdc++-v3/include/bits/stl_heap.h 2116609667b ./libstdc++-v3/include/bits/stl_iterator_base_funcs.h *************** *** 13716,13724 **** 1954571679b ./libstdc++-v3/include/bits/stl_uninitialized.h 1635426571b ./libstdc++-v3/include/bits/stl_vector.h 466836896b ./libstdc++-v3/include/bits/streambuf_iterator.h ! 788216751b ./libstdc++-v3/include/bits/streambuf.tcc 99981565b ./libstdc++-v3/include/bits/stream_iterator.h ! 1646222939b ./libstdc++-v3/include/bits/stringfwd.h 1571290449b ./libstdc++-v3/include/bits/type_traits.h 3358963606b ./libstdc++-v3/include/bits/valarray_array.h 780098702b ./libstdc++-v3/include/bits/valarray_array.tcc --- 13782,13790 ---- 1954571679b ./libstdc++-v3/include/bits/stl_uninitialized.h 1635426571b ./libstdc++-v3/include/bits/stl_vector.h 466836896b ./libstdc++-v3/include/bits/streambuf_iterator.h ! 4072322448b ./libstdc++-v3/include/bits/streambuf.tcc 99981565b ./libstdc++-v3/include/bits/stream_iterator.h ! 1373192946b ./libstdc++-v3/include/bits/stringfwd.h 1571290449b ./libstdc++-v3/include/bits/type_traits.h 3358963606b ./libstdc++-v3/include/bits/valarray_array.h 780098702b ./libstdc++-v3/include/bits/valarray_array.tcc *************** *** 13843,13867 **** 177834210b ./libstdc++-v3/include/ext/rope 836293130b ./libstdc++-v3/include/ext/ropeimpl.h 4160164241b ./libstdc++-v3/include/ext/slist ! 2985626209b ./libstdc++-v3/include/ext/stdio_filebuf.h 2805137138b ./libstdc++-v3/include/ext/stl_hash_fun.h 1833363198b ./libstdc++-v3/include/ext/stl_hashtable.h ! 3615598422b ./libstdc++-v3/include/ext/stl_rope.h 3797873942b ./libstdc++-v3/include/Makefile.am ! 3100033549b ./libstdc++-v3/include/Makefile.in 4064711400b ./libstdc++-v3/include/std/std_algorithm.h 1636885247b ./libstdc++-v3/include/std/std_bitset.h 3412647990b ./libstdc++-v3/include/std/std_complex.h 1730455182b ./libstdc++-v3/include/std/std_deque.h 3370784176b ./libstdc++-v3/include/std/std_fstream.h 3174050204b ./libstdc++-v3/include/std/std_functional.h ! 735018069b ./libstdc++-v3/include/std/std_iomanip.h ! 3189740242b ./libstdc++-v3/include/std/std_iosfwd.h 2056599714b ./libstdc++-v3/include/std/std_ios.h ! 3699343429b ./libstdc++-v3/include/std/std_iostream.h 270752150b ./libstdc++-v3/include/std/std_istream.h 3826418885b ./libstdc++-v3/include/std/std_iterator.h ! 3811165801b ./libstdc++-v3/include/std/std_limits.h 1509281666b ./libstdc++-v3/include/std/std_list.h 918488326b ./libstdc++-v3/include/std/std_locale.h 2375471353b ./libstdc++-v3/include/std/std_map.h --- 13909,13933 ---- 177834210b ./libstdc++-v3/include/ext/rope 836293130b ./libstdc++-v3/include/ext/ropeimpl.h 4160164241b ./libstdc++-v3/include/ext/slist ! 580180377b ./libstdc++-v3/include/ext/stdio_filebuf.h 2805137138b ./libstdc++-v3/include/ext/stl_hash_fun.h 1833363198b ./libstdc++-v3/include/ext/stl_hashtable.h ! 984888269b ./libstdc++-v3/include/ext/stl_rope.h 3797873942b ./libstdc++-v3/include/Makefile.am ! 2227334710b ./libstdc++-v3/include/Makefile.in 4064711400b ./libstdc++-v3/include/std/std_algorithm.h 1636885247b ./libstdc++-v3/include/std/std_bitset.h 3412647990b ./libstdc++-v3/include/std/std_complex.h 1730455182b ./libstdc++-v3/include/std/std_deque.h 3370784176b ./libstdc++-v3/include/std/std_fstream.h 3174050204b ./libstdc++-v3/include/std/std_functional.h ! 2010625027b ./libstdc++-v3/include/std/std_iomanip.h ! 1134808427b ./libstdc++-v3/include/std/std_iosfwd.h 2056599714b ./libstdc++-v3/include/std/std_ios.h ! 2007291560b ./libstdc++-v3/include/std/std_iostream.h 270752150b ./libstdc++-v3/include/std/std_istream.h 3826418885b ./libstdc++-v3/include/std/std_iterator.h ! 2456685888b ./libstdc++-v3/include/std/std_limits.h 1509281666b ./libstdc++-v3/include/std/std_list.h 918488326b ./libstdc++-v3/include/std/std_locale.h 2375471353b ./libstdc++-v3/include/std/std_map.h *************** *** 13870,13876 **** 3467401292b ./libstdc++-v3/include/std/std_ostream.h 1570707417b ./libstdc++-v3/include/std/std_queue.h 2180214858b ./libstdc++-v3/include/std/std_set.h ! 4147065580b ./libstdc++-v3/include/std/std_sstream.h 1037640383b ./libstdc++-v3/include/std/std_stack.h 3429471837b ./libstdc++-v3/include/std/std_stdexcept.h 136978800b ./libstdc++-v3/include/std/std_streambuf.h --- 13936,13942 ---- 3467401292b ./libstdc++-v3/include/std/std_ostream.h 1570707417b ./libstdc++-v3/include/std/std_queue.h 2180214858b ./libstdc++-v3/include/std/std_set.h ! 2149174599b ./libstdc++-v3/include/std/std_sstream.h 1037640383b ./libstdc++-v3/include/std/std_stack.h 3429471837b ./libstdc++-v3/include/std/std_stdexcept.h 136978800b ./libstdc++-v3/include/std/std_streambuf.h *************** *** 13878,13884 **** 4158492065b ./libstdc++-v3/include/std/std_utility.h 362016596b ./libstdc++-v3/include/std/std_valarray.h 125145631b ./libstdc++-v3/include/std/std_vector.h ! 123037152b ./libstdc++-v3/libio/ChangeLog 2122576197b ./libstdc++-v3/libio/filedoalloc.c 3590060213b ./libstdc++-v3/libio/fileops.c 314955067b ./libstdc++-v3/libio/_G_config.h --- 13944,13950 ---- 4158492065b ./libstdc++-v3/include/std/std_utility.h 362016596b ./libstdc++-v3/include/std/std_valarray.h 125145631b ./libstdc++-v3/include/std/std_vector.h ! 357326461b ./libstdc++-v3/libio/ChangeLog 2122576197b ./libstdc++-v3/libio/filedoalloc.c 3590060213b ./libstdc++-v3/libio/fileops.c 314955067b ./libstdc++-v3/libio/_G_config.h *************** *** 13890,13904 **** 4269898080b ./libstdc++-v3/libio/libio.h 276542374b ./libstdc++-v3/libio/libioP.h 226381804b ./libstdc++-v3/libio/Makefile.am ! 3829396828b ./libstdc++-v3/libio/Makefile.in 13280908b ./libstdc++-v3/libio/stdfiles.c 2344987226b ./libstdc++-v3/libio/stdio.c 688559115b ./libstdc++-v3/libio/wfiledoalloc.c 871695306b ./libstdc++-v3/libio/wfileops.c 2568419733b ./libstdc++-v3/libio/wgenops.c 4088285812b ./libstdc++-v3/libmath/copysignf.c ! 1192225650b ./libstdc++-v3/libmath/Makefile.am ! 108374429b ./libstdc++-v3/libmath/Makefile.in 346371220b ./libstdc++-v3/libmath/mathconf.h 1759197966b ./libstdc++-v3/libmath/nan.c 1774241233b ./libstdc++-v3/libmath/signbit.c --- 13956,13970 ---- 4269898080b ./libstdc++-v3/libio/libio.h 276542374b ./libstdc++-v3/libio/libioP.h 226381804b ./libstdc++-v3/libio/Makefile.am ! 2999083951b ./libstdc++-v3/libio/Makefile.in 13280908b ./libstdc++-v3/libio/stdfiles.c 2344987226b ./libstdc++-v3/libio/stdio.c 688559115b ./libstdc++-v3/libio/wfiledoalloc.c 871695306b ./libstdc++-v3/libio/wfileops.c 2568419733b ./libstdc++-v3/libio/wgenops.c 4088285812b ./libstdc++-v3/libmath/copysignf.c ! 3368788614b ./libstdc++-v3/libmath/Makefile.am ! 3495106153b ./libstdc++-v3/libmath/Makefile.in 346371220b ./libstdc++-v3/libmath/mathconf.h 1759197966b ./libstdc++-v3/libmath/nan.c 1774241233b ./libstdc++-v3/libmath/signbit.c *************** *** 13922,13928 **** 1338501219b ./libstdc++-v3/libsupc++/exception 3453419455b ./libstdc++-v3/libsupc++/exception_defines.h 2343038402b ./libstdc++-v3/libsupc++/Makefile.am ! 800459218b ./libstdc++-v3/libsupc++/Makefile.in 4225132204b ./libstdc++-v3/libsupc++/new 2545598190b ./libstdc++-v3/libsupc++/new_handler.cc 2558289852b ./libstdc++-v3/libsupc++/new_op.cc --- 13988,13994 ---- 1338501219b ./libstdc++-v3/libsupc++/exception 3453419455b ./libstdc++-v3/libsupc++/exception_defines.h 2343038402b ./libstdc++-v3/libsupc++/Makefile.am ! 4070714309b ./libstdc++-v3/libsupc++/Makefile.in 4225132204b ./libstdc++-v3/libsupc++/new 2545598190b ./libstdc++-v3/libsupc++/new_handler.cc 2558289852b ./libstdc++-v3/libsupc++/new_op.cc *************** *** 13936,13943 **** 2283435214b ./libstdc++-v3/libsupc++/typeinfo 875479559b ./libstdc++-v3/libsupc++/unwind-cxx.h 712738859b ./libstdc++-v3/libsupc++/vec.cc ! 514484816b ./libstdc++-v3/Makefile.am ! 2853760935b ./libstdc++-v3/Makefile.in 2396933860b ./libstdc++-v3/mkcheck.in 3790569303b ./libstdc++-v3/mkcshadow 805804711b ./libstdc++-v3/mkinclosure --- 14002,14009 ---- 2283435214b ./libstdc++-v3/libsupc++/typeinfo 875479559b ./libstdc++-v3/libsupc++/unwind-cxx.h 712738859b ./libstdc++-v3/libsupc++/vec.cc ! 726823839b ./libstdc++-v3/Makefile.am ! 2114270009b ./libstdc++-v3/Makefile.in 2396933860b ./libstdc++-v3/mkcheck.in 3790569303b ./libstdc++-v3/mkcshadow 805804711b ./libstdc++-v3/mkinclosure *************** *** 13945,13982 **** 4161545945b ./libstdc++-v3/po/fr.po 571561184b ./libstdc++-v3/po/libstdc++.pot 2710223631b ./libstdc++-v3/po/Makefile.am ! 2742214156b ./libstdc++-v3/po/Makefile.in 2014452913b ./libstdc++-v3/po/POTFILES.in 1352447199b ./libstdc++-v3/po/string_literals.cc 201474883b ./libstdc++-v3/README ! 33119601b ./libstdc++-v3/src/bitset.cc ! 3432581077b ./libstdc++-v3/src/codecvt.cc 252828227b ./libstdc++-v3/src/complex_io.cc ! 3518329104b ./libstdc++-v3/src/concept-inst.cc 78911046b ./libstdc++-v3/src/ext-inst.cc 2915333764b ./libstdc++-v3/src/fstream.cc 3501232323b ./libstdc++-v3/src/fstream-inst.cc 3677721072b ./libstdc++-v3/src/functexcept.cc ! 650049293b ./libstdc++-v3/src/globals.cc 62109486b ./libstdc++-v3/src/io-inst.cc ! 4223583336b ./libstdc++-v3/src/ios.cc 3318878382b ./libstdc++-v3/src/istream-inst.cc 2798828124b ./libstdc++-v3/src/limits.cc ! 730498888b ./libstdc++-v3/src/locale.cc ! 2844654332b ./libstdc++-v3/src/locale-inst.cc ! 3672007895b ./libstdc++-v3/src/localename.cc ! 1177370419b ./libstdc++-v3/src/Makefile.am ! 391507861b ./libstdc++-v3/src/Makefile.in ! 796578536b ./libstdc++-v3/src/misc-inst.cc 1456313812b ./libstdc++-v3/src/ostream-inst.cc 1968902758b ./libstdc++-v3/src/sstream-inst.cc 3634270088b ./libstdc++-v3/src/stdexcept.cc 1621643001b ./libstdc++-v3/src/stl-inst.cc 294577884b ./libstdc++-v3/src/streambuf-inst.cc ! 693942221b ./libstdc++-v3/src/string-inst.cc ! 3219376587b ./libstdc++-v3/src/strstream.cc 3557593608b ./libstdc++-v3/src/valarray-inst.cc ! 2281175186b ./libstdc++-v3/src/vterminate.cc 1651008667b ./libstdc++-v3/src/wstring-inst.cc 3407177850b ./libstdc++-v3/testsuite/17_intro/header_cassert.cc 718483329b ./libstdc++-v3/testsuite/17_intro/header_cerrno.cc --- 14011,14049 ---- 4161545945b ./libstdc++-v3/po/fr.po 571561184b ./libstdc++-v3/po/libstdc++.pot 2710223631b ./libstdc++-v3/po/Makefile.am ! 768491719b ./libstdc++-v3/po/Makefile.in 2014452913b ./libstdc++-v3/po/POTFILES.in 1352447199b ./libstdc++-v3/po/string_literals.cc 201474883b ./libstdc++-v3/README ! 2225403332b ./libstdc++-v3/src/bitset.cc ! 710998349b ./libstdc++-v3/src/codecvt.cc 252828227b ./libstdc++-v3/src/complex_io.cc ! 730767358b ./libstdc++-v3/src/concept-inst.cc ! 1573161063b ./libstdc++-v3/src/ctype.cc 78911046b ./libstdc++-v3/src/ext-inst.cc 2915333764b ./libstdc++-v3/src/fstream.cc 3501232323b ./libstdc++-v3/src/fstream-inst.cc 3677721072b ./libstdc++-v3/src/functexcept.cc ! 4248290172b ./libstdc++-v3/src/globals.cc 62109486b ./libstdc++-v3/src/io-inst.cc ! 2685787750b ./libstdc++-v3/src/ios.cc 3318878382b ./libstdc++-v3/src/istream-inst.cc 2798828124b ./libstdc++-v3/src/limits.cc ! 3890365762b ./libstdc++-v3/src/locale.cc ! 2887946202b ./libstdc++-v3/src/locale-inst.cc ! 2847860049b ./libstdc++-v3/src/localename.cc ! 2372986634b ./libstdc++-v3/src/Makefile.am ! 1241013874b ./libstdc++-v3/src/Makefile.in ! 46061667b ./libstdc++-v3/src/misc-inst.cc 1456313812b ./libstdc++-v3/src/ostream-inst.cc 1968902758b ./libstdc++-v3/src/sstream-inst.cc 3634270088b ./libstdc++-v3/src/stdexcept.cc 1621643001b ./libstdc++-v3/src/stl-inst.cc 294577884b ./libstdc++-v3/src/streambuf-inst.cc ! 1002021259b ./libstdc++-v3/src/string-inst.cc ! 102324994b ./libstdc++-v3/src/strstream.cc 3557593608b ./libstdc++-v3/src/valarray-inst.cc ! 2601290630b ./libstdc++-v3/src/vterminate.cc 1651008667b ./libstdc++-v3/src/wstring-inst.cc 3407177850b ./libstdc++-v3/testsuite/17_intro/header_cassert.cc 718483329b ./libstdc++-v3/testsuite/17_intro/header_cerrno.cc *************** *** 14019,14025 **** 4052621376b ./libstdc++-v3/testsuite/21_strings/char_traits_typedefs.cc 2742086522b ./libstdc++-v3/testsuite/21_strings/compare.cc 1828225934b ./libstdc++-v3/testsuite/21_strings/c_strings.cc ! 1038697695b ./libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc 2926478704b ./libstdc++-v3/testsuite/21_strings/element_access.cc 2204151867b ./libstdc++-v3/testsuite/21_strings/find.cc 1722926940b ./libstdc++-v3/testsuite/21_strings/insert.cc --- 14086,14092 ---- 4052621376b ./libstdc++-v3/testsuite/21_strings/char_traits_typedefs.cc 2742086522b ./libstdc++-v3/testsuite/21_strings/compare.cc 1828225934b ./libstdc++-v3/testsuite/21_strings/c_strings.cc ! 747384429b ./libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc 2926478704b ./libstdc++-v3/testsuite/21_strings/element_access.cc 2204151867b ./libstdc++-v3/testsuite/21_strings/find.cc 1722926940b ./libstdc++-v3/testsuite/21_strings/insert.cc *************** *** 14039,14045 **** 4219192012b ./libstdc++-v3/testsuite/22_locale/collate.cc 1671297459b ./libstdc++-v3/testsuite/22_locale/collate_members_char.cc 2271354246b ./libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc ! 2466264209b ./libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc 2708515186b ./libstdc++-v3/testsuite/22_locale/ctype.cc 249444744b ./libstdc++-v3/testsuite/22_locale/ctype_is_char.cc 547279960b ./libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc --- 14106,14112 ---- 4219192012b ./libstdc++-v3/testsuite/22_locale/collate.cc 1671297459b ./libstdc++-v3/testsuite/22_locale/collate_members_char.cc 2271354246b ./libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc ! 3591030064b ./libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc 2708515186b ./libstdc++-v3/testsuite/22_locale/ctype.cc 249444744b ./libstdc++-v3/testsuite/22_locale/ctype_is_char.cc 547279960b ./libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc *************** *** 14053,14059 **** 4182256884b ./libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc 3510804403b ./libstdc++-v3/testsuite/22_locale/ctype_widen_char.cc 93317595b ./libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc ! 3268934912b ./libstdc++-v3/testsuite/22_locale/facet.cc 3496730433b ./libstdc++-v3/testsuite/22_locale/global_templates.cc 1723684426b ./libstdc++-v3/testsuite/22_locale/members.cc 1401094326b ./libstdc++-v3/testsuite/22_locale/messages_byname.cc --- 14120,14126 ---- 4182256884b ./libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc 3510804403b ./libstdc++-v3/testsuite/22_locale/ctype_widen_char.cc 93317595b ./libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc ! 3849986858b ./libstdc++-v3/testsuite/22_locale/facet.cc 3496730433b ./libstdc++-v3/testsuite/22_locale/global_templates.cc 1723684426b ./libstdc++-v3/testsuite/22_locale/members.cc 1401094326b ./libstdc++-v3/testsuite/22_locale/messages_byname.cc *************** *** 14077,14086 **** 1180876674b ./libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc 3139380707b ./libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc 2013396522b ./libstdc++-v3/testsuite/22_locale/num_put.cc ! 296571445b ./libstdc++-v3/testsuite/22_locale/num_put_members_char.cc ! 263265882b ./libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc 2592583186b ./libstdc++-v3/testsuite/22_locale/operators.cc ! 2943563602b ./libstdc++-v3/testsuite/22_locale/static_members.cc 3529549306b ./libstdc++-v3/testsuite/22_locale/time_get.cc 3923101724b ./libstdc++-v3/testsuite/22_locale/time_get_members_char.cc 2180594183b ./libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc --- 14144,14153 ---- 1180876674b ./libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc 3139380707b ./libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc 2013396522b ./libstdc++-v3/testsuite/22_locale/num_put.cc ! 2410491259b ./libstdc++-v3/testsuite/22_locale/num_put_members_char.cc ! 547290714b ./libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc 2592583186b ./libstdc++-v3/testsuite/22_locale/operators.cc ! 786606213b ./libstdc++-v3/testsuite/22_locale/static_members.cc 3529549306b ./libstdc++-v3/testsuite/22_locale/time_get.cc 3923101724b ./libstdc++-v3/testsuite/22_locale/time_get_members_char.cc 2180594183b ./libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc *************** *** 14158,14163 **** --- 14225,14231 ---- 3079502096b ./libstdc++-v3/testsuite/27_io/ios_base_members_static-1.tst 2904656871b ./libstdc++-v3/testsuite/27_io/ios_base_members_static.cc 446281776b ./libstdc++-v3/testsuite/27_io/ios_base_storage.cc + 1912639991b ./libstdc++-v3/testsuite/27_io/ios_base_type.cc 236727293b ./libstdc++-v3/testsuite/27_io/ios.cc 3028704293b ./libstdc++-v3/testsuite/27_io/ios_ctor.cc 3931163797b ./libstdc++-v3/testsuite/27_io/ios_init.cc *************** *** 14178,14191 **** 3951789237b ./libstdc++-v3/testsuite/27_io/istream_seeks-1.txt 4294967295b ./libstdc++-v3/testsuite/27_io/istream_seeks-2.tst 2129191219b ./libstdc++-v3/testsuite/27_io/istream_seeks-3.tst ! 1771504798b ./libstdc++-v3/testsuite/27_io/istream_seeks.cc 466639813b ./libstdc++-v3/testsuite/27_io/istream_sentry.cc 38986799b ./libstdc++-v3/testsuite/27_io/istream_unformatted-1.tst 38986799b ./libstdc++-v3/testsuite/27_io/istream_unformatted-1.txt ! 2016922492b ./libstdc++-v3/testsuite/27_io/istream_unformatted.cc 351004607b ./libstdc++-v3/testsuite/27_io/istringstream.cc 2607021483b ./libstdc++-v3/testsuite/27_io/istringstream_members.cc ! 2588015379b ./libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc 190325385b ./libstdc++-v3/testsuite/27_io/ofstream.cc 4294967295b ./libstdc++-v3/testsuite/27_io/ofstream_members-1.tst 2333857258b ./libstdc++-v3/testsuite/27_io/ofstream_members.cc --- 14246,14259 ---- 3951789237b ./libstdc++-v3/testsuite/27_io/istream_seeks-1.txt 4294967295b ./libstdc++-v3/testsuite/27_io/istream_seeks-2.tst 2129191219b ./libstdc++-v3/testsuite/27_io/istream_seeks-3.tst ! 1422426115b ./libstdc++-v3/testsuite/27_io/istream_seeks.cc 466639813b ./libstdc++-v3/testsuite/27_io/istream_sentry.cc 38986799b ./libstdc++-v3/testsuite/27_io/istream_unformatted-1.tst 38986799b ./libstdc++-v3/testsuite/27_io/istream_unformatted-1.txt ! 3117431722b ./libstdc++-v3/testsuite/27_io/istream_unformatted.cc 351004607b ./libstdc++-v3/testsuite/27_io/istringstream.cc 2607021483b ./libstdc++-v3/testsuite/27_io/istringstream_members.cc ! 3768461150b ./libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc 190325385b ./libstdc++-v3/testsuite/27_io/ofstream.cc 4294967295b ./libstdc++-v3/testsuite/27_io/ofstream_members-1.tst 2333857258b ./libstdc++-v3/testsuite/27_io/ofstream_members.cc *************** *** 14196,14202 **** 4127328437b ./libstdc++-v3/testsuite/27_io/ostream_inserter_char.cc 4204648704b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other-1.tst 4204648704b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other-2.tst ! 4111323148b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc 1438625590b ./libstdc++-v3/testsuite/27_io/ostream_manip.cc 4294967295b ./libstdc++-v3/testsuite/27_io/ostream_seeks-1.tst 169443827b ./libstdc++-v3/testsuite/27_io/ostream_seeks.cc --- 14264,14270 ---- 4127328437b ./libstdc++-v3/testsuite/27_io/ostream_inserter_char.cc 4204648704b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other-1.tst 4204648704b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other-2.tst ! 1839784195b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc 1438625590b ./libstdc++-v3/testsuite/27_io/ostream_manip.cc 4294967295b ./libstdc++-v3/testsuite/27_io/ostream_seeks-1.tst 169443827b ./libstdc++-v3/testsuite/27_io/ostream_seeks.cc *************** *** 14210,14217 **** 1939814633b ./libstdc++-v3/testsuite/27_io/stringbuf_members.cc 826108650b ./libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc 4012426009b ./libstdc++-v3/testsuite/27_io/stringstream.cc ! 4146600781b ./libstdc++-v3/testsuite/27_io/stringstream_members.cc 365205754b ./libstdc++-v3/testsuite/27_io/wide_stream_objects.cc 3762370376b ./libstdc++-v3/testsuite/backward/header_deque_h.cc 651880874b ./libstdc++-v3/testsuite/backward/header_hash_map_h.cc 2293472298b ./libstdc++-v3/testsuite/backward/header_hash_set_h.cc --- 14278,14286 ---- 1939814633b ./libstdc++-v3/testsuite/27_io/stringbuf_members.cc 826108650b ./libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc 4012426009b ./libstdc++-v3/testsuite/27_io/stringstream.cc ! 2617118873b ./libstdc++-v3/testsuite/27_io/stringstream_members.cc 365205754b ./libstdc++-v3/testsuite/27_io/wide_stream_objects.cc + 1480987785b ./libstdc++-v3/testsuite/abi_check.cc 3762370376b ./libstdc++-v3/testsuite/backward/header_deque_h.cc 651880874b ./libstdc++-v3/testsuite/backward/header_hash_map_h.cc 2293472298b ./libstdc++-v3/testsuite/backward/header_hash_set_h.cc *************** *** 14232,14242 **** 2466180569b ./libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp 3712176129b ./libstdc++-v3/testsuite/lib/prune.exp 2361428628b ./libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp ! 2294107082b ./libstdc++-v3/testsuite/Makefile.am ! 328430332b ./libstdc++-v3/testsuite/Makefile.in 1352817621b ./libstdc++-v3/testsuite/printnow.c 443433597b ./libstdc++-v3/testsuite/README ! 1201816317b ./libstdc++-v3/testsuite/testsuite_hooks.h 156463796b ./libstdc++-v3/testsuite/thread/pthread1.cc 1550931445b ./libstdc++-v3/testsuite/thread/pthread2.cc 1829037829b ./libstdc++-v3/testsuite/thread/pthread3.cc --- 14301,14311 ---- 2466180569b ./libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp 3712176129b ./libstdc++-v3/testsuite/lib/prune.exp 2361428628b ./libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp ! 530685480b ./libstdc++-v3/testsuite/Makefile.am ! 1266369902b ./libstdc++-v3/testsuite/Makefile.in 1352817621b ./libstdc++-v3/testsuite/printnow.c 443433597b ./libstdc++-v3/testsuite/README ! 3725824881b ./libstdc++-v3/testsuite/testsuite_hooks.h 156463796b ./libstdc++-v3/testsuite/thread/pthread1.cc 1550931445b ./libstdc++-v3/testsuite/thread/pthread2.cc 1829037829b ./libstdc++-v3/testsuite/thread/pthread3.cc *************** *** 14249,14256 **** 3594421631b ./ltcf-gcj.sh 30175378b ./ltconfig 2369122487b ./ltmain.sh ! 1311810028b ./MAINTAINERS ! 411059343b ./maintainer-scripts/ChangeLog 1905552954b ./maintainer-scripts/crontab 4171969357b ./maintainer-scripts/doc_exclude 3945756456b ./maintainer-scripts/gcc_release --- 14318,14325 ---- 3594421631b ./ltcf-gcj.sh 30175378b ./ltconfig 2369122487b ./ltmain.sh ! 4287295648b ./MAINTAINERS ! 1302059430b ./maintainer-scripts/ChangeLog 1905552954b ./maintainer-scripts/crontab 4171969357b ./maintainer-scripts/doc_exclude 3945756456b ./maintainer-scripts/gcc_release *************** *** 14261,14267 **** 612565256b ./maintainer-scripts/update_web_docs 2568232642b ./maintainer-scripts/update_web_docs_libstdcxx 1719002991b ./maintainer-scripts/update_web_docs_old ! 136033403b ./Makefile.in 990942143b ./missing 2656466409b ./mkdep 4236112450b ./mkinstalldirs --- 14330,14336 ---- 612565256b ./maintainer-scripts/update_web_docs 2568232642b ./maintainer-scripts/update_web_docs_libstdcxx 1719002991b ./maintainer-scripts/update_web_docs_old ! 2643081116b ./Makefile.in 990942143b ./missing 2656466409b ./mkdep 4236112450b ./mkinstalldirs *************** *** 14275,14281 **** 2360440520b ./zlib/algorithm.txt 1537725969b ./zlib/amiga/Makefile.pup 3919607569b ./zlib/amiga/Makefile.sas ! 1610764448b ./zlib/ChangeLog 3062272324b ./zlib/ChangeLog.gcj 720988996b ./zlib/compress.c 1404772722b ./zlib/configure --- 14344,14350 ---- 2360440520b ./zlib/algorithm.txt 1537725969b ./zlib/amiga/Makefile.pup 3919607569b ./zlib/amiga/Makefile.sas ! 1002100577b ./zlib/ChangeLog 3062272324b ./zlib/ChangeLog.gcj 720988996b ./zlib/compress.c 1404772722b ./zlib/configure *************** *** 14345,14352 **** 2634414216b ./zlib/inftrees.h 788977750b ./zlib/infutil.c 2297950969b ./zlib/infutil.h ! 3601491819b ./zlib/Makefile.am ! 1642730173b ./zlib/Makefile.in 3707467235b ./zlib/Makefile.riscos 196153738b ./zlib/maketree.c 3901505907b ./zlib/Make_vms.com --- 14414,14421 ---- 2634414216b ./zlib/inftrees.h 788977750b ./zlib/infutil.c 2297950969b ./zlib/infutil.h ! 3729200713b ./zlib/Makefile.am ! 1429364934b ./zlib/Makefile.in 3707467235b ./zlib/Makefile.riscos 196153738b ./zlib/maketree.c 3901505907b ./zlib/Make_vms.com diff -Nrc3pad gcc-3.2/BUGS gcc-3.2.1/BUGS *** gcc-3.2/BUGS Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/BUGS Tue Nov 19 18:11:49 2002 *************** References *** 585,591 **** 25. http://gcc.gnu.org/bugs.html#gnat 26. http://gcc.gnu.org/bugs.html#detailed 27. http://gcc.gnu.org/bugs.html#where ! 28. http://gcc.gnu.org/onlinedocs/g77_bugs.html 29. http://www.gnu.org/software/glibc/ 30. http://gcc.gnu.org/bugs.html#report 31. http://www.ncits.org/cplusplus.htm --- 585,591 ---- 25. http://gcc.gnu.org/bugs.html#gnat 26. http://gcc.gnu.org/bugs.html#detailed 27. http://gcc.gnu.org/bugs.html#where ! 28. http://gcc.gnu.org/onlinedocs/g77/Trouble.html 29. http://www.gnu.org/software/glibc/ 30. http://gcc.gnu.org/bugs.html#report 31. http://www.ncits.org/cplusplus.htm diff -Nrc3pad gcc-3.2/ChangeLog gcc-3.2.1/ChangeLog *** gcc-3.2/ChangeLog Wed Aug 14 08:58:56 2002 --- gcc-3.2.1/ChangeLog Tue Nov 19 17:47:49 2002 *************** *** 1,3 **** --- 1,53 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Gerald Pfeifer + + * MAINTAINERS: Complete James Dennett's entry. + + 2002-11-18  Eric Botcazou   + + * MAINTAINERS (Write After Approval): Add myself. + + 2002-11-14 Gabriel Dos Reis + + * MAINTAINERS: Remove from write-after-approval-list, uniformize + email. + + 2002-11-08 Neil Booth + + * MAINTAINERS: Fix email address. + + 2002-11-05 Nick Clifton + + * MAINTAINERS: Fix typo in my email address. + + 2002-11-05 Paolo Carlini + + * MAINTAINERS (Write After Approval): Remove myself. + (Various Maintainers: c++ runtime libs): Add myself. + + 2002-10-07 Kaveh R. Ghazi + + * Makefile.in (CFLAGS_FOR_TARGET): Add -O2. + + 2002-09-14 Kazu Hirata + + * MAINTAINERS: Update my email address. + + 2002-09-14 Stephane Carrez + + * MAINTAINERS: Update my email address. + 2002-08-14 Release Manager * GCC 3.2 Released. diff -Nrc3pad gcc-3.2/FAQ gcc-3.2.1/FAQ *** gcc-3.2/FAQ Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/FAQ Tue Nov 19 18:11:50 2002 *************** Does GCC work on my platform? *** 172,179 **** information about known problems with installing or using GCC on particular platforms. These are included in the sources for a release in INSTALL/specific.html, and the [43]latest version is always ! available at the GCC web site. Reports of successful builds for GCC ! versions [44]3.0 and [45]2.95 are also available at the web site. _________________________________________________________________ Installation --- 172,179 ---- information about known problems with installing or using GCC on particular platforms. These are included in the sources for a release in INSTALL/specific.html, and the [43]latest version is always ! available at the GCC web site. Reports of [44]successful builds for ! several versions of GCC are also available at the web site. _________________________________________________________________ Installation *************** How to install multiple versions of GCC *** 219,225 **** wish to be sure about which version you are invoking. If you use --prefix, GCC may have difficulty locating a GNU assembler ! or linker on your system, [46]GCC can not find GNU as/GNU ld explains how to deal with this. Another option that may be easier is to use the --program-prefix= or --- 219,225 ---- wish to be sure about which version you are invoking. If you use --prefix, GCC may have difficulty locating a GNU assembler ! or linker on your system, [45]GCC can not find GNU as/GNU ld explains how to deal with this. Another option that may be easier is to use the --program-prefix= or *************** GCC can not find GNU as/GNU ld *** 285,291 **** versions of those programs. To ensure that GCC finds the GNU assembler (the GNU loader), which are ! required by [47]some configurations, you should configure these with the same --prefix option as you used for GCC. Then build & install GNU as (GNU ld) and proceed with building GCC. --- 285,291 ---- versions of those programs. To ensure that GCC finds the GNU assembler (the GNU loader), which are ! required by [46]some configurations, you should configure these with the same --prefix option as you used for GCC. Then build & install GNU as (GNU ld) and proceed with building GCC. *************** Unable to run the testsuite *** 339,345 **** If you get a message about unable to find "standard.exp" when trying to run the GCC testsuites, then your dejagnu is too old to run the GCC tests. You will need to get a newer version of dejagnu from ! [48]http://www.gnu.org/software/dejagnu/dejagnu.html. _________________________________________________________________ How do I pass flags like -fnew-abi to the testsuite? --- 339,345 ---- If you get a message about unable to find "standard.exp" when trying to run the GCC testsuites, then your dejagnu is too old to run the GCC tests. You will need to get a newer version of dejagnu from ! [47]http://www.gnu.org/software/dejagnu/dejagnu.html. _________________________________________________________________ How do I pass flags like -fnew-abi to the testsuite? *************** How can I run the test suite with multip *** 374,380 **** Is there a stringstream / sstream for GCC 2.95.2? Yes, it's at: ! [49]http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream. _________________________________________________________________ Miscellaneous --- 374,380 ---- Is there a stringstream / sstream for GCC 2.95.2? Yes, it's at: ! [48]http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream. _________________________________________________________________ Miscellaneous *************** dynamic_cast, throw, typeid don't work w *** 486,492 **** [basic.def.odr]. For more details about the way that GCC implements these and other C++ ! features, please read the [50]ABI specification. Note the std::typeinfo_t objects which must be resolved all begin with "_ZTS". Refer to ld's documentation for a description of the "-E" & "-Bsymbolic" flags. --- 486,492 ---- [basic.def.odr]. For more details about the way that GCC implements these and other C++ ! features, please read the [49]ABI specification. Note the std::typeinfo_t objects which must be resolved all begin with "_ZTS". Refer to ld's documentation for a description of the "-E" & "-Bsymbolic" flags. *************** Why do I need autoconf, bison, xgettext, *** 517,526 **** rebuild GCC. In general, the current versions of these tools from ! [51]ftp://ftp.gnu.org/gnu/ will work. At present, Autoconf 2.50 is not supported, and you will need to use Autoconf 2.13; work is in progress to fix this problem. Also look at ! [52]ftp://gcc.gnu.org/pub/gcc/infrastructure/ for any special versions of packages. _________________________________________________________________ --- 517,526 ---- rebuild GCC. In general, the current versions of these tools from ! [50]ftp://ftp.gnu.org/gnu/ will work. At present, Autoconf 2.50 is not supported, and you will need to use Autoconf 2.13; work is in progress to fix this problem. Also look at ! [51]ftp://gcc.gnu.org/pub/gcc/infrastructure/ for any special versions of packages. _________________________________________________________________ *************** References *** 643,654 **** 41. http://gcc.gnu.org/bugs.html 42. http://gcc.gnu.org/bugs.html 43. http://gcc.gnu.org/install/specific.html ! 44. http://gcc.gnu.org/gcc-3.0/buildstat.html ! 45. http://gcc.gnu.org/gcc-2.95/buildstat.html ! 46. http://gcc.gnu.org/faq.html#gas ! 47. http://gcc.gnu.org/install/specific.html ! 48. http://www.gnu.org/software/dejagnu/dejagnu.html ! 49. http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream ! 50. http://www.codesourcery.com/cxx-abi/ ! 51. ftp://ftp.gnu.org/gnu/ ! 52. ftp://gcc.gnu.org/pub/gcc/infrastructure/ --- 643,653 ---- 41. http://gcc.gnu.org/bugs.html 42. http://gcc.gnu.org/bugs.html 43. http://gcc.gnu.org/install/specific.html ! 44. http://gcc.gnu.org/buildstat.html ! 45. http://gcc.gnu.org/faq.html#gas ! 46. http://gcc.gnu.org/install/specific.html ! 47. http://www.gnu.org/software/dejagnu/dejagnu.html ! 48. http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream ! 49. http://www.codesourcery.com/cxx-abi/ ! 50. ftp://ftp.gnu.org/gnu/ ! 51. ftp://gcc.gnu.org/pub/gcc/infrastructure/ diff -Nrc3pad gcc-3.2/GNATS gcc-3.2.1/GNATS *** gcc-3.2/GNATS Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/GNATS Tue Nov 19 18:11:50 2002 *************** *** 1,21 **** ! gccbug and gnatsweb ! GNATS is the GNU bug tracking system, and it is now used to track GCC ! bug reports, as well. Before submitting a bug report, please read the ! [1]general instructions. ! The preferred way of submitting a bug report is by means of the gccbug ! program that is automatically installed with current versions of GCC ! and submits the bug report by e-mail. ! If this is not possible, please use the [2]gnatsweb interface. Make ! sure you include an e-mail address, so we can inform you when the ! status of your report changes. ! Both techniques use the same bug database. ! Filling out a report The bug report form provides a number of fields; you'll need to fill-out most of those (as indicated below) to provide a complete --- 1,23 ---- ! Submitting Bug Reports using GNATS ! gnatsweb and gccbug ! GNATS, the GNU bug tracking system, is used to track GCC bug reports. ! Before submitting a bug report, please read the [1]general ! instructions. ! The preferred way to submit a bug report is by means of the ! [2]gnatsweb interface. Make sure you include an e-mail address, so we ! can inform you when the status of your report changes. ! Another way is to use the gccbug program that is automatically ! installed with current versions of GCC, which submits the bug report ! by e-mail. ! Both techniques use the same GNATS bug database. ! ! Filling out a report The bug report form provides a number of fields; you'll need to fill-out most of those (as indicated below) to provide a complete diff -Nrc3pad gcc-3.2/INSTALL/binaries.html gcc-3.2.1/INSTALL/binaries.html *** gcc-3.2/INSTALL/binaries.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/binaries.html Tue Nov 19 18:11:50 2002 *************** contact their makers. *** 20,26 ****
  • AIX: --- 20,26 ----
    • AIX: *************** not contain the latest version of GCC, b *** 64,70 **** bootstrapping the compiler. An updated version of that disk is in the works. !

      Return to the GCC Installation page --- 64,70 ---- bootstrapping the compiler. An updated version of that disk is in the works. !


      Return to the GCC Installation page diff -Nrc3pad gcc-3.2/INSTALL/build.html gcc-3.2.1/INSTALL/build.html *** gcc-3.2/INSTALL/build.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/build.html Tue Nov 19 18:11:50 2002 *************** soon as they are no longer needed. *** 88,98 ****

      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 with make CFLAGS='-O' LIBCFLAGS='-g ! -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap. 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 BOOT_CFLAGS on the command line when doing make bootstrap. Non-default optimization flags are less well --- 88,101 ----

      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.) +

           make CFLAGS='-O' LIBCFLAGS='-g -O2' \
      +        LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
      + 
      +

      If you wish to use non-default GCC flags when compiling the stage2 and stage3 compilers, set BOOT_CFLAGS on the command line when doing make bootstrap. Non-default optimization flags are less well *************** used to disable building the Ada front e *** 184,192 ****

      Additional build tools (such as gnatmake) or a working GNAT run-time library installation are usually not required. However, ! if you want to boostrap the compiler using a minimal version of GNAT, you have to issue the following commands before invoking make ! boostrap (this assumes that you start with an unmodified and consistent source distribution):

          cd srcdir/gcc/ada
      --- 187,195 ----
        
        

      Additional build tools (such as 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
      *************** following commands (assuming make<
      *** 215,221 ****
        

      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 --- 218,224 ----

      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/INSTALL/configure.html gcc-3.2.1/INSTALL/configure.html *** gcc-3.2/INSTALL/configure.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/configure.html Tue Nov 19 18:11:50 2002 *************** subdirectory of objdir or vic *** 88,95 ****

      These additional options control where certain parts of the distribution are installed. Normally you should not need to use these options.

      ! !
      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent files. The default is prefix. --- 88,94 ----

      These additional options control where certain parts of the distribution are installed. Normally you should not need to use these options.

      !
      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent files. The default is prefix. *************** complex conversion patterns. As a basic *** 155,163 **** suffix) are prepended (appended) before further transformations can happen with a special transformation script pattern. !

      As currently implemented, this 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 this options.

      For native builds, some of the installed programs are also installed with the target alias in front of their name, as in --- 154,162 ---- 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 *************** any in that directory--are not part of G *** 193,198 **** --- 192,234 ---- programs--perhaps many others. (GCC installs its own header files in another directory which is based on the --prefix value.) +

      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 searched before the GCC-prefix + include directory. Another characteristic of system include directories + is that pedantic warnings are turned off for headers in these directories. + +

      Some autoconf macros add -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 the correct order. This + may result in a search order different from what was specified but the + directory will still be searched. + +

      GCC automatically searches for ordinary libraries using + 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. + +

      Sites that need to install multiple versions of GCC may not want to + use the above simple configuration. It is possible to use the + --program-prefix, --program-suffix and + --program-transform-name options to install multiple versions + into a single directory, but it may be simpler to use different prefixes + and the --with-local-prefix option to specify the location of the + site-specific files for each version. It will then be necessary for + users to specify explicitly the location of local site libraries + (e.g., with LIBRARY_PATH). + +

      The same value can be used for both --with-local-prefix and + --prefix provided it is not /usr. This can be used + to avoid the default search of /usr/local/include. +

      Do not specify /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 *************** configured with --with-gnu-as--with-as=pathname. !

      The systems where it makes a difference whether you use the GNU assembler are ! 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, ! and mips-any. ! On any other system, --with-gnu-as has no effect.

      On the systems listed above (except for the HP-PA, for ISC on the 386, and for mips-sgi-irix5.*), if you use the GNU assembler, --- 272,296 ---- assembler installed on your system, you may want to use this option in connection with --with-as=pathname. !

      The following systems are the only ones where it makes a difference ! whether you use the GNU assembler. On any other system, ! --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 !

      On the systems listed above (except for the HP-PA, for ISC on the 386, and for mips-sgi-irix5.*), if you use the GNU assembler, *************** predefined set of them. *** 318,325 ****

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      ! !
      arc-*-elf*
      biendian.
      arm-*-* --- 364,370 ----

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      !
      arc-*-elf*
      biendian.
      arm-*-* *************** forward to maintain the port. *** 544,553 ****
      --with-headers=dir
      Specifies a directory which has target include files. ! This options is required when building a cross compiler, if 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''
      Specifies a list of directories which contain the target runtime --- 589,598 ----
      --with-headers=dir
      Specifies a directory which has target include files. ! This option is required when building a cross compiler, if 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''
      Specifies a list of directories which contain the target runtime *************** omitted from libgcc.a on th *** 564,570 **** --disable option and that each --with option has a corresponding --without option. !

      Return to the GCC Installation page --- 609,615 ---- --disable option and that each --with option has a corresponding --without option. !


      Return to the GCC Installation page diff -Nrc3pad gcc-3.2/INSTALL/download.html gcc-3.2.1/INSTALL/download.html *** gcc-3.2/INSTALL/download.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/download.html Tue Nov 19 18:11:50 2002 *************** components of the binutils you intend to *** 39,45 **** (bfd, binutils, gas, gprof, ld, opcodes, ...) to the directory containing the GCC sources. !


      Return to the GCC Installation page --- 39,45 ---- (bfd, binutils, gas, gprof, ld, opcodes, ...) to the directory containing the GCC sources. !


      Return to the GCC Installation page diff -Nrc3pad gcc-3.2/INSTALL/finalinstall.html gcc-3.2.1/INSTALL/finalinstall.html *** gcc-3.2/INSTALL/finalinstall.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/finalinstall.html Tue Nov 19 18:11:50 2002 *************** parts of the compiler in libd *** 27,36 **** info format in infodir (normally prefix/info).

      If you built a released version of GCC using make bootstrap then please ! quickly review the build status page for ! 3.1, ! 3.0, or ! 2.95. If your system is not listed for the version of GCC that you built, send a note to gcc@gcc.gnu.org indicating --- 27,34 ---- info format in infodir (normally prefix/info).

      If you built a released version of GCC using 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 gcc@gcc.gnu.org indicating *************** printing with programs such as dvi *** 88,94 **** buy printed manuals from the Free Software Foundation, though such manuals may not be for the most recent version of GCC. !


      Return to the GCC Installation page --- 86,92 ---- buy printed manuals from the Free Software Foundation, though such manuals may not be for the most recent version of GCC. !


      Return to the GCC Installation page diff -Nrc3pad gcc-3.2/INSTALL/gfdl.html gcc-3.2.1/INSTALL/gfdl.html *** gcc-3.2/INSTALL/gfdl.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/gfdl.html Tue Nov 19 18:11:50 2002 *************** recommend releasing these examples in pa *** 373,380 **** free software license, such as the GNU General Public License, to permit their use in free software. !

      !

      Return to the GCC Installation page --- 373,379 ---- 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/INSTALL/index.html gcc-3.2.1/INSTALL/index.html *** gcc-3.2/INSTALL/index.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/index.html Tue Nov 19 18:11:50 2002 *************** more binaries exist that use them. *** 48,54 **** 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 --- 48,54 ---- 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 diff -Nrc3pad gcc-3.2/INSTALL/old.html gcc-3.2.1/INSTALL/old.html *** gcc-3.2/INSTALL/old.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/old.html Tue Nov 19 18:11:50 2002 *************** by vmsconfig.com) to define *** 602,609 ****

      QSORT_WORKAROUND is always defined when GNU CC is compiled with VAX C, to avoid a problem in case gcclib.olb is not yet available. !

      !

      Return to the GCC Installation page --- 602,608 ----

      QSORT_WORKAROUND is always defined when GNU CC is compiled with VAX C, to avoid a problem in case gcclib.olb is not yet available. !


      Return to the GCC Installation page diff -Nrc3pad gcc-3.2/INSTALL/specific.html gcc-3.2.1/INSTALL/specific.html *** gcc-3.2/INSTALL/specific.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/specific.html Tue Nov 19 18:11:50 2002 *************** GNU Compiler Collection on your machine. *** 119,125 ****

    !

    1750a-*-*

    --- 119,125 ----
!

1750a-*-*

*************** means that type char is rep *** 160,167 **** The 1750A's "Load/Store Upper/Lower Byte" instructions are not used by GCC. !

!

a29k

--- 160,166 ---- The 1750A's "Load/Store Upper/Lower Byte" instructions are not used by GCC. !

a29k

*************** in GCC 3.1. *** 175,189 ****

You may need to make a variant of the file a29k.h for your particular configuration. !

!

a29k-*-bsd

AMD Am29050 used in a system running a variant of BSD Unix. !

!

alpha*-*-*

--- 174,186 ----

You may need to make a variant of the file a29k.h for your particular configuration. !


a29k-*-bsd

AMD Am29050 used in a system running a variant of BSD Unix. !


alpha*-*-*

*************** Previous binutils releases had a number *** 197,204 **** debugging information, not the least of which is incorrect linking of shared libraries. !

!

alpha*-dec-osf*

--- 194,200 ---- debugging information, not the least of which is incorrect linking of shared libraries. !

alpha*-dec-osf*

*************** Tru64 UNIX) operating system, for exampl *** 209,214 **** --- 205,217 ----

Support for versions before alpha*-dec-osf4 is 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_check Tuning 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 *************** different depending on whether or not !


alphaev5-cray-unicosmk*

--- 275,281 ---- DBX. DEC is now aware of this problem with the assembler and hopes to provide a fix shortly. !

alphaev5-cray-unicosmk*

*************** need to tell GCC where to find the assem *** 290,313 **** simplest way to do so is by providing --with-as and --with-ld to configure, e.g. !

configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld ! --enable-languages=c

The comparison test during make bootstrap fails on Unicos/Mk because the assembler inserts timestamps into object files. You should be able to work around this by doing make all after getting this failure. !

!

arc-*-elf

Argonaut ARC processor. This configuration is intended for embedded systems. !

!

arm-*-aout

--- 292,314 ---- simplest way to do so is by providing --with-as and --with-ld to configure, e.g. !
    configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld \
!       --enable-languages=c
! 

The comparison test during make bootstrap fails on Unicos/Mk because the assembler inserts timestamps into object files. You should be able to work around this by doing make all after getting this failure. !


arc-*-elf

Argonaut ARC processor. This configuration is intended for embedded systems. !


arm-*-aout

*************** produce a.out format object *** 319,340 ****

You may need to make a variant of the file arm.h for 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

--- 320,338 ----

You may need to make a variant of the file arm.h for 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

*************** debugging, pass --with-gnu-asYou will need to install GNU sed before you can run configure. !

!

avr

--- 349,355 ----

You will need to install GNU sed before you can run configure. !


avr

*************** can also be obtained from: *** 379,386 ****

indicates that you should upgrade to a newer version of the binutils. !

!

c4x

--- 376,382 ----

indicates that you should upgrade to a newer version of the binutils. !


c4x

*************** can also be obtained from: *** 401,408 ****
  • http://www.elec.canterbury.ac.nz/c4x/ !

    !

    CRIS

    --- 397,403 ----
  • http://www.elec.canterbury.ac.nz/c4x/ !

    CRIS

    *************** or newer. For cris-axis-linux-gnu *** 433,440 **** information about this platform is available at http://developer.axis.com/. !

    !

    DOS

    --- 428,434 ---- information about this platform is available at http://developer.axis.com/. !

    DOS

    *************** any MSDOS compiler except itself. You n *** 445,459 **** 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*

    --- 439,451 ---- 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*

    *************** results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4 *** 483,505 ****

    In principle, --enable-threads is now compatible with --enable-libgcj on FreeBSD. However, it has only been built ! and tested on i386-*-freebsd4.5 and alpha-*-freebsd5.0. The static library may be incorrectly built (symbols are missing at link time). There is a rare timing-based startup hang (probably involves an assupmtion about the thread library). Multi-threaded boehm-gc (required for libjava) exposes severe threaded signal-handling bugs on FreeBSD before 4.5-RELEASE. The alpha port may not fully bootstrap without some manual ! intervention: gcjh will crash with a floating-point exception while generating java/lang/Double.h (just copy the version built on ! i386-*-freebsd* and rerun the top-level gmake with no arguments and it should properly complete the bootstrap). Other CPU architectures supported by FreeBSD will require additional configuration tuning in, at the very least, both boehm-gc and libffi.

    Shared libgcc_s.so is now built and installed by default. !

    !

    elxsi-elxsi-bsd

    --- 475,498 ----

    In principle, --enable-threads is now compatible with --enable-libgcj on FreeBSD. However, it has only been built ! and tested on i386-*-freebsd4.5 and alpha-*-freebsd5.0. ! The static library may be incorrectly built (symbols are missing at link time). There is a rare timing-based startup hang (probably involves an assupmtion about the thread library). Multi-threaded boehm-gc (required for libjava) exposes severe threaded signal-handling bugs on FreeBSD before 4.5-RELEASE. The alpha port may not fully bootstrap without some manual ! intervention: gcjh will crash with a floating-point exception while generating java/lang/Double.h (just copy the version built on ! i386-*-freebsd* and rerun the top-level gmake with no ! arguments and it should properly complete the bootstrap). Other CPU architectures supported by FreeBSD will require additional configuration tuning in, at the very least, both boehm-gc and libffi.

    Shared libgcc_s.so is now built and installed by default. !


    elxsi-elxsi-bsd

    *************** compiling GCC. Please contact h8300-hms --- 501,507 ----

    Support for this processor is obsoleted in GCC 3.1. !


    h8300-hms

    *************** All code must be recompiled. The callin *** 522,535 **** 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.

    Specifically, -g does not work on HP-UX (since that system uses a peculiar debugging format which GCC does not know about), unless you --- 514,527 ---- 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, -g does 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 t *** 537,550 **** --with-gnu-as and --with-as=... options. !

    If you wish to use pa-risc 2.0 architecture support, you must use either ! the HP assembler, gas/binutils 2.11 or a recent snapshot of gas.

    More specific information to hppa*-hp-hpux* targets follows. !

    !

    hppa*-hp-hpux9

    --- 529,542 ---- --with-gnu-as and --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

    *************** shared libraries from working. Use the *** 557,564 **** shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to /bin/ksh in your environment. !

    !

    hppa*-hp-hpux10

    --- 549,555 ---- shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to /bin/ksh in your environment. !

    hppa*-hp-hpux10

    *************** during a make bootstrap. Y *** 579,608 **** saying make all after getting the failure from make bootstrap. !

    !

    hppa*-hp-hpux11

    !

    GCC 3.0 and up support HP-UX 11. You must use GNU binutils 2.11 or above on ! this platform. Thread support is not currently implemented for this ! platform, so --enable-threads does not work. ! See http://gcc.gnu.org/ml/gcc-prs/2002-01/msg00551.html ! and 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. !

    !

    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

    --- 570,621 ---- saying make all after getting the failure from make 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 ! optional hppa64-hp-hpux11* port generates 64-bit code for the ! pa-risc 2.0 architecture. It must be explicitly selected using the ! --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-threads does ! not work. See: ! !

    ! !

    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 ! obtained for the initial builds. When starting with a HP compiler, ! it is preferable to use the ANSI compiler as the bundled compiler ! only supports traditional C. Bootstrapping with the bundled compiler ! is tested infrequently and problems often arise because of the subtle ! differences in semantics between traditional and ISO C. There also ! 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

    *************** out-of-the-box. You'll get compile erro *** 611,618 **** 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 --- 624,629 ---- *************** strongly advise to wait for glibc 2.2.4 *** 624,631 **** 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

    --- 635,641 ---- 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

    *************** installed. *** 635,642 ****

    This configuration is obsoleted in GCC 3.1. !

    !

    i?86-*-linux*aout

    --- 645,651 ----

    This configuration is obsoleted in GCC 3.1. !


    i?86-*-linux*aout

    *************** installed. *** 644,651 **** GNU systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. !

    !

    i?86-*-linux*

    --- 653,659 ---- GNU systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. !

    i?86-*-linux*

    *************** gas/binutils version 2.5.2 or later. *** 655,677 **** 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*

    --- 663,682 ---- 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*

    *************** 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

    --- 749,755 ---- 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

    *************** from the right place) while making the t *** 764,771 **** 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 i686 in the above command with the appropriate processor for your host. --- 768,776 ---- 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 i686 in the above command with the appropriate processor for your host. *************** example, to invoke the C compiler, you w *** 777,784 **** They will coexist peacefully with any native-target GCC tools you may have installed. !

    !

    i?86-*-isc

    --- 782,788 ---- They will coexist peacefully with any native-target GCC tools you may have installed. !

    i?86-*-isc

    *************** comes with the system. *** 790,797 ****

    In ISC version 4.1, sed core dumps when building deduced.h. Use the version of sed from version 4.0. !

    !

    i?86-ibm-aix

    --- 794,800 ----

    In ISC version 4.1, sed core dumps when building deduced.h. Use the version of sed from version 4.0. !


    i?86-ibm-aix

    *************** comes with the system. *** 800,807 ****

    You need to use GAS version 2.1 or later, and LD from GNU binutils version 2.2 or later. !

    !

    i?86-sequent-bsd

    --- 803,809 ----

    You need to use GAS version 2.1 or later, and LD from GNU binutils version 2.2 or later. !


    i?86-sequent-bsd

    *************** GNU binutils version 2.2 or later. *** 809,816 ****

    Go to the Berkeley universe before compiling. !

    !

    i?86-sequent-ptx1*, i?86-sequent-ptx2*, i?86-sequent-sysv3*

    --- 811,817 ----

    Go to the Berkeley universe before compiling. !


    i?86-sequent-ptx1*, i?86-sequent-ptx2*, i?86-sequent-sysv3*

    *************** GNU binutils version 2.2 or later. *** 822,829 **** If you encounter this problem, upgrade your operating system or use bash (the GNU shell) to run fixproto. !

    !

    i860-intel-osf*

    --- 823,829 ---- If you encounter this problem, upgrade your operating system or use bash (the GNU shell) to run fixproto. !

    i860-intel-osf*

    *************** extern int vsprintf(char *, const char *** 860,867 ****

    These problems don't exist in operating system version 1.1. !

    !

    ia64-*-linux

    --- 860,866 ----

    These problems don't exist in operating system version 1.1. !


    ia64-*-linux

    *************** GCC 3.0.2 is recommended for compiling l *** 885,892 **** GCC 3.0.2 is believed to be fully ABI compliant, and hence no more major ABI changes are expected. !

    !

    *-lynx-lynxos

    --- 884,890 ---- GCC 3.0.2 is believed to be fully ABI compliant, and hence no more major ABI changes are expected. !

    *-lynx-lynxos

    *************** You can tell GCC to use the GNU assemble *** 897,904 **** COFF format object files and executables; otherwise GCC will use the installed tools, which produce a.out format executables. !

    !

    *-ibm-aix*

    --- 895,901 ---- COFF format object files and executables; otherwise GCC will use the installed tools, which produce a.out format executables. !

    *-ibm-aix*

    *************** interoperate with GCC. *** 926,931 **** --- 923,954 ----

    Building libstdc++.a requires 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 the libstdc++.a + shared library in a common location which will overwrite the GCC 3.1 + version of the shared library. Applications either need to be + re-linked against the new shared library or the GCC 3.1 version of the + libstdc++ shared object needs to be available to the AIX + runtime loader. The GCC 3.1 libstdc++.so.4 shared object can + be installed for runtime dynamic loading using the following steps to + set the F_LOADONLY flag in the shared object for each + multilib libstdc++.a installed: + +

    Extract the shared object from each the GCC 3.1 libstdc++.a + archive: +

       % ar -x libstdc++.a libstdc++.so.4
    + 
    + +

    Enable the F_LOADONLY flag 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++.a archive: +

       % 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 *************** both Power or PowerPC processors. *** 977,992 ****

    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

    --- 1000,1013 ----

    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

    *************** This configuration is intended for embed *** 994,1017 **** 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

    --- 1015,1035 ---- 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

    *************** applications. There are no standard Uni *** 1020,1027 ****

    You must use the GNU assembler, linker and debugger. Also, you must fix a kernel bug. !

    !

    m68k-apple-aux

    --- 1038,1044 ----

    You must use the GNU assembler, linker and debugger. Also, you must fix a kernel bug. !


    m68k-apple-aux

    *************** for bootstrapping on jagubox.gsfc. *** 1040,1047 **** You will also a patched version of /bin/ld there that raises some of the arbitrary limits found in the original. !

    !

    m68k-att-sysv

    --- 1057,1063 ---- You will also a patched version of /bin/ld there that raises some of the arbitrary limits found in the original. !

    m68k-att-sysv

    *************** You will need to get a previous version *** 1051,1058 **** bootstrap. Binaries are available from the OSU-CIS archive, at ftp://archive.cis.ohio-state.edu/pub/att7300/. !

    !

    m68k-bull-sysv

    --- 1067,1073 ---- bootstrap. Binaries are available from the OSU-CIS archive, at ftp://archive.cis.ohio-state.edu/pub/att7300/. !

    m68k-bull-sysv

    *************** by providing --with-gnu-as --stabs *** 1067,1074 **** assembler or for availability of the DPX/2 port of GAS, contact F.Pierresteguy@frcl.bull.fr. !

    !

    m68k-crds-unos

    --- 1082,1088 ---- assembler or for availability of the DPX/2 port of GAS, contact F.Pierresteguy@frcl.bull.fr. !

    m68k-crds-unos

    *************** a lot of memory. 5 Mb is barely enough *** 1105,1112 **** If linking cc1 fails, try putting the object files into a library and linking from that library. !

    !

    m68k-hp-hpux

    --- 1119,1125 ---- If linking cc1 fails, try putting the object files into a library and linking from that library. !

    m68k-hp-hpux

    *************** to look like: *** 1160,1167 ****
    #!/bin/ksh
      
    !

    !

    m68k-*-nextstep*

    --- 1173,1179 ----
    #!/bin/ksh
      
    !

    m68k-*-nextstep*

    *************** for this sequence to work. *** 1208,1215 **** make bootstrap3 !

    !

    m68k-ncr-*

    --- 1220,1226 ---- make bootstrap3 !

    m68k-ncr-*

    *************** to the configuration file: *** 1223,1230 ****
    MAXUMEM = 4096
      
    !

    !

    m68k-sun

    --- 1234,1240 ----
    MAXUMEM = 4096
      
    !

    m68k-sun

    *************** to the configuration file: *** 1232,1246 **** 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

    --- 1242,1254 ---- 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

    *************** stage 3 and 4 compilers may be usable. *** 1258,1265 ****

    It is best, however, to use an older version of GCC for bootstrapping if you have one. !

    !

    m88k-*-dgux

    --- 1266,1272 ----

    It is best, however, to use an older version of GCC for bootstrapping if you have one. !


    m88k-*-dgux

    *************** You set the software development environ *** 1278,1285 ****

    If you do not specify a configuration name, configure guesses the configuration based on the current software development environment. !

    !

    m88k-tektronix-sysv3

    --- 1285,1291 ----

    If you do not specify a configuration name, configure guesses the configuration based on the current software development environment. !


    m88k-tektronix-sysv3

    *************** directory, start from a fresh reboot, or *** 1294,1301 **** Otherwise you may have trouble getting clean comparisons between stages. !

    !

    mips-*-*

    --- 1300,1306 ---- Otherwise you may have trouble getting clean comparisons between stages. !

    mips-*-*

    *************** Both of these options are automatically *** 1349,1356 **** If you override the CC make variable and use the MIPS compilers, you may need to add -Wf,-XNg1500 -Olimit 3000. !

    !

    mips-dec-*

    --- 1354,1360 ---- If you override the CC make variable and use the MIPS compilers, you may need to add -Wf,-XNg1500 -Olimit 3000. !

    mips-dec-*

    *************** Both of these options are automatically *** 1383,1390 **** If you override the CC make variable and use the MIPS compilers, you may need to add -Wf,-XNg1500 -Olimit 3000. !

    !

    mips-mips-riscos*

    --- 1387,1393 ---- If you override the CC make variable and use the MIPS compilers, you may need to add -Wf,-XNg1500 -Olimit 3000. !

    mips-mips-riscos*

    *************** for these platforms use the following co *** 1414,1421 ****
    mips-mips-riscosrevsysv4
    System V.4 configuration for RISC-OS, revision rev. !

    !

    mips-mips-riscosrevsysv
    System V.3 configuration for RISC-OS, revision rev. --- 1417,1423 ----
    mips-mips-riscosrevsysv4
    System V.4 configuration for RISC-OS, revision rev. !

    mips-mips-riscosrevsysv
    System V.3 configuration for RISC-OS, revision rev. *************** RISC-OS to use. You must reconfigure GC *** 1425,1432 **** RISC-OS revision 4 to RISC-OS revision 5. This has the effect of avoiding a linker bug. !

    !

    mips-sgi-irix4

    --- 1427,1433 ---- RISC-OS revision 4 to RISC-OS revision 5. This has the effect of avoiding a linker bug. !

    mips-sgi-irix4

    *************** ignored. *** 1457,1464 ****
      warning: foo.o does not have gp tables for all its sections.
      
    !

    !

    mips-sgi-irix5

    --- 1458,1464 ----
      warning: foo.o does not have gp tables for all its sections.
      
    !

    mips-sgi-irix5

    *************** other platforms. It has been reported t *** 1502,1509 **** however, you may have success with smake on IRIX 5.2 if you do not have GNU make available. !

    !

    mips-sgi-irix6

    --- 1502,1508 ---- however, you may have success with smake on IRIX 5.2 if you do not have GNU make available. !

    mips-sgi-irix6

    *************** bug is fixed, GCC contains workarounds f *** 1596,1603 ****

    See http://freeware.sgi.com/ for more information about using GCC on IRIX platforms. !

    !

    mips-sony-sysv

    --- 1595,1601 ----

    See http://freeware.sgi.com/ for more information about using GCC on IRIX platforms. !


    mips-sony-sysv

    *************** information about using GCC on IRIX plat *** 1607,1614 **** COFF). In particular, the linker does not like the code generated by GCC when shared libraries are linked in. !

    !

    ns32k-encore

    --- 1605,1611 ---- COFF). In particular, the linker does not like the code generated by GCC when shared libraries are linked in. !

    ns32k-encore

    *************** GCC when shared libraries are linked in. *** 1616,1623 ****

    Encore ns32000 system. Encore systems are supported only under BSD. !

    !

    ns32k-*-genix

    --- 1613,1619 ----

    Encore ns32000 system. Encore systems are supported only under BSD. !


    ns32k-*-genix

    *************** in GCC 3.1. *** 1627,1634 ****

    Genix has bugs in alloca and malloc; you must get the compiled versions of these from GNU Emacs. !

    !

    ns32k-sequent

    --- 1623,1629 ----

    Genix has bugs in alloca and malloc; you must get the compiled versions of these from GNU Emacs. !


    ns32k-sequent

    *************** compiled versions of these from GNU Emac *** 1636,1643 ****

    Go to the Berkeley universe before compiling. !

    !

    ns32k-utek

    --- 1631,1637 ----

    Go to the Berkeley universe before compiling. !


    ns32k-utek

    *************** GCC 3.1. *** 1647,1662 ****

    The C compiler that comes with this system cannot compile GCC; contact tektronix!reed!mason to 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*

    --- 1641,1654 ----

    The C compiler that comes with this system cannot compile GCC; contact tektronix!reed!mason to 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*

    *************** binaries are available at *** 1671,1677 **** registration required).

    Versions of the assembler prior to "cctools-364" cannot handle the ! 4-argument form of rlwinm and related mask-using instructions. Darwin 1.3 (Mac OS X 10.0) uses cctools-353 for instance. To get cctools-364, check out cctools with tag Apple-364, build it, and install the assembler as usr/bin/as. See --- 1663,1669 ---- registration required).

    Versions of the assembler prior to "cctools-364" cannot handle the ! 4-argument form of rlwinm and related mask-using instructions. Darwin 1.3 (Mac OS X 10.0) uses cctools-353 for instance. To get cctools-364, check out cctools with tag Apple-364, build it, and install the assembler as usr/bin/as. See *************** bootstrap, but to do it from the *** 1689,1712 **** 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.12.90.0.7 or newer for a working GCC. !

    !

    powerpc-*-netbsd*

    --- 1681,1701 ---- 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*

    *************** or newer for a working GCC. *** 1714,1773 **** 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-aix selected 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

    --- 1703,1754 ---- 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-aix selected 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

    *************** various files. These errors are minor d *** 1780,1801 **** 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*

    --- 1761,1779 ---- 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*

    *************** will assume that any missing type is !

    sparc-sun-solaris2*

    --- 1821,1827 ---- 108377-20 for Intel), and Solaris 8 (108652-24 or newer for SPARC, 108653-22 for Intel) that fix this bug. !

    sparc-sun-solaris2*

    *************** information. *** 1856,1863 ****

    Sun as 4.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, --- 1833,1841 ----

    Sun as 4.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, *************** that supports only 32-bit binaries, one *** 1876,1883 **** --disable-multilib, since we will not be able to build the 64-bit target libraries. !

    !

    sparc-sun-solaris2.7

    --- 1854,1860 ---- --disable-multilib, since we will not be able to build the 64-bit target libraries. !

    sparc-sun-solaris2.7

    *************** the Solaris 7 Recommended Patch Cluster. *** 1914,1920 ****

    !


    sparc-sun-sunos4*

    --- 1891,1897 ----

    !


    sparc-sun-sunos4*

    *************** be due to a bug in sh. You *** 1932,1939 **** genflags or genoutput manually and then retrying the make. !

    !

    sparc-unknown-linux-gnulibc1

    --- 1909,1915 ---- genflags or genoutput manually and then retrying the make. !

    sparc-unknown-linux-gnulibc1

    *************** be due to a bug in sh. You *** 1941,1948 **** binutils 2.8.1.0.23 for this platform, too. !

    !

    sparc-*-linux*

    --- 1917,1923 ---- binutils 2.8.1.0.23 for this platform, too. !

    sparc-*-linux*

    *************** for this platform, too. *** 1950,1957 **** or newer on this platform. All earlier binutils and glibc releases mishandled unaligned relocations on sparc-*-* targets. !

    !

    sparc64-*-*

    --- 1925,1931 ---- or newer on this platform. All earlier binutils and glibc releases mishandled unaligned relocations on sparc-*-* targets. !

    sparc64-*-*

    *************** can use the sparc32 program *** 1961,1968 **** invocation with an environment that causes configure to recognize (via uname -a) the system as sparc-*-* instead. !

    !

    sparcv9-*-solaris2*

    --- 1935,1941 ---- invocation with an environment that causes configure to recognize (via uname -a) the system as sparc-*-* instead. !

    sparcv9-*-solaris2*

    *************** step in order to bootstrap this target w *** 1975,1982 ****

    -xildoff turns off the incremental linker, and -xarch=v9 specifies the v9 architecture to the Sun linker and assembler. !

    !

    *-*-sysv*

    --- 1948,1954 ----

    -xildoff turns off the incremental linker, and -xarch=v9 specifies the v9 architecture to the Sun linker and assembler. !


    *-*-sysv*

    *************** is said to work. Smaller values may als *** 2007,2022 **** /usr/ucb in PATH. The cc command in /usr/ucb uses libraries which have bugs. !

    !

    vax-dec-ultrix

    Don't try compiling with VAX C (vcc). It produces incorrect code in some cases (for example, when alloca is used). !

    !

    we32k-*-*

    --- 1979,1992 ---- /usr/ucb in PATH. The cc command in /usr/ucb uses libraries which have bugs. !

    vax-dec-ultrix

    Don't try compiling with VAX C (vcc). It produces incorrect code in some cases (for example, when alloca is used). !


    we32k-*-*

    *************** make CC=stage2/xgcc CFLAGS="-Bstage2/ -g *** 2052,2059 ****

    You may need to raise the ULIMIT setting to build a C++ compiler, as the file cc1plus is larger than one megabyte. !

    !

    xtensa-*-elf

    --- 2022,2028 ----

    You may need to raise the ULIMIT setting to build a C++ compiler, as the file cc1plus is larger than one megabyte. !


    xtensa-*-elf

    *************** own Xtensa configuration with the Xtensa *** 2070,2077 **** downloaded files include a customized copy of this header file, which you can use to replace the default header file. !

    !

    xtensa-*-linux*

    --- 2039,2045 ---- downloaded files include a customized copy of this header file, which you can use to replace the default header file. !

    xtensa-*-linux*

    *************** position-independent code (PIC) regardle *** 2082,2089 **** respects, this target is the same as the xtensa-*-elf target. !

    !

    Microsoft Windows (32-bit)

    --- 2050,2056 ---- respects, this target is the same as the xtensa-*-elf target. !

    Microsoft Windows (32-bit)

    *************** respects, this target is the same as the *** 2093,2100 ****

    Current (as of early 2001) snapshots of GCC will build under Cygwin without modification. !

    !

    OS/2

    --- 2060,2066 ----

    Current (as of early 2001) snapshots of GCC will build under Cygwin without modification. !


    OS/2

    *************** at ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/. !

    !

    Older systems

    --- 2071,2077 ----

    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

    *************** such older systems, but much of the info *** 2155,2162 **** 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.)

    --- 2120,2126 ---- 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.)

    *************** current GCC) is to be found in the GCC t *** 2165,2172 **** inlines, vtables and template instantiations will be discarded automatically. !

    !

    Return to the GCC Installation page --- 2129,2135 ---- inlines, vtables and template instantiations will be discarded automatically. !


    Return to the GCC Installation page diff -Nrc3pad gcc-3.2/INSTALL/test.html gcc-3.2.1/INSTALL/test.html *** gcc-3.2/INSTALL/test.html Wed Aug 14 09:31:15 2002 --- gcc-3.2.1/INSTALL/test.html Tue Nov 19 18:11:50 2002 *************** To get a list of the possible *.ex *** 86,92 **** output of make check into a file and look at the Running ... .exp lines. !

    How to interpret test results

    After the testsuite has run you'll find various *.sum and *.log files in the testsuite subdirectories. The *.log files contain a --- 86,103 ---- output of make check into a file and look at the Running ... .exp lines. !

    To run only the tests for a library, run make check from the ! the library's testsuite in a subdirectory of the object directory: ! libstdc++-v3/testsuite or libcgj/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 in make MAUVEDIR=~/mauve check. ! !

    How to interpret test results

    After the testsuite has run you'll find various *.sum and *.log files in the testsuite subdirectories. The *.log files contain a *************** current time our testing harness does no *** 109,115 **** 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_summary shell script. Start it in the objdir with --- 120,126 ---- 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_summary shell script. Start it in the objdir with *************** behave on different platforms and compar *** 130,136 **** 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,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 diff -Nrc3pad gcc-3.2/MAINTAINERS gcc-3.2.1/MAINTAINERS *** gcc-3.2/MAINTAINERS Mon Apr 29 20:44:37 2002 --- gcc-3.2.1/MAINTAINERS Mon Nov 18 15:11:14 2002 *************** Maintainers *** 23,29 **** John Carr jfc@mit.edu Richard Earnshaw rearnsha@arm.com Richard Henderson rth@redhat.com ! Geoffrey Keating geoffk@redhat.com Richard Kenner kenner@nyu.edu Jeff Law law@redhat.com Jason Merrill jason@redhat.com --- 23,29 ---- John Carr jfc@mit.edu Richard Earnshaw rearnsha@arm.com Richard Henderson rth@redhat.com ! Geoffrey Keating geoffk@geoffk.org Richard Kenner kenner@nyu.edu Jeff Law law@redhat.com Jason Merrill jason@redhat.com *************** avr port Denis Chertykov denisc@overta *** 44,52 **** avr port Marek Michalkiewicz marekm@linux.org.pl c4x port Michael Hayes m.hayes@elec.canterbury.ac.nz cris port Hans-Peter Nilsson hp@axis.com ! fr30 port Nick Clifton niclc@redhat.com h8 port Jeff Law law@redhat.com ! h8 port Kazu Hirata kazu@hxi.com hppa port Jeff Law law@redhat.com hppa port Dave Anglin dave.anglin@nrc.ca i386 port Richard Henderson rth@redhat.com --- 44,52 ---- avr port Marek Michalkiewicz marekm@linux.org.pl c4x port Michael Hayes m.hayes@elec.canterbury.ac.nz cris port Hans-Peter Nilsson hp@axis.com ! fr30 port Nick Clifton nickc@redhat.com h8 port Jeff Law law@redhat.com ! h8 port Kazu Hirata kazu@cs.umass.edu hppa port Jeff Law law@redhat.com hppa port Dave Anglin dave.anglin@nrc.ca i386 port Richard Henderson rth@redhat.com *************** i960 port Jim Wilson wilson@redhat.com *** 55,61 **** ia64 port Jim Wilson wilson@redhat.com m32r port Nick Clifton nickc@redhat.com m32r port Michael Meissner meissner@redhat.com ! m68hc11 port Stephane Carrez Stephane.Carrez@worldnet.fr m68k port (?) Jeff Law law@redhat.com m68k-motorola-sysv port Philippe De Muyter phdm@macqel.be mcore port Nick Clifton nickc@redhat.com --- 55,61 ---- ia64 port Jim Wilson wilson@redhat.com m32r port Nick Clifton nickc@redhat.com m32r port Michael Meissner meissner@redhat.com ! m68hc11 port Stephane Carrez stcarrez@nerim.fr m68k port (?) Jeff Law law@redhat.com m68k-motorola-sysv port Philippe De Muyter phdm@macqel.be mcore port Nick Clifton nickc@redhat.com *************** mmix port Hans-Peter Nilsson hp@bitrang *** 64,70 **** mn10200 port Jeff Law law@redhat.com mn10300 port Jeff Law law@redhat.com mn10300 port Alexandre Oliva aoliva@redhat.com ! rs6000 port Geoff Keating geoffk@redhat.com rs6000 port David Edelsohn dje@watson.ibm.com s390 port Hartmut Penner hpenner@de.ibm.com s390 port Ulrich Weigand uweigand@de.ibm.com --- 64,70 ---- mn10200 port Jeff Law law@redhat.com mn10300 port Jeff Law law@redhat.com mn10300 port Alexandre Oliva aoliva@redhat.com ! rs6000 port Geoff Keating geoffk@geoffk.org rs6000 port David Edelsohn dje@watson.ibm.com s390 port Hartmut Penner hpenner@de.ibm.com s390 port Ulrich Weigand uweigand@de.ibm.com *************** v850 port Nick Clifton nickc@redhat.co *** 77,83 **** v850 port Michael Meissner meissner@redhat.com vax port Dave Anglin dave.anglin@nrc.ca x86-64 port Jan Hubicka jh@suse.cz ! xstormy16 port Geoffrey Keating geoffk@redhat.com xtensa port Bob Wilson bob.wilson@acm.org OS Port Maintainers (OS alphabetical order) --- 77,83 ---- v850 port Michael Meissner meissner@redhat.com vax port Dave Anglin dave.anglin@nrc.ca x86-64 port Jan Hubicka jh@suse.cz ! xstormy16 port Geoffrey Keating geoffk@geoffk.org xtensa port Bob Wilson bob.wilson@acm.org OS Port Maintainers (OS alphabetical order) *************** c++ Mark Mitchell m *** 99,105 **** cpplib Dave Brolley brolley@redhat.com cpplib Per Bothner per@bothner.com cpplib Zack Weinberg zack@codesourcery.com ! cpplib Neil Booth neil@daikokuya.demon.co.uk java Per Bothner per@bothner.com java Alexandre Petit-Bianco apbianco@redhat.com mercury Fergus Henderson fjh@cs.mu.oz.au --- 99,105 ---- cpplib Dave Brolley brolley@redhat.com cpplib Per Bothner per@bothner.com cpplib Zack Weinberg zack@codesourcery.com ! cpplib Neil Booth neil@daikokuya.co.uk java Per Bothner per@bothner.com java Alexandre Petit-Bianco apbianco@redhat.com mercury Fergus Henderson fjh@cs.mu.oz.au *************** reorg Jeff Law law@redhat.com *** 115,121 **** caller-save.c Jeff Law law@redhat.com debugging code Jim Wilson wilson@redhat.com dwarf debugging code Jason Merrill jason@redhat.com ! c++ runtime libs Gabriel Dos Reis dosreis@cmla.ens-cachan.fr c++ runtime libs Ulrich Drepper drepper@redhat.com c++ runtime libs Phil Edwards pme@gcc.gnu.org c++ runtime libs Benjamin Kosnik bkoz@redhat.com --- 115,122 ---- caller-save.c Jeff Law law@redhat.com debugging code Jim Wilson wilson@redhat.com dwarf debugging code Jason Merrill jason@redhat.com ! c++ runtime libs Paolo Carlini pcarlini@unitus.it ! c++ runtime libs Gabriel Dos Reis gdr@integrable-solutions.net c++ runtime libs Ulrich Drepper drepper@redhat.com c++ runtime libs Phil Edwards pme@gcc.gnu.org c++ runtime libs Benjamin Kosnik bkoz@redhat.com *************** web pages Gerald Pfeifer pfeifer@dbai. *** 129,135 **** config.sub/config.guess Ben Elliston config-patches@gnu.org basic block reordering Jason Eckhardt jle@redhat.com i18n Philipp Thomas pthomas@suse.de ! diagnostic messages Gabriel Dos Reis gdr@codesourcery.com windows, cygwin, mingw Christopher Faylor cgf@redhat.com windows, cygwin, mingw DJ Delorie dj@redhat.com DJGPP DJ Delorie dj@delorie.com --- 130,136 ---- config.sub/config.guess Ben Elliston config-patches@gnu.org basic block reordering Jason Eckhardt jle@redhat.com i18n Philipp Thomas pthomas@suse.de ! diagnostic messages Gabriel Dos Reis gdr@integrable-solutions.net windows, cygwin, mingw Christopher Faylor cgf@redhat.com windows, cygwin, mingw DJ Delorie dj@redhat.com DJGPP DJ Delorie dj@delorie.com *************** docs co-maintainer Joseph Myers jsm28@c *** 141,153 **** Pico-Java port Steve Chamberlain sac@transmeta.com RTEMS Ports Joel Sherrill predict.def Jan Hubicka jh@suse.cz ! contrib/regression Geoff Keating geoffk@redhat.com Note individuals who maintain parts of the compiler need approval to check in changes outside of the parts of the compiler they maintain. Write After Approval (last name alphabetical order) Scott Bambrough scottb@netwinder.org Daniel Berlin dan@dberlin.org David Billinghurst David.Billinghurst@riotinto.com --- 142,156 ---- Pico-Java port Steve Chamberlain sac@transmeta.com RTEMS Ports Joel Sherrill predict.def Jan Hubicka jh@suse.cz ! contrib/regression Geoff Keating geoffk@geoffk.org Note individuals who maintain parts of the compiler need approval to check in changes outside of the parts of the compiler they maintain. Write After Approval (last name alphabetical order) + + Matt Austern austern@apple.com Scott Bambrough scottb@netwinder.org Daniel Berlin dan@dberlin.org David Billinghurst David.Billinghurst@riotinto.com *************** Laurynas Biveinis lauras@softhome.net *** 155,162 **** Jim Blandy jimb@redhat.com Phil Blundell pb@futuretv.com Hans Boehm hboehm@gcc.gnu.org Andrew Cagney cagney@redhat.com - Paolo Carlini pcarlini@unitus.it Chandra Chavva cchavva@redhat.com William Cohen wcohen@redhat.com Chris Demetriou cgd@broadcom.com --- 158,165 ---- Jim Blandy jimb@redhat.com Phil Blundell pb@futuretv.com Hans Boehm hboehm@gcc.gnu.org + Eric Botcazou ebotcazou@libertysurf.fr Andrew Cagney cagney@redhat.com Chandra Chavva cchavva@redhat.com William Cohen wcohen@redhat.com Chris Demetriou cgd@broadcom.com *************** Anthony Green green@redhat.com *** 170,175 **** --- 173,179 ---- Stu Grossman grossman@redhat.com Laurent Guerby guerby@acm.org Andrew Haley aph@redhat.com + Stuart Hastings stuart@apple.com Aldy Hernandez aldyh@redhat.com Matthew Hiller hiller@redhat.com Manfred Hollstein mhollstein@redhat.com *************** Adam Megacz adam@xwt.org *** 201,217 **** Alan Modra amodra@bigpond.net.au Toon Moene toon@moene.indiv.nluug.nl Catherine Moore clm@redhat.com Diego Novillo dnovillo@redhat.com David O'Brien obrien@FreeBSD.org Turly O'Connor turly@apple.com Jeffrey D. Oldham oldham@codesourcery.com Rainer Orth ro@TechFak.Uni-Bielefeld.DE Nicola Pero n.pero@mi.flashnet.it Alexandre Petit-Bianco apbianco@redhat.com Clinton Popetz cpopetz@cpopetz.com Ken Raeburn raeburn@redhat.com Rolf Rasmussen rolfwr@gcc.gnu.org - Gabriel Dos Reis dosreis@cmla.ens-cachan.fr Loren J. Rittle ljrittle@acm.org Tom Rix trix@redhat.com Craig Rodrigues rodrigc@gcc.gnu.org --- 205,222 ---- Alan Modra amodra@bigpond.net.au Toon Moene toon@moene.indiv.nluug.nl Catherine Moore clm@redhat.com + Adam Nemet anemet@lnxw.com Diego Novillo dnovillo@redhat.com David O'Brien obrien@FreeBSD.org Turly O'Connor turly@apple.com Jeffrey D. Oldham oldham@codesourcery.com Rainer Orth ro@TechFak.Uni-Bielefeld.DE + Devang Patel dpatel@apple.com Nicola Pero n.pero@mi.flashnet.it Alexandre Petit-Bianco apbianco@redhat.com Clinton Popetz cpopetz@cpopetz.com Ken Raeburn raeburn@redhat.com Rolf Rasmussen rolfwr@gcc.gnu.org Loren J. Rittle ljrittle@acm.org Tom Rix trix@redhat.com Craig Rodrigues rodrigc@gcc.gnu.org *************** Danny Smith dannysmith@users.sourcef *** 229,235 **** Michael Sokolov msokolov@ivan.Harhan.ORG Richard Stallman rms@gnu.org Graham Stott grahams@redhat.com ! Mike Stump mrs@windriver.com Ian Taylor ian@zembu.com Michael Tiemann tiemann@redhat.com Philipp Thomas pthomas@suse.de --- 234,240 ---- Michael Sokolov msokolov@ivan.Harhan.ORG Richard Stallman rms@gnu.org Graham Stott grahams@redhat.com ! Mike Stump mrs@apple.com Ian Taylor ian@zembu.com Michael Tiemann tiemann@redhat.com Philipp Thomas pthomas@suse.de *************** Florian Weimer fw@deneb.enyo.de *** 240,247 **** Mark Wielaard mark@gcc.gnu.org GNATS only accounts Peter Bienstman(?) Benjamin Chelf(?) - James Dennett(?) Mark Galassi(?) Jeff Strum(?) --- 245,254 ---- Mark Wielaard mark@gcc.gnu.org GNATS only accounts + + James Dennett jdennett jdennett@acm.org + Peter Bienstman(?) Benjamin Chelf(?) Mark Galassi(?) Jeff Strum(?) diff -Nrc3pad gcc-3.2/Makefile.in gcc-3.2.1/Makefile.in *** gcc-3.2/Makefile.in Mon Apr 15 18:59:13 2002 --- gcc-3.2.1/Makefile.in Mon Oct 7 20:47:05 2002 *************** CXXFLAGS = -g -O2 *** 94,100 **** LDFLAGS = LIBCFLAGS = $(CFLAGS) CFLAGS_FOR_BUILD = $(CFLAGS) ! CFLAGS_FOR_TARGET = $(CFLAGS) LDFLAGS_FOR_TARGET = LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) PICFLAG = --- 94,104 ---- LDFLAGS = LIBCFLAGS = $(CFLAGS) CFLAGS_FOR_BUILD = $(CFLAGS) ! # During gcc bootstrap, if we use some random cc for stage1 then ! # CFLAGS will be just -g. We want to ensure that TARGET libraries ! # (which we know are built with gcc) are built with optimizations so ! # prepend -O2 when setting CFLAGS_FOR_TARGET. ! CFLAGS_FOR_TARGET = -O2 $(CFLAGS) LDFLAGS_FOR_TARGET = LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) PICFLAG = diff -Nrc3pad gcc-3.2/bugs.html gcc-3.2.1/bugs.html *** gcc-3.2/bugs.html Wed Aug 14 09:31:12 2002 --- gcc-3.2.1/bugs.html Tue Nov 19 18:11:47 2002 *************** the bug is a regression.

  • *** 283,289 ****

    Fortran bugs are documented in the G77 manual rather than explicitly listed here. Please see ! Known Causes of Trouble with GNU Fortran in the G77 manual.


    --- 283,289 ----

    Fortran bugs are documented in the G77 manual rather than explicitly listed here. Please see ! Known Causes of Trouble with GNU Fortran in the G77 manual.


    diff -Nrc3pad gcc-3.2/config/ChangeLog gcc-3.2.1/config/ChangeLog *** gcc-3.2/config/ChangeLog Wed Aug 14 08:59:02 2002 --- gcc-3.2.1/config/ChangeLog Tue Nov 19 17:47:59 2002 *************** *** 1,3 **** --- 1,15 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + 2002-08-14 Release Manager * GCC 3.2 Released. diff -Nrc3pad gcc-3.2/config/mpw/ChangeLog gcc-3.2.1/config/mpw/ChangeLog *** gcc-3.2/config/mpw/ChangeLog Wed Aug 14 08:59:01 2002 --- gcc-3.2.1/config/mpw/ChangeLog Tue Nov 19 17:47:56 2002 *************** *** 1,3 **** --- 1,15 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + 2002-08-14 Release Manager * GCC 3.2 Released. diff -Nrc3pad gcc-3.2/contrib/ChangeLog gcc-3.2.1/contrib/ChangeLog *** gcc-3.2/contrib/ChangeLog Wed Aug 14 08:59:04 2002 --- gcc-3.2.1/contrib/ChangeLog Tue Nov 19 17:48:01 2002 *************** *** 1,3 **** --- 1,15 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + 2002-08-14 Release Manager * GCC 3.2 Released. diff -Nrc3pad gcc-3.2/contrib/regression/ChangeLog gcc-3.2.1/contrib/regression/ChangeLog *** gcc-3.2/contrib/regression/ChangeLog Wed Aug 14 08:59:05 2002 --- gcc-3.2.1/contrib/regression/ChangeLog Tue Nov 19 17:48:04 2002 *************** *** 1,3 **** --- 1,15 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + 2002-08-14 Release Manager * GCC 3.2 Released. diff -Nrc3pad gcc-3.2/faq.html gcc-3.2.1/faq.html *** gcc-3.2/faq.html Wed Aug 14 09:31:14 2002 --- gcc-3.2.1/faq.html Tue Nov 19 18:11:49 2002 *************** about known problems with installing or *** 217,226 **** These are included in the sources for a release in INSTALL/specific.html, and the latest version is always available at the GCC web site. ! Reports of successful builds for GCC versions ! 3.0 and ! 2.95 ! are also available at the web site.


    --- 217,224 ---- These are included in the sources for a release in INSTALL/specific.html, and the latest version is always available at the GCC web site. ! Reports of successful builds ! for several versions of GCC are also available at the web site.


    diff -Nrc3pad gcc-3.2/gcc/ChangeLog gcc-3.2.1/gcc/ChangeLog *** gcc-3.2/gcc/ChangeLog Wed Aug 14 08:59:50 2002 --- gcc-3.2.1/gcc/ChangeLog Tue Nov 19 17:48:23 2002 *************** *** 1,3 **** --- 1,1001 ---- + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-19 Release Manager + + * GCC 3.2.1 Released. + + 2002-11-18 Release Manager + + * GCC 3.2.1 Released. + + Sat Nov 16 02:54:29 CET 2002 Jan Hubicka + + * jump.c (tablejump_p): New. + * cfgcleanup.c (try_optimize_cfg): Do not merge blocks across tablejump. + * rtl.h (tablejump_p): Declare. + + 2002-11-16 Graham Stott + + * flow.c (life_analysis): Update LABEL_NUSES before purging + dead jumptables. + + 2002-11-13 Janis Johnson + + * doc/install.texi (Testing): Document extra Java testing. + * doc/sourcebuild.texi (Test Suites): Document libgcj testing. + + 2002-11-12 Franz Sirl + + * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement. + + 2002-11-12 Gerald Pfeifer + + * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer + to that entire project. + + 2002-11-12 Rainer Orth + + * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old + directories. + + 2002-11-11 Janis Johnson + + * doc/contrib.texi: Merge in the list from the libstdc++ web pages. + + 2002-11-11 Franz Sirl + + PR c/8467 + * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the + mode of DECL_RTL case. + + 2002-11-11 Neil Booth + + PR preprocessor/4890 + * tradcpp.c (output_line_command): When leaving a file, + system_include_depth has not yet been decremented. + + 2002-11-10 Joel Sherrill + + * config/m68k/t-crtstuff (crti.o): Use this... + ($(T)crti.o): ... instead. + (crtn.o): Use this... + ($(T)crtn.o): ... instead. + + 2002-11-10 Ralf Corsepius + + * config/mips/mips.md (movdi_usd): Use %z1 in place of %1. + + 2002-11-11 Graham Stott + Jan Hubicka + + PR 8502 + * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed + jumps post reload. + + 2002-11-08 H.J. Lu + + Fix c/5351 and optimization/7591. + + * calls.c (store_one_arg): Remove ATTRIBUTE_UNUSED on + variable_size. Mark any slots used for the argument as in-use + only if we can't pass all arguments to a library call in + registers. + + 2002-11-07 H.J. Lu + + Fix bootstrap/8146 and + gcc.c-torture/execute/20020307-2.c with -march=i686. + + * calls.c (PUSH_ARGS_REVERSED): Define only if not defined. + * expr.c (PUSH_ARGS_REVERSED): Likewise. + + * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1. + + 2002-11-04 Aldy Hernandez + + Fix c/8252. + + * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow + vectors from PRE_INC/DEC. + + 2002-11-06 Richard Henderson + + PR optimization/7520 + * cfganal.c (flow_active_insn_p): New. + (forwarder_block_p): Use it. + + 2002-11-06 Janis Johnson + + * doc/contrib.texi: Merge in the list from the Java web pages. + + 2002-11-06 David O'Brien + + * config/sparc/freebsd.h: Fix typo. + + 2002-11-05 Bob Wilson + + * config/xtensa/elf.h (LIB_SPEC): Add "-lhal". + + 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 + + PR c++/8391 + * toplev.c (rest_of_compilation): Do not refuse to output code for + an inline function in a local class. + + 2002-11-01 David O'Brien + + * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__. + Add comment. + + 2002-11-01 David O'Brien + + * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define + __enable_execute_stack function. + + 2002-11-01 Richard Earnshaw (rearnsha@arm.com) + + PR target/7856 + * arm.c (use_return_insn): Don't use a return insn if there are + saved integer regs, but LR is not one of them. + + Thu Oct 31 18:31:22 CET 2002 Jan Hubicka + + * i386.c (override_options): Set defaults for flag_omit_frame_pointer, + flag_asynchronous_unwind_tables, flag_pcc_struct_return. + * i386.c (optimization_options): Set flag_omit_frame_pointer, + flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2. + Do not clear -momit-leaf-frame-pointer when profiling. + (ix86_frame_pointer_required): Frame pointer is allways required when + profiling. + + 2002-10-30 Mark Mitchell + + * varasm.c (asm_output_aligned_bss): Do not call + ASM_GLOBALIZE_LABEL. + + 2002-10-29 Janis Johnson + + * doc/invoke.texi (-profile-arcs): Remove references to -a and -ax. + + 2002-10-29 Eric Botcazou + + * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation; + check for zero operands explicitly. + + 2002-10-21 Dale Johannesen + + PR target/7133 + * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle + unsafe math reversals correctly for RTL generation. + (output_cbranch): Replace rs6000_reverse_condition call + by its former definition. + + Sun Oct 27 10:12:27 CET 2002 Jan Hubicka + + * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define. + + PR target/6890 + * xmmintrin.h (_MM_TRANSPOSE4_PS): New. + + 2002-10-25 Zack Weinberg + + PR middle-end/6994 + * c-objc-common.c (inline_forbidden_p): Can not inline + functions containing structures or unions containing VLAs. + * tree-inline.c (walk_tree): For all class 't' nodes, walk + TYPE_SIZE and TYPE_SIZE_UNIT. #undef WALK_SUBTREE_TAIL at end. + (copy_tree_r): Copy types if they are variably modified. + + * hooks.c (hook_tree_bool_false): New. + * hooks.h: Prototype it. + * langhooks.h (struct lang_hooks_for_tree_inlining): Add + var_mod_type_p. + * langhooks-def.h: Default for tree_inlining.var_mod_type_p is + hook_tree_bool_false. + + * tree.c (variably_modified_type_p): Moved here from + cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for + language-specific cases. Due to this, must weaken some 'if + and only if' checks to merely 'if'. + * tree.h: Prototype variably_modified_type_p. + + 2002-10-22 Jim Wilson + + * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok. + + 2002-10-15 Jim Wilson + + PR target/6981 + * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok. + + 2002-10-24 Richard Henderson + + PR opt/7944 + * reload.c (find_reloads_toplev): Use simplify_gen_subreg; mode + of X is not important when simplifying subregs of constants. + + 2002-10-23 Robert Lipe + + * config.gcc (i[34567]86-*-sco3.2v5*): Fix tm_file. + + 2002-10-23 Roger Sayle + + PR c/761 + * doc/invoke.texi: Fix some overfull hboxes in "make dvi". + Document --version, -fno-sched-interblock, -fno-sched-spec, + -fsched-spec-load, -fsched-spec-load-dangerous, + -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check. + + 2002-10-23 Ulrich Weigand + + * config/s390/s390.md ("*movdi_64"): Fix op_type attribute. + ("*movdf_64"): Likewise. + ("*lshrdi3_64"): Likewise. + + 2002-10-21 Matthias Klose + + * Backport, without whitespace change: + 2002-06-19 Akim Demaille + * c-parse.in (initelt: identifier ':' initval): Add an empty + action to fix a type clash. + (aliasdecl, classdef): Add the missing closing `;'. + + Sat Oct 19 15:49:14 CEST 2002 Jan Hubicka + + * mmintrin.h (__m64): typedef it to v2si. + (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16, + _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16, + _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64, + _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64, + _mm_or_si64, _mm_xor_si64): Add neccesary casts. + * xmmintrin.h (_mm_setzero_si64): Likewise. + + PR target/7693 + Patch by Shawn Wagner + * mmintrin.h: Replace pi64 by si64. + + 2002-10-18 Zack Weinberg + + * decl.c (start_decl): Point users of the old initialized- + typedef extension at __typeof__. + + Thu Oct 17 17:14:07 CEST 2002 Jan Hubicka + + PR opt/7630 + * reload.c (reload_inner_reg_of_subreg): New argument output; + (push_reload): Update call. + + PR c++/6419 + * expr.c (expand_expr): Use DECL_RTL_SET_P. + + Wed Apr 24 23:45:37 2002 J"orn Rennecke + + * calls.c (expand_call): Take current_function_pretend_args_size + into account when setting argblock for sibcalls. + + Wed Oct 16 19:43:38 CEST 2002 Jan Hubicka + + PR target/7396 + * i386.c (builtin_description):Drop cmpg[te]s[sd]. + * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using + swapped alternative. + + 2002-10-16 Jakub Jelinek + + * fold-const.c (fold): Fix a typo. + + 2002-10-15 Ulrich Weigand + + PR target/7370 + * config/s390/s390.md ("*addsi3_inv"): New pattern. + + PR target/8232 + * config/s390/s390.md ("cmpstrsi"): Convert length operand + from SImode to Pmode. + + 2002-10-15 Janis Johnson + + * doc/install.texi: Formatting changes for conformance to HTML 4.01. + + 2002-10-15 Ulrich Weigand + + PR opt/7409 + * loop.c (loop_regs_scan): Mark registers used for function + argument passing as MAY_NOT_OPTIMIZE. + + 2002-10-14 Neil Booth + + PR preprocessor/7862 + PR preprocessor/8190 + * gcc.c (cpp_unique_options): Don't delete .d files. + Remove stray whitespace. + + 2002-10-14 Jakub Jelinek + + * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): + Handle TARGET_64BIT. + + 2002-10-14 Mark Mitchell + + PR optimization/6631 + * Makefile.in (function.o): Depend on langhooks.h. + * alias.c (objects_must_conflict_p): Check honor_readonly when + examining TYPE_READONLY. + * function.c (assign_stack_temp_for_type): Likewise. + + 2002-10-12 John David Anglin + + * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH and + TREE_VEC_LENGTH to ensure values are promoted before doing subtraction. + + 2002-10-11 Janis Johnson + + * doc/compat.texi: Add info about C++ libraries. + + Thu Oct 10 19:47:41 CEST 2002 Jan Hubicka + + PR target/5610 + * invoke.texi (-msse-math): Kill + (-msse): Add note to mfpmath=sse. + + Thu Oct 10 17:38:29 CEST 2002 Jan Hubicka + + PR ice/7951 + * reload1.c (emit_input_reload_insns): Use constrain_operands + instead of constraint_accepts_reg_p to verify optimization. + (constraint_accepts_reg_p): Kill + + Thu Oct 10 17:05:22 CEST 2002 Jan Hubicka + + PR target/7723 + * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves. + + 2002-10-09 Zack Weinberg + + PR c/7353 + * c-decl.c (start_decl): Unconditionally issue error for + 'typedef foo = bar'. + (finish_decl): Remove special case for TYPE_DECL with initializer. + + * doc/extend.texi: Delete "Naming Types" section. Change all + cross-references to that section to refer to "Typeof" instead. + Add the useful safe-max()-macro example from "Naming Types" to + "Typeof", rewritten using that extension. Add some compatibility + notes to "Typeof." + + 2002-10-02 Richard Henderson + + PR opt/7124 + * config/i386/i386.c (ix86_register_move_cost): Increase cost + for secondary_memory_needed pairs. + + Wed Oct 9 19:09:13 CEST 2002 Jan Hubicka + + PR opt/7912 + PR opt/7390 + * i386.c (athlon_cost): Fix the move costs. + + 2002-10-09 Alan Modra + + * libgcc2.c (__floatdisf): Properly cure double rounding. + + 2002-10-09 Gabriel Dos Reis + + PR doc/7484 + * doc/invoke.texi (Option Summary): List + -Wmissing-declarations as a C only option. + + 2002-10-08 Jakub Jelinek + + * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove + mno-app-regs|mcmodel=medany. + (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt. + (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove. + (CRTSTUFF_T_CFLAGS): Define. + + 2002-09-25 Eric Botcazou + Volker Reichelt + + PR c/7411 + * expr.c (expand_expr) [PLUS]: Simplify after the operands + have been expanded in EXPAND_NORMAL mode. + + 2002-10-06 Richard Henderson + + * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint. + + 2002-10-06 Roger Sayle + + PR optimization/6627 + * toplev.c (force_align_functions_log): New global variable. + * flags.h (force_align_functions_log): Add extern prototype. + * varasm.c (assemble_start_function): Use it to force minimum + function alignment. + * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct + minimum function alignment to one byte. + (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in + the least significant bit of vtable member function pointers. + * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to + here from cp/cp-tree.h. + + 2002-10-06 Neil Booth + + Debian BTS Bug #157416 + * cpplib.c (destringize_and_run): Kludge around getting + tokens from in-progress macros. + (_cpp_do__Pragma): Simplify. + + 2002-10-06 Frank Ch. Eigler + + * cppinit.c (init_standard_includes, parse_option): Use strncmp. + + 2002-10-05 Jakub Jelinek + + * gcc.c (set_multilib_dir): Don't access *end. + Use memcpy instead of strncpy. Don't write beyond malloced buffer. + (print_multilib_info): Don't show paths starting with ".:". + * genmultilib: Add new option, "yes" if multilibs are enabled. + Update comments. If multilibs not enabled, print .:${osdirout} + for each directory. If multilibs are enabled, always print + ${dirout}:${osdirout}, even if the two are the same. + * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib. + Pass all MULTILIB_* variables to genmultilib even if + --disable-multilib but MULTILIB_OSDIRNAMES is not empty. + + * gcc.c (print_multi_os_directory): New variable. + (option_map): Support --print-multi-os-directory. + (struct prefix_list): Add os_multilib field. + (multilib_os_dir): New variable. + (static_specs): Add multilib_options. + (find_a_file): Add multilib argument. Search in GCC or OS multilib + subdirs if non-zero. + (read_specs, execute): Update callers. + (find_file): Likewise. Don't prefix name with multilib_dir, instead + pass 1 as multilib option. + (display_help): Include --print-multi-os-directory. + (add_prefix): Add os_multilib argument. Initialize pl->os_multilib. + (process_command): Update callers. Handle --print-multi-os-directory. + (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is + set. + (main): Update find_a_file and add_prefix callers. + Handle print_multi_os_directory. + (struct mdswitchstr): New. + (mdswitches, n_mdswitches): New variables. + (used_arg): Add MULTILIB_DEFAULT switches too if they are not + present on the command line nor their mutually incompatible + switches. + (default_arg): Optimize. + (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches + array. + (print_multilib_info): Only print GCC multilib dir name, not OS + multilib dirname. + * genmultilib: Add osdirnames parameter. Output multilib_options + variable. If osdirnames is specified, output dirnames as + dirname:osdirname. + * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory + and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES + to compute libgcc_s soname and install path. + * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of + SHLIB_SLIBDIR_SUFFIXES to mklibgcc. + (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib + argument. + + * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set. + (SHLIB_SLIBDIR_SUFFIXES): Remove. + * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64, + ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove. + (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32 + and -m64. + * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set. + (SHLIB_SLIBDIR_SUFFIXES): Remove. + * config/sparc/sol2-bi.h (STARTFILE_SPEC32, STARTFILE_SPEC64): Remove. + (STARTFILE_ARCH_SPEC): Remove. + (STARTFILE_SPEC): Add values-X*.o here. + * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set. + (SHLIB_SLIBDIR_SUFFIXES): Remove. + * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove. + (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between m32 and + !m32. + * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set. + (SHLIB_SLIBDIR_SUFFIXES): Remove. + + 2002-10-05 Neil Booth + + PR preprocessor/8120 + * doc/cpp.texi: Update documentation of bad use of ##. + + Thu Oct 3 23:15:15 CEST 2002 Jan Hubicka + + * i386.h (CPP_SPECS): fix defines for -msse, -msse2, -mpentium2,3. + + Thu Oct 3 21:35:36 CEST 2002 Jan Hubicka + + * toplev.c (rest_of_compilation): Dump loops before clobbering + the structure. + + * expr.c (force_operand): Use expand_simple_* to handle more + cases. + + * i386.c (q_regs_operand): Use ANY_QI_REG_P. + + * i386.c (override_options): Fix stack alignment. + (classify_argument): Handle variable sized types. + (ix86_expand_int_movcc): Avoid RTL sharing problem. + + * i386.md (prefetch_sse_rex, prefetch_3dnow_rex): New. + (prefetch): Properly handle 64bit case. + + * i386.c (classify_argument): Properly compute word size of the analyzed object. + + * jump.c (reg_or_subregno): New function. + * rtl.h (reg_or_subregno): Declare + * unroll.c (find_splittable_givs): Handle subregs. + + Richard Sandiford : + + * expr.c (force_operand): Fix reversed move. + + Andreas Jaeger : + + * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): New. + + Janis Johnson : + + * loop.c (emit_prefetch_instructions): Several small fixes. + + Thu Sep 5 00:34:33 2002 J"orn Rennecke + + * loop.c (scan_loop): Don't mark separate insns out of a libcall + for moving. + (move_movables): Abort if we see the first insn of a libcall. + + 2002-10-01 David S. Miller + + PR middle-end/7151 + * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs. + (movdi reg/reg split): Match only on sparc32, and v9 when int regs. + + 2002-10-01 David S. Miller + Jan Hubicka + + * reload1.c (gen_reload:SECONDARY_MEMORY_NEEDED): Handle SUBREG. + * reload.c (push_reload:SECONDARY_MEMORY_NEEDED): Likewise. + + 2002-09-30 Bob Wilson + + * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS): + Add new RL_REGS register class. + (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS): + Call xtensa_preferred_reload_class for both input and output reloads. + * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class. + (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS + instead of either AR_REGS or GR_REGS classes. + (xtensa_secondary_reload_class): Use new RL_REGS class. + * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update. + + 2002-08-21 John David Anglin + + * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value. + + 2002-08-20 John David Anglin + + * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal + at head. + (remove_dup_nonsys_dirs): New function. + (remove_dup_dirs): Change argument head to head_ptr. Remove warnings. + (merge_include_chains): Remove non-system include directories from + quote and bracket include chains when they duplicate equivalent system + directories. + * doc/cpp.texi (-I): Update. + * doc/cppopts.texi (-I): Update. + * doc/install.texi (--with-local-prefix): Further document usage of + this option. + * doc/invoke.texi (-I): Update. + + 2002-09-30 Richard Earnshaw + + * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb. + (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know + that we have a SImode access, and only then if reload hasn't completed; + for all other cases, use LO_REGS. + + 2002-09-29 David S. Miller + + * config/sparc/linux64.h (STARTFILE_SPEC32, ENDFILE_SPEC32): Kill + hardcoded paths. + + 2002-09-27 Alexander N. Kabaev + + PR preprocessor/8055 + * cppmacro.c (stringify_arg): Do not overflow the buffer + with the terminating NUL when the argument to be stringified + has no tokens. + + 2002-09-26 David S. Miller + + PR optimization/7335 + * calls.c (emit_library_call_value_1): Passing args by reference + converts a CONST function into a PURE one. + + 2002-09-26 Richard Henderson + + PR c/7160 + * sched-deps.c (sched_analyze_insn): Make clobber insns depend + on call insns. + + 2002-09-27 Alan Modra + + * doloop.c (doloop_modify_runtime ): Adjust + by absolute loop increment, not loop increment. + + 2002-09-25 David S. Miller + + PR target/7842 + * config/sparc/sparc.c (set_extends): SImode ASHIFT does not + extend. + + 2002-09-20 Jeroen Dobbelaere + + * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit): + Add clobber of the condition code register. + + 2002-09-18 Richard Earnshaw (rearnsha@arm.com) + + PR optimization/7967 + * arm.md (ne_zeroextractsi): Add clobber of the condition code + register. + + 2002-09-17 Richard Henderson + + * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove + RTX_UNCHANGING_P markers for successful tail-recursive replacement. + + 2002-09-16 Richard Henderson + + PR opt/7515 + * c-objc-common.c (c_cannot_inline_tree_fn): Don't auto-inline + functions that don't bind locally. + + 2002-09-17 Alan Modra + + Merge from mainline. + 2002-07-20 Alan Modra + PR optimization/7130 + * loop.h (struct loop_info): Add "preconditioned". + * unroll.c (unroll_loop): Set it. + * doloop.c (doloop_modify_runtime): Correct count for unrolled loops. + + 2002-06-24 Alan Modra + PR optimization/6984 + * doloop.c (doloop_valid_p): Correct comment. + (doloop_modify_runtime ): Simplify. + (doloop_modify_runtime ): Don't emit code when NE. + + 2002-09-16 Jeff Law + + * libgcc2.c: Do not include machmode.h. + + 2002-09-16 Jason Merrill + Danny Smith + + * config/i386/winnt.c (ix86_handle_dll_attribute): Set + DECL_EXTERN and TREE_PUBLIC for dllimported variables here... + (i386_pe_mark_dllimport): Not here. + + 2002-09-14 Stephane Carrez + + * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable + memory operand when source is 0 (K constraint). + ("movsi_internal"): Likewise. + ("movdf_internal"): Likewise. + ("movsf_internal"): Likewise. + + 2002-09-14 Alan Modra + + Merge from mainline. + 2002-09-14 Alan Modra + * doc/tm.texi (DBX_OUTPUT_NFUN): Describe. + * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN. + * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define. + + 2002-08-27 David Edelsohn + * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define. + + 2002-08-02 Alan Modra + * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define. + (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define. + * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when + HOST_BITS_PER_WIDE_INT == 64. + + 2002-07-27 Alan Modra + * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile + label reference when NO_PROFILE_COUNTERS. + + 2002-07-11 Alan Modra + * config/rs6000/linux64.h (ASM_SPEC): Define. + + 2002-09-13 Alan Modra + + Merge from mainline. + 2002-07-24 Alan Modra + PR c/7150, target/7380 + * config/rs6000/rs6000.md: Remove scratch reg on insns using + addze and similar (plus (comparison r1 r2) r3) insns. Add + missing scratch reg in one case. Formatting fixes. + + 2002-07-18 Alan Modra + PR other/7114, target/5967 + * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus + adjustments to first_reg for profiling case. + (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC. + Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC. + Save static chain reg to sp + 12 on ABI_AIX_NODESC. + * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define. + (ASM_OUTPUT_REG_POP): Define. + * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef. + (ASM_OUTPUT_REG_POP): Undef. + + 2002-06-30 Alan Modra + PR optimization/7120 + * unroll.c (loop_iterations): Handle EQ loops. + + 2002-09-13 Alan Modra + + * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if" + nesting. Correct test for non-PowerPC64 ELF ABI_AIX. + * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX. + + 2002-09-12 Janis Johnson + + * doc/compat.texi: New file with new chapter, Binary Compatibility. + + 2002-09-12 Jason Merrill + + * calls.c (store_one_arg): Use size_in_bytes to determine the + amount of space to push. + + 2002-09-12 Jakub Jelinek + + * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo. + + 2002-09-12 Alan Modra + + * emit-rtl.c (set_mem_size): New function. + * expr.h (set_mem_size): Declare. + * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate. + (expand_block_move): Instead, use adjust_address and + replace_equiv_address to generate proper aliasing info. + Move common code out of conditionals. Localize vars. + + 2002-09-11 Alexander Kabaev + + Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka + * loop.c (canonicalize_condition): Use gen_int_mode. + + 2002-09-11 Janis Johnson + + * Makefile.in (TEXI_GCC_FILES): Add compat.texi. + * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and + include its file, compat.texi. + * doc/trouble.texi (Interoperation): Update information about C++ ABI + issues. + * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options. + (-fpcc-struct-return, -freg-struct-return, -fshort-enums, + -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore): + Warn that these options can break ABI compatibility. + (Many places): Fix overfull hboxes. + + * doc/extend.texi: Fix a broken link; fix overfull hboxes. + * doc/install.texi: Fix a typo, some formatting directives, and + overfull hboxes. + * doc/c-tree.texi: Fix overfull hboxes. + * doc/cppopts.texi: Ditto. + * doc/makefile.texi: Ditto. + * doc/rtl.texi: Ditto. + * doc/standards.texi: Ditto. + * doc/tm.texi: Ditto. + + 2002-09-08 Alan Modra + + * reload.c (find_reloads

    ): Pass operand_mode to + find_reloads_address. + + 2002-09-07 Scott Snyder + + PR target/7374 + * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'. + + 2002-09-07 Glen Nakamura + + PR opt/7814 + * sched-deps.c (sched_analyze_insn): Make sure to add insn + to reg_last->sets after flushing the dependency lists to guarantee + that subsequent clobbers will be dependent on it. + + 2002-09-07 Alan Modra + + * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. + + 2002-09-06 Jakub Jelinek + + * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9 + unconditionally when gcc_cv_as_flags64 checks are gone. + * configure: Rebuilt. + + 2002-09-04 Eric Botcazou + + PR c/7102 + * optabs.c (expand_binop): Convert CONST_INTs in all cases. + + 2002-09-04 Jason Thorpe + + * config/sparc/t-netbsd64: Disable multilib for now. + + 2002-09-01 Alexandre Oliva + + * c-tree.h (skip_evaluation): Move declaration... + * c-common.h: ... here. + * c-typeck.c (build_external_ref): Don't assemble_external nor + mark a tree as used if skip_evaluation is set. + * c-parse.in (typeof): New non-terminal to set skip_evaluation + around TYPEOF. + (typespec_nonreserved_nonattr): Use it. + + 2002-09-01 Marek Michalkiewicz + + 2002-08-13 Denis Chertykov + * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles + which can change CC0. + + 2002-08-29 Rodney Brown + + * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual + memory exhausted" workarounds. + + 2002-08-29 John David Anglin + + * install.texi (hppa64-hp-hpux11*): Document installation procedure. + + 2002-08-28 Jason Merrill + + * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is + a VAR_DECL with RTL that matches the target, just return that RTL. + + 2002-08-28 Daniel Berlin + + * tree-inline.c (expand_call_inline): Make the statement + expression we generate have a COMPOUND_STMT. + + 2002-08-27 Mark Mitchell + + * doc/invoke.texi: Document -Wabi. + + 2002-08-23 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_select_section): Treat + DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly + default. + (rs6000_unique_section): Likewise. + + 2002-08-22 Jason Merrill + + * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro. + * langhooks.c (lhd_expr_size): Define default. + * langhooks.h (struct lang_hooks): Add expr_size. + * explow.c (expr_size): Call it. + (int_expr_size): New fn. + * expr.h: Declare it. + * expr.c (expand_expr) [CONSTRUCTOR]: Use it to calculate how + much to store. + + 2002-08-23 Alan Modra + + * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns + for loading delta with num_insns_constant_wide. Calculate + delta_low, delta_high without using a conditional. + + 2002-08-20 Andreas Jaeger + + Merge from trunk: + Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka + + * i386.md (prefetch): Fix for 64bit mode. + (prefetch_sse_rex, prefetch_3dnow_rex): New patterns. + + 2002-08-11 Andreas Jaeger + PR target/7531: + * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel. + + 2002-06-24 Jeff Law + + * flow.c (propagate_one_insn): When removing an insn + with a REG_LIBCALL note but not the entire libcall sequence, + delete the associated REG_RETVAL note. + + 2002-06-04 Jeff Law + Michael Matz + + * sched-int.h (struct deps): New field libcall_block_tail_insn. + * sched_deps.c (init_deps): Initialize libcall_block_tail_insn. + * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn + is set, then mark the current insn as being part of a libcall + scheduling group. + (sched_analyze): Set and clear libcall_block_tail_insn appropriately. + + * haifa-sched.c (schedule_block): Do not count USE or CLOBBER + insns against the issue rate. + + 2002-05-30 Jeff Law + + * flow.c (propagate_one_insn): Revise yesterday's patch. Delete + a dead insn with a REG_RETVAL note when the entire libcall is not + dead and remove the associated REG_LIBCALL note at the same time. + + 2002-05-29 Jeff Law + + * flow.c (propagate_one_insn): Do not remove a dead insn if it + contains a REG_RETVAL note. + + * haifa-sched (sched_analyze): Remove another useless clearing + of SCHED_GROUP_P I missed yesterday. + + 2002-05-28 David Edelsohn + Jeff Law + + * optabs.c (expand_binop): Fix nwords sign warnings. + generate pseudo for add_optab. + + * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P. + * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used. + + 2002-08-18 Neil Booth + + PR preprocessor/7602 + * cppinit.c (path_include): Treat the system environment + variables as being cxx_aware. + + 2002-08-16 David Edelsohn + + * collect2.c (is_ctor_dtor): Add other possible JOINER values. + + * config/rs6000/rs6000.c (output_mi_thunk): Return to function + section on TARGET_ELF. + + * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning. + (Binaries): Update Bull Freeware URL. + + 2002-08-15 Neil Booth + + PR preprocessor/7358 + PR preprocessor/7357 + PR preprocessor/7526 + * cppfiles.c (stack_include_file): Ignore main file if + appropriate. Correct test of whether a dependency should + be output. + * cppinit.c (init_dependency_output): Ignore main file + for SUNPRO_DEPENDENCIES. + (struct lang_flags): Rename trigraphs std. + (set_lang): Update. + * cpplib.c (run_directive): Kludge so _Pragma dependency works. + * cpplib.h (struct cpp_options): New members. + * cppmacro.c (collect_args): Flag whether to swallow a possible + future comma pasted with varargs. + (replace_args): Use this flag. + * doc/cpp.texi: Update varargs extension documentation. + * doc/cppenv.texi: Update. + 2002-08-14 Release Manager * GCC 3.2 Released. *************** *** 105,111 **** instead of gen_rtx_SUBREG. (arm_reload_out_hi): Use gen_lowpart instead of gen_rtx_SUBREG to access QImode components. ! * config/arm/arm.md: Disable zero_extend split for QImode subregs in BIG_ENDIAN mode. (storehi_bigend): Match use of least significant byte. (storeinthi): Remove extraneous SUBREG. --- 1103,1109 ---- instead of gen_rtx_SUBREG. (arm_reload_out_hi): Use gen_lowpart instead of gen_rtx_SUBREG to access QImode components. ! * config/arm/arm.md: Disable zero_extend split for QImode subregs in BIG_ENDIAN mode. (storehi_bigend): Match use of least significant byte. (storeinthi): Remove extraneous SUBREG. *************** *** 191,197 **** * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating QI mode registers in soft registers. ! ("zero_extendqihi2"): Do not take into account soft registers for register allocation (use '*' constraint). 2002-07-05 Stephane Carrez --- 1189,1195 ---- * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating QI mode registers in soft registers. ! ("zero_extendqihi2"): Do not take into account soft registers for register allocation (use '*' constraint). 2002-07-05 Stephane Carrez *************** *** 212,218 **** * dwarfout.c (output_reg_number): Fix warning message. (output_bound_representation): Check SAVE_EXPR_RTL is not NULL before using it. ! 2002-07-03 Richard Henderson * config/i386/i386.md (prologue_get_pc): Issue pop here ... --- 1210,1216 ---- * dwarfout.c (output_reg_number): Fix warning message. (output_bound_representation): Check SAVE_EXPR_RTL is not NULL before using it. ! 2002-07-03 Richard Henderson * config/i386/i386.md (prologue_get_pc): Issue pop here ... *************** *** 255,261 **** * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to avoid the auto increment addressing modes. ("*subsi3"): Likewise. ! (split for add/sub on address): For 68HC12 push the value on the stack and do the operation with a pop. 2002-06-28 Stephane Carrez --- 1253,1259 ---- * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to avoid the auto increment addressing modes. ("*subsi3"): Likewise. ! (split for add/sub on address): For 68HC12 push the value on the stack and do the operation with a pop. 2002-06-28 Stephane Carrez *************** *** 302,308 **** * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Pass flag_function_sections as new 3rd arg to resolve_unique_section. ! 2002-06-27 Neil Booth PR preprocessor/7070 --- 1300,1306 ---- * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Pass flag_function_sections as new 3rd arg to resolve_unique_section. ! 2002-06-27 Neil Booth PR preprocessor/7070 *************** *** 318,324 **** * doc/install.texi: Change ` bit' to `-bit'. * doc/md.texi: Change `-bits' to `-bit'. * doc/tm.texi: Change `-bits' to ` bits'. ! 2002-06-24 David S. Miller * config/sparc/sparc.h (INIT_TARGET_OPTABS): If ARCH64, set the --- 1316,1322 ---- * doc/install.texi: Change ` bit' to `-bit'. * doc/md.texi: Change `-bits' to `-bit'. * doc/tm.texi: Change `-bits' to ` bits'. ! 2002-06-24 David S. Miller * config/sparc/sparc.h (INIT_TARGET_OPTABS): If ARCH64, set the diff -Nrc3pad gcc-3.2/gcc/Makefile.in gcc-3.2.1/gcc/Makefile.in *** gcc-3.2/gcc/Makefile.in Thu May 23 17:57:21 2002 --- gcc-3.2.1/gcc/Makefile.in Mon Oct 14 21:04:16 2002 *************** libgcc.mk: config.status Makefile mklibg *** 1003,1009 **** SHLIB_MKMAP_OPTS='$(SHLIB_MKMAP_OPTS)' \ SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \ SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \ ! SHLIB_SLIBDIR_SUFFIXES='$(SHLIB_SLIBDIR_SUFFIXES)' \ mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \ $(SHELL) mklibgcc > tmp-libgcc.mk mv tmp-libgcc.mk libgcc.mk --- 1003,1009 ---- SHLIB_MKMAP_OPTS='$(SHLIB_MKMAP_OPTS)' \ SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \ SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \ ! MULTILIB_OSDIRNAMES='$(MULTILIB_OSDIRNAMES)' \ mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \ $(SHELL) mklibgcc > tmp-libgcc.mk mv tmp-libgcc.mk libgcc.mk *************** libgcc.a: $(LIBGCC_DEPS) *** 1037,1043 **** # switches. multilib.h: s-mlib; @true s-mlib: $(srcdir)/genmultilib Makefile ! if test @enable_multilib@ = yes; then \ $(SHELL) $(srcdir)/genmultilib \ "$(MULTILIB_OPTIONS)" \ "$(MULTILIB_DIRNAMES)" \ --- 1037,1044 ---- # switches. multilib.h: s-mlib; @true s-mlib: $(srcdir)/genmultilib Makefile ! if test @enable_multilib@ = yes \ ! || test -n "$(MULTILIB_OSDIRNAMES)"; then \ $(SHELL) $(srcdir)/genmultilib \ "$(MULTILIB_OPTIONS)" \ "$(MULTILIB_DIRNAMES)" \ *************** s-mlib: $(srcdir)/genmultilib Makefile *** 1045,1053 **** "$(MULTILIB_EXCEPTIONS)" \ "$(MULTILIB_EXTRA_OPTS)" \ "$(MULTILIB_EXCLUSIONS)" \ > tmp-mlib.h; \ else \ ! $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' > tmp-mlib.h; \ fi $(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h $(STAMP) s-mlib --- 1046,1057 ---- "$(MULTILIB_EXCEPTIONS)" \ "$(MULTILIB_EXTRA_OPTS)" \ "$(MULTILIB_EXCLUSIONS)" \ + "$(MULTILIB_OSDIRNAMES)" \ + "@enable_multilib@" \ > tmp-mlib.h; \ else \ ! $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' no \ ! > tmp-mlib.h; \ fi $(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h $(STAMP) s-mlib *************** varasm.o : varasm.c $(CONFIG_H) $(SYSTEM *** 1379,1385 **** $(HASHTAB_H) $(TARGET_H) langhooks.h function.o : function.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \ function.h $(EXPR_H) libfuncs.h $(REGS_H) hard-reg-set.h \ ! insn-config.h $(RECOG_H) output.h toplev.h except.h hash.h $(GGC_H) $(TM_P_H) stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h function.h \ insn-config.h hard-reg-set.h $(EXPR_H) libfuncs.h except.h \ $(LOOP_H) $(RECOG_H) toplev.h output.h varray.h $(GGC_H) $(TM_P_H) --- 1383,1390 ---- $(HASHTAB_H) $(TARGET_H) langhooks.h function.o : function.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \ function.h $(EXPR_H) libfuncs.h $(REGS_H) hard-reg-set.h \ ! insn-config.h $(RECOG_H) output.h toplev.h except.h hash.h $(GGC_H) \ ! $(TM_P_H) langhooks.h stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h function.h \ insn-config.h hard-reg-set.h $(EXPR_H) libfuncs.h except.h \ $(LOOP_H) $(RECOG_H) toplev.h output.h varray.h $(GGC_H) $(TM_P_H) *************** $(docdir)/gcc.info: $(docdir)/gcc.texi $ *** 2273,2279 **** $(docdir)/invoke.texi $(docdir)/extend.texi $(docdir)/md.texi \ $(docdir)/objc.texi $(docdir)/gcov.texi $(docdir)/trouble.texi \ $(docdir)/bugreport.texi $(docdir)/service.texi \ ! $(docdir)/contribute.texi $(docdir)/vms.texi \ $(docdir)/include/funding.texi $(docdir)/gnu.texi \ $(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \ $(docdir)/contrib.texi $(docdir)/cppenv.texi $(docdir)/cppopts.texi --- 2278,2284 ---- $(docdir)/invoke.texi $(docdir)/extend.texi $(docdir)/md.texi \ $(docdir)/objc.texi $(docdir)/gcov.texi $(docdir)/trouble.texi \ $(docdir)/bugreport.texi $(docdir)/service.texi \ ! $(docdir)/contribute.texi $(docdir)/vms.texi $(docdir)/compat.texi \ $(docdir)/include/funding.texi $(docdir)/gnu.texi \ $(docdir)/include/gpl.texi $(docdir)/include/fdl.texi \ $(docdir)/contrib.texi $(docdir)/cppenv.texi $(docdir)/cppopts.texi diff -Nrc3pad gcc-3.2/gcc/NEWS gcc-3.2.1/gcc/NEWS *** gcc-3.2/gcc/NEWS Wed Aug 14 09:31:23 2002 --- gcc-3.2.1/gcc/NEWS Tue Nov 19 18:12:06 2002 *************** http://gcc.gnu.org/gcc-3.2/index.html *** 9,47 **** GCC 3.2 ! August 14, 2002 The [1]GNU project and the GCC developers are pleased to announce the release of GCC 3.2. GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [2]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have ! contributed [3]new features, improvements, bug fixes, and other ! changes as well as test results to GCC. This [4]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [5]GCC ! project web site or contact the [6]GCC development mailing list. ! To obtain GCC please use [7]our mirror sites, one of the [8]GNU mirror ! sites, or [9]our CVS server. _________________________________________________________________ _________________________________________________________________ ! Please send FSF & GNU inquiries & questions to [10]gnu@gnu.org. There ! are also [11]other ways to contact the FSF. ! These pages are maintained by [12]The GCC team. ! Please send comments on these web pages and GCC to [13]gcc@gnu.org ! or [14]gcc@gcc.gnu.org, send other questions to [15]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 9,55 ---- GCC 3.2 ! November 19, 2002 The [1]GNU project and the GCC developers are pleased to announce the + release of GCC 3.2.1. + + The links below still apply to GCC 3.2.1. + + August 14, 2002 + + The [2]GNU project and the GCC developers are pleased to announce the release of GCC 3.2. GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [3]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have ! contributed [4]new features, improvements, bug fixes, and other ! changes as well as test results to GCC. This [5]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [6]GCC ! project web site or contact the [7]GCC development mailing list. ! To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror ! sites, or [10]our CVS server. _________________________________________________________________ _________________________________________________________________ ! Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There ! are also [12]other ways to contact the FSF. ! These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other ! questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-3.2/index.html *** 49,87 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-08-14 [16]Valid XHTML 1.0 References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-3.2/buildstat.html ! 3. http://gcc.gnu.org/gcc-3.2/changes.html ! 4. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 5. http://gcc.gnu.org/index.html ! 6. mailto:gcc@gcc.gnu.org ! 7. http://gcc.gnu.org/mirrors.html ! 8. http://www.gnu.org/order/ftp.html ! 9. http://gcc.gnu.org/cvs.html ! 10. mailto:gnu@gnu.org ! 11. http://www.gnu.org/home.html#ContactInfo ! 12. http://gcc.gnu.org/about.html ! 13. mailto:gcc@gnu.org ! 14. mailto:gcc@gcc.gnu.org ! 15. mailto:gnu@gnu.org ! 16. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html ! GCC 3.2 Changes, New Features, and Fixes ! Relase Notes ! See [1]this message for a list of bugs fixed in this released. Caveats * This GCC release is based on the GCC 3.1 sourcebase, and thus has ! all the [2]changes in the GCC 3.1 series. In addition, GCC 3.2 has a number of C++ ABI fixes which make its C++ compiler generate binary code which is incompatible with the C++ compilers found in earlier GCC releases, including GCC 3.1 and GCC 3.1.1. --- 57,144 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-18 [17]Valid XHTML 1.0 References 1. http://www.gnu.org/ ! 2. http://www.gnu.org/ ! 3. http://gcc.gnu.org/gcc-3.2/buildstat.html ! 4. http://gcc.gnu.org/gcc-3.2/changes.html ! 5. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 6. http://gcc.gnu.org/index.html ! 7. mailto:gcc@gcc.gnu.org ! 8. http://gcc.gnu.org/mirrors.html ! 9. http://www.gnu.org/order/ftp.html ! 10. http://gcc.gnu.org/cvs.html ! 11. mailto:gnu@gnu.org ! 12. http://www.gnu.org/home.html#ContactInfo ! 13. http://gcc.gnu.org/about.html ! 14. mailto:gcc@gnu.org ! 15. mailto:gcc@gcc.gnu.org ! 16. mailto:gnu@gnu.org ! 17. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html ! Changes in GCC 3.2.1 ! C/C++/Objective-C ! * The method of constructing the list of directories to be searched ! for header files has been revised. If a directory named by a -I ! option is a standard system include directory, the option is ! ignored to ensure that the default search order for system ! directories and the special treatment of system header files are ! not defeated. ! * The C and Objective-C compilers no longer accept the "Naming ! Types" extension (typedef foo = bar); it was already unavailable ! in C++. Code which uses it will need to be changed to use the ! "typeof" extension instead: typedef typeof(bar) foo. (We have ! removed this extension without a period of deprecation because it ! has caused the compiler to crash since version 3.0 and no one ! noticed until very recently. Thus we conclude it is not in ! widespread use.) ! ! New Targets and Target Specific Improvements ! ! IA-32 ! ! * Fixed a number of bugs in SSE and MMX intrinsics. ! * Fixed common compiler crashes with SSE instruction set enabled ! (implied by -march=pentium3, pentium4, athlon-xp) ! * __m128 and __m128i is not 128bit aligned when used in structures. ! ! x86-64 ! ! * A bug whereby the compiler could generate bad code for bzero has ! been fixed. ! * ABI fixes (implying ABI incompatibilities with previous version in ! some corner cases) ! * Fixed prefetch code generation ! ! Bug Fixes ! ! See [1]this message for a list of bugs fixed in this release. ! ! Changes in GCC 3.2 ! ! Bug Fixes ! ! See [2]this message for a list of bugs fixed in this release. Caveats + * The C++ compiler does not correctly zero-initialize + pointers-to-data members. You must explicitly initialize them. For + example: + int S::*m(0); + + will work, but depending on default-initialization to zero will + not work. This bug cannot be fixed in GCC 3.2 without inducing + unacceptable risks. It will be fixed in GCC 3.3. * This GCC release is based on the GCC 3.1 sourcebase, and thus has ! all the [3]changes in the GCC 3.1 series. In addition, GCC 3.2 has a number of C++ ABI fixes which make its C++ compiler generate binary code which is incompatible with the C++ compilers found in earlier GCC releases, including GCC 3.1 and GCC 3.1.1. *************** New Languages and Language specific impr *** 99,123 **** they are necessary for correct compilation of C++, as opposed to conformance to the ABI documents. * For details on how to build an ABI compliant compiler for ! GNU/Linux systems, check the [3]common C++ ABI page. ! ! New Targets and Target Specific Improvements ! ! x86-64 ! ! * A bug whereby the complier could generated bad code for bzero has ! been fixed. ! * _________________________________________________________________ ! Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There ! are also [5]other ways to contact the FSF. ! These pages are maintained by [6]The GCC team. ! Please send comments on these web pages and GCC to [7]gcc@gnu.org or ! [8]gcc@gcc.gnu.org, send other questions to [9]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 156,173 ---- they are necessary for correct compilation of C++, as opposed to conformance to the ABI documents. * For details on how to build an ABI compliant compiler for ! GNU/Linux systems, check the [4]common C++ ABI page. _________________________________________________________________ ! Please send FSF & GNU inquiries & questions to [5]gnu@gnu.org. There ! are also [6]other ways to contact the FSF. ! These pages are maintained by [7]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [8]gcc@gnu.org or [9]gcc@gcc.gnu.org, send other ! questions to [10]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** New Targets and Target Specific Improvem *** 125,144 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-08-14 [10]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/ml/gcc/2002-08/msg00405.html ! 2. http://gcc.gnu.org/gcc-3.1/changes.html ! 3. http://gcc.gnu.org/gcc-3.2/c++-abi.html ! 4. mailto:gnu@gnu.org ! 5. http://www.gnu.org/home.html#ContactInfo ! 6. http://gcc.gnu.org/about.html ! 7. mailto:gcc@gnu.org ! 8. mailto:gcc@gcc.gnu.org ! 9. mailto:gnu@gnu.org ! 10. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html --- 175,195 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-18 [11]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/ml/gcc/2002-11/msg00445.html ! 2. http://gcc.gnu.org/ml/gcc/2002-08/msg00405.html ! 3. http://gcc.gnu.org/gcc-3.1/changes.html ! 4. http://gcc.gnu.org/gcc-3.2/c++-abi.html ! 5. mailto:gnu@gnu.org ! 6. http://www.gnu.org/home.html#ContactInfo ! 7. http://gcc.gnu.org/about.html ! 8. mailto:gcc@gnu.org ! 9. mailto:gcc@gcc.gnu.org ! 10. mailto:gnu@gnu.org ! 11. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html *************** http://gcc.gnu.org/gcc-3.1/index.html *** 182,189 **** These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to [14]gcc@gnu.org ! or [15]gcc@gcc.gnu.org, send other questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 233,241 ---- These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other ! questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-3.1/index.html *** 191,197 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-28 [17]Valid XHTML 1.0 References --- 243,249 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [17]Valid XHTML 1.0 References *************** Documentation improvements *** 544,551 **** These pages are maintained by [21]The GCC team. ! Please send comments on these web pages and GCC to [22]gcc@gnu.org ! or [23]gcc@gcc.gnu.org, send other questions to [24]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 596,604 ---- These pages are maintained by [21]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [22]gcc@gnu.org or [23]gcc@gcc.gnu.org, send other ! questions to [24]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Documentation improvements *** 553,559 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-26 [25]Valid XHTML 1.0 References --- 606,612 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [25]Valid XHTML 1.0 References *************** References *** 565,571 **** 6. http://www.codesourcery.com/ 7. http://gcc.gnu.org/gcc-3.1/c99status.html 8. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1 ! 9. http://gcc.gnu.org/onlinedocs/g77_news.html 10. http://www.gnat.com/ 11. http://www-cs-faculty.stanford.edu/~knuth/mmix.html 12. http://www.axis.com/ --- 618,624 ---- 6. http://www.codesourcery.com/ 7. http://gcc.gnu.org/gcc-3.1/c99status.html 8. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1 ! 9. http://gcc.gnu.org/onlinedocs/g77/News.html 10. http://www.gnat.com/ 11. http://www-cs-faculty.stanford.edu/~knuth/mmix.html 12. http://www.axis.com/ *************** Previous 3.0.x Releases *** 632,639 **** These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to [14]gcc@gnu.org ! or [15]gcc@gcc.gnu.org, send other questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 685,693 ---- These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other ! questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Previous 3.0.x Releases *** 641,647 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [17]Valid XHTML 1.0 References --- 695,701 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [17]Valid XHTML 1.0 References *************** Other significant improvements *** 832,839 **** These pages are maintained by [16]The GCC team. ! Please send comments on these web pages and GCC to [17]gcc@gnu.org ! or [18]gcc@gcc.gnu.org, send other questions to [19]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 886,894 ---- These pages are maintained by [16]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org, send other ! questions to [19]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Other significant improvements *** 841,847 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [20]Valid XHTML 1.0 References --- 896,902 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [20]Valid XHTML 1.0 References *************** References *** 855,861 **** 8. http://gcc.gnu.org/news/inlining.html 9. http://gcc.gnu.org/news/dependencies.html 10. http://gcc.gnu.org/gcc-3.0/c99status.html ! 11. http://gcc.gnu.org/onlinedocs/g77_news.html 12. http://gcc.gnu.org/gcc-3.0/libgcc.html 13. http://gcc.gnu.org/gcc-2.95/features.html 14. mailto:gnu@gnu.org --- 910,916 ---- 8. http://gcc.gnu.org/news/inlining.html 9. http://gcc.gnu.org/news/dependencies.html 10. http://gcc.gnu.org/gcc-3.0/c99status.html ! 11. http://gcc.gnu.org/onlinedocs/g77/News.html 12. http://gcc.gnu.org/gcc-3.0/libgcc.html 13. http://gcc.gnu.org/gcc-2.95/features.html 14. mailto:gnu@gnu.org *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 910,917 **** These pages are maintained by [6]The GCC team. ! Please send comments on these web pages and GCC to [7]gcc@gnu.org or ! [8]gcc@gcc.gnu.org, send other questions to [9]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 965,973 ---- These pages are maintained by [6]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other ! questions to [9]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 919,925 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-08-14 [10]Valid XHTML 1.0 References --- 975,981 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [10]Valid XHTML 1.0 References *************** http://gcc.gnu.org/gcc-2.95/index.html *** 988,995 **** These pages are maintained by [15]The GCC team. ! Please send comments on these web pages and GCC to [16]gcc@gnu.org ! or [17]gcc@gcc.gnu.org, send other questions to [18]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1044,1052 ---- These pages are maintained by [15]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other ! questions to [18]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-2.95/index.html *** 997,1003 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [19]Valid XHTML 1.0 References --- 1054,1060 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [19]Valid XHTML 1.0 References *************** Additional Changes in GCC 2.95.3 *** 1261,1268 **** These pages are maintained by [20]The GCC team. ! Please send comments on these web pages and GCC to [21]gcc@gnu.org ! or [22]gcc@gcc.gnu.org, send other questions to [23]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1318,1326 ---- These pages are maintained by [20]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [21]gcc@gnu.org or [22]gcc@gcc.gnu.org, send other ! questions to [23]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Additional Changes in GCC 2.95.3 *** 1270,1276 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [24]Valid XHTML 1.0 References --- 1328,1334 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [24]Valid XHTML 1.0 References *************** References *** 1283,1289 **** 7. http://gcc.gnu.org/news/alias.html 8. http://gcc.gnu.org/fom_serv/cache/24.html 9. http://gcc.gnu.org/gcc-2.95/c++features.html ! 10. http://gcc.gnu.org/onlinedocs/g77_news.html 11. http://gcc.gnu.org/java/gcj-announce.txt 12. http://gcc.gnu.org/news/javaannounce.html 13. http://gcc.gnu.org/c99status.html --- 1341,1347 ---- 7. http://gcc.gnu.org/news/alias.html 8. http://gcc.gnu.org/fom_serv/cache/24.html 9. http://gcc.gnu.org/gcc-2.95/c++features.html ! 10. http://gcc.gnu.org/onlinedocs/g77/News.html 11. http://gcc.gnu.org/java/gcj-announce.txt 12. http://gcc.gnu.org/news/javaannounce.html 13. http://gcc.gnu.org/c99status.html *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 1350,1357 **** These pages are maintained by [6]The GCC team. ! Please send comments on these web pages and GCC to [7]gcc@gnu.org or ! [8]gcc@gcc.gnu.org, send other questions to [9]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1408,1416 ---- These pages are maintained by [6]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other ! questions to [9]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 1359,1365 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [10]Valid XHTML 1.0 References --- 1418,1424 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [10]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.1/index.html *** 1578,1585 **** These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to [14]gcc@gnu.org ! or [15]gcc@gcc.gnu.org, send other questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1637,1645 ---- These pages are maintained by [13]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other ! questions to [16]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.1/index.html *** 1587,1593 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [17]Valid XHTML 1.0 References --- 1647,1653 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [17]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 1684,1691 **** These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to [9]gcc@gnu.org or ! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1744,1752 ---- These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 1693,1703 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [12]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/onlinedocs/g77_news.html 2. http://gcc.gnu.org/egcs-1.1/c++features.html 3. http://gcc.gnu.org/news/gcse.html 4. http://gcc.gnu.org/news/alias.html --- 1754,1764 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [12]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/onlinedocs/g77/News.html 2. http://gcc.gnu.org/egcs-1.1/c++features.html 3. http://gcc.gnu.org/news/gcse.html 4. http://gcc.gnu.org/news/alias.html *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 1744,1751 **** These pages are maintained by [4]The GCC team. ! Please send comments on these web pages and GCC to [5]gcc@gnu.org or ! [6]gcc@gcc.gnu.org, send other questions to [7]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1805,1813 ---- These pages are maintained by [4]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other ! questions to [7]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 1753,1759 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [8]Valid XHTML 1.0 References --- 1815,1821 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [8]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h *** 1848,1855 **** These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to [9]gcc@gnu.org or ! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 1910,1918 ---- These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h *** 1857,1863 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [12]Valid XHTML 1.0 References --- 1920,1926 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h *** 1987,1994 **** These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to [9]gcc@gnu.org or ! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2050,2058 ---- These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h *** 1996,2002 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [12]Valid XHTML 1.0 References --- 2060,2066 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h *** 2126,2133 **** These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to [9]gcc@gnu.org or ! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2190,2198 ---- These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h *** 2135,2141 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [12]Valid XHTML 1.0 References --- 2200,2206 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm *** 2222,2229 **** These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to [9]gcc@gnu.org or ! [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2287,2295 ---- These pages are maintained by [8]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other ! questions to [11]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm *** 2231,2237 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [12]Valid XHTML 1.0 References --- 2297,2303 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [12]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 2295,2302 **** These pages are maintained by [5]The GCC team. ! Please send comments on these web pages and GCC to [6]gcc@gnu.org or ! [7]gcc@gcc.gnu.org, send other questions to [8]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2361,2369 ---- These pages are maintained by [5]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [6]gcc@gnu.org or [7]gcc@gcc.gnu.org, send other ! questions to [8]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 2304,2310 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [9]Valid XHTML 1.0 References --- 2371,2377 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [9]Valid XHTML 1.0 References *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 2354,2361 **** These pages are maintained by [4]The GCC team. ! Please send comments on these web pages and GCC to [5]gcc@gnu.org or ! [6]gcc@gcc.gnu.org, send other questions to [7]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2421,2429 ---- These pages are maintained by [4]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other ! questions to [7]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 2363,2369 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-07-17 [8]Valid XHTML 1.0 References --- 2431,2437 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2002-11-11 [8]Valid XHTML 1.0 References diff -Nrc3pad gcc-3.2/gcc/alias.c gcc-3.2.1/gcc/alias.c *** gcc-3.2/gcc/alias.c Thu Jun 20 07:35:41 2002 --- gcc-3.2.1/gcc/alias.c Mon Oct 14 21:04:16 2002 *************** *** 1,5 **** /* Alias analysis for GNU C ! Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by John Carr (jfc@mit.edu). This file is part of GCC. --- 1,5 ---- /* Alias analysis for GNU C ! Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by John Carr (jfc@mit.edu). This file is part of GCC. *************** objects_must_conflict_p (t1, t2) *** 321,328 **** then they may not conflict. */ if ((t1 != 0 && readonly_fields_p (t1)) || (t2 != 0 && readonly_fields_p (t2)) ! || (t1 != 0 && TYPE_READONLY (t1)) ! || (t2 != 0 && TYPE_READONLY (t2))) return 0; /* If they are the same type, they must conflict. */ --- 321,328 ---- then they may not conflict. */ if ((t1 != 0 && readonly_fields_p (t1)) || (t2 != 0 && readonly_fields_p (t2)) ! || (t1 != 0 && lang_hooks.honor_readonly && TYPE_READONLY (t1)) ! || (t2 != 0 && lang_hooks.honor_readonly && TYPE_READONLY (t2))) return 0; /* If they are the same type, they must conflict. */ diff -Nrc3pad gcc-3.2/gcc/c-common.c gcc-3.2.1/gcc/c-common.c *** gcc-3.2/gcc/c-common.c Thu Jun 20 07:35:43 2002 --- gcc-3.2.1/gcc/c-common.c Wed Aug 28 21:17:12 2002 *************** c_expand_expr (exp, target, tmode, modif *** 3564,3569 **** --- 3564,3570 ---- tree rtl_expr; rtx result; bool preserve_result = false; + bool return_target = false; /* Since expand_expr_stmt calls free_temp_slots after every expression statement, we must call push_temp_slots here. *************** c_expand_expr (exp, target, tmode, modif *** 3591,3598 **** if (TREE_CODE (last) == SCOPE_STMT && TREE_CODE (expr) == EXPR_STMT) { ! TREE_ADDRESSABLE (expr) = 1; ! preserve_result = true; } } --- 3592,3611 ---- if (TREE_CODE (last) == SCOPE_STMT && TREE_CODE (expr) == EXPR_STMT) { ! if (target && TREE_CODE (EXPR_STMT_EXPR (expr)) == VAR_DECL ! && DECL_RTL_IF_SET (EXPR_STMT_EXPR (expr)) == target) ! /* If the last expression is a variable whose RTL is the ! same as our target, just return the target; if it ! isn't valid expanding the decl would produce different ! RTL, and store_expr would try to do a copy. */ ! return_target = true; ! else ! { ! /* Otherwise, note that we want the value from the last ! expression. */ ! TREE_ADDRESSABLE (expr) = 1; ! preserve_result = true; ! } } } *************** c_expand_expr (exp, target, tmode, modif *** 3600,3606 **** expand_end_stmt_expr (rtl_expr); result = expand_expr (rtl_expr, target, tmode, modifier); ! if (preserve_result && GET_CODE (result) == MEM) { if (GET_MODE (result) != BLKmode) result = copy_to_reg (result); --- 3613,3621 ---- expand_end_stmt_expr (rtl_expr); result = expand_expr (rtl_expr, target, tmode, modifier); ! if (return_target) ! result = target; ! else if (preserve_result && GET_CODE (result) == MEM) { if (GET_MODE (result) != BLKmode) result = copy_to_reg (result); diff -Nrc3pad gcc-3.2/gcc/c-common.h gcc-3.2.1/gcc/c-common.h *** gcc-3.2/gcc/c-common.h Wed Apr 17 01:43:56 2002 --- gcc-3.2.1/gcc/c-common.h Sun Sep 1 20:11:06 2002 *************** extern int warn_conversion; *** 464,469 **** --- 464,474 ---- extern int warn_long_long; + /* Nonzero means the expression being parsed will never be evaluated. + This is a count, since unevaluated expressions can nest. */ + + extern int skip_evaluation; + /* C types are partitioned into three subsets: object, function, and incomplete types. */ #define C_TYPE_OBJECT_P(type) \ diff -Nrc3pad gcc-3.2/gcc/c-decl.c gcc-3.2.1/gcc/c-decl.c *** gcc-3.2/gcc/c-decl.c Fri Jul 26 23:23:03 2002 --- gcc-3.2.1/gcc/c-decl.c Sat Oct 19 03:17:39 2002 *************** start_decl (declarator, declspecs, initi *** 3485,3499 **** switch (TREE_CODE (decl)) { case TYPE_DECL: ! /* typedef foo = bar means give foo the same type as bar. ! We haven't parsed bar yet, so `finish_decl' will fix that up. ! Any other case of an initialization in a TYPE_DECL is an error. */ ! if (pedantic || list_length (declspecs) > 1) ! { ! error ("typedef `%s' is initialized", ! IDENTIFIER_POINTER (DECL_NAME (decl))); ! initialized = 0; ! } break; case FUNCTION_DECL: --- 3485,3493 ---- switch (TREE_CODE (decl)) { case TYPE_DECL: ! error ("typedef `%s' is initialized (use __typeof__ instead)", ! IDENTIFIER_POINTER (DECL_NAME (decl))); ! initialized = 0; break; case FUNCTION_DECL: *************** finish_decl (decl, init, asmspec_tree) *** 3642,3657 **** init = 0; if (init) ! { ! if (TREE_CODE (decl) != TYPE_DECL) ! store_init_value (decl, init); ! else ! { ! /* typedef foo = bar; store the type of bar as the type of foo. */ ! TREE_TYPE (decl) = TREE_TYPE (init); ! DECL_INITIAL (decl) = init = 0; ! } ! } /* Deduce size of array from initialization, if not already known */ if (TREE_CODE (type) == ARRAY_TYPE --- 3636,3642 ---- init = 0; if (init) ! store_init_value (decl, init); /* Deduce size of array from initialization, if not already known */ if (TREE_CODE (type) == ARRAY_TYPE diff -Nrc3pad gcc-3.2/gcc/c-objc-common.c gcc-3.2.1/gcc/c-objc-common.c *** gcc-3.2/gcc/c-objc-common.c Thu Mar 28 18:49:58 2002 --- gcc-3.2.1/gcc/c-objc-common.c Fri Oct 25 22:11:08 2002 *************** inline_forbidden_p (nodep, walk_subtrees *** 131,136 **** --- 131,152 ---- break; + case RECORD_TYPE: + case UNION_TYPE: + /* We cannot inline a function of the form + + void F (int i) { struct S { int ar[i]; } s; } + + Attempting to do so produces a catch-22 in tree-inline.c. + If walk_tree examines the TYPE_FIELDS chain of RECORD_TYPE/ + UNION_TYPE nodes, then it goes into infinite recursion on a + structure containing a pointer to its own type. If it doesn't, + then the type node for S doesn't get adjusted properly when + F is inlined, and we abort in find_function_data. */ + for (t = TYPE_FIELDS (node); t; t = TREE_CHAIN (t)) + if (variably_modified_type_p (TREE_TYPE (t))) + return node; + default: break; } *************** c_cannot_inline_tree_fn (fnp) *** 149,154 **** --- 165,178 ---- && lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) == NULL) return 1; + /* Don't auto-inline anything that might not be bound within + this unit of translation. */ + if (!DECL_DECLARED_INLINE_P (fn) && flag_pic && TREE_PUBLIC (fn)) + { + DECL_UNINLINABLE (fn) = 1; + return 1; + } + if (! function_attribute_inlinable_p (fn)) { DECL_UNINLINABLE (fn) = 1; diff -Nrc3pad gcc-3.2/gcc/c-parse.c gcc-3.2.1/gcc/c-parse.c *** gcc-3.2/gcc/c-parse.c Wed Aug 14 09:32:35 2002 --- gcc-3.2.1/gcc/c-parse.c Tue Nov 19 18:13:17 2002 *************** c_parse_init () *** 199,209 **** ! #define YYFINAL 900 #define YYFLAG -32768 #define YYNTBASE 91 ! #define YYTRANSLATE(x) ((unsigned)(x) <= 322 ? yytranslate[x] : 289) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, --- 199,209 ---- ! #define YYFINAL 901 #define YYFLAG -32768 #define YYNTBASE 91 ! #define YYTRANSLATE(x) ((unsigned)(x) <= 322 ? yytranslate[x] : 290) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, *************** static const short yyprhs[] = { 0, *** 248,480 **** 62, 67, 68, 69, 79, 84, 85, 86, 95, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 120, 122, 124, 128, 130, 133, 136, 139, 142, 145, ! 150, 153, 158, 161, 164, 166, 168, 170, 175, 177, ! 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, ! 221, 225, 226, 231, 232, 237, 238, 239, 247, 248, ! 254, 258, 262, 264, 266, 268, 270, 271, 279, 283, ! 287, 291, 295, 300, 307, 316, 323, 328, 332, 336, ! 339, 342, 344, 347, 348, 350, 353, 357, 359, 361, ! 364, 367, 372, 377, 380, 383, 387, 388, 390, 395, ! 400, 404, 408, 411, 414, 416, 419, 422, 425, 428, ! 431, 433, 436, 438, 441, 444, 447, 450, 453, 456, ! 458, 461, 464, 467, 470, 473, 476, 479, 482, 485, ! 488, 491, 494, 497, 500, 503, 506, 508, 511, 514, ! 517, 520, 523, 526, 529, 532, 535, 538, 541, 544, ! 547, 550, 553, 556, 559, 562, 565, 568, 571, 574, ! 577, 580, 583, 586, 589, 592, 595, 598, 601, 604, ! 607, 610, 613, 616, 619, 622, 625, 628, 631, 634, ! 637, 640, 642, 644, 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, ! 738, 740, 742, 744, 746, 748, 750, 752, 753, 755, ! 757, 759, 761, 763, 765, 767, 769, 774, 779, 781, ! 786, 788, 793, 794, 799, 800, 807, 811, 812, 819, ! 823, 824, 826, 828, 831, 838, 840, 844, 845, 847, ! 852, 859, 864, 866, 868, 870, 872, 874, 875, 880, ! 882, 883, 886, 888, 892, 896, 899, 900, 905, 907, ! 908, 913, 915, 917, 919, 922, 925, 931, 935, 936, ! 937, 945, 946, 947, 955, 957, 959, 964, 968, 971, ! 975, 977, 979, 981, 985, 988, 990, 994, 997, 1001, ! 1005, 1010, 1014, 1019, 1023, 1026, 1028, 1030, 1033, 1035, ! 1038, 1040, 1043, 1044, 1052, 1058, 1059, 1067, 1073, 1074, ! 1083, 1084, 1092, 1095, 1098, 1101, 1102, 1104, 1105, 1107, ! 1109, 1112, 1113, 1117, 1120, 1124, 1129, 1133, 1135, 1137, ! 1140, 1142, 1147, 1149, 1154, 1159, 1166, 1172, 1177, 1184, ! 1190, 1192, 1196, 1198, 1200, 1204, 1205, 1209, 1210, 1212, ! 1213, 1215, 1218, 1220, 1222, 1224, 1228, 1231, 1235, 1240, ! 1244, 1247, 1250, 1252, 1256, 1261, 1264, 1268, 1272, 1277, ! 1282, 1288, 1294, 1296, 1298, 1300, 1302, 1304, 1307, 1310, ! 1313, 1316, 1318, 1321, 1324, 1327, 1329, 1332, 1335, 1338, ! 1341, 1343, 1346, 1348, 1350, 1352, 1354, 1357, 1358, 1359, ! 1360, 1361, 1362, 1364, 1366, 1369, 1373, 1375, 1378, 1380, ! 1382, 1388, 1390, 1392, 1395, 1398, 1401, 1404, 1405, 1411, ! 1412, 1417, 1418, 1419, 1421, 1424, 1428, 1432, 1436, 1437, ! 1442, 1444, 1448, 1449, 1450, 1458, 1464, 1467, 1468, 1469, ! 1470, 1471, 1484, 1485, 1492, 1495, 1497, 1499, 1502, 1506, ! 1509, 1512, 1515, 1519, 1526, 1535, 1546, 1559, 1563, 1568, ! 1570, 1574, 1580, 1583, 1589, 1590, 1592, 1593, 1595, 1596, ! 1598, 1600, 1604, 1609, 1617, 1619, 1623, 1624, 1628, 1631, ! 1632, 1633, 1640, 1643, 1644, 1646, 1648, 1652, 1654, 1658, ! 1663, 1668, 1672, 1677, 1681, 1686, 1691, 1695, 1700, 1704, ! 1706, 1707, 1711, 1713, 1716, 1718, 1722, 1724, 1728 }; static const short yyrhs[] = { -1, 92, 0, 0, 93, 95, 0, 0, 92, 94, 95, 0, 97, 0, 96, 0, 27, 67, 106, 83, 84, ! 0, 288, 95, 0, 127, 161, 84, 0, 147, 127, ! 161, 84, 0, 146, 127, 160, 84, 0, 153, 84, 0, 1, 84, 0, 1, 85, 0, 84, 0, 0, ! 0, 146, 127, 189, 98, 122, 99, 249, 250, 238, ! 0, 146, 127, 189, 1, 0, 0, 0, 147, 127, ! 194, 100, 122, 101, 249, 250, 238, 0, 147, 127, ! 194, 1, 0, 0, 0, 127, 194, 102, 122, 103, ! 249, 250, 238, 0, 127, 194, 1, 0, 3, 0, 4, 0, 51, 0, 57, 0, 56, 0, 62, 0, 63, 0, 86, 0, 87, 0, 108, 0, 0, 108, ! 0, 113, 0, 108, 88, 113, 0, 119, 0, 58, ! 112, 0, 288, 112, 0, 105, 112, 0, 48, 104, ! 0, 110, 109, 0, 110, 67, 215, 83, 0, 111, ! 109, 0, 111, 67, 215, 83, 0, 33, 112, 0, ! 34, 112, 0, 11, 0, 29, 0, 109, 0, 67, ! 215, 83, 112, 0, 112, 0, 113, 56, 113, 0, ! 113, 57, 113, 0, 113, 58, 113, 0, 113, 59, ! 113, 0, 113, 60, 113, 0, 113, 54, 113, 0, ! 113, 55, 113, 0, 113, 53, 113, 0, 113, 52, ! 113, 0, 113, 51, 113, 0, 113, 49, 113, 0, ! 113, 50, 113, 0, 0, 113, 48, 114, 113, 0, ! 0, 113, 47, 115, 113, 0, 0, 0, 113, 45, ! 116, 106, 46, 117, 113, 0, 0, 113, 45, 118, ! 46, 113, 0, 113, 44, 113, 0, 113, 43, 113, ! 0, 3, 0, 8, 0, 121, 0, 42, 0, 0, ! 67, 215, 83, 89, 120, 175, 85, 0, 67, 106, ! 83, 0, 67, 1, 83, 0, 242, 240, 83, 0, ! 242, 1, 83, 0, 119, 67, 107, 83, 0, 35, ! 67, 113, 88, 215, 83, 0, 36, 67, 113, 88, ! 113, 88, 113, 83, 0, 37, 67, 215, 88, 215, ! 83, 0, 119, 68, 106, 90, 0, 119, 66, 104, ! 0, 119, 65, 104, 0, 119, 62, 0, 119, 63, ! 0, 9, 0, 121, 9, 0, 0, 124, 0, 124, ! 10, 0, 249, 250, 125, 0, 123, 0, 230, 0, ! 124, 123, 0, 123, 230, 0, 148, 127, 160, 84, ! 0, 149, 127, 161, 84, 0, 148, 84, 0, 149, ! 84, 0, 249, 250, 129, 0, 0, 167, 0, 146, ! 127, 160, 84, 0, 147, 127, 161, 84, 0, 146, ! 127, 183, 0, 147, 127, 186, 0, 153, 84, 0, ! 288, 129, 0, 7, 0, 130, 7, 0, 131, 7, ! 0, 130, 168, 0, 132, 7, 0, 133, 7, 0, ! 168, 0, 132, 168, 0, 155, 0, 134, 7, 0, ! 135, 7, 0, 134, 157, 0, 135, 157, 0, 130, ! 155, 0, 131, 155, 0, 156, 0, 134, 168, 0, ! 134, 158, 0, 135, 158, 0, 130, 156, 0, 131, ! 156, 0, 136, 7, 0, 137, 7, 0, 136, 157, ! 0, 137, 157, 0, 132, 155, 0, 133, 155, 0, ! 136, 168, 0, 136, 158, 0, 137, 158, 0, 132, ! 156, 0, 133, 156, 0, 5, 0, 138, 7, 0, ! 139, 7, 0, 130, 5, 0, 131, 5, 0, 138, ! 5, 0, 139, 5, 0, 138, 168, 0, 140, 7, ! 0, 141, 7, 0, 132, 5, 0, 133, 5, 0, ! 140, 5, 0, 141, 5, 0, 140, 168, 0, 142, ! 7, 0, 143, 7, 0, 142, 157, 0, 143, 157, ! 0, 138, 155, 0, 139, 155, 0, 134, 5, 0, ! 135, 5, 0, 142, 5, 0, 143, 5, 0, 142, ! 168, 0, 142, 158, 0, 143, 158, 0, 138, 156, ! 0, 139, 156, 0, 144, 7, 0, 145, 7, 0, ! 144, 157, 0, 145, 157, 0, 140, 155, 0, 141, ! 155, 0, 136, 5, 0, 137, 5, 0, 144, 5, ! 0, 145, 5, 0, 144, 168, 0, 144, 158, 0, ! 145, 158, 0, 140, 156, 0, 141, 156, 0, 134, ! 0, 135, 0, 136, 0, 137, 0, 142, 0, 143, ! 0, 144, 0, 145, 0, 130, 0, 131, 0, 132, ! 0, 133, 0, 138, 0, 139, 0, 140, 0, 141, ! 0, 134, 0, 135, 0, 142, 0, 143, 0, 130, ! 0, 131, 0, 138, 0, 139, 0, 134, 0, 135, ! 0, 136, 0, 137, 0, 130, 0, 131, 0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 137, ! 0, 130, 0, 131, 0, 132, 0, 133, 0, 130, 0, 131, 0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 0, 144, 0, 145, ! 0, 0, 151, 0, 157, 0, 159, 0, 158, 0, ! 6, 0, 203, 0, 198, 0, 4, 0, 28, 67, ! 106, 83, 0, 28, 67, 215, 83, 0, 163, 0, ! 160, 88, 128, 163, 0, 165, 0, 161, 88, 128, ! 165, 0, 0, 27, 67, 121, 83, 0, 0, 189, ! 162, 167, 44, 164, 173, 0, 189, 162, 167, 0, ! 0, 194, 162, 167, 44, 166, 173, 0, 194, 162, ! 167, 0, 0, 168, 0, 169, 0, 168, 169, 0, ! 30, 67, 67, 170, 83, 83, 0, 171, 0, 170, ! 88, 171, 0, 0, 172, 0, 172, 67, 3, 83, ! 0, 172, 67, 3, 88, 108, 83, 0, 172, 67, ! 107, 83, 0, 104, 0, 5, 0, 6, 0, 7, ! 0, 113, 0, 0, 89, 174, 175, 85, 0, 1, ! 0, 0, 176, 204, 0, 177, 0, 176, 88, 177, ! 0, 181, 44, 179, 0, 182, 179, 0, 0, 104, ! 46, 178, 179, 0, 179, 0, 0, 89, 180, 175, ! 85, 0, 113, 0, 1, 0, 182, 0, 181, 182, ! 0, 66, 104, 0, 68, 113, 10, 113, 90, 0, ! 68, 113, 90, 0, 0, 0, 189, 184, 122, 185, ! 249, 250, 243, 0, 0, 0, 194, 187, 122, 188, ! 249, 250, 243, 0, 190, 0, 194, 0, 67, 167, ! 190, 83, 0, 190, 67, 283, 0, 190, 223, 0, ! 58, 154, 190, 0, 4, 0, 192, 0, 193, 0, ! 192, 67, 283, 0, 192, 223, 0, 4, 0, 193, ! 67, 283, 0, 193, 223, 0, 58, 154, 192, 0, ! 58, 154, 193, 0, 67, 167, 193, 83, 0, 194, ! 67, 283, 0, 67, 167, 194, 83, 0, 58, 154, ! 194, 0, 194, 223, 0, 3, 0, 13, 0, 13, ! 168, 0, 14, 0, 14, 168, 0, 12, 0, 12, ! 168, 0, 0, 195, 104, 89, 199, 206, 85, 167, ! 0, 195, 89, 206, 85, 167, 0, 0, 196, 104, ! 89, 200, 206, 85, 167, 0, 196, 89, 206, 85, ! 167, 0, 0, 197, 104, 89, 201, 213, 205, 85, ! 167, 0, 0, 197, 89, 202, 213, 205, 85, 167, ! 0, 195, 104, 0, 196, 104, 0, 197, 104, 0, ! 0, 88, 0, 0, 88, 0, 207, 0, 207, 208, ! 0, 0, 207, 208, 84, 0, 207, 84, 0, 150, ! 127, 209, 0, 150, 127, 249, 250, 0, 151, 127, ! 210, 0, 151, 0, 1, 0, 288, 208, 0, 211, ! 0, 209, 88, 128, 211, 0, 212, 0, 210, 88, ! 128, 212, 0, 249, 250, 189, 167, 0, 249, 250, ! 189, 46, 113, 167, 0, 249, 250, 46, 113, 167, ! 0, 249, 250, 194, 167, 0, 249, 250, 194, 46, ! 113, 167, 0, 249, 250, 46, 113, 167, 0, 214, ! 0, 213, 88, 214, 0, 1, 0, 104, 0, 104, ! 44, 113, 0, 0, 152, 216, 217, 0, 0, 219, ! 0, 0, 219, 0, 220, 168, 0, 221, 0, 220, ! 0, 222, 0, 58, 154, 220, 0, 58, 154, 0, ! 58, 154, 221, 0, 67, 167, 219, 83, 0, 222, ! 67, 273, 0, 222, 223, 0, 67, 273, 0, 223, ! 0, 68, 106, 90, 0, 68, 152, 106, 90, 0, ! 68, 90, 0, 68, 152, 90, 0, 68, 58, 90, ! 0, 68, 152, 58, 90, 0, 68, 5, 106, 90, ! 0, 68, 5, 152, 106, 90, 0, 68, 152, 5, ! 106, 90, 0, 225, 0, 226, 0, 227, 0, 228, ! 0, 253, 0, 225, 253, 0, 226, 253, 0, 227, ! 253, 0, 228, 253, 0, 126, 0, 225, 126, 0, ! 226, 126, 0, 228, 126, 0, 254, 0, 225, 254, ! 0, 226, 254, 0, 227, 254, 0, 228, 254, 0, ! 230, 0, 229, 230, 0, 225, 0, 226, 0, 227, ! 0, 228, 0, 1, 84, 0, 0, 0, 0, 0, ! 0, 236, 0, 237, 0, 236, 237, 0, 32, 287, ! 84, 0, 243, 0, 1, 243, 0, 89, 0, 85, ! 0, 231, 235, 241, 85, 232, 0, 224, 0, 1, ! 0, 67, 89, 0, 239, 240, 0, 245, 252, 0, ! 245, 1, 0, 0, 15, 246, 67, 106, 83, 0, ! 0, 18, 248, 252, 17, 0, 0, 0, 253, 0, ! 254, 251, 0, 233, 251, 234, 0, 249, 250, 265, ! 0, 249, 250, 266, 0, 0, 244, 16, 256, 252, ! 0, 244, 0, 244, 16, 1, 0, 0, 0, 17, ! 257, 67, 106, 83, 258, 252, 0, 247, 67, 106, ! 83, 84, 0, 247, 1, 0, 0, 0, 0, 0, ! 19, 259, 67, 264, 260, 268, 84, 261, 268, 83, ! 262, 252, 0, 0, 20, 67, 106, 83, 263, 252, ! 0, 268, 84, 0, 129, 0, 243, 0, 106, 84, ! 0, 233, 255, 234, 0, 23, 84, 0, 24, 84, ! 0, 25, 84, 0, 25, 106, 84, 0, 27, 267, ! 67, 106, 83, 84, 0, 27, 267, 67, 106, 46, ! 269, 83, 84, 0, 27, 267, 67, 106, 46, 269, ! 46, 269, 83, 84, 0, 27, 267, 67, 106, 46, ! 269, 46, 269, 46, 272, 83, 84, 0, 26, 104, ! 84, 0, 26, 58, 106, 84, 0, 84, 0, 21, ! 113, 46, 0, 21, 113, 10, 113, 46, 0, 22, ! 46, 0, 104, 249, 250, 46, 167, 0, 0, 7, ! 0, 0, 106, 0, 0, 270, 0, 271, 0, 270, ! 88, 271, 0, 9, 67, 106, 83, 0, 68, 104, ! 90, 9, 67, 106, 83, 0, 121, 0, 272, 88, ! 121, 0, 0, 167, 274, 275, 0, 278, 83, 0, ! 0, 0, 279, 84, 276, 167, 277, 275, 0, 1, ! 83, 0, 0, 10, 0, 279, 0, 279, 88, 10, ! 0, 281, 0, 279, 88, 280, 0, 146, 127, 191, ! 167, 0, 146, 127, 194, 167, 0, 146, 127, 218, ! 0, 147, 127, 194, 167, 0, 147, 127, 218, 0, ! 148, 282, 191, 167, 0, 148, 282, 194, 167, 0, ! 148, 282, 218, 0, 149, 282, 194, 167, 0, 149, ! 282, 218, 0, 127, 0, 0, 167, 284, 285, 0, ! 275, 0, 286, 83, 0, 3, 0, 286, 88, 3, ! 0, 104, 0, 287, 88, 104, 0, 31, 0 }; #endif --- 248,481 ---- 62, 67, 68, 69, 79, 84, 85, 86, 95, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 120, 122, 124, 128, 130, 133, 136, 139, 142, 145, ! 150, 153, 158, 161, 164, 166, 168, 170, 172, 177, ! 179, 183, 187, 191, 195, 199, 203, 207, 211, 215, ! 219, 223, 227, 228, 233, 234, 239, 240, 241, 249, ! 250, 256, 260, 264, 266, 268, 270, 272, 273, 281, ! 285, 289, 293, 297, 302, 309, 318, 325, 330, 334, ! 338, 341, 344, 346, 349, 350, 352, 355, 359, 361, ! 363, 366, 369, 374, 379, 382, 385, 389, 390, 392, ! 397, 402, 406, 410, 413, 416, 418, 421, 424, 427, ! 430, 433, 435, 438, 440, 443, 446, 449, 452, 455, ! 458, 460, 463, 466, 469, 472, 475, 478, 481, 484, ! 487, 490, 493, 496, 499, 502, 505, 508, 510, 513, ! 516, 519, 522, 525, 528, 531, 534, 537, 540, 543, ! 546, 549, 552, 555, 558, 561, 564, 567, 570, 573, ! 576, 579, 582, 585, 588, 591, 594, 597, 600, 603, ! 606, 609, 612, 615, 618, 621, 624, 627, 630, 633, ! 636, 639, 642, 644, 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, ! 738, 740, 742, 744, 746, 748, 750, 752, 754, 755, ! 757, 759, 761, 763, 765, 767, 769, 771, 776, 781, ! 783, 788, 790, 795, 796, 801, 802, 809, 813, 814, ! 821, 825, 826, 828, 830, 833, 840, 842, 846, 847, ! 849, 854, 861, 866, 868, 870, 872, 874, 876, 877, ! 882, 884, 885, 888, 890, 894, 898, 901, 902, 907, ! 909, 910, 915, 917, 919, 921, 924, 927, 933, 937, ! 938, 939, 947, 948, 949, 957, 959, 961, 966, 970, ! 973, 977, 979, 981, 983, 987, 990, 992, 996, 999, ! 1003, 1007, 1012, 1016, 1021, 1025, 1028, 1030, 1032, 1035, ! 1037, 1040, 1042, 1045, 1046, 1054, 1060, 1061, 1069, 1075, ! 1076, 1085, 1086, 1094, 1097, 1100, 1103, 1104, 1106, 1107, ! 1109, 1111, 1114, 1115, 1119, 1122, 1126, 1131, 1135, 1137, ! 1139, 1142, 1144, 1149, 1151, 1156, 1161, 1168, 1174, 1179, ! 1186, 1192, 1194, 1198, 1200, 1202, 1206, 1207, 1211, 1212, ! 1214, 1215, 1217, 1220, 1222, 1224, 1226, 1230, 1233, 1237, ! 1242, 1246, 1249, 1252, 1254, 1258, 1263, 1266, 1270, 1274, ! 1279, 1284, 1290, 1296, 1298, 1300, 1302, 1304, 1306, 1309, ! 1312, 1315, 1318, 1320, 1323, 1326, 1329, 1331, 1334, 1337, ! 1340, 1343, 1345, 1348, 1350, 1352, 1354, 1356, 1359, 1360, ! 1361, 1362, 1363, 1364, 1366, 1368, 1371, 1375, 1377, 1380, ! 1382, 1384, 1390, 1392, 1394, 1397, 1400, 1403, 1406, 1407, ! 1413, 1414, 1419, 1420, 1421, 1423, 1426, 1430, 1434, 1438, ! 1439, 1444, 1446, 1450, 1451, 1452, 1460, 1466, 1469, 1470, ! 1471, 1472, 1473, 1486, 1487, 1494, 1497, 1499, 1501, 1504, ! 1508, 1511, 1514, 1517, 1521, 1528, 1537, 1548, 1561, 1565, ! 1570, 1572, 1576, 1582, 1585, 1591, 1592, 1594, 1595, 1597, ! 1598, 1600, 1602, 1606, 1611, 1619, 1621, 1625, 1626, 1630, ! 1633, 1634, 1635, 1642, 1645, 1646, 1648, 1650, 1654, 1656, ! 1660, 1665, 1670, 1674, 1679, 1683, 1688, 1693, 1697, 1702, ! 1706, 1708, 1709, 1713, 1715, 1718, 1720, 1724, 1726, 1730 }; static const short yyrhs[] = { -1, 92, 0, 0, 93, 95, 0, 0, 92, 94, 95, 0, 97, 0, 96, 0, 27, 67, 106, 83, 84, ! 0, 289, 95, 0, 128, 162, 84, 0, 148, 128, ! 162, 84, 0, 147, 128, 161, 84, 0, 154, 84, 0, 1, 84, 0, 1, 85, 0, 84, 0, 0, ! 0, 147, 128, 190, 98, 123, 99, 250, 251, 239, ! 0, 147, 128, 190, 1, 0, 0, 0, 148, 128, ! 195, 100, 123, 101, 250, 251, 239, 0, 148, 128, ! 195, 1, 0, 0, 0, 128, 195, 102, 123, 103, ! 250, 251, 239, 0, 128, 195, 1, 0, 3, 0, 4, 0, 51, 0, 57, 0, 56, 0, 62, 0, 63, 0, 86, 0, 87, 0, 108, 0, 0, 108, ! 0, 114, 0, 108, 88, 114, 0, 120, 0, 58, ! 113, 0, 289, 113, 0, 105, 113, 0, 48, 104, ! 0, 110, 109, 0, 110, 67, 216, 83, 0, 111, ! 109, 0, 111, 67, 216, 83, 0, 33, 113, 0, ! 34, 113, 0, 11, 0, 29, 0, 28, 0, 109, ! 0, 67, 216, 83, 113, 0, 113, 0, 114, 56, ! 114, 0, 114, 57, 114, 0, 114, 58, 114, 0, ! 114, 59, 114, 0, 114, 60, 114, 0, 114, 54, ! 114, 0, 114, 55, 114, 0, 114, 53, 114, 0, ! 114, 52, 114, 0, 114, 51, 114, 0, 114, 49, ! 114, 0, 114, 50, 114, 0, 0, 114, 48, 115, ! 114, 0, 0, 114, 47, 116, 114, 0, 0, 0, ! 114, 45, 117, 106, 46, 118, 114, 0, 0, 114, ! 45, 119, 46, 114, 0, 114, 44, 114, 0, 114, ! 43, 114, 0, 3, 0, 8, 0, 122, 0, 42, ! 0, 0, 67, 216, 83, 89, 121, 176, 85, 0, ! 67, 106, 83, 0, 67, 1, 83, 0, 243, 241, ! 83, 0, 243, 1, 83, 0, 120, 67, 107, 83, ! 0, 35, 67, 114, 88, 216, 83, 0, 36, 67, ! 114, 88, 114, 88, 114, 83, 0, 37, 67, 216, ! 88, 216, 83, 0, 120, 68, 106, 90, 0, 120, ! 66, 104, 0, 120, 65, 104, 0, 120, 62, 0, ! 120, 63, 0, 9, 0, 122, 9, 0, 0, 125, ! 0, 125, 10, 0, 250, 251, 126, 0, 124, 0, ! 231, 0, 125, 124, 0, 124, 231, 0, 149, 128, ! 161, 84, 0, 150, 128, 162, 84, 0, 149, 84, ! 0, 150, 84, 0, 250, 251, 130, 0, 0, 168, ! 0, 147, 128, 161, 84, 0, 148, 128, 162, 84, ! 0, 147, 128, 184, 0, 148, 128, 187, 0, 154, ! 84, 0, 289, 130, 0, 7, 0, 131, 7, 0, ! 132, 7, 0, 131, 169, 0, 133, 7, 0, 134, ! 7, 0, 169, 0, 133, 169, 0, 156, 0, 135, ! 7, 0, 136, 7, 0, 135, 158, 0, 136, 158, ! 0, 131, 156, 0, 132, 156, 0, 157, 0, 135, ! 169, 0, 135, 159, 0, 136, 159, 0, 131, 157, ! 0, 132, 157, 0, 137, 7, 0, 138, 7, 0, ! 137, 158, 0, 138, 158, 0, 133, 156, 0, 134, ! 156, 0, 137, 169, 0, 137, 159, 0, 138, 159, ! 0, 133, 157, 0, 134, 157, 0, 5, 0, 139, ! 7, 0, 140, 7, 0, 131, 5, 0, 132, 5, ! 0, 139, 5, 0, 140, 5, 0, 139, 169, 0, ! 141, 7, 0, 142, 7, 0, 133, 5, 0, 134, ! 5, 0, 141, 5, 0, 142, 5, 0, 141, 169, ! 0, 143, 7, 0, 144, 7, 0, 143, 158, 0, ! 144, 158, 0, 139, 156, 0, 140, 156, 0, 135, ! 5, 0, 136, 5, 0, 143, 5, 0, 144, 5, ! 0, 143, 169, 0, 143, 159, 0, 144, 159, 0, ! 139, 157, 0, 140, 157, 0, 145, 7, 0, 146, ! 7, 0, 145, 158, 0, 146, 158, 0, 141, 156, ! 0, 142, 156, 0, 137, 5, 0, 138, 5, 0, ! 145, 5, 0, 146, 5, 0, 145, 169, 0, 145, ! 159, 0, 146, 159, 0, 141, 157, 0, 142, 157, ! 0, 135, 0, 136, 0, 137, 0, 138, 0, 143, ! 0, 144, 0, 145, 0, 146, 0, 131, 0, 132, ! 0, 133, 0, 134, 0, 139, 0, 140, 0, 141, ! 0, 142, 0, 135, 0, 136, 0, 143, 0, 144, ! 0, 131, 0, 132, 0, 139, 0, 140, 0, 135, ! 0, 136, 0, 137, 0, 138, 0, 131, 0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 137, ! 0, 138, 0, 131, 0, 132, 0, 133, 0, 134, 0, 131, 0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 0, 144, 0, 145, ! 0, 146, 0, 0, 152, 0, 158, 0, 160, 0, ! 159, 0, 6, 0, 204, 0, 199, 0, 4, 0, ! 112, 67, 106, 83, 0, 112, 67, 216, 83, 0, ! 164, 0, 161, 88, 129, 164, 0, 166, 0, 162, ! 88, 129, 166, 0, 0, 27, 67, 122, 83, 0, ! 0, 190, 163, 168, 44, 165, 174, 0, 190, 163, ! 168, 0, 0, 195, 163, 168, 44, 167, 174, 0, ! 195, 163, 168, 0, 0, 169, 0, 170, 0, 169, ! 170, 0, 30, 67, 67, 171, 83, 83, 0, 172, ! 0, 171, 88, 172, 0, 0, 173, 0, 173, 67, ! 3, 83, 0, 173, 67, 3, 88, 108, 83, 0, ! 173, 67, 107, 83, 0, 104, 0, 5, 0, 6, ! 0, 7, 0, 114, 0, 0, 89, 175, 176, 85, ! 0, 1, 0, 0, 177, 205, 0, 178, 0, 177, ! 88, 178, 0, 182, 44, 180, 0, 183, 180, 0, ! 0, 104, 46, 179, 180, 0, 180, 0, 0, 89, ! 181, 176, 85, 0, 114, 0, 1, 0, 183, 0, ! 182, 183, 0, 66, 104, 0, 68, 114, 10, 114, ! 90, 0, 68, 114, 90, 0, 0, 0, 190, 185, ! 123, 186, 250, 251, 244, 0, 0, 0, 195, 188, ! 123, 189, 250, 251, 244, 0, 191, 0, 195, 0, ! 67, 168, 191, 83, 0, 191, 67, 284, 0, 191, ! 224, 0, 58, 155, 191, 0, 4, 0, 193, 0, ! 194, 0, 193, 67, 284, 0, 193, 224, 0, 4, ! 0, 194, 67, 284, 0, 194, 224, 0, 58, 155, ! 193, 0, 58, 155, 194, 0, 67, 168, 194, 83, ! 0, 195, 67, 284, 0, 67, 168, 195, 83, 0, ! 58, 155, 195, 0, 195, 224, 0, 3, 0, 13, ! 0, 13, 169, 0, 14, 0, 14, 169, 0, 12, ! 0, 12, 169, 0, 0, 196, 104, 89, 200, 207, ! 85, 168, 0, 196, 89, 207, 85, 168, 0, 0, ! 197, 104, 89, 201, 207, 85, 168, 0, 197, 89, ! 207, 85, 168, 0, 0, 198, 104, 89, 202, 214, ! 206, 85, 168, 0, 0, 198, 89, 203, 214, 206, ! 85, 168, 0, 196, 104, 0, 197, 104, 0, 198, ! 104, 0, 0, 88, 0, 0, 88, 0, 208, 0, ! 208, 209, 0, 0, 208, 209, 84, 0, 208, 84, ! 0, 151, 128, 210, 0, 151, 128, 250, 251, 0, ! 152, 128, 211, 0, 152, 0, 1, 0, 289, 209, ! 0, 212, 0, 210, 88, 129, 212, 0, 213, 0, ! 211, 88, 129, 213, 0, 250, 251, 190, 168, 0, ! 250, 251, 190, 46, 114, 168, 0, 250, 251, 46, ! 114, 168, 0, 250, 251, 195, 168, 0, 250, 251, ! 195, 46, 114, 168, 0, 250, 251, 46, 114, 168, ! 0, 215, 0, 214, 88, 215, 0, 1, 0, 104, ! 0, 104, 44, 114, 0, 0, 153, 217, 218, 0, ! 0, 220, 0, 0, 220, 0, 221, 169, 0, 222, ! 0, 221, 0, 223, 0, 58, 155, 221, 0, 58, ! 155, 0, 58, 155, 222, 0, 67, 168, 220, 83, ! 0, 223, 67, 274, 0, 223, 224, 0, 67, 274, ! 0, 224, 0, 68, 106, 90, 0, 68, 153, 106, ! 90, 0, 68, 90, 0, 68, 153, 90, 0, 68, ! 58, 90, 0, 68, 153, 58, 90, 0, 68, 5, ! 106, 90, 0, 68, 5, 153, 106, 90, 0, 68, ! 153, 5, 106, 90, 0, 226, 0, 227, 0, 228, ! 0, 229, 0, 254, 0, 226, 254, 0, 227, 254, ! 0, 228, 254, 0, 229, 254, 0, 127, 0, 226, ! 127, 0, 227, 127, 0, 229, 127, 0, 255, 0, ! 226, 255, 0, 227, 255, 0, 228, 255, 0, 229, ! 255, 0, 231, 0, 230, 231, 0, 226, 0, 227, ! 0, 228, 0, 229, 0, 1, 84, 0, 0, 0, ! 0, 0, 0, 237, 0, 238, 0, 237, 238, 0, ! 32, 288, 84, 0, 244, 0, 1, 244, 0, 89, ! 0, 85, 0, 232, 236, 242, 85, 233, 0, 225, ! 0, 1, 0, 67, 89, 0, 240, 241, 0, 246, ! 253, 0, 246, 1, 0, 0, 15, 247, 67, 106, ! 83, 0, 0, 18, 249, 253, 17, 0, 0, 0, ! 254, 0, 255, 252, 0, 234, 252, 235, 0, 250, ! 251, 266, 0, 250, 251, 267, 0, 0, 245, 16, ! 257, 253, 0, 245, 0, 245, 16, 1, 0, 0, ! 0, 17, 258, 67, 106, 83, 259, 253, 0, 248, ! 67, 106, 83, 84, 0, 248, 1, 0, 0, 0, ! 0, 0, 19, 260, 67, 265, 261, 269, 84, 262, ! 269, 83, 263, 253, 0, 0, 20, 67, 106, 83, ! 264, 253, 0, 269, 84, 0, 130, 0, 244, 0, ! 106, 84, 0, 234, 256, 235, 0, 23, 84, 0, ! 24, 84, 0, 25, 84, 0, 25, 106, 84, 0, ! 27, 268, 67, 106, 83, 84, 0, 27, 268, 67, ! 106, 46, 270, 83, 84, 0, 27, 268, 67, 106, ! 46, 270, 46, 270, 83, 84, 0, 27, 268, 67, ! 106, 46, 270, 46, 270, 46, 273, 83, 84, 0, ! 26, 104, 84, 0, 26, 58, 106, 84, 0, 84, ! 0, 21, 114, 46, 0, 21, 114, 10, 114, 46, ! 0, 22, 46, 0, 104, 250, 251, 46, 168, 0, ! 0, 7, 0, 0, 106, 0, 0, 271, 0, 272, ! 0, 271, 88, 272, 0, 9, 67, 106, 83, 0, ! 68, 104, 90, 9, 67, 106, 83, 0, 122, 0, ! 273, 88, 122, 0, 0, 168, 275, 276, 0, 279, ! 83, 0, 0, 0, 280, 84, 277, 168, 278, 276, ! 0, 1, 83, 0, 0, 10, 0, 280, 0, 280, ! 88, 10, 0, 282, 0, 280, 88, 281, 0, 147, ! 128, 192, 168, 0, 147, 128, 195, 168, 0, 147, ! 128, 219, 0, 148, 128, 195, 168, 0, 148, 128, ! 219, 0, 149, 283, 192, 168, 0, 149, 283, 195, ! 168, 0, 149, 283, 219, 0, 150, 283, 195, 168, ! 0, 150, 283, 219, 0, 128, 0, 0, 168, 285, ! 286, 0, 276, 0, 287, 83, 0, 3, 0, 287, ! 88, 3, 0, 104, 0, 288, 88, 104, 0, 31, ! 0 }; #endif *************** static const short yyrline[] = { 0, *** 486,542 **** 360, 362, 368, 369, 374, 376, 382, 383, 388, 392, 394, 397, 399, 401, 406, 408, 410, 412, 416, 420, 423, 426, 429, 433, 435, 438, 441, 445, 462, 468, ! 471, 474, 477, 479, 483, 487, 491, 493, 497, 499, ! 501, 503, 505, 507, 509, 511, 513, 515, 517, 519, ! 521, 523, 527, 529, 533, 535, 538, 542, 544, 551, ! 554, 561, 571, 578, 579, 581, 583, 587, 596, 601, ! 603, 619, 626, 628, 631, 641, 651, 653, 657, 663, ! 665, 670, 672, 689, 691, 692, 702, 707, 709, 710, ! 711, 718, 721, 723, 726, 734, 743, 753, 758, 761, ! 763, 765, 767, 769, 825, 829, 832, 837, 843, 847, ! 852, 856, 861, 865, 868, 871, 874, 877, 880, 885, ! 889, 892, 895, 898, 901, 906, 910, 913, 916, 919, ! 922, 927, 931, 934, 937, 940, 945, 949, 952, 955, ! 961, 967, 973, 981, 987, 991, 994, 1000, 1006, 1012, ! 1020, 1026, 1030, 1033, 1036, 1039, 1042, 1045, 1051, 1057, ! 1063, 1071, 1075, 1078, 1081, 1084, 1089, 1093, 1096, 1099, ! 1102, 1105, 1108, 1114, 1120, 1126, 1134, 1138, 1141, 1144, ! 1147, 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1164, ! 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1175, 1177, 1178, ! 1179, 1182, 1184, 1185, 1186, 1189, 1191, 1192, 1193, 1196, ! 1198, 1199, 1200, 1203, 1205, 1206, 1207, 1208, 1209, 1210, ! 1211, 1214, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, ! 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1234, 1237, 1262, ! 1264, 1267, 1271, 1274, 1277, 1281, 1286, 1288, 1294, 1296, ! 1299, 1301, 1304, 1307, 1313, 1320, 1322, 1329, 1336, 1338, ! 1345, 1348, 1352, 1355, 1359, 1364, 1367, 1371, 1374, 1376, ! 1378, 1380, 1387, 1389, 1390, 1391, 1396, 1398, 1400, 1402, ! 1407, 1411, 1414, 1416, 1421, 1425, 1428, 1433, 1433, 1436, ! 1439, 1441, 1443, 1446, 1448, 1451, 1457, 1461, 1465, 1479, ! 1486, 1495, 1509, 1516, 1528, 1530, 1535, 1538, 1543, 1545, ! 1547, 1554, 1556, 1559, 1565, 1567, 1570, 1576, 1578, 1580, ! 1582, 1589, 1595, 1597, 1599, 1601, 1604, 1607, 1611, 1614, ! 1618, 1621, 1631, 1636, 1638, 1642, 1644, 1646, 1650, 1652, ! 1655, 1657, 1662, 1665, 1667, 1675, 1677, 1680, 1682, 1687, ! 1690, 1695, 1697, 1699, 1704, 1708, 1718, 1721, 1726, 1728, ! 1733, 1735, 1739, 1741, 1745, 1749, 1753, 1758, 1762, 1766, ! 1776, 1778, 1783, 1788, 1791, 1795, 1800, 1803, 1806, 1809, ! 1814, 1818, 1824, 1826, 1829, 1831, 1835, 1838, 1842, 1845, ! 1847, 1849, 1851, 1857, 1860, 1862, 1864, 1866, 1868, 1870, ! 1874, 1878, 1890, 1892, 1893, 1897, 1900, 1902, 1903, 1904, ! 1905, 1908, 1910, 1913, 1914, 1917, 1919, 1920, 1921, 1922, ! 1925, 1927, 1930, 1932, 1933, 1934, 1937, 1940, 1947, 1952, ! 1968, 1983, 1985, 1990, 1992, 1995, 2009, 2012, 2015, 2019, ! 2021, 2028, 2030, 2033, 2051, 2058, 2064, 2067, 2078, 2089, ! 2101, 2109, 2115, 2121, 2123, 2127, 2133, 2147, 2156, 2161, ! 2165, 2177, 2187, 2190, 2196, 2197, 2200, 2202, 2206, 2209, ! 2212, 2215, 2216, 2220, 2223, 2226, 2231, 2234, 2237, 2241, ! 2244, 2247, 2250, 2253, 2257, 2261, 2266, 2270, 2282, 2288, ! 2296, 2299, 2302, 2305, 2320, 2324, 2328, 2331, 2336, 2338, ! 2341, 2343, 2347, 2350, 2354, 2357, 2366, 2372, 2377, 2379, ! 2388, 2391, 2392, 2398, 2400, 2410, 2412, 2416, 2419, 2425, ! 2431, 2436, 2439, 2445, 2452, 2458, 2463, 2466, 2472, 2477, ! 2486, 2492, 2497, 2499, 2516, 2519, 2524, 2527, 2531 }; #endif --- 487,543 ---- 360, 362, 368, 369, 374, 376, 382, 383, 388, 392, 394, 397, 399, 401, 406, 408, 410, 412, 416, 420, 423, 426, 429, 433, 435, 438, 441, 445, 462, 468, ! 471, 474, 477, 479, 483, 487, 491, 495, 497, 501, ! 503, 505, 507, 509, 511, 513, 515, 517, 519, 521, ! 523, 525, 527, 531, 533, 537, 539, 542, 546, 548, ! 555, 558, 565, 575, 582, 583, 585, 587, 591, 600, ! 605, 607, 623, 630, 632, 635, 645, 655, 657, 661, ! 667, 669, 674, 676, 693, 695, 696, 706, 711, 713, ! 714, 715, 722, 725, 727, 730, 738, 747, 757, 762, ! 765, 767, 769, 771, 773, 829, 833, 836, 841, 847, ! 851, 856, 860, 865, 869, 872, 875, 878, 881, 884, ! 889, 893, 896, 899, 902, 905, 910, 914, 917, 920, ! 923, 926, 931, 935, 938, 941, 944, 949, 953, 956, ! 959, 965, 971, 977, 985, 991, 995, 998, 1004, 1010, ! 1016, 1024, 1030, 1034, 1037, 1040, 1043, 1046, 1049, 1055, ! 1061, 1067, 1075, 1079, 1082, 1085, 1088, 1093, 1097, 1100, ! 1103, 1106, 1109, 1112, 1118, 1124, 1130, 1138, 1142, 1145, ! 1148, 1151, 1157, 1159, 1160, 1161, 1162, 1163, 1164, 1165, ! 1168, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1179, 1181, ! 1182, 1183, 1186, 1188, 1189, 1190, 1193, 1195, 1196, 1197, ! 1200, 1202, 1203, 1204, 1207, 1209, 1210, 1211, 1212, 1213, ! 1214, 1215, 1218, 1220, 1221, 1222, 1223, 1224, 1225, 1226, ! 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1238, 1241, ! 1266, 1268, 1271, 1275, 1278, 1281, 1285, 1290, 1292, 1298, ! 1300, 1303, 1305, 1308, 1311, 1317, 1324, 1326, 1333, 1340, ! 1342, 1349, 1352, 1356, 1359, 1363, 1368, 1371, 1375, 1378, ! 1380, 1382, 1384, 1391, 1393, 1394, 1395, 1400, 1402, 1404, ! 1406, 1411, 1415, 1418, 1420, 1425, 1429, 1432, 1437, 1438, ! 1441, 1444, 1446, 1448, 1451, 1453, 1456, 1462, 1466, 1470, ! 1484, 1491, 1500, 1514, 1521, 1533, 1535, 1540, 1543, 1548, ! 1550, 1552, 1559, 1561, 1564, 1570, 1572, 1575, 1581, 1583, ! 1585, 1587, 1594, 1600, 1602, 1604, 1606, 1609, 1612, 1616, ! 1619, 1623, 1626, 1636, 1641, 1643, 1647, 1649, 1651, 1655, ! 1657, 1660, 1662, 1667, 1670, 1672, 1680, 1682, 1685, 1687, ! 1692, 1695, 1700, 1702, 1704, 1709, 1713, 1723, 1726, 1731, ! 1733, 1738, 1740, 1744, 1746, 1750, 1754, 1758, 1763, 1767, ! 1771, 1781, 1783, 1788, 1793, 1796, 1800, 1805, 1808, 1811, ! 1814, 1819, 1823, 1829, 1831, 1834, 1836, 1840, 1843, 1847, ! 1850, 1852, 1854, 1856, 1862, 1865, 1867, 1869, 1871, 1873, ! 1875, 1879, 1883, 1895, 1897, 1898, 1902, 1905, 1907, 1908, ! 1909, 1910, 1913, 1915, 1918, 1919, 1922, 1924, 1925, 1926, ! 1927, 1930, 1932, 1935, 1937, 1938, 1939, 1942, 1945, 1952, ! 1957, 1973, 1988, 1990, 1995, 1997, 2000, 2014, 2017, 2020, ! 2024, 2026, 2033, 2035, 2038, 2056, 2063, 2069, 2072, 2083, ! 2094, 2106, 2114, 2120, 2126, 2128, 2132, 2138, 2152, 2161, ! 2166, 2170, 2182, 2192, 2195, 2201, 2202, 2205, 2207, 2211, ! 2214, 2217, 2220, 2221, 2225, 2228, 2231, 2236, 2239, 2242, ! 2246, 2249, 2252, 2255, 2258, 2262, 2266, 2271, 2275, 2287, ! 2293, 2301, 2304, 2307, 2310, 2325, 2329, 2333, 2336, 2341, ! 2343, 2346, 2348, 2352, 2355, 2359, 2362, 2371, 2377, 2382, ! 2384, 2393, 2396, 2397, 2403, 2405, 2415, 2417, 2421, 2424, ! 2430, 2436, 2441, 2444, 2450, 2457, 2463, 2468, 2471, 2477, ! 2482, 2491, 2497, 2502, 2504, 2521, 2524, 2529, 2532, 2536 }; #endif *************** static const char * const yytname[] = { *** 556,563 **** "OBJECTNAME","CLASS","ALIAS","')'","';'","'}'","'~'","'!'","','","'{'","']'", "program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6", "@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr", ! "sizeof","alignof","cast_expr","expr_no_commas","@9","@10","@11","@12","@13", ! "primary","@14","string","old_style_parm_decls","lineno_datadecl","datadecls", "datadecl","lineno_decl","setspecs","maybe_resetattrs","decl","declspecs_nosc_nots_nosa_noea", "declspecs_nosc_nots_nosa_ea","declspecs_nosc_nots_sa_noea","declspecs_nosc_nots_sa_ea", "declspecs_nosc_ts_nosa_noea","declspecs_nosc_ts_nosa_ea","declspecs_nosc_ts_sa_noea", --- 557,564 ---- "OBJECTNAME","CLASS","ALIAS","')'","';'","'}'","'~'","'!'","','","'{'","']'", "program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6", "@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr", ! "sizeof","alignof","typeof","cast_expr","expr_no_commas","@9","@10","@11","@12", ! "@13","primary","@14","string","old_style_parm_decls","lineno_datadecl","datadecls", "datadecl","lineno_decl","setspecs","maybe_resetattrs","decl","declspecs_nosc_nots_nosa_noea", "declspecs_nosc_nots_nosa_ea","declspecs_nosc_nots_sa_noea","declspecs_nosc_nots_sa_ea", "declspecs_nosc_ts_nosa_noea","declspecs_nosc_ts_nosa_ea","declspecs_nosc_ts_sa_noea", *************** static const short yyr1[] = { 0, *** 600,656 **** 97, 100, 101, 97, 97, 102, 103, 97, 97, 104, 104, 105, 105, 105, 105, 105, 105, 105, 106, 107, 107, 108, 108, 109, 109, 109, 109, 109, 109, 109, ! 109, 109, 109, 109, 110, 111, 112, 112, 113, 113, ! 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, ! 113, 114, 113, 115, 113, 116, 117, 113, 118, 113, ! 113, 113, 119, 119, 119, 119, 120, 119, 119, 119, ! 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, ! 119, 121, 121, 122, 122, 122, 123, 124, 124, 124, ! 124, 125, 125, 125, 125, 126, 127, 128, 129, 129, ! 129, 129, 129, 129, 130, 130, 130, 131, 132, 132, ! 133, 133, 134, 134, 134, 134, 134, 134, 134, 135, ! 135, 135, 135, 135, 135, 136, 136, 136, 136, 136, ! 136, 137, 137, 137, 137, 137, 138, 138, 138, 138, ! 138, 138, 138, 139, 140, 140, 140, 140, 140, 140, ! 141, 142, 142, 142, 142, 142, 142, 142, 142, 142, ! 142, 143, 143, 143, 143, 143, 144, 144, 144, 144, ! 144, 144, 144, 144, 144, 144, 145, 145, 145, 145, ! 145, 146, 146, 146, 146, 146, 146, 146, 146, 147, ! 147, 147, 147, 147, 147, 147, 147, 148, 148, 148, ! 148, 149, 149, 149, 149, 150, 150, 150, 150, 151, ! 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, ! 152, 153, 153, 153, 153, 153, 153, 153, 153, 153, ! 153, 153, 153, 153, 153, 153, 153, 154, 154, 155, ! 155, 156, 157, 157, 158, 159, 159, 159, 160, 160, ! 161, 161, 162, 162, 164, 163, 163, 166, 165, 165, ! 167, 167, 168, 168, 169, 170, 170, 171, 171, 171, ! 171, 171, 172, 172, 172, 172, 173, 174, 173, 173, ! 175, 175, 176, 176, 177, 177, 178, 177, 177, 180, ! 179, 179, 179, 181, 181, 182, 182, 182, 184, 185, ! 183, 187, 188, 186, 189, 189, 190, 190, 190, 190, ! 190, 191, 191, 192, 192, 192, 193, 193, 193, 193, ! 193, 194, 194, 194, 194, 194, 195, 195, 196, 196, ! 197, 197, 199, 198, 198, 200, 198, 198, 201, 198, ! 202, 198, 203, 203, 203, 204, 204, 205, 205, 206, ! 206, 207, 207, 207, 208, 208, 208, 208, 208, 208, ! 209, 209, 210, 210, 211, 211, 211, 212, 212, 212, ! 213, 213, 213, 214, 214, 216, 215, 217, 217, 218, ! 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, ! 222, 222, 222, 223, 223, 223, 223, 223, 223, 223, ! 223, 223, 224, 224, 224, 224, 225, 225, 225, 225, ! 225, 226, 226, 226, 226, 227, 227, 227, 227, 227, ! 228, 228, 229, 229, 229, 229, 230, 231, 232, 233, ! 234, 235, 235, 236, 236, 237, 238, 238, 239, 240, ! 240, 241, 241, 242, 243, 244, 244, 246, 245, 248, ! 247, 249, 250, 251, 251, 252, 253, 254, 256, 255, ! 255, 255, 257, 258, 255, 255, 255, 259, 260, 261, ! 262, 255, 263, 255, 264, 264, 265, 265, 265, 265, ! 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, ! 266, 266, 266, 266, 267, 267, 268, 268, 269, 269, ! 270, 270, 271, 271, 272, 272, 274, 273, 275, 276, ! 277, 275, 275, 278, 278, 278, 278, 279, 279, 280, ! 280, 280, 280, 280, 281, 281, 281, 281, 281, 282, ! 284, 283, 285, 285, 286, 286, 287, 287, 288 }; static const short yyr2[] = { 0, --- 601,657 ---- 97, 100, 101, 97, 97, 102, 103, 97, 97, 104, 104, 105, 105, 105, 105, 105, 105, 105, 106, 107, 107, 108, 108, 109, 109, 109, 109, 109, 109, 109, ! 109, 109, 109, 109, 110, 111, 112, 113, 113, 114, ! 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, ! 114, 114, 115, 114, 116, 114, 117, 118, 114, 119, ! 114, 114, 114, 120, 120, 120, 120, 121, 120, 120, ! 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, ! 120, 120, 122, 122, 123, 123, 123, 124, 125, 125, ! 125, 125, 126, 126, 126, 126, 127, 128, 129, 130, ! 130, 130, 130, 130, 130, 131, 131, 131, 132, 133, ! 133, 134, 134, 135, 135, 135, 135, 135, 135, 135, ! 136, 136, 136, 136, 136, 136, 137, 137, 137, 137, ! 137, 137, 138, 138, 138, 138, 138, 139, 139, 139, ! 139, 139, 139, 139, 140, 141, 141, 141, 141, 141, ! 141, 142, 143, 143, 143, 143, 143, 143, 143, 143, ! 143, 143, 144, 144, 144, 144, 144, 145, 145, 145, ! 145, 145, 145, 145, 145, 145, 145, 146, 146, 146, ! 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, ! 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, ! 149, 149, 150, 150, 150, 150, 151, 151, 151, 151, ! 152, 152, 152, 152, 153, 153, 153, 153, 153, 153, ! 153, 153, 154, 154, 154, 154, 154, 154, 154, 154, ! 154, 154, 154, 154, 154, 154, 154, 154, 155, 155, ! 156, 156, 157, 158, 158, 159, 160, 160, 160, 161, ! 161, 162, 162, 163, 163, 165, 164, 164, 167, 166, ! 166, 168, 168, 169, 169, 170, 171, 171, 172, 172, ! 172, 172, 172, 173, 173, 173, 173, 174, 175, 174, ! 174, 176, 176, 177, 177, 178, 178, 179, 178, 178, ! 181, 180, 180, 180, 182, 182, 183, 183, 183, 185, ! 186, 184, 188, 189, 187, 190, 190, 191, 191, 191, ! 191, 191, 192, 192, 193, 193, 193, 194, 194, 194, ! 194, 194, 195, 195, 195, 195, 195, 196, 196, 197, ! 197, 198, 198, 200, 199, 199, 201, 199, 199, 202, ! 199, 203, 199, 204, 204, 204, 205, 205, 206, 206, ! 207, 207, 208, 208, 208, 209, 209, 209, 209, 209, ! 209, 210, 210, 211, 211, 212, 212, 212, 213, 213, ! 213, 214, 214, 214, 215, 215, 217, 216, 218, 218, ! 219, 219, 219, 220, 220, 221, 221, 222, 222, 223, ! 223, 223, 223, 223, 224, 224, 224, 224, 224, 224, ! 224, 224, 224, 225, 225, 225, 225, 226, 226, 226, ! 226, 226, 227, 227, 227, 227, 228, 228, 228, 228, ! 228, 229, 229, 230, 230, 230, 230, 231, 232, 233, ! 234, 235, 236, 236, 237, 237, 238, 239, 239, 240, ! 241, 241, 242, 242, 243, 244, 245, 245, 247, 246, ! 249, 248, 250, 251, 252, 252, 253, 254, 255, 257, ! 256, 256, 256, 258, 259, 256, 256, 256, 260, 261, ! 262, 263, 256, 264, 256, 265, 265, 266, 266, 266, ! 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, ! 266, 267, 267, 267, 267, 268, 268, 269, 269, 270, ! 270, 271, 271, 272, 272, 273, 273, 275, 274, 276, ! 277, 278, 276, 276, 279, 279, 279, 279, 280, 280, ! 281, 281, 281, 281, 281, 282, 282, 282, 282, 282, ! 283, 285, 284, 286, 286, 287, 287, 288, 288, 289 }; static const short yyr2[] = { 0, *************** static const short yyr2[] = { 0, *** 659,1552 **** 4, 0, 0, 9, 4, 0, 0, 8, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, 1, 2, 2, 2, 2, 2, 4, ! 2, 4, 2, 2, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 0, 4, 0, 4, 0, 0, 7, 0, 5, ! 3, 3, 1, 1, 1, 1, 0, 7, 3, 3, ! 3, 3, 4, 6, 8, 6, 4, 3, 3, 2, ! 2, 1, 2, 0, 1, 2, 3, 1, 1, 2, ! 2, 4, 4, 2, 2, 3, 0, 1, 4, 4, ! 3, 3, 2, 2, 1, 2, 2, 2, 2, 2, ! 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, ! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ! 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ! 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, ! 1, 1, 1, 1, 1, 1, 4, 4, 1, 4, ! 1, 4, 0, 4, 0, 6, 3, 0, 6, 3, ! 0, 1, 1, 2, 6, 1, 3, 0, 1, 4, ! 6, 4, 1, 1, 1, 1, 1, 0, 4, 1, ! 0, 2, 1, 3, 3, 2, 0, 4, 1, 0, ! 4, 1, 1, 1, 2, 2, 5, 3, 0, 0, ! 7, 0, 0, 7, 1, 1, 4, 3, 2, 3, ! 1, 1, 1, 3, 2, 1, 3, 2, 3, 3, ! 4, 3, 4, 3, 2, 1, 1, 2, 1, 2, ! 1, 2, 0, 7, 5, 0, 7, 5, 0, 8, ! 0, 7, 2, 2, 2, 0, 1, 0, 1, 1, ! 2, 0, 3, 2, 3, 4, 3, 1, 1, 2, ! 1, 4, 1, 4, 4, 6, 5, 4, 6, 5, ! 1, 3, 1, 1, 3, 0, 3, 0, 1, 0, ! 1, 2, 1, 1, 1, 3, 2, 3, 4, 3, ! 2, 2, 1, 3, 4, 2, 3, 3, 4, 4, ! 5, 5, 1, 1, 1, 1, 1, 2, 2, 2, ! 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, ! 1, 2, 1, 1, 1, 1, 2, 0, 0, 0, ! 0, 0, 1, 1, 2, 3, 1, 2, 1, 1, ! 5, 1, 1, 2, 2, 2, 2, 0, 5, 0, ! 4, 0, 0, 1, 2, 3, 3, 3, 0, 4, ! 1, 3, 0, 0, 7, 5, 2, 0, 0, 0, ! 0, 12, 0, 6, 2, 1, 1, 2, 3, 2, ! 2, 2, 3, 6, 8, 10, 12, 3, 4, 1, ! 3, 5, 2, 5, 0, 1, 0, 1, 0, 1, ! 1, 3, 4, 7, 1, 3, 0, 3, 2, 0, ! 0, 6, 2, 0, 1, 1, 3, 1, 3, 4, ! 4, 3, 4, 3, 4, 4, 3, 4, 3, 1, ! 0, 3, 1, 2, 1, 3, 1, 3, 1 }; static const short yydefact[] = { 3, ! 5, 0, 0, 0, 266, 157, 263, 125, 351, 347, ! 349, 0, 0, 0, 559, 17, 4, 8, 7, 0, ! 210, 211, 212, 213, 202, 203, 204, 205, 214, 215, ! 216, 217, 206, 207, 208, 209, 117, 117, 0, 133, ! 140, 260, 262, 261, 131, 283, 0, 0, 0, 265, ! 264, 0, 6, 15, 16, 352, 348, 350, 0, 0, ! 0, 346, 258, 281, 0, 271, 0, 160, 126, 138, ! 144, 128, 161, 127, 139, 145, 167, 129, 150, 155, ! 132, 168, 130, 151, 156, 178, 134, 136, 142, 141, ! 179, 135, 137, 143, 193, 146, 148, 153, 152, 194, ! 147, 149, 154, 162, 158, 176, 185, 164, 163, 159, ! 177, 186, 169, 165, 191, 200, 171, 170, 166, 192, ! 201, 180, 172, 174, 183, 182, 181, 173, 175, 184, ! 195, 187, 189, 198, 197, 196, 188, 190, 199, 0, ! 0, 14, 284, 30, 31, 372, 363, 372, 364, 361, ! 365, 10, 83, 84, 102, 55, 56, 0, 0, 0, ! 0, 0, 86, 0, 32, 34, 33, 0, 35, 36, ! 0, 37, 38, 0, 0, 39, 57, 0, 0, 59, ! 42, 44, 85, 0, 0, 0, 238, 239, 240, 241, ! 234, 235, 236, 237, 396, 0, 288, 230, 231, 232, ! 233, 259, 0, 0, 282, 11, 281, 29, 0, 281, ! 0, 0, 281, 345, 331, 258, 281, 0, 269, 0, ! 325, 326, 0, 0, 0, 0, 353, 0, 356, 0, ! 359, 53, 54, 0, 0, 0, 48, 45, 0, 464, ! 0, 0, 47, 0, 0, 0, 49, 0, 51, 0, ! 0, 76, 74, 72, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 100, 101, 0, 0, ! 40, 0, 103, 0, 460, 452, 0, 46, 267, 398, ! 268, 294, 295, 296, 293, 0, 286, 289, 344, 0, ! 0, 118, 0, 551, 342, 0, 0, 416, 0, 0, ! 0, 27, 0, 472, 109, 473, 280, 0, 0, 13, ! 281, 21, 0, 281, 281, 329, 12, 25, 0, 281, ! 379, 374, 230, 231, 232, 233, 226, 227, 228, 229, ! 117, 117, 371, 0, 372, 281, 372, 393, 394, 368, ! 391, 0, 0, 0, 0, 90, 89, 0, 9, 43, ! 0, 0, 82, 81, 0, 0, 0, 0, 70, 71, ! 69, 68, 67, 65, 66, 60, 61, 62, 63, 64, ! 99, 98, 0, 41, 0, 92, 0, 0, 453, 454, ! 91, 258, 281, 397, 399, 404, 403, 405, 413, 0, ! 288, 40, 343, 272, 273, 0, 0, 0, 0, 418, ! 414, 0, 0, 417, 0, 447, 472, 111, 106, 110, ! 0, 278, 330, 0, 0, 19, 277, 328, 23, 355, ! 472, 472, 373, 380, 0, 358, 0, 0, 369, 0, ! 368, 0, 0, 0, 87, 58, 50, 52, 0, 0, ! 75, 73, 93, 97, 557, 0, 463, 432, 462, 472, ! 472, 472, 472, 0, 441, 0, 473, 427, 436, 455, ! 407, 527, 412, 281, 411, 285, 287, 83, 0, 274, ! 0, 555, 535, 222, 223, 218, 219, 224, 225, 220, ! 221, 117, 117, 553, 0, 536, 538, 552, 0, 420, ! 0, 0, 419, 415, 473, 107, 117, 117, 0, 327, ! 270, 273, 472, 275, 472, 375, 381, 473, 377, 383, ! 473, 281, 281, 395, 392, 281, 0, 0, 0, 0, ! 0, 77, 80, 456, 0, 433, 428, 437, 434, 429, ! 438, 473, 430, 439, 435, 431, 440, 442, 449, 450, ! 406, 408, 0, 0, 527, 410, 290, 0, 292, 533, ! 550, 400, 400, 529, 530, 0, 554, 0, 421, 422, ! 0, 114, 0, 115, 0, 300, 298, 297, 279, 473, ! 0, 473, 281, 376, 281, 0, 354, 357, 362, 281, ! 94, 0, 96, 313, 83, 0, 0, 310, 0, 312, ! 0, 366, 303, 309, 0, 0, 0, 558, 450, 461, ! 266, 0, 0, 0, 0, 0, 0, 515, 510, 459, ! 472, 0, 116, 117, 117, 0, 0, 448, 497, 477, ! 478, 0, 409, 528, 0, 336, 258, 281, 281, 332, ! 333, 281, 547, 401, 404, 258, 281, 281, 549, 281, ! 537, 210, 211, 212, 213, 202, 203, 204, 205, 214, ! 215, 216, 217, 206, 207, 208, 209, 117, 117, 539, ! 556, 0, 28, 457, 0, 0, 0, 0, 276, 0, ! 472, 0, 281, 472, 0, 281, 360, 0, 316, 0, ! 0, 307, 88, 0, 302, 0, 315, 306, 78, 0, ! 513, 500, 501, 502, 0, 0, 0, 516, 0, 473, ! 498, 0, 0, 123, 468, 483, 470, 488, 0, 481, ! 0, 0, 451, 465, 124, 291, 407, 527, 545, 281, ! 335, 281, 338, 546, 402, 407, 527, 548, 531, 400, ! 400, 458, 112, 113, 0, 20, 24, 382, 473, 281, ! 0, 385, 384, 281, 0, 388, 95, 0, 318, 0, ! 0, 304, 305, 0, 511, 503, 0, 508, 0, 0, ! 0, 121, 319, 0, 122, 322, 0, 0, 450, 0, ! 0, 0, 467, 472, 466, 487, 0, 499, 339, 340, ! 0, 334, 337, 0, 281, 281, 542, 281, 544, 299, ! 0, 387, 281, 390, 281, 0, 311, 308, 0, 509, ! 0, 281, 119, 0, 120, 0, 0, 0, 0, 517, ! 0, 482, 450, 451, 474, 472, 0, 341, 532, 540, ! 541, 543, 386, 389, 317, 512, 519, 0, 514, 320, ! 323, 0, 0, 471, 518, 496, 489, 0, 493, 480, ! 476, 475, 0, 0, 0, 0, 520, 521, 504, 472, ! 472, 469, 484, 517, 495, 450, 486, 0, 0, 519, ! 0, 0, 473, 473, 450, 0, 494, 0, 0, 0, ! 505, 522, 0, 0, 485, 490, 523, 0, 0, 0, ! 321, 324, 517, 0, 525, 0, 506, 0, 0, 0, ! 0, 491, 524, 507, 526, 450, 492, 0, 0, 0 }; ! static const short yydefgoto[] = { 898, ! 1, 2, 3, 17, 18, 19, 313, 503, 319, 505, ! 212, 407, 589, 174, 241, 373, 176, 177, 178, 179, ! 180, 181, 358, 357, 355, 597, 356, 182, 521, 183, ! 302, 303, 304, 496, 448, 20, 291, 613, 187, 188, ! 189, 190, 191, 192, 193, 194, 29, 30, 31, 32, ! 33, 34, 35, 36, 37, 38, 482, 483, 331, 202, ! 195, 39, 203, 40, 41, 42, 43, 44, 218, 65, ! 213, 219, 571, 66, 499, 292, 205, 46, 286, 287, ! 288, 569, 667, 591, 592, 593, 751, 594, 681, 595, ! 596, 762, 804, 850, 765, 806, 851, 502, 221, 629, ! 630, 631, 222, 47, 48, 49, 50, 335, 337, 342, ! 230, 51, 685, 430, 225, 226, 333, 506, 509, 507, ! 510, 340, 341, 196, 280, 384, 633, 634, 386, 387, ! 388, 214, 449, 450, 451, 452, 453, 454, 305, 276, ! 600, 774, 778, 378, 379, 380, 663, 618, 277, 456, ! 184, 664, 710, 711, 767, 712, 769, 306, 411, 814, ! 775, 815, 816, 713, 813, 768, 865, 770, 854, 883, ! 896, 856, 837, 620, 621, 699, 838, 846, 847, 848, ! 886, 463, 544, 484, 640, 784, 485, 486, 660, 487, ! 552, 295, 397, 488, 489, 446, 185 }; ! static const short yypact[] = { 131, ! 137, 2099, 2099, 229,-32768,-32768,-32768,-32768, 129, 129, ! 129, 101, 123, 147,-32768,-32768,-32768,-32768,-32768, 263, ! 1218, 731, 1314, 941, 390, 303, 525, 827, 1631, 1037, ! 2396, 1360, 696, 917, 716, 1008,-32768,-32768, 138,-32768, ! -32768,-32768,-32768,-32768, 129,-32768, 83, 85, 107,-32768, ! -32768, 2099,-32768,-32768,-32768, 129, 129, 129, 2695, 2613, ! 165,-32768, 112, 129, 170,-32768, 914,-32768,-32768,-32768, ! -32768, 129,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! 129,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 129, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 129,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 129,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 129,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768, 129,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768, 129,-32768,-32768,-32768,-32768, 290, ! 263,-32768,-32768,-32768,-32768,-32768, 146,-32768, 149,-32768, ! 159,-32768,-32768,-32768,-32768,-32768,-32768, 2695, 2695, 205, ! 212, 214,-32768, 377,-32768,-32768,-32768, 2695,-32768,-32768, ! 1719,-32768,-32768, 2695, 204, 235,-32768, 2736, 2777,-32768, ! 3116, 1771, 317, 1480, 2695, 224, 1413, 859, 3041, 1050, ! 1230, 784, 1694, 1227,-32768, 249, 684, 136, 328, 219, ! 358,-32768, 263, 263, 129,-32768, 129,-32768, 307, 129, ! 2142, 357, 129,-32768,-32768, 112, 129, 257,-32768, 2080, ! 401, 454, 284, 2052, 293, 855,-32768, 306,-32768, 298, ! -32768,-32768,-32768, 2695, 2695, 3066,-32768,-32768, 305,-32768, ! 323, 346,-32768, 316, 2695, 1719,-32768, 1719,-32768, 2695, ! 2695, 393,-32768,-32768, 2695, 2695, 2695, 2695, 2695, 2695, ! 2695, 2695, 2695, 2695, 2695, 2695,-32768,-32768, 377, 377, ! 2695, 2695,-32768, 366,-32768, 409, 372,-32768,-32768, 425, ! -32768,-32768,-32768,-32768,-32768, 197,-32768, 399, 454, 215, ! 263,-32768, 470,-32768,-32768, 2613, 2245,-32768, 398, 2183, ! 445,-32768, 759, 65,-32768,-32768, 497, 290, 290,-32768, ! 129,-32768, 357, 129, 129,-32768,-32768,-32768, 357, 129, ! -32768,-32768, 1413, 859, 3041, 1050, 1230, 784, 1694, 1227, ! -32768, 330, 459, 1417,-32768, 129,-32768,-32768, 529, 488, ! -32768, 298, 2883, 2901, 490,-32768,-32768, 2486,-32768, 3116, ! 501, 503, 3116, 3116, 2695, 534, 2695, 2695, 2448, 3077, ! 2576, 2961, 1820, 818, 818, 452, 452,-32768,-32768,-32768, ! -32768,-32768, 515, 235, 513,-32768, 377, 1567, 409,-32768, ! -32768, 112, 129,-32768,-32768,-32768,-32768, 456,-32768, 522, ! 684, 2818,-32768,-32768, 209, 87, 1090, 516, 2695,-32768, ! -32768, 2695, 2286,-32768, 517,-32768,-32768,-32768,-32768,-32768, ! 2465,-32768, 401, 251, 290,-32768, 564,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768, 527,-32768, 528, 2695, 377, 530, ! 488, 3066, 2695, 3066,-32768,-32768, 532, 532, 576, 2695, ! 3145, 2208,-32768,-32768,-32768, 324, 445,-32768,-32768, 78, ! 116, 121, 134, 624,-32768, 542,-32768,-32768,-32768,-32768, ! 425, 425,-32768, 129,-32768,-32768,-32768, 339, 545,-32768, ! 549,-32768,-32768, 1797, 3070, 1146, 1600, 1998, 3095, 1185, ! 1614,-32768,-32768,-32768, 553, 347,-32768,-32768, 374,-32768, ! 552, 555,-32768,-32768,-32768,-32768, 563, 565, 1348,-32768, ! -32768, 626,-32768,-32768,-32768, 567,-32768,-32768, 569,-32768, ! -32768, 129, 129, 3116,-32768, 129, 566, 579, 2925, 581, ! 1784,-32768, 3132,-32768, 377,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2356, ! -32768,-32768, 586, 1207,-32768,-32768,-32768, 2695,-32768,-32768, ! -32768, 175, 325,-32768,-32768, 1520,-32768, 673,-32768,-32768, ! 76,-32768, 290,-32768, 263,-32768,-32768, 3116,-32768,-32768, ! 1348,-32768, 129, 343, 129, 431,-32768,-32768,-32768, 129, ! -32768, 2695,-32768,-32768, 632, 377, 2695,-32768, 633, 3116, ! 595, 593,-32768,-32768, 185, 1920, 2695,-32768, 2425,-32768, ! 646, 2695, 649, 612, 614, 2654, 158, 699,-32768,-32768, ! -32768, 623,-32768,-32768,-32768, 627, 482, 628,-32768,-32768, ! -32768, 2551,-32768,-32768, 407,-32768, 112, 129, 129, 468, ! 483, 238,-32768,-32768, 129, 112, 129, 238,-32768, 129, ! -32768, 1797, 3070, 2564, 3099, 1146, 1600, 1547, 1752, 1998, ! 3095, 3037, 3112, 1185, 1614, 1634, 1766,-32768,-32768,-32768, ! -32768, 625,-32768,-32768, 478, 479, 1784, 76,-32768, 76, ! -32768, 2695, 109,-32768, 2695, 418,-32768, 2943,-32768, 1406, ! 1784,-32768,-32768, 1852,-32768, 1988,-32768,-32768, 3132, 2863, ! -32768,-32768,-32768,-32768, 640, 2695, 641,-32768, 650,-32768, ! -32768, 290, 263,-32768,-32768,-32768,-32768,-32768, 660, 700, ! 1250, 97,-32768,-32768,-32768,-32768, 175, 349,-32768, 129, ! -32768, 129,-32768,-32768, 129, 325, 325,-32768,-32768, 175, ! 325,-32768,-32768,-32768, 662,-32768,-32768,-32768,-32768, 2980, ! 2695,-32768,-32768, 2980, 2695,-32768,-32768, 2695,-32768, 665, ! 1988,-32768,-32768, 2695,-32768,-32768, 674,-32768, 2695, 711, ! 484,-32768, 403, 487,-32768, 1087, 701, 703,-32768, 707, ! 2695, 1654,-32768,-32768,-32768,-32768, 2695,-32768, 468, 483, ! 466,-32768,-32768, 1207, 129, 238,-32768, 238,-32768,-32768, ! 343,-32768, 2980,-32768, 2980, 2839,-32768,-32768, 3098,-32768, ! 62, 129,-32768, 357,-32768, 357, 2695, 2695, 750, 2551, ! 694,-32768,-32768,-32768,-32768,-32768, 695,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 31, 697,-32768,-32768, ! -32768, 718, 719,-32768,-32768,-32768,-32768, 698,-32768,-32768, ! -32768,-32768, 710, 712, 377, 127, 715,-32768,-32768,-32768, ! -32768,-32768,-32768, 2695,-32768,-32768,-32768, 2695, 693, 31, ! 720, 31,-32768,-32768,-32768, 722,-32768, 730, 802, 163, ! -32768,-32768, 625, 625,-32768,-32768,-32768, 749, 470, 733, ! -32768,-32768, 2695, 2695, 317, 421,-32768, 740, 743, 744, ! 470,-32768,-32768,-32768, 317,-32768,-32768, 829, 830,-32768 }; static const short yypgoto[] = {-32768, ! -32768,-32768,-32768, 98,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768, 34,-32768, -59, 443, -259, 378,-32768,-32768, ! -53, 728,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -277, ! -310, 538,-32768,-32768, -97, 222, -283, -565, 2, 8, ! 39, 41, 21, 43, 45, 48, -375, -339, 288, 289, ! -317, -281, 291, 294, -488, -466, 427, 435,-32768, -177, ! -119, -519, -199, 429, 496, 480, 706,-32768, -510, -121, ! -218, 437,-32768, 591,-32768, 379, 4, 68,-32768, 463, ! -32768, 286,-32768, -411,-32768, 176,-32768, -526,-32768,-32768, ! 299,-32768,-32768,-32768,-32768,-32768,-32768, -132, 282, 154, ! 171, -124, 58,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768, 462, -114,-32768, 562,-32768,-32768, 230, ! 228, 568, 477, -95,-32768,-32768, -523, -262, -406, -429, ! -32768, 476,-32768,-32768,-32768,-32768,-32768,-32768, -242,-32768, ! -32768, -481, 91,-32768,-32768, 533, -541,-32768, 295,-32768, ! -32768, -514,-32768,-32768,-32768,-32768,-32768, 617, -388, 93, ! -685, -264, 20,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, -745, 54,-32768, 55, ! -32768, 461,-32768, -506,-32768,-32768,-32768,-32768,-32768,-32768, ! 433, -296,-32768,-32768,-32768,-32768, 60 }; ! #define YYLAST 3205 ! static const short yytable[] = { 175, ! 186, 314, 416, 21, 21, 45, 45, 220, 419, 22, ! 22, 374, 56, 57, 58, 396, 308, 385, 418, 223, ! 616, 478, 25, 25, 72, 619, 81, 415, 90, 639, ! 99, 542, 108, 228, 117, 478, 126, 624, 135, 844, ! 23, 23, 24, 24, 26, 26, 27, 27, 332, 28, ! 28, 614, 665, 21, 541, 45, 715, 479, 617, 22, ! 408, 52, 52, 45, 198, -105, 45, 658, 540, 688, ! 199, 479, 25, 615, 409, 242, 662, 67, -443, 480, ! 147, 149, 151, 809, 619, 144, 145, 144, 145, 659, ! 23, 300, 24, 480, 26, 273, 27, 776, 845, 28, ! 53, 200, 616, 201, 232, 233, 561, 827, 866, 144, ! 145, 52, 143, 458, 238, 481, -444, 617, 8, 574, ! 243, -445, 576, 143, 143, 143, 736, 840, 737, 481, ! -1, 278, 374, 614, -446, 455, -2, 888, 14, 143, ! 345, 14, 69, 599, 828, 635, 635, 732, 143, 152, ! 351, 299, 352, -105, 741, 615, 332, 143, 14, 753, ! 144, 145, -423, 777, 610, 14, 143, 59, 478, 470, ! 867, 146, 860, 148, 45, 143, 399, 62, 626, 875, ! 650, 668, 461, 670, 143, 527, 530, 533, 536, 60, ! 72, 761, 81, 143, 90, 150, 99, 237, 224, 543, ! -424, 72, 143, 81, 479, -425, 787, 789, 879, 861, ! 897, 538, 375, 61, 45, 696, 651, 198, -426, 45, ! 425, 142, 427, 199, 798, 78, 480, 323, 686, 45, ! 285, 197, 627, 324, 227, 209, 398, 229, 654, 45, ! 405, 628, 211, 238, 836, 880, 327, 231, 14, 45, ! 586, 45, 587, 206, 200, 735, 201, 207, 140, 141, ! 289, 290, 481, 339, 325, 62, 326, 14, 328, 750, ! 329, 234, 143, 330, 655, 210, 211, 819, 235, 390, ! 236, 210, 211, 314, 391, 334, 244, 542, 625, 671, ! 616, 674, 62, 215, 436, 439, 542, 393, 338, 45, ! 144, 145, 371, 372, 210, 211, 279, 91, 7, 92, ! 541, 760, 54, 55, 9, 10, 11, 315, 211, 541, ! 63, 614, 245, 635, 635, 273, 72, 62, 81, 64, ! 90, 281, 99, 500, 74, 323, 518, 45, 520, 491, ! 310, 324, 492, 615, 311, 62, 215, 216, 395, 238, ! 791, 62, 526, 529, 327, 535, 217, 301, 881, 882, ! -472, -472, -472, -472, 83, 289, 290, 317, -472, -472, ! -472, 207, 325, 293, 326, 339, 328, 320, 329, 144, ! 145, 330, 636, 198, -472, 45, -247, 346, 672, 199, ! 336, 637, 211, 334, 86, 7, 87, 459, 474, 349, ! 216, 9, 10, 11, 475, 347, 627, 524, 478, 217, ! 445, 525, 474, -378, -378, 628, 211, 476, 475, 14, ! 200, 547, 201, 782, 285, 783, 548, 717, 348, 209, ! 555, 476, -273, 62, 556, 45, 726, 45, -79, 477, ! 377, 673, 204, 666, 479, -104, -273, 14, 376, 70, ! 75, 79, 84, 477, 381, 543, 557, 106, 111, 115, ! 120, 558, 339, 745, 543, 392, 480, 315, 211, 528, ! 531, 534, 537, -246, 873, 874, 675, 72, 155, 90, ! 612, 108, 382, 126, 210, 211, -273, 401, 63, 716, ! -273, 383, 211, 830, 245, 831, 705, 64, 706, 707, ! 708, 709, 481, 890, 88, 93, 97, 102, 891, 264, ! 265, 266, 124, 129, 133, 138, 71, 76, 80, 85, ! 210, 211, 464, 211, 107, 112, 116, 121, 406, 95, ! 7, 96, 722, 211, 720, 211, 9, 10, 11, 612, ! 412, 21, 423, 45, 314, 474, 695, 22, 818, 722, ! 211, 475, 421, 422, 14, 247, 249, 642, 598, 45, ! 25, 733, 734, 643, 476, 311, 207, 803, 278, 763, ! 805, 311, 428, 611, 207, 429, 646, 434, 23, 440, ! 24, 764, 26, 437, 27, 438, 477, 28, 294, 413, ! 414, 307, 780, 781, 644, 309, 645, 443, 647, 622, ! 648, 885, 444, 649, 466, 490, 494, 504, -248, 632, ! 638, 512, 513, 895, 516, 70, 75, 79, 84, 679, ! 435, 522, 395, 21, 301, 45, 539, 549, 198, 22, ! 45, 550, 611, 676, 199, 554, 757, 198, 725, 45, ! 697, 559, 25, 199, 560, 72, 562, 81, 564, 90, ! 580, 99, 209, 108, 573, 117, 575, 126, 673, 135, ! 23, 581, 24, 583, 26, 200, 27, 201, 623, 28, ! 88, 93, 97, 102, 200, 661, 201, -30, 682, 683, ! 684, 622, 71, 76, 80, 85, 144, 145, 282, 283, ! 284, -31, 417, 294, 691, 692, 316, 693, 420, 801, ! 122, 7, 123, 551, 551, 698, 701, 9, 10, 11, ! 704, 811, 275, 610, 426, 772, 759, 817, 563, 565, ! 131, 7, 132, 756, 758, 14, 771, 9, 10, 11, ! 89, 94, 98, 103, 5, 73, 7, 74, 125, 130, ! 134, 139, 9, 10, 11, 14, 790, 832, 833, 797, ! 835, 70, 75, 79, 84, 389, 802, 800, 13, 301, ! 766, 462, -108, -108, -108, -108, 834, 807, -108, 808, ! -108, -108, -108, 810, 289, 290, 839, 843, 858, -254, ! 849, 855, 869, 289, 290, 474, -108, 786, 788, 7, ! 92, 475, 143, 857, 835, 9, 10, 11, 868, -256, ! 852, 853, 862, 871, 476, 876, 88, 93, 97, 102, ! 878, 21, 877, 45, -243, 884, 887, 22, 71, 76, ! 80, 85, 892, 835, 889, 893, 477, 894, 899, 900, ! 25, 100, 7, 101, 469, 702, 703, 497, 9, 10, ! 11, 410, 545, 652, 653, 498, 656, -108, 23, 657, ! 24, 501, 26, 467, 27, 321, 669, 28, 5, 752, ! 7, 8, 5, 465, 7, 74, 9, 10, 11, 622, ! 9, 10, 11, 262, 263, 264, 265, 266, 859, 730, ! 731, 394, 13, 785, 14, 15, 13, 779, 316, 316, ! 577, 578, 517, 687, 579, 424, 89, 94, 98, 103, ! 738, 743, 70, 75, 841, 515, 106, 111, 842, 431, ! -249, 460, 714, 870, 208, 553, 872, -26, -26, -26, ! -26, 127, 7, 128, 546, -26, -26, -26, 9, 10, ! 11, 0, 0, 0, 0, 0, 389, 389, 322, -370, ! 209, -26, 0, -273, 5, 82, 7, 83, 0, 0, ! 0, 0, 9, 10, 11, 88, 93, -273, 677, 124, ! 129, 343, 344, 0, 0, 0, 0, 0, 13, 71, ! 76, 0, 350, 107, 112, 0, 0, 353, 354, 0, ! 210, 211, 359, 360, 361, 362, 363, 364, 365, 366, ! 367, 368, 369, 370, 457, 0, 0, -273, 0, 0, ! -255, -273, -26, 0, 0, 0, 718, 719, 0, 0, ! 724, 0, 136, 7, 137, 727, 728, 0, 729, 9, ! 10, 11, 0, 495, -245, 0, 0, 389, 389, 0, ! 0, 0, 89, 94, 98, 103, 0, 508, 511, 0, ! 5, 109, 7, 110, 0, 0, 0, 0, 9, 10, ! 11, 742, 0, 5, 746, 7, 83, 0, 0, 0, ! 0, 9, 10, 11, 13, 0, 457, 457, 532, 457, ! 70, 75, 79, 84, 0, 0, 0, 13, 106, 111, ! 115, 120, 0, 0, 441, 442, 0, 0, 0, 0, ! 471, -257, 472, 5, 6, 7, 8, 0, 294, 473, ! 294, 9, 10, 11, 0, 721, 723, 0, 0, 0, ! 0, 0, 0, 209, 0, 0, -273, 13, 792, 570, ! -251, 572, 794, 0, 0, 88, 93, 97, 102, 0, ! -273, 0, 0, 124, 129, 133, 138, 71, 76, 80, ! 85, 0, 0, 0, 0, 107, 112, 116, 121, 0, ! 86, 7, 87, 210, 211, 514, 0, 9, 10, 11, ! 519, 0, 0, 820, 821, 0, 822, 523, 0, 0, ! -273, 823, -534, 824, -273, 14, 0, 0, 0, 0, ! 829, 89, 94, 0, 0, 125, 130, 0, 0, 122, ! 7, 123, 389, 389, 0, 0, 9, 10, 11, 0, ! 0, 389, 389, 0, 0, 389, 389, 471, 0, 0, ! 5, 6, 7, 8, 14, 0, 473, 0, 9, 10, ! 11, 5, 68, 7, 69, 0, 568, 700, 0, 9, ! 10, 11, 7, 101, 13, 7, 87, 0, 9, 10, ! 11, 9, 10, 11, 0, 13, 0, 14, 590, 0, ! 773, 0, -450, -450, 721, 723, 723, -450, -450, 14, ! -450, 0, 0, 0, -450, 0, -450, -450, -450, -450, ! -450, -450, -450, -450, -450, -450, -450, 0, -450, 0, ! -450, 0, -450, -450, -450, -450, -450, 739, 0, -534, ! 511, -450, 0, 0, 0, 0, 0, -450, 568, 0, ! -450, -242, 0, 0, 0, -450, -450, -450, 0, 678, ! 0, -450, -450, 0, 680, 0, -450, 5, 77, 7, ! 78, 0, 0, 590, 689, 9, 10, 11, 0, 690, ! 0, 0, 0, -450, 0, -450, -450, 0, -450, 0, ! 0, 13, 0, 14, 0, 0, 0, 0, 566, 0, ! 153, 89, 94, 98, 103, 154, 155, 0, 156, 125, ! 130, 134, 139, 5, 118, 7, 119, 0, 0, 0, ! 0, 9, 10, 11, 0, 0, 157, 0, 15, 0, ! 158, 159, 160, 161, 162, 0, 0, 13, 0, 163, ! 532, 0, 0, 0, 590, 164, 0, -244, 165, 740, ! 0, 0, 744, 166, 167, 168, 0, 0, 590, 169, ! 170, 590, 0, 590, 171, 748, 5, 321, 7, 69, ! 5, 0, 7, 8, 9, 10, 11, 0, 9, 10, ! 11, 0, 532, 172, 173, 0, 567, 0, 0, 0, ! 13, 0, 14, -253, 13, 0, 14, 15, 250, 251, ! 252, 0, 253, 254, 255, 256, 257, 258, 259, 260, ! 261, 262, 263, 264, 265, 266, 863, 864, 793, 0, ! 0, 0, 795, 0, 0, 796, 0, 0, 590, 0, ! 274, 799, -448, -448, -448, -448, -448, -448, -448, 0, ! -448, -448, -448, -448, -448, 749, -448, -448, -448, -448, ! -448, -448, -448, -448, -448, -448, -448, -448, -448, -448, ! -448, -448, -448, -448, -448, -448, -448, 0, 0, 0, ! 0, -448, 0, 5, 6, 7, 8, -448, 0, 641, ! -448, 9, 10, 11, 0, -448, -448, -448, 0, 0, ! 0, -448, -448, 0, 0, 0, -448, 13, 0, 14, ! 0, 95, 7, 96, 0, 0, 0, 0, 9, 10, ! 11, 0, 0, -448, 275, -448, -448, 447, -448, -472, ! -472, -472, -472, -472, -472, -472, 14, -472, -472, -472, ! -472, -472, 0, -472, -472, -472, -472, -472, -472, -472, ! -472, -472, -472, -472, -472, -472, -472, -472, 0, -472, ! -472, -472, -472, -472, 91, 7, 92, 0, -472, 0, ! 0, 9, 10, 11, -472, 0, 0, -472, 127, 7, ! 128, 0, -472, -472, -472, 9, 10, 11, -472, -472, ! 0, 0, 0, -472, 5, 104, 7, 105, 131, 7, ! 132, 0, 9, 10, 11, 9, 10, 11, 0, 0, ! -472, 0, -472, -472, 812, -472, -479, -479, 13, 0, ! 14, -479, -479, 14, -479, 0, 0, 0, -479, 0, ! -479, -479, -479, -479, -479, -479, -479, -479, -479, -479, ! -479, 0, -479, 0, -479, 0, -479, -479, -479, -479, ! -479, 0, 0, 0, 0, -479, 0, 0, 0, 7, ! 96, -479, 0, 0, -479, 9, 10, 11, 0, -479, ! -479, -479, 0, 0, -250, -479, -479, 0, 0, 239, ! -479, 153, 5, 14, 7, 8, 154, 155, 0, 156, ! 9, 10, 11, 0, 0, 0, 0, -479, 0, -479, ! -479, 0, -479, 0, 0, 0, 13, 157, 14, 15, ! 0, 158, 159, 160, 161, 162, 100, 7, 101, 0, ! 163, 0, 0, 9, 10, 11, 164, 0, 0, 165, ! 136, 7, 137, 0, 166, 167, 168, 9, 10, 11, ! 169, 170, 0, 0, 584, 171, 585, 145, 0, 0, ! 0, 154, 155, 0, 156, 0, 0, 0, 0, 0, ! 5, 68, 7, 69, 172, 173, 0, 240, 9, 10, ! 11, 0, 157, 0, 15, 0, 158, 159, 160, 161, ! 162, 0, 0, 0, 13, 163, 14, 0, 0, 0, ! 0, 164, 267, 268, 165, 269, 270, 271, 272, 166, ! 167, 168, 0, 0, 0, 169, 170, 0, 0, 586, ! 171, 587, 584, 0, 585, 145, 0, 0, 0, 154, ! 155, 0, 156, 0, 0, 0, 0, 0, -301, 172, ! 173, 0, 588, 260, 261, 262, 263, 264, 265, 266, ! 157, 0, 15, 0, 158, 159, 160, 161, 162, 0, ! 0, 0, 0, 163, 0, 0, 0, 0, 0, 164, ! 0, 0, 165, 0, 0, 0, 0, 166, 167, 168, ! 0, 0, 0, 169, 170, 0, 0, 586, 171, 587, ! 584, 0, 153, 0, 0, 0, 0, 154, 155, 0, ! 156, 0, 0, 0, 0, 0, -367, 172, 173, 0, ! 588, 0, 0, 0, 0, 0, 0, 0, 157, 0, ! 15, 0, 158, 159, 160, 161, 162, 0, 0, 0, ! 0, 163, 0, -314, 0, 0, 0, 164, 0, 0, ! 165, 0, 0, 0, 0, 166, 167, 168, 0, 0, ! 0, 169, 170, 0, 0, -314, 171, -314, 584, 0, ! 153, 0, 0, 0, 0, 154, 155, 0, 156, 0, ! 0, 5, 104, 7, 105, 172, 173, 0, 588, 9, ! 10, 11, 0, 0, 0, 0, 157, 0, 15, 0, ! 158, 159, 160, 161, 162, 13, 0, 14, 0, 163, ! 0, 0, 0, 0, 0, 164, 0, 0, 165, 0, ! 0, 0, 0, 166, 167, 168, 0, 0, 0, 169, ! 170, 0, 318, 0, 171, -22, -22, -22, -22, 0, ! 0, 0, 0, -22, -22, -22, 0, 0, 0, 0, ! 0, 0, 0, 172, 173, 0, 588, 0, 209, -22, ! 312, -273, 0, -18, -18, -18, -18, 0, 0, 0, ! 0, -18, -18, -18, 0, -273, 0, 0, 0, 4, ! 0, -117, 5, 6, 7, 8, 209, -18, 0, -273, ! 9, 10, 11, 0, 0, 0, 0, 0, 210, 211, ! 0, 0, 0, -273, 0, 12, 13, 0, 14, 15, ! 0, 0, 0, 0, 0, -273, 0, 0, 0, -273, ! -22, 0, 0, 0, 153, 5, 296, 7, 8, 154, ! 155, 0, 156, 9, 10, 11, -117, 0, 0, 0, ! 0, 0, 0, -273, 0, -117, 0, -273, -18, 13, ! 157, 14, 15, 0, 158, 159, 160, 161, 162, 0, ! 0, 0, 16, 163, 0, 153, 0, 402, 0, 164, ! 154, 155, 165, 156, 0, 0, 0, 166, 167, 297, ! 0, 0, 0, 169, 170, 0, 0, 0, 171, 0, ! 0, 157, 0, 15, 0, 158, 159, 160, 161, 162, ! 0, 0, 0, 0, 163, 0, 0, 172, 173, 0, ! 164, 298, 0, 165, 0, 0, 0, 0, 166, 167, ! 403, 0, 0, 0, 169, 170, 0, 153, 0, 171, ! 0, 0, 154, 155, 0, 156, 255, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 172, 173, ! 0, 0, 404, 157, 0, 15, 0, 158, 159, 160, ! 161, 162, 0, 0, 0, 0, 163, 0, 153, 0, ! 0, 0, 164, 154, 155, 165, 156, 0, 0, 0, ! 166, 167, 168, 0, 0, 0, 169, 170, 0, 0, ! 0, 171, 0, 0, 157, 0, 15, 0, 158, 159, ! 160, 161, 162, 0, 0, 0, 0, 163, 0, 0, ! 172, 173, 0, 164, 400, 0, 165, 0, 0, 0, ! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0, ! 0, 0, 171, 0, 0, 0, 0, 0, 585, 601, ! 6, 7, 8, 154, 155, 0, 156, 9, 10, 11, ! 0, 172, 173, 0, 0, 493, 602, 603, 604, 605, ! 606, 607, 608, 13, 157, 14, 15, 0, 158, 159, ! 160, 161, 162, 0, 0, 0, 0, 163, 0, 5, ! 113, 7, 114, 164, 0, 0, 165, 9, 10, 11, ! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0, ! 0, 0, 171, 13, 0, 14, 0, 585, 145, 0, ! 0, 0, 154, 155, 0, 156, 0, 0, 0, 609, ! 0, 172, 173, 0, 610, 602, 603, 604, 605, 606, ! 607, 608, 0, 157, 0, 15, 0, 158, 159, 160, ! 161, 162, 0, 0, 0, 0, 163, 0, 5, 6, ! 7, 8, 164, 0, 0, 165, 9, 10, 11, -252, ! 166, 167, 168, 0, 0, 0, 169, 170, 153, 0, ! 0, 171, 13, 154, 155, 0, 156, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 609, 0, ! 172, 173, 0, 610, 157, 0, 15, 0, 158, 159, ! 160, 161, 162, 0, 0, 0, 0, 163, 0, 0, ! 0, 0, 0, 164, 0, 0, 165, 0, 0, 0, ! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0, ! 0, 0, 171, 153, 5, 6, 7, 8, 154, 155, ! 0, 156, 9, 10, 11, 0, 0, 5, 77, 7, ! 78, 172, 173, 0, 435, 9, 10, 11, 13, 157, ! 14, 15, 0, 158, 159, 160, 161, 162, 0, 0, ! 0, 13, 163, 14, 0, 0, 0, 0, 164, 0, ! 0, 165, 0, 0, 0, 0, 166, 167, 168, 0, ! 0, 0, 169, 170, 0, 153, 5, 171, 7, 8, ! 154, 155, 0, 156, 9, 10, 11, 258, 259, 260, ! 261, 262, 263, 264, 265, 266, 172, 173, 0, 0, ! 13, 157, 14, 15, 0, 158, 159, 160, 161, 162, ! 0, 0, 0, 0, 163, 0, 153, 0, 0, 0, ! 164, 154, 155, 165, 156, 0, 0, 0, 166, 167, ! 168, 0, 0, 0, 169, 170, 0, 0, 0, 171, ! 0, 0, 157, 0, 15, 0, 158, 159, 160, 161, ! 162, 0, 0, 0, 0, 163, 0, 153, 172, 173, ! 0, 164, 154, 155, 165, 156, 0, 0, 0, 166, ! 167, 168, 0, 0, 0, 169, 170, 0, 0, 0, ! 171, 0, 0, 157, 0, 15, 0, 158, 159, 160, ! 161, 162, 0, 0, 0, 0, 163, 694, 153, 172, ! 173, 0, 164, 154, 155, 165, 156, 0, 0, 0, ! 166, 167, 168, 0, 0, 0, 169, 170, 0, 0, ! 0, 171, 0, 0, 157, 0, 15, 0, 158, 159, ! 160, 161, 162, 0, 0, 0, 0, 163, 0, 153, ! 172, 173, 0, 164, 154, 155, 165, 156, 0, 0, ! 0, 166, 167, 168, 0, 0, 0, 169, 170, 0, ! 0, 0, 246, 0, 0, 157, 0, 15, 0, 158, ! 159, 160, 161, 162, 0, 0, 0, 0, 163, 0, ! 468, 172, 173, 0, 164, 154, 155, 165, 156, 0, ! 0, 0, 166, 167, 168, 0, 0, 0, 169, 170, ! 0, 0, 0, 248, 0, 0, 157, 0, 15, 0, ! 158, 159, 160, 161, 162, 0, 0, 0, 0, 163, ! 0, 0, 172, 173, 0, 164, 0, 0, 165, 0, ! 0, 0, 754, 166, 167, 168, 0, 0, 0, 169, ! 170, 250, 251, 252, 171, 253, 254, 255, 256, 257, ! 258, 259, 260, 261, 262, 263, 264, 265, 266, 0, ! 0, 0, 0, 172, 173, 250, 251, 252, 755, 253, ! 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, ! 264, 265, 266, 0, 0, 250, 251, 252, 825, 253, ! 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, ! 264, 265, 266, 250, 251, 252, 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 0, 0, 0, 0, 0, 0, 250, 251, 252, ! 432, 253, 254, 255, 256, 257, 258, 259, 260, 261, ! 262, 263, 264, 265, 266, 250, 251, 252, 433, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, ! 264, 265, 266, 0, 0, 0, 0, 0, 0, 14, ! 0, 0, 582, 259, 260, 261, 262, 263, 264, 265, ! 266, 0, 250, 251, 252, 747, 253, 254, 255, 256, ! 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, ! 5, 113, 7, 114, 5, 0, 7, 78, 9, 10, ! 11, 0, 9, 10, 11, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 13, 0, 14, 0, 13, 5, ! 14, 7, 8, 5, 73, 7, 74, 9, 10, 11, 0, 9, 10, 11, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 13, 0, 14, 0, 13, 5, 109, ! 7, 110, 5, 82, 7, 83, 9, 10, 11, 0, ! 9, 10, 11, 0, 0, 5, 118, 7, 119, 0, ! 0, 0, 13, 9, 10, 11, 13, 257, 258, 259, ! 260, 261, 262, 263, 264, 265, 266, 0, 0, 13, ! 250, 251, 252, 826, 253, 254, 255, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 250, 251, ! 252, 0, 253, 254, 255, 256, 257, 258, 259, 260, ! 261, 262, 263, 264, 265, 266, 252, 0, 253, 254, ! 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, ! 265, 266, 254, 255, 256, 257, 258, 259, 260, 261, ! 262, 263, 264, 265, 266 }; ! static const short yycheck[] = { 59, ! 60, 220, 313, 2, 3, 2, 3, 140, 319, 2, ! 3, 271, 9, 10, 11, 293, 216, 280, 315, 141, ! 540, 397, 2, 3, 21, 540, 23, 311, 25, 553, ! 27, 461, 29, 148, 31, 411, 33, 544, 35, 9, ! 2, 3, 2, 3, 2, 3, 2, 3, 226, 2, ! 3, 540, 563, 52, 461, 52, 622, 397, 540, 52, ! 303, 2, 3, 60, 63, 1, 63, 556, 457, 596, ! 63, 411, 52, 540, 10, 171, 1, 20, 1, 397, ! 47, 48, 49, 769, 599, 3, 4, 3, 4, 556, ! 52, 211, 52, 411, 52, 9, 52, 1, 68, 52, ! 3, 63, 622, 63, 158, 159, 495, 46, 854, 3, ! 4, 52, 45, 378, 168, 397, 1, 599, 7, 508, ! 174, 1, 511, 56, 57, 58, 668, 813, 670, 411, ! 0, 185, 392, 622, 1, 378, 0, 883, 30, 72, ! 236, 30, 7, 532, 83, 552, 553, 662, 81, 52, ! 246, 211, 248, 89, 46, 622, 334, 90, 30, 686, ! 3, 4, 85, 67, 89, 30, 99, 67, 544, 83, ! 856, 89, 46, 89, 171, 108, 296, 3, 4, 865, ! 556, 570, 382, 572, 117, 450, 451, 452, 453, 67, ! 187, 702, 189, 126, 191, 89, 193, 164, 141, 462, ! 85, 198, 135, 200, 544, 85, 730, 731, 46, 83, ! 896, 454, 272, 67, 211, 58, 556, 216, 85, 216, ! 335, 84, 337, 216, 751, 7, 544, 226, 44, 226, ! 197, 67, 58, 226, 89, 27, 296, 89, 556, 236, ! 300, 67, 68, 297, 810, 83, 226, 89, 30, 246, ! 66, 248, 68, 84, 216, 667, 216, 88, 37, 38, ! 203, 204, 544, 230, 226, 3, 226, 30, 226, 681, ! 226, 67, 205, 226, 556, 67, 68, 784, 67, 83, ! 67, 67, 68, 502, 88, 226, 83, 717, 548, 573, ! 810, 575, 3, 4, 348, 355, 726, 83, 1, 296, ! 3, 4, 269, 270, 67, 68, 83, 5, 6, 7, ! 717, 700, 84, 85, 12, 13, 14, 67, 68, 726, ! 58, 810, 88, 730, 731, 9, 323, 3, 325, 67, ! 327, 83, 329, 83, 7, 334, 432, 334, 434, 399, ! 84, 334, 402, 810, 88, 3, 4, 58, 291, 403, ! 739, 3, 450, 451, 334, 453, 67, 1, 873, 874, ! 4, 5, 6, 7, 7, 308, 309, 84, 12, 13, ! 14, 88, 334, 67, 334, 342, 334, 85, 334, 3, ! 4, 334, 58, 382, 28, 382, 84, 83, 46, 382, ! 85, 67, 68, 334, 5, 6, 7, 378, 397, 84, ! 58, 12, 13, 14, 397, 83, 58, 84, 784, 67, ! 377, 88, 411, 84, 85, 67, 68, 397, 411, 30, ! 382, 83, 382, 720, 391, 722, 88, 627, 83, 27, ! 84, 411, 30, 3, 88, 432, 636, 434, 46, 397, ! 32, 574, 64, 565, 784, 89, 44, 30, 83, 21, ! 22, 23, 24, 411, 83, 718, 83, 29, 30, 31, ! 32, 88, 429, 46, 727, 67, 784, 67, 68, 450, ! 451, 452, 453, 84, 863, 864, 46, 474, 9, 476, ! 540, 478, 58, 480, 67, 68, 84, 90, 58, 83, ! 88, 67, 68, 804, 88, 806, 15, 67, 17, 18, ! 19, 20, 784, 83, 25, 26, 27, 28, 88, 58, ! 59, 60, 33, 34, 35, 36, 21, 22, 23, 24, ! 67, 68, 67, 68, 29, 30, 31, 32, 84, 5, ! 6, 7, 67, 68, 67, 68, 12, 13, 14, 599, ! 44, 540, 84, 540, 763, 544, 606, 540, 83, 67, ! 68, 544, 331, 332, 30, 178, 179, 556, 525, 556, ! 540, 84, 84, 556, 544, 88, 88, 84, 622, 702, ! 84, 88, 44, 540, 88, 88, 556, 88, 540, 46, ! 540, 703, 540, 83, 540, 83, 544, 540, 210, 308, ! 309, 213, 717, 718, 556, 217, 556, 83, 556, 540, ! 556, 879, 90, 556, 83, 90, 90, 44, 84, 552, ! 553, 85, 85, 891, 85, 187, 188, 189, 190, 586, ! 89, 46, 565, 622, 1, 622, 85, 83, 627, 622, ! 627, 83, 599, 576, 627, 83, 696, 636, 635, 636, ! 607, 90, 622, 636, 90, 642, 84, 644, 84, 646, ! 85, 648, 27, 650, 88, 652, 88, 654, 791, 656, ! 622, 83, 622, 83, 622, 627, 622, 627, 83, 622, ! 191, 192, 193, 194, 636, 3, 636, 46, 46, 85, ! 88, 622, 187, 188, 189, 190, 3, 4, 5, 6, ! 7, 46, 314, 315, 46, 84, 221, 84, 320, 759, ! 5, 6, 7, 482, 483, 7, 84, 12, 13, 14, ! 84, 771, 85, 89, 336, 16, 67, 777, 497, 498, ! 5, 6, 7, 84, 84, 30, 67, 12, 13, 14, ! 25, 26, 27, 28, 4, 5, 6, 7, 33, 34, ! 35, 36, 12, 13, 14, 30, 85, 807, 808, 85, ! 810, 323, 324, 325, 326, 280, 46, 84, 28, 1, ! 703, 383, 4, 5, 6, 7, 17, 67, 10, 67, ! 12, 13, 14, 67, 717, 718, 83, 83, 67, 84, ! 84, 84, 90, 726, 727, 784, 28, 730, 731, 6, ! 7, 784, 725, 84, 854, 12, 13, 14, 858, 84, ! 83, 83, 88, 84, 784, 84, 327, 328, 329, 330, ! 9, 810, 83, 810, 84, 67, 84, 810, 323, 324, ! 325, 326, 83, 883, 884, 83, 784, 84, 0, 0, ! 810, 5, 6, 7, 392, 614, 615, 411, 12, 13, ! 14, 304, 464, 556, 556, 411, 556, 89, 810, 556, ! 810, 415, 810, 391, 810, 1, 571, 810, 4, 684, ! 6, 7, 4, 388, 6, 7, 12, 13, 14, 810, ! 12, 13, 14, 56, 57, 58, 59, 60, 845, 658, ! 659, 291, 28, 730, 30, 31, 28, 717, 413, 414, ! 512, 513, 431, 595, 516, 334, 191, 192, 193, 194, ! 671, 674, 474, 475, 814, 429, 478, 479, 816, 342, ! 84, 379, 618, 860, 1, 483, 862, 4, 5, 6, ! 7, 5, 6, 7, 464, 12, 13, 14, 12, 13, ! 14, -1, -1, -1, -1, -1, 461, 462, 84, 85, ! 27, 28, -1, 30, 4, 5, 6, 7, -1, -1, ! -1, -1, 12, 13, 14, 476, 477, 44, 580, 480, ! 481, 234, 235, -1, -1, -1, -1, -1, 28, 474, ! 475, -1, 245, 478, 479, -1, -1, 250, 251, -1, ! 67, 68, 255, 256, 257, 258, 259, 260, 261, 262, ! 263, 264, 265, 266, 378, -1, -1, 84, -1, -1, ! 84, 88, 89, -1, -1, -1, 628, 629, -1, -1, ! 632, -1, 5, 6, 7, 637, 638, -1, 640, 12, ! 13, 14, -1, 407, 84, -1, -1, 552, 553, -1, ! -1, -1, 327, 328, 329, 330, -1, 421, 422, -1, ! 4, 5, 6, 7, -1, -1, -1, -1, 12, 13, ! 14, 673, -1, 4, 676, 6, 7, -1, -1, -1, ! -1, 12, 13, 14, 28, -1, 450, 451, 452, 453, ! 642, 643, 644, 645, -1, -1, -1, 28, 650, 651, ! 652, 653, -1, -1, 357, 358, -1, -1, -1, -1, ! 1, 84, 3, 4, 5, 6, 7, -1, 720, 10, ! 722, 12, 13, 14, -1, 630, 631, -1, -1, -1, ! -1, -1, -1, 27, -1, -1, 30, 28, 740, 503, ! 84, 505, 744, -1, -1, 646, 647, 648, 649, -1, ! 44, -1, -1, 654, 655, 656, 657, 642, 643, 644, ! 645, -1, -1, -1, -1, 650, 651, 652, 653, -1, ! 5, 6, 7, 67, 68, 428, -1, 12, 13, 14, ! 433, -1, -1, 785, 786, -1, 788, 440, -1, -1, ! 84, 793, 83, 795, 88, 30, -1, -1, -1, -1, ! 802, 476, 477, -1, -1, 480, 481, -1, -1, 5, ! 6, 7, 717, 718, -1, -1, 12, 13, 14, -1, ! -1, 726, 727, -1, -1, 730, 731, 1, -1, -1, ! 4, 5, 6, 7, 30, -1, 10, -1, 12, 13, ! 14, 4, 5, 6, 7, -1, 499, 611, -1, 12, ! 13, 14, 6, 7, 28, 6, 7, -1, 12, 13, ! 14, 12, 13, 14, -1, 28, -1, 30, 521, -1, ! 1, -1, 3, 4, 779, 780, 781, 8, 9, 30, ! 11, -1, -1, -1, 15, -1, 17, 18, 19, 20, ! 21, 22, 23, 24, 25, 26, 27, -1, 29, -1, ! 31, -1, 33, 34, 35, 36, 37, 671, -1, 83, ! 674, 42, -1, -1, -1, -1, -1, 48, 571, -1, ! 51, 84, -1, -1, -1, 56, 57, 58, -1, 582, ! -1, 62, 63, -1, 587, -1, 67, 4, 5, 6, ! 7, -1, -1, 596, 597, 12, 13, 14, -1, 602, ! -1, -1, -1, 84, -1, 86, 87, -1, 89, -1, ! -1, 28, -1, 30, -1, -1, -1, -1, 1, -1, ! 3, 646, 647, 648, 649, 8, 9, -1, 11, 654, ! 655, 656, 657, 4, 5, 6, 7, -1, -1, -1, ! -1, 12, 13, 14, -1, -1, 29, -1, 31, -1, ! 33, 34, 35, 36, 37, -1, -1, 28, -1, 42, ! 774, -1, -1, -1, 667, 48, -1, 84, 51, 672, ! -1, -1, 675, 56, 57, 58, -1, -1, 681, 62, ! 63, 684, -1, 686, 67, 10, 4, 1, 6, 7, ! 4, -1, 6, 7, 12, 13, 14, -1, 12, 13, ! 14, -1, 816, 86, 87, -1, 89, -1, -1, -1, ! 28, -1, 30, 84, 28, -1, 30, 31, 43, 44, ! 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, ! 55, 56, 57, 58, 59, 60, 850, 851, 741, -1, ! -1, -1, 745, -1, -1, 748, -1, -1, 751, -1, ! 1, 754, 3, 4, 5, 6, 7, 8, 9, -1, ! 11, 12, 13, 14, 15, 90, 17, 18, 19, 20, ! 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, ! 31, 32, 33, 34, 35, 36, 37, -1, -1, -1, ! -1, 42, -1, 4, 5, 6, 7, 48, -1, 10, ! 51, 12, 13, 14, -1, 56, 57, 58, -1, -1, ! -1, 62, 63, -1, -1, -1, 67, 28, -1, 30, ! -1, 5, 6, 7, -1, -1, -1, -1, 12, 13, ! 14, -1, -1, 84, 85, 86, 87, 1, 89, 3, ! 4, 5, 6, 7, 8, 9, 30, 11, 12, 13, ! 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, ! 24, 25, 26, 27, 28, 29, 30, 31, -1, 33, ! 34, 35, 36, 37, 5, 6, 7, -1, 42, -1, ! -1, 12, 13, 14, 48, -1, -1, 51, 5, 6, ! 7, -1, 56, 57, 58, 12, 13, 14, 62, 63, ! -1, -1, -1, 67, 4, 5, 6, 7, 5, 6, ! 7, -1, 12, 13, 14, 12, 13, 14, -1, -1, ! 84, -1, 86, 87, 1, 89, 3, 4, 28, -1, ! 30, 8, 9, 30, 11, -1, -1, -1, 15, -1, ! 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ! 27, -1, 29, -1, 31, -1, 33, 34, 35, 36, ! 37, -1, -1, -1, -1, 42, -1, -1, -1, 6, ! 7, 48, -1, -1, 51, 12, 13, 14, -1, 56, ! 57, 58, -1, -1, 84, 62, 63, -1, -1, 1, ! 67, 3, 4, 30, 6, 7, 8, 9, -1, 11, ! 12, 13, 14, -1, -1, -1, -1, 84, -1, 86, ! 87, -1, 89, -1, -1, -1, 28, 29, 30, 31, ! -1, 33, 34, 35, 36, 37, 5, 6, 7, -1, ! 42, -1, -1, 12, 13, 14, 48, -1, -1, 51, ! 5, 6, 7, -1, 56, 57, 58, 12, 13, 14, ! 62, 63, -1, -1, 1, 67, 3, 4, -1, -1, ! -1, 8, 9, -1, 11, -1, -1, -1, -1, -1, ! 4, 5, 6, 7, 86, 87, -1, 89, 12, 13, ! 14, -1, 29, -1, 31, -1, 33, 34, 35, 36, ! 37, -1, -1, -1, 28, 42, 30, -1, -1, -1, ! -1, 48, 62, 63, 51, 65, 66, 67, 68, 56, ! 57, 58, -1, -1, -1, 62, 63, -1, -1, 66, ! 67, 68, 1, -1, 3, 4, -1, -1, -1, 8, ! 9, -1, 11, -1, -1, -1, -1, -1, 85, 86, ! 87, -1, 89, 54, 55, 56, 57, 58, 59, 60, 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, ! -1, -1, -1, 42, -1, -1, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, 66, 67, 68, ! 1, -1, 3, -1, -1, -1, -1, 8, 9, -1, 11, -1, -1, -1, -1, -1, 85, 86, 87, -1, 89, -1, -1, -1, -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, -1, -1, ! -1, 42, -1, 44, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, 66, 67, 68, 1, -1, 3, -1, -1, -1, -1, 8, 9, -1, 11, -1, ! -1, 4, 5, 6, 7, 86, 87, -1, 89, 12, ! 13, 14, -1, -1, -1, -1, 29, -1, 31, -1, ! 33, 34, 35, 36, 37, 28, -1, 30, -1, 42, ! -1, -1, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, ! 63, -1, 1, -1, 67, 4, 5, 6, 7, -1, ! -1, -1, -1, 12, 13, 14, -1, -1, -1, -1, ! -1, -1, -1, 86, 87, -1, 89, -1, 27, 28, ! 1, 30, -1, 4, 5, 6, 7, -1, -1, -1, ! -1, 12, 13, 14, -1, 44, -1, -1, -1, 1, ! -1, 3, 4, 5, 6, 7, 27, 28, -1, 30, ! 12, 13, 14, -1, -1, -1, -1, -1, 67, 68, ! -1, -1, -1, 44, -1, 27, 28, -1, 30, 31, ! -1, -1, -1, -1, -1, 84, -1, -1, -1, 88, ! 89, -1, -1, -1, 3, 4, 5, 6, 7, 8, ! 9, -1, 11, 12, 13, 14, 58, -1, -1, -1, ! -1, -1, -1, 84, -1, 67, -1, 88, 89, 28, ! 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, ! -1, -1, 84, 42, -1, 3, -1, 5, -1, 48, ! 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, ! -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, ! -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, ! -1, -1, -1, -1, 42, -1, -1, 86, 87, -1, ! 48, 90, -1, 51, -1, -1, -1, -1, 56, 57, ! 58, -1, -1, -1, 62, 63, -1, 3, -1, 67, ! -1, -1, 8, 9, -1, 11, 49, 50, 51, 52, ! 53, 54, 55, 56, 57, 58, 59, 60, 86, 87, ! -1, -1, 90, 29, -1, 31, -1, 33, 34, 35, ! 36, 37, -1, -1, -1, -1, 42, -1, 3, -1, ! -1, -1, 48, 8, 9, 51, 11, -1, -1, -1, ! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, ! -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, ! 35, 36, 37, -1, -1, -1, -1, 42, -1, -1, ! 86, 87, -1, 48, 90, -1, 51, -1, -1, -1, ! -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, ! -1, -1, 67, -1, -1, -1, -1, -1, 3, 4, ! 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, ! -1, 86, 87, -1, -1, 90, 21, 22, 23, 24, ! 25, 26, 27, 28, 29, 30, 31, -1, 33, 34, ! 35, 36, 37, -1, -1, -1, -1, 42, -1, 4, ! 5, 6, 7, 48, -1, -1, 51, 12, 13, 14, ! -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, ! -1, -1, 67, 28, -1, 30, -1, 3, 4, -1, ! -1, -1, 8, 9, -1, 11, -1, -1, -1, 84, ! -1, 86, 87, -1, 89, 21, 22, 23, 24, 25, ! 26, 27, -1, 29, -1, 31, -1, 33, 34, 35, ! 36, 37, -1, -1, -1, -1, 42, -1, 4, 5, ! 6, 7, 48, -1, -1, 51, 12, 13, 14, 84, ! 56, 57, 58, -1, -1, -1, 62, 63, 3, -1, ! -1, 67, 28, 8, 9, -1, 11, 50, 51, 52, ! 53, 54, 55, 56, 57, 58, 59, 60, 84, -1, ! 86, 87, -1, 89, 29, -1, 31, -1, 33, 34, ! 35, 36, 37, -1, -1, -1, -1, 42, -1, -1, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, 3, 4, 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, -1, -1, 4, 5, 6, 7, 86, 87, -1, 89, 12, 13, 14, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, ! -1, 28, 42, 30, -1, -1, -1, -1, 48, -1, ! -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, ! -1, -1, 62, 63, -1, 3, 4, 67, 6, 7, ! 8, 9, -1, 11, 12, 13, 14, 52, 53, 54, ! 55, 56, 57, 58, 59, 60, 86, 87, -1, -1, ! 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, ! -1, -1, -1, -1, 42, -1, 3, -1, -1, -1, 48, 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, 35, 36, ! 37, -1, -1, -1, -1, 42, -1, 3, 86, 87, -1, 48, 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, 35, ! 36, 37, -1, -1, -1, -1, 42, 84, 3, 86, 87, -1, 48, 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, --- 660,1556 ---- 4, 0, 0, 9, 4, 0, 0, 8, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, 1, 2, 2, 2, 2, 2, 4, ! 2, 4, 2, 2, 1, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 0, 4, 0, 4, 0, 0, 7, 0, ! 5, 3, 3, 1, 1, 1, 1, 0, 7, 3, ! 3, 3, 3, 4, 6, 8, 6, 4, 3, 3, ! 2, 2, 1, 2, 0, 1, 2, 3, 1, 1, ! 2, 2, 4, 4, 2, 2, 3, 0, 1, 4, ! 4, 3, 3, 2, 2, 1, 2, 2, 2, 2, ! 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, ! 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, ! 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ! 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, ! 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, ! 4, 1, 4, 0, 4, 0, 6, 3, 0, 6, ! 3, 0, 1, 1, 2, 6, 1, 3, 0, 1, ! 4, 6, 4, 1, 1, 1, 1, 1, 0, 4, ! 1, 0, 2, 1, 3, 3, 2, 0, 4, 1, ! 0, 4, 1, 1, 1, 2, 2, 5, 3, 0, ! 0, 7, 0, 0, 7, 1, 1, 4, 3, 2, ! 3, 1, 1, 1, 3, 2, 1, 3, 2, 3, ! 3, 4, 3, 4, 3, 2, 1, 1, 2, 1, ! 2, 1, 2, 0, 7, 5, 0, 7, 5, 0, ! 8, 0, 7, 2, 2, 2, 0, 1, 0, 1, ! 1, 2, 0, 3, 2, 3, 4, 3, 1, 1, ! 2, 1, 4, 1, 4, 4, 6, 5, 4, 6, ! 5, 1, 3, 1, 1, 3, 0, 3, 0, 1, ! 0, 1, 2, 1, 1, 1, 3, 2, 3, 4, ! 3, 2, 2, 1, 3, 4, 2, 3, 3, 4, ! 4, 5, 5, 1, 1, 1, 1, 1, 2, 2, ! 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, ! 2, 1, 2, 1, 1, 1, 1, 2, 0, 0, ! 0, 0, 0, 1, 1, 2, 3, 1, 2, 1, ! 1, 5, 1, 1, 2, 2, 2, 2, 0, 5, ! 0, 4, 0, 0, 1, 2, 3, 3, 3, 0, ! 4, 1, 3, 0, 0, 7, 5, 2, 0, 0, ! 0, 0, 12, 0, 6, 2, 1, 1, 2, 3, ! 2, 2, 2, 3, 6, 8, 10, 12, 3, 4, ! 1, 3, 5, 2, 5, 0, 1, 0, 1, 0, ! 1, 1, 3, 4, 7, 1, 3, 0, 3, 2, ! 0, 0, 6, 2, 0, 1, 1, 3, 1, 3, ! 4, 4, 3, 4, 3, 4, 4, 3, 4, 3, ! 1, 0, 3, 1, 2, 1, 3, 1, 3, 1 }; static const short yydefact[] = { 3, ! 5, 0, 0, 0, 267, 158, 264, 126, 352, 348, ! 350, 0, 57, 0, 560, 17, 4, 8, 7, 0, ! 0, 211, 212, 213, 214, 203, 204, 205, 206, 215, ! 216, 217, 218, 207, 208, 209, 210, 118, 118, 0, ! 134, 141, 261, 263, 262, 132, 284, 0, 0, 0, ! 266, 265, 0, 6, 15, 16, 353, 349, 351, 0, ! 0, 0, 347, 259, 282, 0, 272, 0, 161, 127, ! 139, 145, 129, 162, 128, 140, 146, 168, 130, 151, ! 156, 133, 169, 131, 152, 157, 179, 135, 137, 143, ! 142, 180, 136, 138, 144, 194, 147, 149, 154, 153, ! 195, 148, 150, 155, 163, 159, 177, 186, 165, 164, ! 160, 178, 187, 170, 166, 192, 201, 172, 171, 167, ! 193, 202, 181, 173, 175, 184, 183, 182, 174, 176, ! 185, 196, 188, 190, 199, 198, 197, 189, 191, 200, ! 0, 0, 14, 285, 30, 31, 373, 364, 373, 365, ! 362, 366, 10, 84, 85, 103, 55, 56, 0, 0, ! 0, 0, 0, 87, 0, 32, 34, 33, 0, 35, ! 36, 0, 37, 38, 0, 0, 39, 58, 0, 0, ! 60, 42, 44, 86, 0, 0, 289, 0, 239, 240, ! 241, 242, 235, 236, 237, 238, 397, 0, 231, 232, ! 233, 234, 260, 0, 0, 283, 11, 282, 29, 0, ! 282, 0, 0, 282, 346, 332, 259, 282, 0, 270, ! 0, 326, 327, 0, 0, 0, 0, 354, 0, 357, ! 0, 360, 53, 54, 0, 0, 0, 48, 45, 0, ! 465, 0, 0, 47, 0, 0, 0, 49, 0, 51, ! 0, 0, 77, 75, 73, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 101, 102, 0, ! 0, 40, 0, 104, 0, 461, 453, 0, 46, 295, ! 296, 297, 294, 0, 287, 290, 268, 399, 269, 345, ! 0, 0, 119, 0, 552, 343, 0, 0, 417, 0, ! 0, 0, 27, 0, 473, 110, 474, 281, 0, 0, ! 13, 282, 21, 0, 282, 282, 330, 12, 25, 0, ! 282, 380, 375, 231, 232, 233, 234, 227, 228, 229, ! 230, 118, 118, 372, 0, 373, 282, 373, 394, 395, ! 369, 392, 0, 0, 0, 0, 91, 90, 0, 9, ! 43, 0, 0, 83, 82, 0, 0, 0, 0, 71, ! 72, 70, 69, 68, 66, 67, 61, 62, 63, 64, ! 65, 100, 99, 0, 41, 0, 93, 0, 0, 454, ! 455, 92, 0, 289, 40, 259, 282, 398, 400, 405, ! 404, 406, 414, 344, 273, 274, 0, 0, 0, 0, ! 419, 415, 0, 0, 418, 0, 448, 473, 112, 107, ! 111, 0, 279, 331, 0, 0, 19, 278, 329, 23, ! 356, 473, 473, 374, 381, 0, 359, 0, 0, 370, ! 0, 369, 0, 0, 0, 88, 59, 50, 52, 0, ! 0, 76, 74, 94, 98, 558, 0, 464, 433, 463, ! 473, 473, 473, 473, 0, 442, 0, 474, 428, 437, ! 456, 286, 288, 84, 0, 408, 528, 413, 282, 412, ! 275, 0, 556, 536, 223, 224, 219, 220, 225, 226, ! 221, 222, 118, 118, 554, 0, 537, 539, 553, 0, ! 421, 0, 0, 420, 416, 474, 108, 118, 118, 0, ! 328, 271, 274, 473, 276, 473, 376, 382, 474, 378, ! 384, 474, 282, 282, 396, 393, 282, 0, 0, 0, ! 0, 0, 78, 81, 457, 0, 434, 429, 438, 435, ! 430, 439, 474, 431, 440, 436, 432, 441, 443, 450, ! 451, 291, 0, 293, 407, 409, 0, 0, 528, 411, ! 534, 551, 401, 401, 530, 531, 0, 555, 0, 422, ! 423, 0, 115, 0, 116, 0, 301, 299, 298, 280, ! 474, 0, 474, 282, 377, 282, 0, 355, 358, 363, ! 282, 95, 0, 97, 314, 84, 0, 0, 311, 0, ! 313, 0, 367, 304, 310, 0, 0, 0, 559, 451, ! 462, 267, 0, 0, 0, 0, 0, 0, 516, 511, ! 460, 473, 0, 117, 118, 118, 0, 0, 449, 498, ! 478, 479, 0, 0, 410, 529, 337, 259, 282, 282, ! 333, 334, 282, 548, 402, 405, 259, 282, 282, 550, ! 282, 538, 211, 212, 213, 214, 203, 204, 205, 206, ! 215, 216, 217, 218, 207, 208, 209, 210, 118, 118, ! 540, 557, 0, 28, 458, 0, 0, 0, 0, 277, ! 0, 473, 0, 282, 473, 0, 282, 361, 0, 317, ! 0, 0, 308, 89, 0, 303, 0, 316, 307, 79, ! 0, 514, 501, 502, 503, 0, 0, 0, 517, 0, ! 474, 499, 0, 0, 124, 469, 484, 471, 489, 0, ! 482, 0, 0, 452, 466, 125, 292, 408, 528, 546, ! 282, 336, 282, 339, 547, 403, 408, 528, 549, 532, ! 401, 401, 459, 113, 114, 0, 20, 24, 383, 474, ! 282, 0, 386, 385, 282, 0, 389, 96, 0, 319, ! 0, 0, 305, 306, 0, 512, 504, 0, 509, 0, ! 0, 0, 122, 320, 0, 123, 323, 0, 0, 451, ! 0, 0, 0, 468, 473, 467, 488, 0, 500, 340, ! 341, 0, 335, 338, 0, 282, 282, 543, 282, 545, ! 300, 0, 388, 282, 391, 282, 0, 312, 309, 0, ! 510, 0, 282, 120, 0, 121, 0, 0, 0, 0, ! 518, 0, 483, 451, 452, 475, 473, 0, 342, 533, ! 541, 542, 544, 387, 390, 318, 513, 520, 0, 515, ! 321, 324, 0, 0, 472, 519, 497, 490, 0, 494, ! 481, 477, 476, 0, 0, 0, 0, 521, 522, 505, ! 473, 473, 470, 485, 518, 496, 451, 487, 0, 0, ! 520, 0, 0, 474, 474, 451, 0, 495, 0, 0, ! 0, 506, 523, 0, 0, 486, 491, 524, 0, 0, ! 0, 322, 325, 518, 0, 526, 0, 507, 0, 0, ! 0, 0, 492, 525, 508, 527, 451, 493, 0, 0, ! 0 }; ! static const short yydefgoto[] = { 899, ! 1, 2, 3, 17, 18, 19, 314, 504, 320, 506, ! 213, 408, 590, 175, 242, 374, 177, 178, 179, 180, ! 20, 181, 182, 359, 358, 356, 598, 357, 183, 522, ! 184, 303, 304, 305, 497, 449, 21, 292, 614, 189, ! 190, 191, 192, 193, 194, 195, 196, 30, 31, 32, ! 33, 34, 35, 36, 37, 38, 39, 483, 484, 332, ! 203, 197, 40, 204, 41, 42, 43, 44, 45, 219, ! 66, 214, 220, 572, 67, 500, 293, 206, 47, 284, ! 285, 286, 570, 668, 592, 593, 594, 752, 595, 682, ! 596, 597, 763, 805, 851, 766, 807, 852, 503, 222, ! 630, 631, 632, 223, 48, 49, 50, 51, 336, 338, ! 343, 231, 52, 686, 431, 226, 227, 334, 507, 510, ! 508, 511, 341, 342, 198, 288, 388, 634, 635, 390, ! 391, 392, 215, 450, 451, 452, 453, 454, 455, 306, ! 277, 601, 775, 779, 379, 380, 381, 664, 619, 278, ! 457, 185, 665, 711, 712, 768, 713, 770, 307, 412, ! 815, 776, 816, 817, 714, 814, 769, 866, 771, 855, ! 884, 897, 857, 838, 621, 622, 700, 839, 847, 848, ! 849, 887, 468, 548, 485, 641, 785, 486, 487, 661, ! 488, 553, 296, 398, 489, 490, 447, 186 }; ! static const short yypact[] = { 57, ! 92, 986, 986, 379,-32768,-32768,-32768,-32768, 109, 109, ! 109, 105,-32768, 123,-32768,-32768,-32768,-32768,-32768, 165, ! 316, 509, 1138, 1295, 1166, 311, 1055, 833, 1206, 1326, ! 1453, 1379, 1540, 1605, 1298, 1625, 1591,-32768,-32768, 63, ! -32768,-32768,-32768,-32768,-32768, 109,-32768, 71, 80, 125, ! -32768,-32768, 986,-32768,-32768,-32768, 109, 109, 109, 2684, ! 176, 2602,-32768, 129, 109, 203,-32768, 896,-32768,-32768, ! -32768,-32768, 109,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768, 109,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! 109,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 109, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 109,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 109,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768, 109,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768, 109,-32768,-32768,-32768,-32768, ! 206, 316,-32768,-32768,-32768,-32768,-32768, 42,-32768, 162, ! -32768, 189,-32768,-32768,-32768,-32768,-32768,-32768, 2684, 2684, ! 230, 238, 246,-32768, 483,-32768,-32768,-32768, 2684,-32768, ! -32768, 1797,-32768,-32768, 2684, 254, 270,-32768, 2725, 2766, ! -32768, 3099, 1053, 355, 1471, 2684, 908, 284, 2385, 3084, ! 2553, 3095, 690, 485, 732, 605,-32768, 295, 242, 373, ! 279, 409,-32768, 316, 316, 109,-32768, 109,-32768, 323, ! 109, 2131, 461, 109,-32768,-32768, 129, 109, 293,-32768, ! 1080, 504, 513, 304, 1045, 349, 489,-32768, 358,-32768, ! 542,-32768,-32768,-32768, 2684, 2684, 3026,-32768,-32768, 363, ! -32768, 369, 371,-32768, 387, 2684, 1797,-32768, 1797,-32768, ! 2684, 2684, 464,-32768,-32768, 2684, 2684, 2684, 2684, 2684, ! 2684, 2684, 2684, 2684, 2684, 2684, 2684,-32768,-32768, 483, ! 483, 2684, 2684,-32768, 405,-32768, 486, 424,-32768,-32768, ! -32768,-32768,-32768, 201,-32768, 457,-32768, 390,-32768, 513, ! 186, 316,-32768, 529,-32768,-32768, 2602, 2234,-32768, 466, ! 2172, 478,-32768, 356, 114,-32768,-32768, 532, 206, 206, ! -32768, 109,-32768, 461, 109, 109,-32768,-32768,-32768, 461, ! 109,-32768,-32768, 2385, 3084, 2553, 3095, 690, 485, 732, ! 605,-32768, 499, 502, 1413,-32768, 109,-32768,-32768, 546, ! 506,-32768, 542, 2872, 2890, 508,-32768,-32768, 2475,-32768, ! 3099, 517, 525, 3099, 3099, 2684, 568, 2684, 2684, 2437, ! 3062, 1208, 2564, 983, 879, 879, 288, 288,-32768,-32768, ! -32768,-32768,-32768, 555, 270, 551,-32768, 483, 1558, 486, ! -32768,-32768, 562, 908, 2807, 129, 109,-32768,-32768,-32768, ! -32768, 535,-32768,-32768,-32768, 99, 33, 1230, 557, 2684, ! -32768,-32768, 2684, 2275,-32768, 559,-32768,-32768,-32768,-32768, ! -32768, 2454,-32768, 504, 192, 206,-32768, 581,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768, 566,-32768, 570, 2684, 483, ! 572, 506, 3026, 2684, 3026,-32768,-32768, 564, 564, 616, ! 2684, 3128, 2197,-32768,-32768,-32768, 314, 478,-32768,-32768, ! 94, 98, 112, 132, 662,-32768, 580,-32768,-32768,-32768, ! -32768,-32768,-32768, 326, 585, 390, 390,-32768, 109,-32768, ! -32768, 588,-32768,-32768, 1709, 3030, 1194, 864, 1875, 3055, ! 1712, 989,-32768,-32768,-32768, 591, 338,-32768,-32768, 327, ! -32768, 586, 590,-32768,-32768,-32768,-32768, 598, 601, 1313, ! -32768,-32768, 659,-32768,-32768,-32768, 602,-32768,-32768, 603, ! -32768,-32768, 109, 109, 3099,-32768, 109, 604, 615, 2914, ! 627, 1862,-32768, 3115,-32768, 483,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! 2345,-32768, 2684,-32768,-32768,-32768, 628, 753,-32768,-32768, ! -32768,-32768, 383, 178,-32768,-32768, 945,-32768, 696,-32768, ! -32768, 69,-32768, 206,-32768, 316,-32768,-32768, 3099,-32768, ! -32768, 1313,-32768, 109, 253, 109, 362,-32768,-32768,-32768, ! 109,-32768, 2684,-32768,-32768, 671, 483, 2684,-32768, 684, ! 3099, 646, 644,-32768,-32768, 167, 1998, 2684,-32768, 2414, ! -32768, 687, 2684, 694, 652, 657, 2643, 141, 735,-32768, ! -32768,-32768, 663,-32768,-32768,-32768, 666, 704, 658,-32768, ! -32768,-32768, 2540, 352,-32768,-32768,-32768, 129, 109, 109, ! 538, 553, 158,-32768,-32768, 109, 129, 109, 158,-32768, ! 109,-32768, 1709, 3030, 2076, 3059, 1194, 864, 1772, 1536, ! 1875, 3055, 2144, 3072, 1712, 989, 1837, 1678,-32768,-32768, ! -32768,-32768, 672,-32768,-32768, 416, 421, 1862, 69,-32768, ! 69,-32768, 2684, 88,-32768, 2684, 329,-32768, 2932,-32768, ! 1228, 1862,-32768,-32768, 1930,-32768, 2066,-32768,-32768, 3115, ! 2852,-32768,-32768,-32768,-32768, 668, 2684, 680,-32768, 702, ! -32768,-32768, 206, 316,-32768,-32768,-32768,-32768,-32768, 705, ! 755, 1645, 118,-32768,-32768,-32768,-32768, 383, 336,-32768, ! 109,-32768, 109,-32768,-32768, 109, 178, 178,-32768,-32768, ! 383, 178,-32768,-32768,-32768, 693,-32768,-32768,-32768,-32768, ! 2969, 2684,-32768,-32768, 2969, 2684,-32768,-32768, 2684,-32768, ! 695, 2066,-32768,-32768, 2684,-32768,-32768, 703,-32768, 2684, ! 742, 469,-32768, 268, 475,-32768, 548, 722, 724,-32768, ! 726, 2684, 1732,-32768,-32768,-32768,-32768, 2684,-32768, 538, ! 553, 393,-32768,-32768, 753, 109, 158,-32768, 158,-32768, ! -32768, 253,-32768, 2969,-32768, 2969, 2828,-32768,-32768, 3081, ! -32768, 52, 109,-32768, 461,-32768, 461, 2684, 2684, 777, ! 2540, 713,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768, 121, 720,-32768, ! -32768,-32768, 715, 723,-32768,-32768,-32768,-32768, 729,-32768, ! -32768,-32768,-32768, 731, 740, 483, 97, 728,-32768,-32768, ! -32768,-32768,-32768,-32768, 2684,-32768,-32768,-32768, 2684, 730, ! 121, 738, 121,-32768,-32768,-32768, 739,-32768, 749, 824, ! 155,-32768,-32768, 672, 672,-32768,-32768,-32768, 767, 529, ! 751,-32768,-32768, 2684, 2684, 355, 389,-32768, 759, 760, ! 764, 529,-32768,-32768,-32768, 355,-32768,-32768, 844, 851, ! -32768 }; static const short yypgoto[] = {-32768, ! -32768,-32768,-32768, 87,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768, 101,-32768, -60, 468, -253, 443,-32768,-32768, ! -32768, -82, 769,-32768,-32768,-32768,-32768,-32768,-32768,-32768, ! -293, -299, 549,-32768,-32768, 78, 68, -282, -572, 7, ! 41, 38, 44, 1, 20, 47, 50, -364, -336, 299, ! 302, -330, -326, 303, 305, -496, -461, 454, 456,-32768, ! -161, -127, -503, -200, 503, 683, 748, 774,-32768, -532, ! -135, -210, 470,-32768, 589,-32768, 96, 3, 64,-32768, ! 500,-32768, 315,-32768, -420,-32768, 204,-32768, -533,-32768, ! -32768, 292,-32768,-32768,-32768,-32768,-32768,-32768, -133, 319, ! 160, 180, -85, 202,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768, 472, -94,-32768, 583,-32768,-32768, ! 233, 232, 573, 492, -84,-32768,-32768, -526, -272, -397, ! -442,-32768, 465,-32768,-32768,-32768,-32768,-32768,-32768, -268, ! -32768,-32768, -452, 104,-32768,-32768, 545, -343,-32768, 308, ! -32768,-32768, -521,-32768,-32768,-32768,-32768,-32768, 442, -395, ! 111, -689, -172, -150,-32768,-32768,-32768,-32768,-32768,-32768, ! -32768,-32768,-32768,-32768,-32768,-32768,-32768, -743, 84,-32768, ! 90,-32768, 487,-32768, -522,-32768,-32768,-32768,-32768,-32768, ! -32768, 476, -298,-32768,-32768,-32768,-32768, 56 }; ! #define YYLAST 3188 ! static const short yytable[] = { 176, ! 397, 188, 26, 26, 46, 46, 224, 221, 22, 22, ! 315, 57, 58, 59, 417, 389, 309, 419, 375, 620, ! 420, 27, 27, 546, 73, 626, 82, 640, 91, 416, ! 100, 666, 109, 479, 118, 409, 127, 617, 136, 24, ! 24, 274, 23, 23, 615, 25, 25, 479, 28, 28, ! 716, 29, 29, 26, 229, 46, -1, 53, 53, 22, ! 659, 480, 541, 689, 46, 333, 46, 481, 545, 663, ! 199, 482, 27, 145, 146, 480, 233, 234, 620, 616, ! 810, 481, 145, 146, 301, 482, 239, 243, 618, 54, ! 24, -2, 244, 23, -444, 660, 25, 828, -445, 28, ! 562, 201, 29, 279, 200, 141, 142, 202, 53, 144, ! 456, 867, -446, 575, -106, 471, 577, 14, 777, 617, ! 144, 144, 144, 410, 841, 210, 615, 145, 146, 845, ! 228, 375, -447, 742, 829, 8, 144, 600, 14, 153, ! 889, 733, 861, 145, 146, 144, 143, 618, 148, 150, ! 152, 300, 346, 754, 144, 636, 636, 611, 14, 147, ! 205, 616, 352, 144, 353, 211, 212, 868, 149, 400, ! 762, 60, 144, 333, 46, 669, 876, 671, -424, 862, ! 63, 144, -425, 479, 778, 466, 539, 14, 846, 61, ! 144, 73, 651, 82, 547, 91, -426, 100, 697, 144, ! 880, 73, -106, 82, 788, 790, 459, 898, 63, 216, ! 687, 480, 376, 151, 46, 239, -427, 481, 799, 46, ! 652, 482, 68, 199, 211, 212, 655, 328, 460, 46, ! 656, 62, 587, 324, 588, 637, 399, 881, 837, 46, ! 406, 426, 187, 428, 638, 212, 329, 736, 70, 46, ! 230, 46, 211, 212, 201, 63, 216, 200, 316, 212, ! 202, 751, 820, 217, 326, 238, 437, 325, 394, 144, ! 327, 14, 218, 330, 501, 546, 331, 232, 528, 531, ! 534, 537, 335, 383, 546, 79, 207, 283, 384, 624, ! 208, 672, 315, 675, 210, 440, 235, -274, 673, 46, ! 529, 532, 535, 538, 236, 761, 295, 617, 14, 308, ! 217, -274, 237, 310, 615, 87, 7, 88, 63, 218, ! 545, 239, 9, 10, 11, 737, 73, 738, 82, 545, ! 91, 340, 100, 636, 636, 328, 245, 46, 63, 492, ! 14, 324, 493, 225, 792, 265, 266, 267, 519, 616, ! 521, -274, 882, 883, 329, -274, 302, 246, 14, -109, ! -109, -109, -109, 274, 63, -109, 287, -109, -109, -109, ! 372, 373, 326, 64, 746, 325, 311, 289, 327, 75, ! 312, 330, 65, -109, 331, 63, 627, 318, 46, 294, ! 335, 208, 199, 628, -247, 211, 212, 525, 477, 422, ! 423, 526, 629, 212, 475, 290, 291, 676, 542, 558, ! 418, 295, 477, 543, 559, 84, 421, 478, 475, 64, ! 479, 556, 783, 201, 784, 557, 200, 718, 65, 202, ! 667, 478, 427, 321, 717, 46, 727, 46, 476, 246, ! 628, 674, 337, 340, -109, 347, 547, 386, 480, 629, ! 212, 348, 476, 349, 481, 547, 387, 212, 482, 723, ! 212, 302, 55, 56, -473, -473, -473, -473, 874, 875, ! 350, 891, -473, -473, -473, 819, 892, 73, 446, 91, ! 613, 109, 467, 127, 283, 145, 146, 377, -473, 322, ! 7, 93, 5, 396, 7, 8, 9, 10, 11, 734, ! 9, 10, 11, 312, 735, 831, 382, 832, 208, -80, ! 290, 291, 5, 69, 7, 70, 13, 378, 14, 15, ! 9, 10, 11, 385, 71, 76, 80, 85, 527, 530, ! 340, 536, 107, 112, 116, 121, 13, 156, 14, 613, ! 279, 26, 339, 46, 145, 146, 696, 22, 477, -105, ! 552, 552, 804, 315, 475, 402, 312, 647, 806, 46, ! 27, 407, 208, 643, 549, 564, 566, 478, 765, 764, ! 316, 212, 323, -371, 210, 413, 648, -274, 24, 211, ! 212, 23, -379, -379, 25, 424, 886, 28, 476, 429, ! 29, -274, -243, 430, 645, 435, 623, 644, 896, 438, ! 646, 469, 212, 649, 721, 212, 650, 439, 578, 579, ! 7, 102, 580, 441, 211, 212, 9, 10, 11, 723, ! 212, 248, 250, 26, 505, 46, 599, 414, 415, 22, ! 46, -274, 781, 782, 199, -274, 758, 444, 726, 46, ! 445, 612, 27, 199, 462, 73, 491, 82, 495, 91, ! 513, 100, 436, 109, 514, 118, 517, 127, 674, 136, ! 24, 523, 302, 23, 540, 201, 25, 544, 200, 28, ! 551, 202, 29, 555, 201, 560, 678, 200, 623, 561, ! 202, 563, 703, 704, 565, 210, 317, 680, 581, 574, ! 576, 71, 76, 80, 85, 7, 88, 582, 662, 802, ! 612, 9, 10, 11, 72, 77, 81, 86, 698, 584, ! 625, 812, 108, 113, 117, 122, -30, 818, 706, 14, ! 707, 708, 709, 710, 719, 720, 731, 732, 725, 683, ! 684, 685, -31, 728, 729, 693, 730, 7, 97, 692, ! 694, 699, 276, 9, 10, 11, 702, 833, 834, 705, ! 836, 757, 393, 472, 633, 639, 5, 6, 7, 8, ! 611, 14, 474, 759, 9, 10, 11, 396, 760, 743, ! 773, 772, 747, 89, 94, 98, 103, 791, 677, 798, ! 13, 125, 130, 134, 139, 477, 801, 803, 808, 144, ! 809, 475, 811, 835, 836, 840, 844, 853, 869, 90, ! 95, 99, 104, 850, 478, 854, 859, 126, 131, 135, ! 140, 26, 856, 46, 858, 863, 295, 22, 295, 870, ! 458, 872, 877, 836, 890, 476, 71, 76, 80, 85, ! 27, 878, 879, 885, 888, -535, 793, 96, 7, 97, ! 795, 893, 894, 900, 9, 10, 11, 895, 24, 496, ! 901, 23, 465, 411, 25, 653, 470, 28, 654, 657, ! 29, 658, 14, 509, 512, 498, 623, 499, 92, 7, ! 93, 72, 77, 81, 86, 9, 10, 11, 317, 317, ! 395, 821, 822, 463, 823, 502, 670, 688, 753, 824, ! 786, 825, 458, 458, 533, 458, 209, 780, 830, -26, ! -26, -26, -26, 518, 739, 767, 744, -26, -26, -26, ! 145, 146, 280, 281, 282, 432, -249, 425, 842, 290, ! 291, 516, 210, -26, 461, -274, 715, 843, 290, 291, ! 393, 393, 787, 789, 263, 264, 265, 266, 267, -274, ! 89, 94, 98, 103, 871, 571, 860, 573, 5, 6, ! 7, 8, 873, 0, 642, 550, 9, 10, 11, 554, ! 0, 0, 211, 212, 0, 0, 90, 95, 99, 104, ! 0, 0, 13, 0, 14, 0, 0, 71, 76, -274, ! 0, 107, 112, -274, -26, 0, 4, 0, -118, 5, ! 6, 7, 8, 128, 7, 129, 0, 9, 10, 11, ! 9, 10, 11, 344, 345, 0, 72, 77, 81, 86, ! 0, 0, 12, 13, 351, 14, 15, 393, 393, 354, ! 355, 0, 0, 0, 360, 361, 362, 363, 364, 365, ! 366, 367, 368, 369, 370, 371, 261, 262, 263, 264, ! 265, 266, 267, -118, 0, 319, 0, 0, -22, -22, ! -22, -22, -118, 701, 0, 0, -22, -22, -22, 92, ! 7, 93, 0, 0, 0, 0, 9, 10, 11, 16, ! 0, 210, -22, 0, -274, 89, 94, 98, 103, 0, ! 313, 0, 0, -18, -18, -18, -18, 0, -274, 0, ! 0, -18, -18, -18, 0, 722, 724, 0, 0, 0, ! 0, 90, 95, 99, 104, 0, 210, -18, 0, -274, ! 0, 211, 212, 740, 268, 269, 512, 270, 271, 272, ! 273, 0, 0, -274, 0, 0, 442, 443, -274, 0, ! 0, 0, -274, -22, 0, 0, 0, 0, -248, 0, ! 0, 5, 74, 7, 75, 71, 76, 80, 85, 9, ! 10, 11, 0, 107, 112, 116, 121, 72, 77, 0, ! 0, 108, 113, -274, 0, 13, 0, -274, -18, 5, ! 83, 7, 84, 0, 0, 0, 0, 9, 10, 11, ! 0, 0, 393, 393, 0, 0, 0, 0, 0, 0, ! 0, 393, 393, 13, 0, 393, 393, 515, 87, 7, ! 88, 0, 520, 0, 0, 9, 10, 11, 0, 524, ! 101, 7, 102, 0, 0, 0, 533, 9, 10, 11, ! 0, -244, 0, 14, 89, 94, 0, 0, 125, 130, ! 472, 0, 473, 5, 6, 7, 8, 749, 0, 474, ! 0, 9, 10, 11, 722, 724, 724, 0, 0, -246, ! 90, 95, 0, 0, 126, 131, 0, 13, 533, 259, ! 260, 261, 262, 263, 264, 265, 266, 267, 569, 0, ! 251, 252, 253, 0, 254, 255, 256, 257, 258, 259, ! 260, 261, 262, 263, 264, 265, 266, 267, 0, -250, ! 591, 0, 864, 865, 0, 0, 0, 0, 5, 78, ! 7, 79, 128, 7, 129, 0, 9, 10, 11, 9, ! 10, 11, -535, 567, 0, 154, 0, 750, 0, 0, ! 155, 156, 13, 157, 14, 72, 77, 81, 86, 5, ! 105, 7, 106, 108, 113, 117, 122, 9, 10, 11, ! 569, 158, 0, 15, 0, 159, 160, 161, 162, 163, ! 0, 679, 0, 13, 164, 14, 681, 0, 0, 0, ! 165, 0, 0, 166, 0, 591, 690, 0, 167, 168, ! 169, 691, 0, 0, 170, 171, 0, 0, -245, 172, ! 0, -256, 5, 114, 7, 115, 0, 0, 0, 0, ! 9, 10, 11, 0, 89, 94, 98, 103, 173, 174, ! 0, 568, 125, 130, 134, 139, 13, 0, 14, -251, ! 0, 0, 0, 322, 0, 0, 5, 0, 7, 8, ! 90, 95, 99, 104, 9, 10, 11, 0, 126, 131, ! 135, 140, 0, 0, 0, 0, 591, 0, 0, 0, ! 13, 741, 14, 15, 745, 0, 0, 0, 0, 0, ! 591, 0, 0, 591, 0, 591, 5, 110, 7, 111, ! 0, 0, -253, 0, 9, 10, 11, 0, 0, 0, ! 0, 275, 0, -449, -449, -449, -449, -449, -449, -449, ! 13, -449, -449, -449, -449, -449, 0, -449, -449, -449, ! -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, ! -449, -449, -449, -449, -449, -449, -449, -449, 0, 0, ! 794, 0, -449, 0, 796, 0, 0, 797, -449, 0, ! 591, -449, 0, 800, 0, 0, -449, -449, -449, 0, ! 0, 0, -449, -449, 0, 0, -252, -449, 0, 0, ! 101, 7, 102, 5, 119, 7, 120, 9, 10, 11, ! 0, 9, 10, 11, -449, 276, -449, -449, 448, -449, ! -473, -473, -473, -473, -473, -473, -473, 13, -473, -473, ! -473, -473, -473, 0, -473, -473, -473, -473, -473, -473, ! -473, -473, -473, -473, -473, -473, -473, -473, -473, 0, ! -473, -473, -473, -473, -473, 137, 7, 138, 0, -473, ! 0, 0, 9, 10, 11, -473, 0, 0, -473, 123, ! 7, 124, 0, -473, -473, -473, 9, 10, 11, -473, ! -473, 0, 0, -254, -473, 0, 0, 0, 0, 132, ! 7, 133, 0, 0, 14, 0, 9, 10, 11, 0, ! 0, -473, 0, -473, -473, 774, -473, -451, -451, 0, ! 0, 0, -451, -451, 14, -451, 0, 0, 0, -451, ! 0, -451, -451, -451, -451, -451, -451, -451, -451, -451, ! -451, -451, 0, -451, -258, -451, 0, -451, -451, -451, ! -451, -451, 137, 7, 138, 0, -451, 0, -255, 9, ! 10, 11, -451, 0, 0, -451, 0, 0, 0, 0, ! -451, -451, -451, 0, 0, 0, -451, -451, -257, 0, ! 0, -451, 5, 69, 7, 70, 123, 7, 124, 0, ! 9, 10, 11, 9, 10, 11, 0, 0, -451, 0, ! -451, -451, 813, -451, -480, -480, 13, 0, 14, -480, ! -480, 14, -480, 0, 0, 0, -480, 0, -480, -480, ! -480, -480, -480, -480, -480, -480, -480, -480, -480, 0, ! -480, 0, -480, 0, -480, -480, -480, -480, -480, 0, ! 0, 0, 0, -480, 0, 0, 96, 7, 97, -480, ! 0, 0, -480, 9, 10, 11, 0, -480, -480, -480, ! 0, 0, 0, -480, -480, 0, 0, 240, -480, 154, ! 5, 14, 7, 8, 155, 156, 0, 157, 9, 10, ! 11, 0, 0, 0, 0, -480, 0, -480, -480, 0, ! -480, 0, 0, 0, 13, 158, 14, 15, 0, 159, ! 160, 161, 162, 163, 0, 0, 0, 0, 164, 0, ! 0, 132, 7, 133, 165, 0, 0, 166, 9, 10, ! 11, 0, 167, 168, 169, 0, 0, 0, 170, 171, ! 0, 0, 585, 172, 586, 146, 14, 0, 0, 155, ! 156, 0, 157, 0, 0, 0, 0, 0, 5, 105, ! 7, 106, 173, 174, 0, 241, 9, 10, 11, 0, ! 158, 0, 15, 0, 159, 160, 161, 162, 163, 0, ! 0, 0, 13, 164, 14, 0, 0, 0, 0, 165, ! 0, 0, 166, 0, 0, 0, 0, 167, 168, 169, ! 0, 0, 0, 170, 171, 0, 0, 587, 172, 588, ! 585, 0, 586, 146, 0, 0, 0, 155, 156, 0, ! 157, 0, 0, 0, 0, 0, -302, 173, 174, 0, ! 589, 0, 0, 0, 0, 0, 0, 0, 158, 0, ! 15, 0, 159, 160, 161, 162, 163, 0, 0, 0, ! 0, 164, 0, 0, 0, 0, 0, 165, 0, 0, ! 166, 0, 0, 0, 0, 167, 168, 169, 0, 0, ! 0, 170, 171, 0, 0, 587, 172, 588, 585, 0, ! 154, 0, 0, 0, 0, 155, 156, 0, 157, 0, ! 0, 0, 0, 0, -368, 173, 174, 0, 589, 0, ! 0, 0, 0, 0, 0, 0, 158, 0, 15, 0, ! 159, 160, 161, 162, 163, 0, 0, 0, 0, 164, ! 0, -315, 0, 0, 0, 165, 0, 0, 166, 0, ! 0, 0, 0, 167, 168, 169, 0, 0, 0, 170, ! 171, 0, 0, -315, 172, -315, 585, 0, 154, 0, ! 0, 0, 0, 155, 156, 0, 157, 0, 0, 5, ! 78, 7, 79, 173, 174, 0, 589, 9, 10, 11, ! 0, 0, 0, 0, 158, 0, 15, 0, 159, 160, ! 161, 162, 163, 13, 0, 14, 0, 164, 0, 0, ! 0, 0, 0, 165, 0, 0, 166, 0, 0, 0, ! 0, 167, 168, 169, 0, 0, 0, 170, 171, 0, ! 0, 0, 172, 154, 5, 297, 7, 8, 155, 156, ! 0, 157, 9, 10, 11, 0, 0, 5, 114, 7, ! 115, 173, 174, 0, 589, 9, 10, 11, 13, 158, ! 14, 15, 0, 159, 160, 161, 162, 163, 0, 0, ! 0, 13, 164, 14, 154, 0, 403, 0, 165, 155, ! 156, 166, 157, 0, 0, 0, 167, 168, 298, 0, ! 0, 0, 170, 171, 0, 0, 0, 172, 0, 0, ! 158, 0, 15, 0, 159, 160, 161, 162, 163, 0, ! 0, 0, 0, 164, 0, 0, 173, 174, 0, 165, ! 299, 0, 166, 0, 0, 0, 0, 167, 168, 404, ! 0, 0, 0, 170, 171, 0, 154, 0, 172, 0, ! 0, 155, 156, 0, 157, 256, 257, 258, 259, 260, ! 261, 262, 263, 264, 265, 266, 267, 173, 174, 0, ! 0, 405, 158, 0, 15, 0, 159, 160, 161, 162, ! 163, 0, 0, 0, 0, 164, 0, 154, 0, 0, ! 0, 165, 155, 156, 166, 157, 0, 0, 0, 167, ! 168, 169, 0, 0, 0, 170, 171, 0, 0, 0, ! 172, 0, 0, 158, 0, 15, 0, 159, 160, 161, ! 162, 163, 0, 0, 0, 0, 164, 0, 0, 173, ! 174, 0, 165, 401, 0, 166, 0, 0, 0, 0, ! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0, ! 0, 172, 0, 0, 0, 0, 0, 586, 602, 6, ! 7, 8, 155, 156, 0, 157, 9, 10, 11, 0, ! 173, 174, 0, 0, 494, 603, 604, 605, 606, 607, ! 608, 609, 13, 158, 14, 15, 0, 159, 160, 161, ! 162, 163, 0, 0, 0, 0, 164, 0, 5, 0, ! 7, 70, 165, 0, 0, 166, 9, 10, 11, 0, ! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0, ! 0, 172, 13, 0, 14, 0, 586, 146, 0, 0, ! 0, 155, 156, 0, 157, 0, 0, 0, 610, 0, ! 173, 174, 0, 611, 603, 604, 605, 606, 607, 608, ! 609, 0, 158, 0, 15, 0, 159, 160, 161, 162, ! 163, 0, 0, 0, 0, 164, 0, 5, 6, 7, ! 8, 165, 0, 0, 166, 9, 10, 11, 0, 167, ! 168, 169, 0, 0, 0, 170, 171, 154, 0, 0, ! 172, 13, 155, 156, 0, 157, 257, 258, 259, 260, ! 261, 262, 263, 264, 265, 266, 267, 610, 0, 173, ! 174, 0, 611, 158, 0, 15, 0, 159, 160, 161, ! 162, 163, 0, 0, 0, 0, 164, 0, 0, 0, ! 0, 0, 165, 0, 0, 166, 0, 0, 0, 0, ! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0, ! 0, 172, 154, 5, 6, 7, 8, 155, 156, 0, ! 157, 9, 10, 11, 0, 0, 5, 0, 7, 79, ! 173, 174, 0, 436, 9, 10, 11, 13, 158, 14, ! 15, 0, 159, 160, 161, 162, 163, 0, 0, 0, ! 13, 164, 14, 0, 0, 0, 0, 165, 0, 0, ! 166, 0, 0, 0, 0, 167, 168, 169, 0, 0, ! 0, 170, 171, 0, 154, 5, 172, 7, 8, 155, ! 156, 0, 157, 9, 10, 11, 260, 261, 262, 263, ! 264, 265, 266, 267, 0, 173, 174, 0, 0, 13, ! 158, 14, 15, 0, 159, 160, 161, 162, 163, 0, ! 0, 0, 0, 164, 0, 154, 0, 0, 0, 165, ! 155, 156, 166, 157, 0, 0, 0, 167, 168, 169, ! 0, 0, 0, 170, 171, 0, 0, 0, 172, 0, ! 0, 158, 0, 15, 0, 159, 160, 161, 162, 163, ! 0, 0, 0, 0, 164, 0, 154, 173, 174, 0, ! 165, 155, 156, 166, 157, 0, 0, 0, 167, 168, ! 169, 0, 0, 0, 170, 171, 0, 0, 0, 172, ! 0, 0, 158, 0, 15, 0, 159, 160, 161, 162, ! 163, 0, 0, 0, 0, 164, 695, 154, 173, 174, ! 0, 165, 155, 156, 166, 157, 0, 0, 0, 167, ! 168, 169, 0, 0, 0, 170, 171, 0, 0, 0, ! 172, 0, 0, 158, 0, 15, 0, 159, 160, 161, ! 162, 163, 0, 0, 0, 0, 164, 0, 154, 173, ! 174, 0, 165, 155, 156, 166, 157, 0, 0, 0, ! 167, 168, 169, 0, 0, 0, 170, 171, 0, 0, ! 0, 247, 0, 0, 158, 0, 15, 0, 159, 160, ! 161, 162, 163, 0, 0, 0, 0, 164, 0, 464, ! 173, 174, 0, 165, 155, 156, 166, 157, 0, 0, ! 0, 167, 168, 169, 0, 0, 0, 170, 171, 0, ! 0, 0, 249, 0, 0, 158, 0, 15, 0, 159, ! 160, 161, 162, 163, 0, 0, 0, 0, 164, 0, ! 0, 173, 174, 0, 165, 0, 0, 166, 0, 0, ! 0, 755, 167, 168, 169, 0, 0, 0, 170, 171, ! 251, 252, 253, 172, 254, 255, 256, 257, 258, 259, ! 260, 261, 262, 263, 264, 265, 266, 267, 0, 0, ! 0, 0, 173, 174, 251, 252, 253, 756, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 267, 0, 0, 251, 252, 253, 826, 254, 255, ! 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 267, 251, 252, 253, 0, 254, 255, 256, 257, ! 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, ! 0, 0, 0, 0, 0, 0, 251, 252, 253, 433, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, ! 264, 265, 266, 267, 251, 252, 253, 434, 254, 255, ! 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 267, 0, 0, 0, 0, 0, 0, 14, 0, ! 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 251, 252, 253, 748, 254, 255, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 267, 5, ! 0, 7, 8, 5, 74, 7, 75, 9, 10, 11, 0, 9, 10, 11, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 13, 0, 14, 0, 13, 5, 110, ! 7, 111, 5, 83, 7, 84, 9, 10, 11, 0, ! 9, 10, 11, 0, 0, 5, 119, 7, 120, 0, ! 0, 0, 13, 9, 10, 11, 13, 5, 0, 7, ! 75, 0, 0, 0, 0, 9, 10, 11, 5, 13, ! 7, 84, 0, 0, 0, 0, 9, 10, 11, 0, ! 0, 13, 258, 259, 260, 261, 262, 263, 264, 265, ! 266, 267, 13, 251, 252, 253, 827, 254, 255, 256, ! 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, ! 267, 251, 252, 253, 0, 254, 255, 256, 257, 258, ! 259, 260, 261, 262, 263, 264, 265, 266, 267, 253, ! 0, 254, 255, 256, 257, 258, 259, 260, 261, 262, ! 263, 264, 265, 266, 267, 255, 256, 257, 258, 259, ! 260, 261, 262, 263, 264, 265, 266, 267 }; ! static const short yycheck[] = { 60, ! 294, 62, 2, 3, 2, 3, 142, 141, 2, 3, ! 221, 9, 10, 11, 314, 288, 217, 316, 272, 541, ! 320, 2, 3, 466, 22, 548, 24, 554, 26, 312, ! 28, 564, 30, 398, 32, 304, 34, 541, 36, 2, ! 3, 9, 2, 3, 541, 2, 3, 412, 2, 3, ! 623, 2, 3, 53, 149, 53, 0, 2, 3, 53, ! 557, 398, 458, 597, 62, 227, 64, 398, 466, 1, ! 64, 398, 53, 3, 4, 412, 159, 160, 600, 541, ! 770, 412, 3, 4, 212, 412, 169, 172, 541, 3, ! 53, 0, 175, 53, 1, 557, 53, 46, 1, 53, ! 496, 64, 53, 186, 64, 38, 39, 64, 53, 46, ! 379, 855, 1, 509, 1, 83, 512, 30, 1, 623, ! 57, 58, 59, 10, 814, 27, 623, 3, 4, 9, ! 89, 385, 1, 46, 83, 7, 73, 533, 30, 53, ! 884, 663, 46, 3, 4, 82, 84, 600, 48, 49, ! 50, 212, 237, 687, 91, 553, 554, 89, 30, 89, ! 65, 623, 247, 100, 249, 67, 68, 857, 89, 297, ! 703, 67, 109, 335, 172, 571, 866, 573, 85, 83, ! 3, 118, 85, 548, 67, 386, 455, 30, 68, 67, ! 127, 189, 557, 191, 467, 193, 85, 195, 58, 136, ! 46, 199, 89, 201, 731, 732, 379, 897, 3, 4, ! 44, 548, 273, 89, 212, 298, 85, 548, 752, 217, ! 557, 548, 21, 217, 67, 68, 557, 227, 379, 227, ! 557, 67, 66, 227, 68, 58, 297, 83, 811, 237, ! 301, 336, 67, 338, 67, 68, 227, 668, 7, 247, ! 89, 249, 67, 68, 217, 3, 4, 217, 67, 68, ! 217, 682, 785, 58, 227, 165, 349, 227, 83, 206, ! 227, 30, 67, 227, 83, 718, 227, 89, 451, 452, ! 453, 454, 227, 83, 727, 7, 84, 187, 88, 543, ! 88, 574, 503, 576, 27, 356, 67, 30, 46, 297, ! 451, 452, 453, 454, 67, 701, 211, 811, 30, 214, ! 58, 44, 67, 218, 811, 5, 6, 7, 3, 67, ! 718, 404, 12, 13, 14, 669, 324, 671, 326, 727, ! 328, 231, 330, 731, 732, 335, 83, 335, 3, 400, ! 30, 335, 403, 142, 740, 58, 59, 60, 433, 811, ! 435, 84, 874, 875, 335, 88, 1, 88, 30, 4, ! 5, 6, 7, 9, 3, 10, 83, 12, 13, 14, ! 270, 271, 335, 58, 46, 335, 84, 83, 335, 7, ! 88, 335, 67, 28, 335, 3, 4, 84, 386, 67, ! 335, 88, 386, 58, 84, 67, 68, 84, 398, 332, ! 333, 88, 67, 68, 398, 204, 205, 46, 83, 83, ! 315, 316, 412, 88, 88, 7, 321, 398, 412, 58, ! 785, 84, 721, 386, 723, 88, 386, 628, 67, 386, ! 566, 412, 337, 85, 83, 433, 637, 435, 398, 88, ! 58, 575, 85, 343, 89, 83, 719, 58, 785, 67, ! 68, 83, 412, 83, 785, 728, 67, 68, 785, 67, ! 68, 1, 84, 85, 4, 5, 6, 7, 864, 865, ! 84, 83, 12, 13, 14, 83, 88, 475, 378, 477, ! 541, 479, 387, 481, 384, 3, 4, 83, 28, 1, ! 6, 7, 4, 292, 6, 7, 12, 13, 14, 84, ! 12, 13, 14, 88, 84, 805, 83, 807, 88, 46, ! 309, 310, 4, 5, 6, 7, 28, 32, 30, 31, ! 12, 13, 14, 67, 22, 23, 24, 25, 451, 452, ! 430, 454, 30, 31, 32, 33, 28, 9, 30, 600, ! 623, 541, 1, 541, 3, 4, 607, 541, 548, 89, ! 483, 484, 84, 764, 548, 90, 88, 557, 84, 557, ! 541, 84, 88, 557, 469, 498, 499, 548, 704, 703, ! 67, 68, 84, 85, 27, 44, 557, 30, 541, 67, ! 68, 541, 84, 85, 541, 84, 880, 541, 548, 44, ! 541, 44, 84, 88, 557, 88, 541, 557, 892, 83, ! 557, 67, 68, 557, 67, 68, 557, 83, 513, 514, ! 6, 7, 517, 46, 67, 68, 12, 13, 14, 67, ! 68, 179, 180, 623, 44, 623, 526, 309, 310, 623, ! 628, 84, 718, 719, 628, 88, 697, 83, 636, 637, ! 90, 541, 623, 637, 83, 643, 90, 645, 90, 647, ! 85, 649, 89, 651, 85, 653, 85, 655, 792, 657, ! 623, 46, 1, 623, 85, 628, 623, 83, 628, 623, ! 83, 628, 623, 83, 637, 90, 581, 637, 623, 90, ! 637, 84, 615, 616, 84, 27, 222, 587, 85, 88, ! 88, 189, 190, 191, 192, 6, 7, 83, 3, 760, ! 600, 12, 13, 14, 22, 23, 24, 25, 608, 83, ! 83, 772, 30, 31, 32, 33, 46, 778, 15, 30, ! 17, 18, 19, 20, 629, 630, 659, 660, 633, 46, ! 85, 88, 46, 638, 639, 84, 641, 6, 7, 46, ! 84, 7, 85, 12, 13, 14, 84, 808, 809, 84, ! 811, 84, 288, 1, 553, 554, 4, 5, 6, 7, ! 89, 30, 10, 84, 12, 13, 14, 566, 67, 674, ! 16, 67, 677, 26, 27, 28, 29, 85, 577, 85, ! 28, 34, 35, 36, 37, 785, 84, 46, 67, 726, ! 67, 785, 67, 17, 855, 83, 83, 83, 859, 26, ! 27, 28, 29, 84, 785, 83, 67, 34, 35, 36, ! 37, 811, 84, 811, 84, 88, 721, 811, 723, 90, ! 379, 84, 84, 884, 885, 785, 324, 325, 326, 327, ! 811, 83, 9, 67, 84, 83, 741, 5, 6, 7, ! 745, 83, 83, 0, 12, 13, 14, 84, 811, 408, ! 0, 811, 385, 305, 811, 557, 392, 811, 557, 557, ! 811, 557, 30, 422, 423, 412, 811, 412, 5, 6, ! 7, 189, 190, 191, 192, 12, 13, 14, 414, 415, ! 292, 786, 787, 384, 789, 416, 572, 596, 685, 794, ! 731, 796, 451, 452, 453, 454, 1, 718, 803, 4, ! 5, 6, 7, 432, 672, 704, 675, 12, 13, 14, ! 3, 4, 5, 6, 7, 343, 84, 335, 815, 718, ! 719, 430, 27, 28, 380, 30, 619, 817, 727, 728, ! 466, 467, 731, 732, 56, 57, 58, 59, 60, 44, ! 193, 194, 195, 196, 861, 504, 846, 506, 4, 5, ! 6, 7, 863, -1, 10, 469, 12, 13, 14, 484, ! -1, -1, 67, 68, -1, -1, 193, 194, 195, 196, ! -1, -1, 28, -1, 30, -1, -1, 475, 476, 84, ! -1, 479, 480, 88, 89, -1, 1, -1, 3, 4, ! 5, 6, 7, 5, 6, 7, -1, 12, 13, 14, ! 12, 13, 14, 235, 236, -1, 324, 325, 326, 327, ! -1, -1, 27, 28, 246, 30, 31, 553, 554, 251, ! 252, -1, -1, -1, 256, 257, 258, 259, 260, 261, ! 262, 263, 264, 265, 266, 267, 54, 55, 56, 57, ! 58, 59, 60, 58, -1, 1, -1, -1, 4, 5, ! 6, 7, 67, 612, -1, -1, 12, 13, 14, 5, ! 6, 7, -1, -1, -1, -1, 12, 13, 14, 84, ! -1, 27, 28, -1, 30, 328, 329, 330, 331, -1, ! 1, -1, -1, 4, 5, 6, 7, -1, 44, -1, ! -1, 12, 13, 14, -1, 631, 632, -1, -1, -1, ! -1, 328, 329, 330, 331, -1, 27, 28, -1, 30, ! -1, 67, 68, 672, 62, 63, 675, 65, 66, 67, ! 68, -1, -1, 44, -1, -1, 358, 359, 84, -1, ! -1, -1, 88, 89, -1, -1, -1, -1, 84, -1, ! -1, 4, 5, 6, 7, 643, 644, 645, 646, 12, ! 13, 14, -1, 651, 652, 653, 654, 475, 476, -1, ! -1, 479, 480, 84, -1, 28, -1, 88, 89, 4, ! 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, ! -1, -1, 718, 719, -1, -1, -1, -1, -1, -1, ! -1, 727, 728, 28, -1, 731, 732, 429, 5, 6, ! 7, -1, 434, -1, -1, 12, 13, 14, -1, 441, ! 5, 6, 7, -1, -1, -1, 775, 12, 13, 14, ! -1, 84, -1, 30, 477, 478, -1, -1, 481, 482, ! 1, -1, 3, 4, 5, 6, 7, 10, -1, 10, ! -1, 12, 13, 14, 780, 781, 782, -1, -1, 84, ! 477, 478, -1, -1, 481, 482, -1, 28, 817, 52, ! 53, 54, 55, 56, 57, 58, 59, 60, 500, -1, ! 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, ! 53, 54, 55, 56, 57, 58, 59, 60, -1, 84, ! 522, -1, 851, 852, -1, -1, -1, -1, 4, 5, ! 6, 7, 5, 6, 7, -1, 12, 13, 14, 12, ! 13, 14, 83, 1, -1, 3, -1, 90, -1, -1, ! 8, 9, 28, 11, 30, 643, 644, 645, 646, 4, ! 5, 6, 7, 651, 652, 653, 654, 12, 13, 14, ! 572, 29, -1, 31, -1, 33, 34, 35, 36, 37, ! -1, 583, -1, 28, 42, 30, 588, -1, -1, -1, ! 48, -1, -1, 51, -1, 597, 598, -1, 56, 57, ! 58, 603, -1, -1, 62, 63, -1, -1, 84, 67, ! -1, 84, 4, 5, 6, 7, -1, -1, -1, -1, ! 12, 13, 14, -1, 647, 648, 649, 650, 86, 87, ! -1, 89, 655, 656, 657, 658, 28, -1, 30, 84, ! -1, -1, -1, 1, -1, -1, 4, -1, 6, 7, ! 647, 648, 649, 650, 12, 13, 14, -1, 655, 656, ! 657, 658, -1, -1, -1, -1, 668, -1, -1, -1, ! 28, 673, 30, 31, 676, -1, -1, -1, -1, -1, ! 682, -1, -1, 685, -1, 687, 4, 5, 6, 7, ! -1, -1, 84, -1, 12, 13, 14, -1, -1, -1, ! -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, ! 28, 11, 12, 13, 14, 15, -1, 17, 18, 19, ! 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, ! 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, ! 742, -1, 42, -1, 746, -1, -1, 749, 48, -1, ! 752, 51, -1, 755, -1, -1, 56, 57, 58, -1, ! -1, -1, 62, 63, -1, -1, 84, 67, -1, -1, ! 5, 6, 7, 4, 5, 6, 7, 12, 13, 14, ! -1, 12, 13, 14, 84, 85, 86, 87, 1, 89, ! 3, 4, 5, 6, 7, 8, 9, 28, 11, 12, ! 13, 14, 15, -1, 17, 18, 19, 20, 21, 22, ! 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, ! 33, 34, 35, 36, 37, 5, 6, 7, -1, 42, ! -1, -1, 12, 13, 14, 48, -1, -1, 51, 5, ! 6, 7, -1, 56, 57, 58, 12, 13, 14, 62, ! 63, -1, -1, 84, 67, -1, -1, -1, -1, 5, ! 6, 7, -1, -1, 30, -1, 12, 13, 14, -1, ! -1, 84, -1, 86, 87, 1, 89, 3, 4, -1, ! -1, -1, 8, 9, 30, 11, -1, -1, -1, 15, ! -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, ! 26, 27, -1, 29, 84, 31, -1, 33, 34, 35, ! 36, 37, 5, 6, 7, -1, 42, -1, 84, 12, ! 13, 14, 48, -1, -1, 51, -1, -1, -1, -1, ! 56, 57, 58, -1, -1, -1, 62, 63, 84, -1, ! -1, 67, 4, 5, 6, 7, 5, 6, 7, -1, ! 12, 13, 14, 12, 13, 14, -1, -1, 84, -1, ! 86, 87, 1, 89, 3, 4, 28, -1, 30, 8, ! 9, 30, 11, -1, -1, -1, 15, -1, 17, 18, ! 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, ! -1, -1, -1, 42, -1, -1, 5, 6, 7, 48, ! -1, -1, 51, 12, 13, 14, -1, 56, 57, 58, ! -1, -1, -1, 62, 63, -1, -1, 1, 67, 3, ! 4, 30, 6, 7, 8, 9, -1, 11, 12, 13, ! 14, -1, -1, -1, -1, 84, -1, 86, 87, -1, ! 89, -1, -1, -1, 28, 29, 30, 31, -1, 33, ! 34, 35, 36, 37, -1, -1, -1, -1, 42, -1, ! -1, 5, 6, 7, 48, -1, -1, 51, 12, 13, ! 14, -1, 56, 57, 58, -1, -1, -1, 62, 63, ! -1, -1, 1, 67, 3, 4, 30, -1, -1, 8, ! 9, -1, 11, -1, -1, -1, -1, -1, 4, 5, ! 6, 7, 86, 87, -1, 89, 12, 13, 14, -1, ! 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, ! -1, -1, 28, 42, 30, -1, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, 66, 67, 68, ! 1, -1, 3, 4, -1, -1, -1, 8, 9, -1, 11, -1, -1, -1, -1, -1, 85, 86, 87, -1, 89, -1, -1, -1, -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, -1, -1, ! -1, 42, -1, -1, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, 66, 67, 68, 1, -1, 3, -1, -1, -1, -1, 8, 9, -1, 11, -1, ! -1, -1, -1, -1, 85, 86, 87, -1, 89, -1, ! -1, -1, -1, -1, -1, -1, 29, -1, 31, -1, ! 33, 34, 35, 36, 37, -1, -1, -1, -1, 42, ! -1, 44, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, ! 63, -1, -1, 66, 67, 68, 1, -1, 3, -1, ! -1, -1, -1, 8, 9, -1, 11, -1, -1, 4, ! 5, 6, 7, 86, 87, -1, 89, 12, 13, 14, ! -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, ! 35, 36, 37, 28, -1, 30, -1, 42, -1, -1, -1, -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, 3, 4, 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, -1, -1, 4, 5, 6, 7, 86, 87, -1, 89, 12, 13, 14, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, ! -1, 28, 42, 30, 3, -1, 5, -1, 48, 8, ! 9, 51, 11, -1, -1, -1, 56, 57, 58, -1, ! -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, ! 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, ! -1, -1, -1, 42, -1, -1, 86, 87, -1, 48, ! 90, -1, 51, -1, -1, -1, -1, 56, 57, 58, ! -1, -1, -1, 62, 63, -1, 3, -1, 67, -1, ! -1, 8, 9, -1, 11, 49, 50, 51, 52, 53, ! 54, 55, 56, 57, 58, 59, 60, 86, 87, -1, ! -1, 90, 29, -1, 31, -1, 33, 34, 35, 36, ! 37, -1, -1, -1, -1, 42, -1, 3, -1, -1, ! -1, 48, 8, 9, 51, 11, -1, -1, -1, 56, ! 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, ! 67, -1, -1, 29, -1, 31, -1, 33, 34, 35, ! 36, 37, -1, -1, -1, -1, 42, -1, -1, 86, ! 87, -1, 48, 90, -1, 51, -1, -1, -1, -1, ! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, ! -1, 67, -1, -1, -1, -1, -1, 3, 4, 5, ! 6, 7, 8, 9, -1, 11, 12, 13, 14, -1, ! 86, 87, -1, -1, 90, 21, 22, 23, 24, 25, ! 26, 27, 28, 29, 30, 31, -1, 33, 34, 35, ! 36, 37, -1, -1, -1, -1, 42, -1, 4, -1, ! 6, 7, 48, -1, -1, 51, 12, 13, 14, -1, ! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, ! -1, 67, 28, -1, 30, -1, 3, 4, -1, -1, ! -1, 8, 9, -1, 11, -1, -1, -1, 84, -1, ! 86, 87, -1, 89, 21, 22, 23, 24, 25, 26, ! 27, -1, 29, -1, 31, -1, 33, 34, 35, 36, ! 37, -1, -1, -1, -1, 42, -1, 4, 5, 6, ! 7, 48, -1, -1, 51, 12, 13, 14, -1, 56, ! 57, 58, -1, -1, -1, 62, 63, 3, -1, -1, ! 67, 28, 8, 9, -1, 11, 50, 51, 52, 53, ! 54, 55, 56, 57, 58, 59, 60, 84, -1, 86, ! 87, -1, 89, 29, -1, 31, -1, 33, 34, 35, ! 36, 37, -1, -1, -1, -1, 42, -1, -1, -1, ! -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, ! 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, ! -1, 67, 3, 4, 5, 6, 7, 8, 9, -1, ! 11, 12, 13, 14, -1, -1, 4, -1, 6, 7, ! 86, 87, -1, 89, 12, 13, 14, 28, 29, 30, ! 31, -1, 33, 34, 35, 36, 37, -1, -1, -1, ! 28, 42, 30, -1, -1, -1, -1, 48, -1, -1, ! 51, -1, -1, -1, -1, 56, 57, 58, -1, -1, ! -1, 62, 63, -1, 3, 4, 67, 6, 7, 8, ! 9, -1, 11, 12, 13, 14, 53, 54, 55, 56, ! 57, 58, 59, 60, -1, 86, 87, -1, -1, 28, ! 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, ! -1, -1, -1, 42, -1, 3, -1, -1, -1, 48, ! 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, ! -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, ! -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, ! -1, -1, -1, -1, 42, -1, 3, 86, 87, -1, 48, 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, 35, 36, ! 37, -1, -1, -1, -1, 42, 84, 3, 86, 87, -1, 48, 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, 35, ! 36, 37, -1, -1, -1, -1, 42, -1, 3, 86, 87, -1, 48, 8, 9, 51, 11, -1, -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, *************** static const short yycheck[] = { 59, *** 1555,1599 **** -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, -1, -1, -1, 42, -1, ! 3, 86, 87, -1, 48, 8, 9, 51, 11, -1, ! -1, -1, 56, 57, 58, -1, -1, -1, 62, 63, ! -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, ! 33, 34, 35, 36, 37, -1, -1, -1, -1, 42, ! -1, -1, 86, 87, -1, 48, -1, -1, 51, -1, ! -1, -1, 10, 56, 57, 58, -1, -1, -1, 62, ! 63, 43, 44, 45, 67, 47, 48, 49, 50, 51, ! 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, ! -1, -1, -1, 86, 87, 43, 44, 45, 46, 47, ! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, ! 58, 59, 60, -1, -1, 43, 44, 45, 90, 47, ! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, ! 58, 59, 60, 43, 44, 45, -1, 47, 48, 49, ! 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, ! 60, -1, -1, -1, -1, -1, -1, 43, 44, 45, ! 88, 47, 48, 49, 50, 51, 52, 53, 54, 55, ! 56, 57, 58, 59, 60, 43, 44, 45, 88, 47, ! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, ! 58, 59, 60, -1, -1, -1, -1, -1, -1, 30, ! -1, -1, 88, 53, 54, 55, 56, 57, 58, 59, ! 60, -1, 43, 44, 45, 83, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ! 4, 5, 6, 7, 4, -1, 6, 7, 12, 13, ! 14, -1, 12, 13, 14, -1, -1, -1, -1, -1, ! -1, -1, -1, -1, 28, -1, 30, -1, 28, 4, ! 30, 6, 7, 4, 5, 6, 7, 12, 13, 14, -1, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, -1, 28, 4, 5, 6, 7, 4, 5, 6, 7, 12, 13, 14, -1, 12, 13, 14, -1, -1, 4, 5, 6, 7, -1, ! -1, -1, 28, 12, 13, 14, 28, 51, 52, 53, ! 54, 55, 56, 57, 58, 59, 60, -1, -1, 28, ! 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, ! 53, 54, 55, 56, 57, 58, 59, 60, 43, 44, ! 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, ! 55, 56, 57, 58, 59, 60, 45, -1, 47, 48, ! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, ! 59, 60, 48, 49, 50, 51, 52, 53, 54, 55, ! 56, 57, 58, 59, 60 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" --- 1559,1598 ---- -1, 56, 57, 58, -1, -1, -1, 62, 63, -1, -1, -1, 67, -1, -1, 29, -1, 31, -1, 33, 34, 35, 36, 37, -1, -1, -1, -1, 42, -1, ! -1, 86, 87, -1, 48, -1, -1, 51, -1, -1, ! -1, 10, 56, 57, 58, -1, -1, -1, 62, 63, ! 43, 44, 45, 67, 47, 48, 49, 50, 51, 52, ! 53, 54, 55, 56, 57, 58, 59, 60, -1, -1, ! -1, -1, 86, 87, 43, 44, 45, 46, 47, 48, ! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, ! 59, 60, -1, -1, 43, 44, 45, 90, 47, 48, ! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, ! 59, 60, 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ! -1, -1, -1, -1, -1, -1, 43, 44, 45, 88, ! 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, ! 57, 58, 59, 60, 43, 44, 45, 88, 47, 48, ! 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, ! 59, 60, -1, -1, -1, -1, -1, -1, 30, -1, ! -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, ! -1, 43, 44, 45, 83, 47, 48, 49, 50, 51, ! 52, 53, 54, 55, 56, 57, 58, 59, 60, 4, ! -1, 6, 7, 4, 5, 6, 7, 12, 13, 14, -1, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, -1, 28, 4, 5, 6, 7, 4, 5, 6, 7, 12, 13, 14, -1, 12, 13, 14, -1, -1, 4, 5, 6, 7, -1, ! -1, -1, 28, 12, 13, 14, 28, 4, -1, 6, ! 7, -1, -1, -1, -1, 12, 13, 14, 4, 28, ! 6, 7, -1, -1, -1, -1, 12, 13, 14, -1, ! -1, 28, 51, 52, 53, 54, 55, 56, 57, 58, ! 59, 60, 28, 43, 44, 45, 46, 47, 48, 49, ! 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, ! 60, 43, 44, 45, -1, 47, 48, 49, 50, 51, ! 52, 53, 54, 55, 56, 57, 58, 59, 60, 45, ! -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, ! 56, 57, 58, 59, 60, 48, 49, 50, 51, 52, ! 53, 54, 55, 56, 57, 58, 59, 60 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" *************** case 56: *** 2374,2468 **** #line 488 "c-parse.y" { skip_evaluation++; ; break;} ! case 58: ! #line 494 "c-parse.y" ! { yyval.ttype = c_cast_expr (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 60: ! #line 500 "c-parse.y" ! { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 61: ! #line 502 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 62: ! #line 504 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 63: ! #line 506 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 64: ! #line 508 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 65: ! #line 510 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 66: ! #line 512 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 67: ! #line 514 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 68: ! #line 516 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 69: ! #line 518 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 70: ! #line 520 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 71: ! #line 522 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 72: ! #line 524 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} ! case 73: ! #line 527 "c-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node; yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 74: ! #line 530 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} ! case 75: ! #line 533 "c-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node; yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 76: ! #line 536 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} ! case 77: ! #line 539 "c-parse.y" { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) - (yyvsp[-4].ttype == boolean_false_node)); ; break;} ! case 78: ! #line 542 "c-parse.y" { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 79: ! #line 545 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids omitting the middle term of a ?: expression"); /* Make sure first operand is calculated only once. */ --- 2373,2471 ---- #line 488 "c-parse.y" { skip_evaluation++; ; break;} ! case 57: ! #line 492 "c-parse.y" ! { skip_evaluation++; ; break;} ! case 59: ! #line 498 "c-parse.y" ! { yyval.ttype = c_cast_expr (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 61: ! #line 504 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 62: ! #line 506 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 63: ! #line 508 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 64: ! #line 510 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 65: ! #line 512 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 66: ! #line 514 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 67: ! #line 516 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 68: ! #line 518 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 69: ! #line 520 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 70: ! #line 522 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 71: ! #line 524 "c-parse.y" { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 72: ! #line 526 "c-parse.y" ! { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ; ! break;} ! case 73: ! #line 528 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} ! case 74: ! #line 531 "c-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node; yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 75: ! #line 534 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} ! case 76: ! #line 537 "c-parse.y" { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node; yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 77: ! #line 540 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ; break;} ! case 78: ! #line 543 "c-parse.y" { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node) - (yyvsp[-4].ttype == boolean_false_node)); ; break;} ! case 79: ! #line 546 "c-parse.y" { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 80: ! #line 549 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids omitting the middle term of a ?: expression"); /* Make sure first operand is calculated only once. */ *************** case 79: *** 2470,2482 **** yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} ! case 80: ! #line 552 "c-parse.y" { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 81: ! #line 555 "c-parse.y" { char class; yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype)); --- 2473,2485 ---- yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype)); skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ; break;} ! case 81: ! #line 556 "c-parse.y" { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node; yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} ! case 82: ! #line 559 "c-parse.y" { char class; yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype)); *************** case 81: *** 2484,2491 **** C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} ! case 82: ! #line 562 "c-parse.y" { char class; yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); /* This inhibits warnings in truthvalue_conversion. */ --- 2487,2494 ---- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} ! case 83: ! #line 566 "c-parse.y" { char class; yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); /* This inhibits warnings in truthvalue_conversion. */ *************** case 82: *** 2494,2523 **** C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ; break;} ! case 83: ! #line 573 "c-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '('); ; break;} ! case 85: ! #line 580 "c-parse.y" { yyval.ttype = combine_strings (yyvsp[0].ttype); ; break;} ! case 86: ! #line 582 "c-parse.y" { yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); ; break;} ! case 87: ! #line 584 "c-parse.y" { start_init (NULL_TREE, NULL, 0); yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype); really_start_incremental_init (yyvsp[-2].ttype); ; break;} ! case 88: ! #line 588 "c-parse.y" { tree constructor = pop_init_level (0); tree type = yyvsp[-5].ttype; finish_init (); --- 2497,2526 ---- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ; break;} ! case 84: ! #line 577 "c-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.ttype = build_external_ref (yyvsp[0].ttype, yychar == '('); ; break;} ! case 86: ! #line 584 "c-parse.y" { yyval.ttype = combine_strings (yyvsp[0].ttype); ; break;} ! case 87: ! #line 586 "c-parse.y" { yyval.ttype = fname_decl (C_RID_CODE (yyval.ttype), yyval.ttype); ; break;} ! case 88: ! #line 588 "c-parse.y" { start_init (NULL_TREE, NULL, 0); yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype); really_start_incremental_init (yyvsp[-2].ttype); ; break;} ! case 89: ! #line 592 "c-parse.y" { tree constructor = pop_init_level (0); tree type = yyvsp[-5].ttype; finish_init (); *************** case 88: *** 2527,2545 **** yyval.ttype = build_compound_literal (type, constructor); ; break;} ! case 89: ! #line 597 "c-parse.y" { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)); if (IS_EXPR_CODE_CLASS (class)) C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK); yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 90: ! #line 602 "c-parse.y" { yyval.ttype = error_mark_node; ; break;} ! case 91: ! #line 604 "c-parse.y" { tree saved_last_tree; if (pedantic) --- 2530,2548 ---- yyval.ttype = build_compound_literal (type, constructor); ; break;} ! case 90: ! #line 601 "c-parse.y" { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)); if (IS_EXPR_CODE_CLASS (class)) C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK); yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 91: ! #line 606 "c-parse.y" { yyval.ttype = error_mark_node; ; break;} ! case 92: ! #line 608 "c-parse.y" { tree saved_last_tree; if (pedantic) *************** case 91: *** 2556,2563 **** TREE_SIDE_EFFECTS (yyval.ttype) = 1; ; break;} ! case 92: ! #line 620 "c-parse.y" { pop_label_level (); last_tree = COMPOUND_BODY (yyvsp[-2].ttype); --- 2559,2566 ---- TREE_SIDE_EFFECTS (yyval.ttype) = 1; ; break;} ! case 93: ! #line 624 "c-parse.y" { pop_label_level (); last_tree = COMPOUND_BODY (yyvsp[-2].ttype); *************** case 92: *** 2565,2580 **** yyval.ttype = error_mark_node; ; break;} ! case 93: ! #line 627 "c-parse.y" { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 94: ! #line 629 "c-parse.y" { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ; break;} ! case 95: ! #line 632 "c-parse.y" { tree c; --- 2568,2583 ---- yyval.ttype = error_mark_node; ; break;} ! case 94: ! #line 631 "c-parse.y" { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 95: ! #line 633 "c-parse.y" { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ; break;} ! case 96: ! #line 636 "c-parse.y" { tree c; *************** case 95: *** 2585,2592 **** yyval.ttype = integer_zerop (c) ? yyvsp[-1].ttype : yyvsp[-3].ttype; ; break;} ! case 96: ! #line 642 "c-parse.y" { tree e1, e2; --- 2588,2595 ---- yyval.ttype = integer_zerop (c) ? yyvsp[-1].ttype : yyvsp[-3].ttype; ; break;} ! case 97: ! #line 646 "c-parse.y" { tree e1, e2; *************** case 96: *** 2597,2630 **** ? build_int_2 (1, 0) : build_int_2 (0, 0); ; break;} ! case 97: ! #line 652 "c-parse.y" { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 98: ! #line 654 "c-parse.y" { yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 99: ! #line 658 "c-parse.y" { tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); yyval.ttype = build_component_ref (expr, yyvsp[0].ttype); ; break;} ! case 100: ! #line 664 "c-parse.y" { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} ! case 101: ! #line 666 "c-parse.y" { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} ! case 103: ! #line 673 "c-parse.y" { static int last_lineno = 0; static const char *last_input_filename = 0; --- 2600,2633 ---- ? build_int_2 (1, 0) : build_int_2 (0, 0); ; break;} ! case 98: ! #line 656 "c-parse.y" { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 99: ! #line 658 "c-parse.y" { yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} ! case 100: ! #line 662 "c-parse.y" { tree expr = build_indirect_ref (yyvsp[-2].ttype, "->"); yyval.ttype = build_component_ref (expr, yyvsp[0].ttype); ; break;} ! case 101: ! #line 668 "c-parse.y" { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} ! case 102: ! #line 670 "c-parse.y" { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ; break;} ! case 104: ! #line 677 "c-parse.y" { static int last_lineno = 0; static const char *last_input_filename = 0; *************** case 103: *** 2639,3010 **** } ; break;} ! case 106: ! #line 694 "c-parse.y" { c_mark_varargs (); if (pedantic) pedwarn ("ISO C does not permit use of `varargs.h'"); ; break;} ! case 107: ! #line 704 "c-parse.y" { ; break;} - case 112: - #line 720 "c-parse.y" - { POP_DECLSPEC_STACK; ; - break;} case 113: ! #line 722 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 114: ! #line 724 "c-parse.y" { shadow_tag_warned (yyvsp[-1].ttype, 1); pedwarn ("empty declaration"); ; break;} ! case 115: ! #line 727 "c-parse.y" { pedwarn ("empty declaration"); ; break;} ! case 116: ! #line 736 "c-parse.y" { ; break;} ! case 117: ! #line 744 "c-parse.y" { pending_xref_error (); PUSH_DECLSPEC_STACK; split_specs_attrs (yyvsp[0].ttype, ¤t_declspecs, &prefix_attributes); all_prefix_attributes = prefix_attributes; ; break;} - case 118: - #line 755 "c-parse.y" - { all_prefix_attributes = chainon (yyvsp[0].ttype, prefix_attributes); ; - break;} case 119: ! #line 760 "c-parse.y" ! { POP_DECLSPEC_STACK; ; break;} case 120: ! #line 762 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 121: ! #line 764 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 122: ! #line 766 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 123: ! #line 768 "c-parse.y" ! { shadow_tag (yyvsp[-1].ttype); ; break;} case 124: ! #line 770 "c-parse.y" ! { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; break;} case 125: ! #line 827 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 126: ! #line 830 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 127: ! #line 833 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 128: ! #line 839 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 129: ! #line 845 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 130: ! #line 848 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 131: ! #line 854 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); TREE_STATIC (yyval.ttype) = 0; ; break;} ! case 132: ! #line 857 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} - case 133: - #line 863 "c-parse.y" - { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); - TREE_STATIC (yyval.ttype) = 1; ; - break;} case 134: ! #line 866 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 135: ! #line 869 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 136: ! #line 872 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 137: ! #line 875 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 138: ! #line 878 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 139: ! #line 881 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 140: ! #line 887 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 1; ; break;} case 141: ! #line 890 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 142: ! #line 893 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 143: ! #line 896 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 144: ! #line 899 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 145: ! #line 902 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 146: ! #line 908 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 147: ! #line 911 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 148: ! #line 914 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 149: ! #line 917 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 150: ! #line 920 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 151: ! #line 923 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 152: ! #line 929 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; ! break;} ! case 153: ! #line 932 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 154: ! #line 935 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 155: ! #line 938 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 156: ! #line 941 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 157: ! #line 947 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 0; ; break;} ! case 158: ! #line 950 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 159: ! #line 953 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 160: ! #line 956 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 161: ! #line 962 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 162: ! #line 968 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 163: ! #line 974 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 164: ! #line 983 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 165: ! #line 989 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 166: ! #line 992 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 167: ! #line 995 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 168: ! #line 1001 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 169: ! #line 1007 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 170: ! #line 1013 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 171: ! #line 1022 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} - case 172: - #line 1028 "c-parse.y" - { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); - TREE_STATIC (yyval.ttype) = 1; ; - break;} case 173: ! #line 1031 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 174: ! #line 1034 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 175: ! #line 1037 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 176: ! #line 1040 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 177: ! #line 1043 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 178: ! #line 1046 "c-parse.y" ! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) ! warning ("`%s' is not at beginning of declaration", ! IDENTIFIER_POINTER (yyvsp[0].ttype)); ! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 179: ! #line 1052 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); --- 2642,3005 ---- } ; break;} ! case 107: ! #line 698 "c-parse.y" { c_mark_varargs (); if (pedantic) pedwarn ("ISO C does not permit use of `varargs.h'"); ; break;} ! case 108: ! #line 708 "c-parse.y" { ; break;} case 113: ! #line 724 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 114: ! #line 726 "c-parse.y" ! { POP_DECLSPEC_STACK; ; ! break;} ! case 115: ! #line 728 "c-parse.y" { shadow_tag_warned (yyvsp[-1].ttype, 1); pedwarn ("empty declaration"); ; break;} ! case 116: ! #line 731 "c-parse.y" { pedwarn ("empty declaration"); ; break;} ! case 117: ! #line 740 "c-parse.y" { ; break;} ! case 118: ! #line 748 "c-parse.y" { pending_xref_error (); PUSH_DECLSPEC_STACK; split_specs_attrs (yyvsp[0].ttype, ¤t_declspecs, &prefix_attributes); all_prefix_attributes = prefix_attributes; ; break;} case 119: ! #line 759 "c-parse.y" ! { all_prefix_attributes = chainon (yyvsp[0].ttype, prefix_attributes); ; break;} case 120: ! #line 764 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 121: ! #line 766 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 122: ! #line 768 "c-parse.y" { POP_DECLSPEC_STACK; ; break;} case 123: ! #line 770 "c-parse.y" ! { POP_DECLSPEC_STACK; ; break;} case 124: ! #line 772 "c-parse.y" ! { shadow_tag (yyvsp[-1].ttype); ; break;} case 125: ! #line 774 "c-parse.y" ! { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; break;} case 126: ! #line 831 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 1; ; break;} case 127: ! #line 834 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 128: ! #line 837 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; ! break;} ! case 129: ! #line 843 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 130: ! #line 849 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 131: ! #line 852 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 132: ! #line 858 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); TREE_STATIC (yyval.ttype) = 0; ; break;} ! case 133: ! #line 861 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 134: ! #line 867 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 1; ; break;} case 135: ! #line 870 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 136: ! #line 873 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 137: ! #line 876 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 138: ! #line 879 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 139: ! #line 882 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 140: ! #line 885 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 141: ! #line 891 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 142: ! #line 894 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 143: ! #line 897 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 144: ! #line 900 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 145: ! #line 903 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 146: ! #line 906 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 147: ! #line 912 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 148: ! #line 915 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 149: ! #line 918 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 150: ! #line 921 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 151: ! #line 924 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 152: ! #line 927 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} + case 153: + #line 933 "c-parse.y" + { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); + TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; + break;} case 154: ! #line 936 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 155: ! #line 939 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 156: ! #line 942 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 157: ! #line 945 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; ! break;} ! case 158: ! #line 951 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); TREE_STATIC (yyval.ttype) = 0; ; break;} ! case 159: ! #line 954 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 160: ! #line 957 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 161: ! #line 960 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 162: ! #line 966 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 163: ! #line 972 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 164: ! #line 978 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 165: ! #line 987 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 166: ! #line 993 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 167: ! #line 996 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 168: ! #line 999 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 169: ! #line 1005 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 170: ! #line 1011 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 171: ! #line 1017 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} ! case 172: ! #line 1026 "c-parse.y" { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 173: ! #line 1032 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 174: ! #line 1035 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 175: ! #line 1038 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 176: ! #line 1041 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 177: ! #line 1044 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 178: ! #line 1047 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 179: ! #line 1050 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); *************** case 179: *** 3012,3018 **** TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 180: ! #line 1058 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); --- 3007,3013 ---- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 180: ! #line 1056 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); *************** case 180: *** 3020,3026 **** TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 181: ! #line 1064 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); --- 3015,3021 ---- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 181: ! #line 1062 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); *************** case 181: *** 3028,3097 **** TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 182: ! #line 1073 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 183: ! #line 1076 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 184: ! #line 1079 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 185: ! #line 1082 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 186: ! #line 1085 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 187: ! #line 1091 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 188: ! #line 1094 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 189: ! #line 1097 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 190: ! #line 1100 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 191: ! #line 1103 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 192: ! #line 1106 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 193: ! #line 1109 "c-parse.y" ! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) ! warning ("`%s' is not at beginning of declaration", ! IDENTIFIER_POINTER (yyvsp[0].ttype)); ! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 194: ! #line 1115 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); --- 3023,3092 ---- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 182: ! #line 1068 "c-parse.y" ! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) ! warning ("`%s' is not at beginning of declaration", ! IDENTIFIER_POINTER (yyvsp[0].ttype)); ! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 183: ! #line 1077 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 184: ! #line 1080 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 185: ! #line 1083 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 186: ! #line 1086 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 187: ! #line 1089 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 188: ! #line 1095 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 189: ! #line 1098 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 190: ! #line 1101 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 191: ! #line 1104 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 192: ! #line 1107 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 193: ! #line 1110 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 194: ! #line 1113 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); *************** case 194: *** 3099,3105 **** TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 195: ! #line 1121 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); --- 3094,3100 ---- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 195: ! #line 1119 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); *************** case 195: *** 3107,3113 **** TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 196: ! #line 1127 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); --- 3102,3108 ---- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 196: ! #line 1125 "c-parse.y" { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); *************** case 196: *** 3115,3324 **** TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 197: ! #line 1136 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 198: ! #line 1139 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 199: ! #line 1142 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 200: ! #line 1145 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 201: ! #line 1148 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 258: ! #line 1236 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 259: ! #line 1238 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 263: ! #line 1273 "c-parse.y" { OBJC_NEED_RAW_IDENTIFIER (1); ; break;} ! case 266: ! #line 1283 "c-parse.y" { /* For a typedef name, record the meaning, not the name. In case of `foo foo, bar;'. */ yyval.ttype = lookup_name (yyvsp[0].ttype); ; break;} - case 267: - #line 1287 "c-parse.y" - { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ; - break;} case 268: ! #line 1289 "c-parse.y" ! { yyval.ttype = groktypename (yyvsp[-1].ttype); ; break;} ! case 273: ! #line 1306 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 274: ! #line 1308 "c-parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 275: ! #line 1315 "c-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, chainon (yyvsp[-1].ttype, all_prefix_attributes)); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} ! case 276: ! #line 1320 "c-parse.y" { finish_init (); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 277: ! #line 1323 "c-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, chainon (yyvsp[0].ttype, all_prefix_attributes)); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 278: ! #line 1331 "c-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, chainon (yyvsp[-1].ttype, all_prefix_attributes)); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} ! case 279: ! #line 1336 "c-parse.y" { finish_init (); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 280: ! #line 1339 "c-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, chainon (yyvsp[0].ttype, all_prefix_attributes)); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} - case 281: - #line 1347 "c-parse.y" - { yyval.ttype = NULL_TREE; ; - break;} case 282: ! #line 1349 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 283: ! #line 1354 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 284: ! #line 1356 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 285: ! #line 1361 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype; ; break;} case 286: ! #line 1366 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 287: ! #line 1368 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 288: ! #line 1373 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 289: ! #line 1375 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} case 290: ! #line 1377 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} case 291: ! #line 1379 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; break;} case 292: ! #line 1381 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 298: ! #line 1399 "c-parse.y" { really_start_incremental_init (NULL_TREE); ; break;} ! case 299: ! #line 1401 "c-parse.y" { yyval.ttype = pop_init_level (0); ; break;} ! case 300: ! #line 1403 "c-parse.y" { yyval.ttype = error_mark_node; ; break;} ! case 301: ! #line 1409 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids empty initializer braces"); ; break;} ! case 305: ! #line 1423 "c-parse.y" { if (pedantic && ! flag_isoc99) pedwarn ("ISO C89 forbids specifying subobject to initialize"); ; break;} ! case 306: ! #line 1426 "c-parse.y" { if (pedantic) pedwarn ("obsolete use of designated initializer without `='"); ; break;} ! case 307: ! #line 1429 "c-parse.y" { set_init_label (yyvsp[-1].ttype); if (pedantic) pedwarn ("obsolete use of designated initializer with `:'"); ; break;} ! case 310: ! #line 1438 "c-parse.y" ! { push_init_level (0); ; break;} case 311: ! #line 1440 "c-parse.y" ! { process_init_element (pop_init_level (0)); ; break;} case 312: ! #line 1442 "c-parse.y" ! { process_init_element (yyvsp[0].ttype); ; break;} ! case 316: ! #line 1453 "c-parse.y" ! { set_init_label (yyvsp[0].ttype); ; break;} case 317: #line 1458 "c-parse.y" { set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); if (pedantic) pedwarn ("ISO C forbids specifying range of elements to initialize"); ; break;} - case 318: - #line 1462 "c-parse.y" - { set_init_index (yyvsp[-1].ttype, NULL_TREE); ; - break;} case 319: #line 1467 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids nested functions"); --- 3110,3331 ---- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 197: ! #line 1131 "c-parse.y" ! { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype)) ! warning ("`%s' is not at beginning of declaration", ! IDENTIFIER_POINTER (yyvsp[0].ttype)); ! yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 198: ! #line 1140 "c-parse.y" ! { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 199: ! #line 1143 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 200: ! #line 1146 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 201: ! #line 1149 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} ! case 202: ! #line 1152 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ! TREE_STATIC (yyval.ttype) = 1; ; break;} case 259: ! #line 1240 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; ! break;} ! case 260: ! #line 1242 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 264: ! #line 1277 "c-parse.y" { OBJC_NEED_RAW_IDENTIFIER (1); ; break;} ! case 267: ! #line 1287 "c-parse.y" { /* For a typedef name, record the meaning, not the name. In case of `foo foo, bar;'. */ yyval.ttype = lookup_name (yyvsp[0].ttype); ; break;} case 268: ! #line 1291 "c-parse.y" ! { skip_evaluation--; yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ; break;} ! case 269: ! #line 1293 "c-parse.y" ! { skip_evaluation--; yyval.ttype = groktypename (yyvsp[-1].ttype); ; break;} case 274: ! #line 1310 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; ! break;} ! case 275: ! #line 1312 "c-parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 276: ! #line 1319 "c-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, chainon (yyvsp[-1].ttype, all_prefix_attributes)); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} ! case 277: ! #line 1324 "c-parse.y" { finish_init (); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 278: ! #line 1327 "c-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, chainon (yyvsp[0].ttype, all_prefix_attributes)); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} ! case 279: ! #line 1335 "c-parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, chainon (yyvsp[-1].ttype, all_prefix_attributes)); start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ; break;} ! case 280: ! #line 1340 "c-parse.y" { finish_init (); finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} ! case 281: ! #line 1343 "c-parse.y" { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0, chainon (yyvsp[0].ttype, all_prefix_attributes)); finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ; break;} case 282: ! #line 1351 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 283: ! #line 1353 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 284: ! #line 1358 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 285: ! #line 1360 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 286: ! #line 1365 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype; ; break;} case 287: ! #line 1370 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 288: ! #line 1372 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 289: ! #line 1377 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 290: ! #line 1379 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} case 291: ! #line 1381 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} case 292: ! #line 1383 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; ! break;} ! case 293: ! #line 1385 "c-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 299: ! #line 1403 "c-parse.y" { really_start_incremental_init (NULL_TREE); ; break;} ! case 300: ! #line 1405 "c-parse.y" { yyval.ttype = pop_init_level (0); ; break;} ! case 301: ! #line 1407 "c-parse.y" { yyval.ttype = error_mark_node; ; break;} ! case 302: ! #line 1413 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids empty initializer braces"); ; break;} ! case 306: ! #line 1427 "c-parse.y" { if (pedantic && ! flag_isoc99) pedwarn ("ISO C89 forbids specifying subobject to initialize"); ; break;} ! case 307: ! #line 1430 "c-parse.y" { if (pedantic) pedwarn ("obsolete use of designated initializer without `='"); ; break;} ! case 308: ! #line 1433 "c-parse.y" { set_init_label (yyvsp[-1].ttype); if (pedantic) pedwarn ("obsolete use of designated initializer with `:'"); ; break;} ! case 309: ! #line 1437 "c-parse.y" ! {; break;} case 311: ! #line 1443 "c-parse.y" ! { push_init_level (0); ; break;} case 312: ! #line 1445 "c-parse.y" ! { process_init_element (pop_init_level (0)); ; break;} ! case 313: ! #line 1447 "c-parse.y" ! { process_init_element (yyvsp[0].ttype); ; break;} case 317: #line 1458 "c-parse.y" + { set_init_label (yyvsp[0].ttype); ; + break;} + case 318: + #line 1463 "c-parse.y" { set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); if (pedantic) pedwarn ("ISO C forbids specifying range of elements to initialize"); ; break;} case 319: #line 1467 "c-parse.y" + { set_init_index (yyvsp[-1].ttype, NULL_TREE); ; + break;} + case 320: + #line 1472 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids nested functions"); *************** case 319: *** 3331,3342 **** } ; break;} ! case 320: ! #line 1479 "c-parse.y" { store_parm_decls (); ; break;} ! case 321: ! #line 1487 "c-parse.y" { tree decl = current_function_decl; DECL_SOURCE_FILE (decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno; --- 3338,3349 ---- } ; break;} ! case 321: ! #line 1484 "c-parse.y" { store_parm_decls (); ; break;} ! case 322: ! #line 1492 "c-parse.y" { tree decl = current_function_decl; DECL_SOURCE_FILE (decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno; *************** case 321: *** 3344,3351 **** pop_function_context (); add_decl_stmt (decl); ; break;} ! case 322: ! #line 1497 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids nested functions"); --- 3351,3358 ---- pop_function_context (); add_decl_stmt (decl); ; break;} ! case 323: ! #line 1502 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids nested functions"); *************** case 322: *** 3358,3369 **** } ; break;} ! case 323: ! #line 1509 "c-parse.y" { store_parm_decls (); ; break;} ! case 324: ! #line 1517 "c-parse.y" { tree decl = current_function_decl; DECL_SOURCE_FILE (decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno; --- 3365,3376 ---- } ; break;} ! case 324: ! #line 1514 "c-parse.y" { store_parm_decls (); ; break;} ! case 325: ! #line 1522 "c-parse.y" { tree decl = current_function_decl; DECL_SOURCE_FILE (decl) = yyvsp[-2].filename; DECL_SOURCE_LINE (decl) = yyvsp[-1].lineno; *************** case 324: *** 3371,3558 **** pop_function_context (); add_decl_stmt (decl); ; break;} - case 327: - #line 1537 "c-parse.y" - { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; - break;} case 328: ! #line 1539 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 329: #line 1544 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; break;} case 330: ! #line 1546 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 334: ! #line 1561 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 335: #line 1566 "c-parse.y" - { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; - break;} - case 337: - #line 1572 "c-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 338: #line 1577 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; break;} case 339: ! #line 1579 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 340: ! #line 1581 "c-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 341: ! #line 1583 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; break;} case 342: ! #line 1591 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 343: #line 1596 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; break;} case 344: ! #line 1598 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 345: ! #line 1600 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; break;} ! case 347: ! #line 1606 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 348: ! #line 1608 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 349: #line 1613 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 350: ! #line 1615 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 351: #line 1620 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 352: ! #line 1622 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 353: ! #line 1633 "c-parse.y" { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); /* Start scope of tag before parsing components. */ ; break;} ! case 354: ! #line 1637 "c-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; break;} ! case 355: ! #line 1639 "c-parse.y" { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); ; break;} ! case 356: ! #line 1643 "c-parse.y" { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ; break;} ! case 357: ! #line 1645 "c-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; break;} ! case 358: ! #line 1647 "c-parse.y" { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE), yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); ; break;} ! case 359: ! #line 1651 "c-parse.y" { yyval.ttype = start_enum (yyvsp[-1].ttype); ; break;} ! case 360: ! #line 1653 "c-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ; break;} ! case 361: ! #line 1656 "c-parse.y" { yyval.ttype = start_enum (NULL_TREE); ; break;} ! case 362: ! #line 1658 "c-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; break;} ! case 363: ! #line 1664 "c-parse.y" { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ; break;} ! case 364: ! #line 1666 "c-parse.y" { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ; break;} ! case 365: ! #line 1668 "c-parse.y" { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); /* In ISO C, enumerated types can be referred to only if already defined. */ if (pedantic && !COMPLETE_TYPE_P (yyval.ttype)) pedwarn ("ISO C forbids forward references to `enum' types"); ; break;} ! case 369: ! #line 1683 "c-parse.y" { if (pedantic && ! flag_isoc99) pedwarn ("comma at end of enumerator list"); ; break;} ! case 370: ! #line 1689 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 371: ! #line 1691 "c-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); pedwarn ("no semicolon at end of struct or union"); ; break;} ! case 372: ! #line 1696 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 373: ! #line 1698 "c-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 374: ! #line 1700 "c-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} ! case 375: ! #line 1706 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 376: ! #line 1709 "c-parse.y" { /* Support for unnamed structs or unions as members of structs or unions (which is [a] useful and [b] supports --- 3378,3565 ---- pop_function_context (); add_decl_stmt (decl); ; break;} case 328: ! #line 1542 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; break;} case 329: #line 1544 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 330: ! #line 1549 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; break;} ! case 331: ! #line 1551 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 335: #line 1566 "c-parse.y" { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} + case 336: + #line 1571 "c-parse.y" + { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; + break;} case 338: #line 1577 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 339: ! #line 1582 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; break;} case 340: ! #line 1584 "c-parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 341: ! #line 1586 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 342: ! #line 1588 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; break;} case 343: #line 1596 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 344: ! #line 1601 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; break;} case 345: ! #line 1603 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} ! case 346: ! #line 1605 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 0); ; break;} case 348: ! #line 1611 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 349: #line 1613 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 350: ! #line 1618 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 351: #line 1620 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; break;} case 352: ! #line 1625 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 353: ! #line 1627 "c-parse.y" ! { yyval.ttype = yyvsp[0].ttype; ; ! break;} ! case 354: ! #line 1638 "c-parse.y" { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype); /* Start scope of tag before parsing components. */ ; break;} ! case 355: ! #line 1642 "c-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; break;} ! case 356: ! #line 1644 "c-parse.y" { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); ; break;} ! case 357: ! #line 1648 "c-parse.y" { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ; break;} ! case 358: ! #line 1650 "c-parse.y" { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; break;} ! case 359: ! #line 1652 "c-parse.y" { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE), yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype)); ; break;} ! case 360: ! #line 1656 "c-parse.y" { yyval.ttype = start_enum (yyvsp[-1].ttype); ; break;} ! case 361: ! #line 1658 "c-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ; break;} ! case 362: ! #line 1661 "c-parse.y" { yyval.ttype = start_enum (NULL_TREE); ; break;} ! case 363: ! #line 1663 "c-parse.y" { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ; break;} ! case 364: ! #line 1669 "c-parse.y" { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ; break;} ! case 365: ! #line 1671 "c-parse.y" { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ; break;} ! case 366: ! #line 1673 "c-parse.y" { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); /* In ISO C, enumerated types can be referred to only if already defined. */ if (pedantic && !COMPLETE_TYPE_P (yyval.ttype)) pedwarn ("ISO C forbids forward references to `enum' types"); ; break;} ! case 370: ! #line 1688 "c-parse.y" { if (pedantic && ! flag_isoc99) pedwarn ("comma at end of enumerator list"); ; break;} ! case 371: ! #line 1694 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 372: ! #line 1696 "c-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); pedwarn ("no semicolon at end of struct or union"); ; break;} ! case 373: ! #line 1701 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 374: ! #line 1703 "c-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} ! case 375: ! #line 1705 "c-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} ! case 376: ! #line 1711 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 377: ! #line 1714 "c-parse.y" { /* Support for unnamed structs or unions as members of structs or unions (which is [a] useful and [b] supports *************** case 376: *** 3563,3775 **** yyval.ttype = grokfield(yyvsp[-1].filename, yyvsp[0].lineno, NULL, current_declspecs, NULL_TREE); POP_DECLSPEC_STACK; ; break;} ! case 377: ! #line 1719 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 378: ! #line 1722 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} ! case 379: ! #line 1727 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 380: ! #line 1729 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; break;} ! case 382: ! #line 1736 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ; ! break;} ! case 384: ! #line 1742 "c-parse.y" { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 385: #line 1747 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 386: ! #line 1751 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 387: ! #line 1754 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 388: ! #line 1760 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 389: ! #line 1764 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 390: ! #line 1767 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 392: ! #line 1779 "c-parse.y" { if (yyvsp[-2].ttype == error_mark_node) yyval.ttype = yyvsp[-2].ttype; else yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} - case 393: - #line 1784 "c-parse.y" - { yyval.ttype = error_mark_node; ; - break;} case 394: ! #line 1790 "c-parse.y" ! { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ; break;} case 395: ! #line 1792 "c-parse.y" ! { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 396: #line 1797 "c-parse.y" ! { pending_xref_error (); ! yyval.ttype = yyvsp[0].ttype; ; break;} case 397: ! #line 1800 "c-parse.y" ! { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 398: #line 1805 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 400: ! #line 1811 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, NULL_TREE), all_prefix_attributes); ; break;} ! case 401: ! #line 1815 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[0].ttype), all_prefix_attributes); ; break;} ! case 402: ! #line 1819 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); ; break;} - case 406: - #line 1832 "c-parse.y" - { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; - break;} case 407: #line 1837 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} case 408: ! #line 1839 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 409: #line 1844 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; break;} case 410: ! #line 1846 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 411: ! #line 1848 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 1); ; break;} case 412: ! #line 1850 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 413: ! #line 1852 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 414: ! #line 1859 "c-parse.y" ! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 0, 0); ; break;} case 415: ! #line 1861 "c-parse.y" ! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, 0); ; break;} case 416: ! #line 1863 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 0); ; break;} case 417: ! #line 1865 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-1].ttype, 0, 0); ; break;} case 418: ! #line 1867 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 1); ; break;} case 419: ! #line 1869 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-2].ttype, 0, 1); ; break;} case 420: ! #line 1871 "c-parse.y" { if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC) error ("storage class specifier in array declarator"); yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 1, 0); ; break;} ! case 421: ! #line 1875 "c-parse.y" { if (C_RID_CODE (yyvsp[-3].ttype) != RID_STATIC) error ("storage class specifier in array declarator"); yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 1, 0); ; break;} ! case 422: ! #line 1879 "c-parse.y" { if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC) error ("storage class specifier in array declarator"); yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-3].ttype, 1, 0); ; break;} ! case 425: ! #line 1894 "c-parse.y" { pedwarn ("deprecated use of label at end of compound statement"); ; break;} ! case 433: ! #line 1911 "c-parse.y" { if (pedantic && !flag_isoc99) pedwarn ("ISO C89 forbids mixed declarations and code"); ; break;} ! case 448: ! #line 1941 "c-parse.y" { pushlevel (0); clear_last_expr (); add_scope_stmt (/*begin_p=*/1, /*partial_p=*/0); ; break;} - case 449: - #line 1948 "c-parse.y" - { yyval.ttype = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); ; - break;} case 450: #line 1953 "c-parse.y" { if (flag_isoc99) { yyval.ttype = c_begin_compound_stmt (); --- 3570,3782 ---- yyval.ttype = grokfield(yyvsp[-1].filename, yyvsp[0].lineno, NULL, current_declspecs, NULL_TREE); POP_DECLSPEC_STACK; ; break;} ! case 378: ! #line 1724 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 379: ! #line 1727 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids member declarations with no members"); shadow_tag(yyvsp[0].ttype); yyval.ttype = NULL_TREE; ; break;} ! case 380: ! #line 1732 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 381: ! #line 1734 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ; break;} ! case 383: ! #line 1741 "c-parse.y" { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ; break;} case 385: #line 1747 "c-parse.y" + { yyval.ttype = chainon (yyvsp[-3].ttype, yyvsp[0].ttype); ; + break;} + case 386: + #line 1752 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 387: ! #line 1756 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 388: ! #line 1759 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 389: ! #line 1765 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 390: ! #line 1769 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 391: ! #line 1772 "c-parse.y" { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype); decl_attributes (&yyval.ttype, chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ; break;} ! case 393: ! #line 1784 "c-parse.y" { if (yyvsp[-2].ttype == error_mark_node) yyval.ttype = yyvsp[-2].ttype; else yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} case 394: ! #line 1789 "c-parse.y" ! { yyval.ttype = error_mark_node; ; break;} case 395: ! #line 1795 "c-parse.y" ! { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ; break;} case 396: #line 1797 "c-parse.y" ! { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 397: ! #line 1802 "c-parse.y" ! { pending_xref_error (); ! yyval.ttype = yyvsp[0].ttype; ; break;} case 398: #line 1805 "c-parse.y" + { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ; + break;} + case 399: + #line 1810 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 401: ! #line 1816 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, NULL_TREE), all_prefix_attributes); ; break;} ! case 402: ! #line 1820 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[0].ttype), all_prefix_attributes); ; break;} ! case 403: ! #line 1824 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); ; break;} case 407: #line 1837 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 408: ! #line 1842 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} case 409: #line 1844 "c-parse.y" ! { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 410: ! #line 1849 "c-parse.y" ! { yyval.ttype = yyvsp[-2].ttype ? tree_cons (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE) : yyvsp[-1].ttype; ; break;} case 411: ! #line 1851 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 412: ! #line 1853 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, yyvsp[-1].ttype, 1); ; break;} case 413: ! #line 1855 "c-parse.y" ! { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 414: ! #line 1857 "c-parse.y" ! { yyval.ttype = set_array_declarator_type (yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 415: ! #line 1864 "c-parse.y" ! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 0, 0); ; break;} case 416: ! #line 1866 "c-parse.y" ! { yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, 0); ; break;} case 417: ! #line 1868 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 0); ; break;} case 418: ! #line 1870 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-1].ttype, 0, 0); ; break;} case 419: ! #line 1872 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, NULL_TREE, 0, 1); ; break;} case 420: ! #line 1874 "c-parse.y" ! { yyval.ttype = build_array_declarator (NULL_TREE, yyvsp[-2].ttype, 0, 1); ; ! break;} ! case 421: ! #line 1876 "c-parse.y" { if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC) error ("storage class specifier in array declarator"); yyval.ttype = build_array_declarator (yyvsp[-1].ttype, NULL_TREE, 1, 0); ; break;} ! case 422: ! #line 1880 "c-parse.y" { if (C_RID_CODE (yyvsp[-3].ttype) != RID_STATIC) error ("storage class specifier in array declarator"); yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-2].ttype, 1, 0); ; break;} ! case 423: ! #line 1884 "c-parse.y" { if (C_RID_CODE (yyvsp[-2].ttype) != RID_STATIC) error ("storage class specifier in array declarator"); yyval.ttype = build_array_declarator (yyvsp[-1].ttype, yyvsp[-3].ttype, 1, 0); ; break;} ! case 426: ! #line 1899 "c-parse.y" { pedwarn ("deprecated use of label at end of compound statement"); ; break;} ! case 434: ! #line 1916 "c-parse.y" { if (pedantic && !flag_isoc99) pedwarn ("ISO C89 forbids mixed declarations and code"); ; break;} ! case 449: ! #line 1946 "c-parse.y" { pushlevel (0); clear_last_expr (); add_scope_stmt (/*begin_p=*/1, /*partial_p=*/0); ; break;} case 450: #line 1953 "c-parse.y" + { yyval.ttype = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); ; + break;} + case 451: + #line 1958 "c-parse.y" { if (flag_isoc99) { yyval.ttype = c_begin_compound_stmt (); *************** case 450: *** 3781,3788 **** yyval.ttype = NULL_TREE; ; break;} ! case 451: ! #line 1969 "c-parse.y" { if (flag_isoc99) { tree scope_stmt = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); --- 3788,3795 ---- yyval.ttype = NULL_TREE; ; break;} ! case 452: ! #line 1974 "c-parse.y" { if (flag_isoc99) { tree scope_stmt = add_scope_stmt (/*begin_p=*/0, /*partial_p=*/0); *************** case 451: *** 3794,3806 **** else yyval.ttype = NULL_TREE; ; break;} ! case 453: ! #line 1986 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids label declarations"); ; break;} ! case 456: ! #line 1997 "c-parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { --- 3801,3813 ---- else yyval.ttype = NULL_TREE; ; break;} ! case 454: ! #line 1991 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids label declarations"); ; break;} ! case 457: ! #line 2002 "c-parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { *************** case 456: *** 3810,3837 **** } ; break;} ! case 457: ! #line 2011 "c-parse.y" {; break;} ! case 459: ! #line 2015 "c-parse.y" { compstmt_count++; yyval.ttype = c_begin_compound_stmt (); ; break;} ! case 460: ! #line 2020 "c-parse.y" { yyval.ttype = convert (void_type_node, integer_zero_node); ; break;} ! case 461: ! #line 2022 "c-parse.y" { yyval.ttype = poplevel (kept_level_p (), 1, 0); SCOPE_STMT_BLOCK (TREE_PURPOSE (yyvsp[0].ttype)) = SCOPE_STMT_BLOCK (TREE_VALUE (yyvsp[0].ttype)) = yyval.ttype; ; break;} ! case 464: ! #line 2035 "c-parse.y" { if (current_function_decl == 0) { error ("braced-group within expression allowed only inside a function"); --- 3817,3844 ---- } ; break;} ! case 458: ! #line 2016 "c-parse.y" {; break;} ! case 460: ! #line 2020 "c-parse.y" { compstmt_count++; yyval.ttype = c_begin_compound_stmt (); ; break;} ! case 461: ! #line 2025 "c-parse.y" { yyval.ttype = convert (void_type_node, integer_zero_node); ; break;} ! case 462: ! #line 2027 "c-parse.y" { yyval.ttype = poplevel (kept_level_p (), 1, 0); SCOPE_STMT_BLOCK (TREE_PURPOSE (yyvsp[0].ttype)) = SCOPE_STMT_BLOCK (TREE_VALUE (yyvsp[0].ttype)) = yyval.ttype; ; break;} ! case 465: ! #line 2040 "c-parse.y" { if (current_function_decl == 0) { error ("braced-group within expression allowed only inside a function"); *************** case 464: *** 3847,3876 **** yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree)); ; break;} ! case 465: ! #line 2052 "c-parse.y" { RECHAIN_STMTS (yyvsp[-1].ttype, COMPOUND_BODY (yyvsp[-1].ttype)); last_expr_type = NULL_TREE; yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 466: ! #line 2060 "c-parse.y" { c_finish_then (); ; break;} ! case 468: ! #line 2077 "c-parse.y" { yyval.ttype = c_begin_if_stmt (); ; break;} ! case 469: ! #line 2079 "c-parse.y" { c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), compstmt_count,yyvsp[-3].ttype); yyval.itype = stmt_count; if_stmt_file = yyvsp[-7].filename; if_stmt_line = yyvsp[-6].lineno; ; break;} ! case 470: ! #line 2091 "c-parse.y" { stmt_count++; compstmt_count++; yyval.ttype --- 3854,3883 ---- yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree)); ; break;} ! case 466: ! #line 2057 "c-parse.y" { RECHAIN_STMTS (yyvsp[-1].ttype, COMPOUND_BODY (yyvsp[-1].ttype)); last_expr_type = NULL_TREE; yyval.ttype = yyvsp[-1].ttype; ; break;} ! case 467: ! #line 2065 "c-parse.y" { c_finish_then (); ; break;} ! case 469: ! #line 2082 "c-parse.y" { yyval.ttype = c_begin_if_stmt (); ; break;} ! case 470: ! #line 2084 "c-parse.y" { c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), compstmt_count,yyvsp[-3].ttype); yyval.itype = stmt_count; if_stmt_file = yyvsp[-7].filename; if_stmt_line = yyvsp[-6].lineno; ; break;} ! case 471: ! #line 2096 "c-parse.y" { stmt_count++; compstmt_count++; yyval.ttype *************** case 470: *** 3882,3911 **** RTL-generation time. */ DO_COND (yyval.ttype) = error_mark_node; ; break;} ! case 471: ! #line 2102 "c-parse.y" { yyval.ttype = yyvsp[-2].ttype; RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); ; break;} ! case 472: ! #line 2110 "c-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.filename = input_filename; ; break;} ! case 473: ! #line 2116 "c-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.lineno = lineno; ; break;} ! case 476: ! #line 2129 "c-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ; break;} ! case 477: ! #line 2135 "c-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno; --- 3889,3918 ---- RTL-generation time. */ DO_COND (yyval.ttype) = error_mark_node; ; break;} ! case 472: ! #line 2107 "c-parse.y" { yyval.ttype = yyvsp[-2].ttype; RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); ; break;} ! case 473: ! #line 2115 "c-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.filename = input_filename; ; break;} ! case 474: ! #line 2121 "c-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.lineno = lineno; ; break;} ! case 477: ! #line 2134 "c-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ; break;} ! case 478: ! #line 2140 "c-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno; *************** case 477: *** 3917,3944 **** } ; break;} ! case 478: ! #line 2149 "c-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno; } ; break;} ! case 479: ! #line 2158 "c-parse.y" { c_expand_start_else (); yyvsp[-1].itype = stmt_count; ; break;} ! case 480: ! #line 2161 "c-parse.y" { c_finish_else (); c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} ! case 481: ! #line 2166 "c-parse.y" { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an --- 3924,3951 ---- } ; break;} ! case 479: ! #line 2154 "c-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].lineno; } ; break;} ! case 480: ! #line 2163 "c-parse.y" { c_expand_start_else (); yyvsp[-1].itype = stmt_count; ; break;} ! case 481: ! #line 2166 "c-parse.y" { c_finish_else (); c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} ! case 482: ! #line 2171 "c-parse.y" { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an *************** case 481: *** 3948,4079 **** warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); ; break;} ! case 482: ! #line 2178 "c-parse.y" { c_expand_end_cond (); ; break;} ! case 483: ! #line 2188 "c-parse.y" { stmt_count++; yyval.ttype = c_begin_while_stmt (); ; break;} ! case 484: ! #line 2191 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (yyvsp[-1].ttype); c_finish_while_stmt_cond (truthvalue_conversion (yyvsp[-1].ttype), yyvsp[-3].ttype); yyval.ttype = add_stmt (yyvsp[-3].ttype); ; break;} ! case 485: ! #line 2196 "c-parse.y" { RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ; break;} ! case 486: ! #line 2199 "c-parse.y" { DO_COND (yyvsp[-4].ttype) = truthvalue_conversion (yyvsp[-2].ttype); ; break;} ! case 487: ! #line 2201 "c-parse.y" { ; break;} ! case 488: ! #line 2203 "c-parse.y" { yyval.ttype = build_stmt (FOR_STMT, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE); add_stmt (yyval.ttype); ; break;} ! case 489: ! #line 2207 "c-parse.y" { stmt_count++; RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ; break;} ! case 490: ! #line 2210 "c-parse.y" { if (yyvsp[-1].ttype) FOR_COND (yyvsp[-5].ttype) = truthvalue_conversion (yyvsp[-1].ttype); ; break;} ! case 491: ! #line 2213 "c-parse.y" { FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ; break;} ! case 492: ! #line 2215 "c-parse.y" { RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); ; break;} ! case 493: ! #line 2217 "c-parse.y" { stmt_count++; yyval.ttype = c_start_case (yyvsp[-1].ttype); ; break;} - case 494: - #line 2220 "c-parse.y" - { c_finish_case (); ; - break;} case 495: #line 2225 "c-parse.y" ! { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ; break;} case 496: ! #line 2227 "c-parse.y" ! { check_for_loop_decls (); ; break;} case 497: ! #line 2233 "c-parse.y" ! { stmt_count++; yyval.ttype = yyvsp[0].ttype; ; break;} case 498: ! #line 2235 "c-parse.y" { stmt_count++; yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ; break;} ! case 499: ! #line 2238 "c-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); yyval.ttype = NULL_TREE; ; break;} - case 500: - #line 2242 "c-parse.y" - { stmt_count++; - yyval.ttype = add_stmt (build_break_stmt ()); ; - break;} case 501: ! #line 2245 "c-parse.y" { stmt_count++; ! yyval.ttype = add_stmt (build_continue_stmt ()); ; break;} case 502: ! #line 2248 "c-parse.y" { stmt_count++; ! yyval.ttype = c_expand_return (NULL_TREE); ; break;} case 503: ! #line 2251 "c-parse.y" { stmt_count++; ! yyval.ttype = c_expand_return (yyvsp[-1].ttype); ; break;} case 504: ! #line 2254 "c-parse.y" { stmt_count++; ! yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ; break;} case 505: ! #line 2258 "c-parse.y" { stmt_count++; ! yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} case 506: #line 2263 "c-parse.y" { stmt_count++; ! yyval.ttype = build_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 507: #line 2268 "c-parse.y" { stmt_count++; ! yyval.ttype = build_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} case 508: ! #line 2271 "c-parse.y" { tree decl; stmt_count++; decl = lookup_label (yyvsp[-1].ttype); --- 3955,4086 ---- warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); ; break;} ! case 483: ! #line 2183 "c-parse.y" { c_expand_end_cond (); ; break;} ! case 484: ! #line 2193 "c-parse.y" { stmt_count++; yyval.ttype = c_begin_while_stmt (); ; break;} ! case 485: ! #line 2196 "c-parse.y" { yyvsp[-1].ttype = truthvalue_conversion (yyvsp[-1].ttype); c_finish_while_stmt_cond (truthvalue_conversion (yyvsp[-1].ttype), yyvsp[-3].ttype); yyval.ttype = add_stmt (yyvsp[-3].ttype); ; break;} ! case 486: ! #line 2201 "c-parse.y" { RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ; break;} ! case 487: ! #line 2204 "c-parse.y" { DO_COND (yyvsp[-4].ttype) = truthvalue_conversion (yyvsp[-2].ttype); ; break;} ! case 488: ! #line 2206 "c-parse.y" { ; break;} ! case 489: ! #line 2208 "c-parse.y" { yyval.ttype = build_stmt (FOR_STMT, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE); add_stmt (yyval.ttype); ; break;} ! case 490: ! #line 2212 "c-parse.y" { stmt_count++; RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ; break;} ! case 491: ! #line 2215 "c-parse.y" { if (yyvsp[-1].ttype) FOR_COND (yyvsp[-5].ttype) = truthvalue_conversion (yyvsp[-1].ttype); ; break;} ! case 492: ! #line 2218 "c-parse.y" { FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ; break;} ! case 493: ! #line 2220 "c-parse.y" { RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); ; break;} ! case 494: ! #line 2222 "c-parse.y" { stmt_count++; yyval.ttype = c_start_case (yyvsp[-1].ttype); ; break;} case 495: #line 2225 "c-parse.y" ! { c_finish_case (); ; break;} case 496: ! #line 2230 "c-parse.y" ! { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ; break;} case 497: ! #line 2232 "c-parse.y" ! { check_for_loop_decls (); ; break;} case 498: ! #line 2238 "c-parse.y" ! { stmt_count++; yyval.ttype = yyvsp[0].ttype; ; ! break;} ! case 499: ! #line 2240 "c-parse.y" { stmt_count++; yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ; break;} ! case 500: ! #line 2243 "c-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); yyval.ttype = NULL_TREE; ; break;} case 501: ! #line 2247 "c-parse.y" { stmt_count++; ! yyval.ttype = add_stmt (build_break_stmt ()); ; break;} case 502: ! #line 2250 "c-parse.y" { stmt_count++; ! yyval.ttype = add_stmt (build_continue_stmt ()); ; break;} case 503: ! #line 2253 "c-parse.y" { stmt_count++; ! yyval.ttype = c_expand_return (NULL_TREE); ; break;} case 504: ! #line 2256 "c-parse.y" { stmt_count++; ! yyval.ttype = c_expand_return (yyvsp[-1].ttype); ; break;} case 505: ! #line 2259 "c-parse.y" { stmt_count++; ! yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ; break;} case 506: #line 2263 "c-parse.y" { stmt_count++; ! yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} case 507: #line 2268 "c-parse.y" { stmt_count++; ! yyval.ttype = build_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 508: ! #line 2273 "c-parse.y" ! { stmt_count++; ! yyval.ttype = build_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; ! break;} ! case 509: ! #line 2276 "c-parse.y" { tree decl; stmt_count++; decl = lookup_label (yyvsp[-1].ttype); *************** case 508: *** 4086,4120 **** yyval.ttype = NULL_TREE; ; break;} ! case 509: ! #line 2283 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids `goto *expr;'"); stmt_count++; yyvsp[-1].ttype = convert (ptr_type_node, yyvsp[-1].ttype); yyval.ttype = add_stmt (build_stmt (GOTO_STMT, yyvsp[-1].ttype)); ; break;} ! case 510: ! #line 2289 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 511: ! #line 2297 "c-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ; break;} ! case 512: ! #line 2300 "c-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 513: ! #line 2303 "c-parse.y" { stmt_count++; yyval.ttype = do_case (NULL_TREE, NULL_TREE); ; break;} ! case 514: ! #line 2306 "c-parse.y" { tree label = define_label (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-4].ttype); stmt_count++; if (label) --- 4093,4127 ---- yyval.ttype = NULL_TREE; ; break;} ! case 510: ! #line 2288 "c-parse.y" { if (pedantic) pedwarn ("ISO C forbids `goto *expr;'"); stmt_count++; yyvsp[-1].ttype = convert (ptr_type_node, yyvsp[-1].ttype); yyval.ttype = add_stmt (build_stmt (GOTO_STMT, yyvsp[-1].ttype)); ; break;} ! case 511: ! #line 2294 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 512: ! #line 2302 "c-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ; break;} ! case 513: ! #line 2305 "c-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} ! case 514: ! #line 2308 "c-parse.y" { stmt_count++; yyval.ttype = do_case (NULL_TREE, NULL_TREE); ; break;} ! case 515: ! #line 2311 "c-parse.y" { tree label = define_label (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-4].ttype); stmt_count++; if (label) *************** case 514: *** 4126,4182 **** yyval.ttype = NULL_TREE; ; break;} ! case 515: ! #line 2322 "c-parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} - case 516: - #line 2325 "c-parse.y" - { emit_line_note (input_filename, lineno); ; - break;} case 517: #line 2330 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} ! case 519: ! #line 2337 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 522: ! #line 2344 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 523: #line 2349 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 524: ! #line 2351 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 525: #line 2356 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; break;} case 526: ! #line 2358 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; break;} case 527: ! #line 2368 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (0); ; break;} ! case 528: ! #line 2372 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} ! case 530: ! #line 2380 "c-parse.y" { tree parm; if (pedantic) pedwarn ("ISO C forbids forward parameter declarations"); --- 4133,4189 ---- yyval.ttype = NULL_TREE; ; break;} ! case 516: ! #line 2327 "c-parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} case 517: #line 2330 "c-parse.y" ! { emit_line_note (input_filename, lineno); ; break;} ! case 518: ! #line 2335 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} ! case 520: ! #line 2342 "c-parse.y" ! { yyval.ttype = NULL_TREE; ; break;} case 523: #line 2349 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 524: ! #line 2354 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 525: #line 2356 "c-parse.y" ! { yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 526: ! #line 2361 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; break;} case 527: ! #line 2363 "c-parse.y" ! { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; ! break;} ! case 528: ! #line 2373 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (0); ; break;} ! case 529: ! #line 2377 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} ! case 531: ! #line 2385 "c-parse.y" { tree parm; if (pedantic) pedwarn ("ISO C forbids forward parameter declarations"); *************** case 530: *** 4185,4209 **** TREE_ASM_WRITTEN (parm) = 1; clear_parm_order (); ; break;} ! case 531: ! #line 2388 "c-parse.y" { /* Dummy action so attributes are in known place on parser stack. */ ; break;} ! case 532: ! #line 2391 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 533: ! #line 2393 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} ! case 534: ! #line 2399 "c-parse.y" { yyval.ttype = get_parm_info (0); ; break;} ! case 535: ! #line 2401 "c-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. --- 4192,4216 ---- TREE_ASM_WRITTEN (parm) = 1; clear_parm_order (); ; break;} ! case 532: ! #line 2393 "c-parse.y" { /* Dummy action so attributes are in known place on parser stack. */ ; break;} ! case 533: ! #line 2396 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} ! case 534: ! #line 2398 "c-parse.y" { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} ! case 535: ! #line 2404 "c-parse.y" { yyval.ttype = get_parm_info (0); ; break;} ! case 536: ! #line 2406 "c-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. *************** case 535: *** 4214,4316 **** error ("ISO C requires a named argument before `...'"); ; break;} - case 536: - #line 2411 "c-parse.y" - { yyval.ttype = get_parm_info (1); ; - break;} case 537: ! #line 2413 "c-parse.y" ! { yyval.ttype = get_parm_info (0); ; break;} case 538: #line 2418 "c-parse.y" ! { push_parm_decl (yyvsp[0].ttype); ; break;} case 539: ! #line 2420 "c-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 540: ! #line 2427 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 541: ! #line 2432 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 542: ! #line 2437 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 543: ! #line 2440 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 544: ! #line 2446 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 545: ! #line 2454 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 546: ! #line 2459 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 547: ! #line 2464 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 548: ! #line 2467 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 549: ! #line 2473 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 550: ! #line 2479 "c-parse.y" { prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype); all_prefix_attributes = prefix_attributes; ; break;} ! case 551: ! #line 2488 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (1); ; break;} ! case 552: ! #line 2492 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} ! case 554: ! #line 2500 "c-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) --- 4221,4323 ---- error ("ISO C requires a named argument before `...'"); ; break;} case 537: ! #line 2416 "c-parse.y" ! { yyval.ttype = get_parm_info (1); ; break;} case 538: #line 2418 "c-parse.y" ! { yyval.ttype = get_parm_info (0); ; break;} case 539: ! #line 2423 "c-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 540: ! #line 2425 "c-parse.y" ! { push_parm_decl (yyvsp[0].ttype); ; ! break;} ! case 541: ! #line 2432 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 542: ! #line 2437 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 543: ! #line 2442 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 544: ! #line 2445 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 545: ! #line 2451 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 546: ! #line 2459 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 547: ! #line 2464 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 548: ! #line 2469 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 549: ! #line 2472 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} ! case 550: ! #line 2478 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} ! case 551: ! #line 2484 "c-parse.y" { prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype); all_prefix_attributes = prefix_attributes; ; break;} ! case 552: ! #line 2493 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (1); ; break;} ! case 553: ! #line 2497 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} ! case 555: ! #line 2505 "c-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) *************** case 554: *** 4325,4348 **** YYERROR1; ; break;} - case 555: - #line 2518 "c-parse.y" - { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} case 556: ! #line 2520 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 557: ! #line 2526 "c-parse.y" ! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 558: ! #line 2528 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 559: #line 2533 "c-parse.y" { yyval.ttype = SAVE_WARN_FLAGS(); pedantic = 0; warn_pointer_arith = 0; --- 4332,4355 ---- YYERROR1; ; break;} case 556: ! #line 2523 "c-parse.y" ! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 557: ! #line 2525 "c-parse.y" ! { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 558: ! #line 2531 "c-parse.y" ! { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 559: #line 2533 "c-parse.y" + { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; + break;} + case 560: + #line 2538 "c-parse.y" { yyval.ttype = SAVE_WARN_FLAGS(); pedantic = 0; warn_pointer_arith = 0; *************** yyerrhandle: *** 4570,4576 **** } return 1; } ! #line 2539 "c-parse.y" /* yylex() is a thin wrapper around c_lex(), all it does is translate --- 4577,4583 ---- } return 1; } ! #line 2544 "c-parse.y" /* yylex() is a thin wrapper around c_lex(), all it does is translate diff -Nrc3pad gcc-3.2/gcc/c-parse.in gcc-3.2.1/gcc/c-parse.in *** gcc-3.2/gcc/c-parse.in Tue Apr 16 22:05:54 2002 --- gcc-3.2.1/gcc/c-parse.in Mon Oct 21 18:37:41 2002 *************** alignof: *** 534,539 **** --- 534,543 ---- ALIGNOF { skip_evaluation++; } ; + typeof: + TYPEOF { skip_evaluation++; } + ; + cast_expr: unary_expr | '(' typename ')' cast_expr %prec UNARY *************** ifobjc *** 1376,1385 **** | non_empty_protocolrefs { $$ = get_object_reference ($1); } end ifobjc ! | TYPEOF '(' expr ')' ! { $$ = TREE_TYPE ($3); } ! | TYPEOF '(' typename ')' ! { $$ = groktypename ($3); } ; /* typespec_nonreserved_attr does not exist. */ --- 1380,1389 ---- | non_empty_protocolrefs { $$ = get_object_reference ($1); } end ifobjc ! | typeof '(' expr ')' ! { skip_evaluation--; $$ = TREE_TYPE ($3); } ! | typeof '(' typename ')' ! { skip_evaluation--; $$ = groktypename ($3); } ; /* typespec_nonreserved_attr does not exist. */ *************** initelt: *** 1523,1528 **** --- 1527,1533 ---- if (pedantic) pedwarn ("obsolete use of designated initializer with `:'"); } initval + {} | initval ; *************** classdecl: *** 2696,2707 **** --- 2701,2714 ---- { objc_declare_class ($2); } + ; aliasdecl: ALIAS identifier identifier ';' { objc_declare_alias ($2, $3); } + ; classdef: INTERFACE identifier protocolrefs '{' diff -Nrc3pad gcc-3.2/gcc/c-parse.y gcc-3.2.1/gcc/c-parse.y *** gcc-3.2/gcc/c-parse.y Wed Aug 14 09:32:35 2002 --- gcc-3.2.1/gcc/c-parse.y Tue Nov 19 18:13:17 2002 *************** alignof: *** 488,493 **** --- 488,497 ---- ALIGNOF { skip_evaluation++; } ; + typeof: + TYPEOF { skip_evaluation++; } + ; + cast_expr: unary_expr | '(' typename ')' cast_expr %prec UNARY *************** typespec_nonreserved_nonattr: *** 1283,1292 **** { /* For a typedef name, record the meaning, not the name. In case of `foo foo, bar;'. */ $$ = lookup_name ($1); } ! | TYPEOF '(' expr ')' ! { $$ = TREE_TYPE ($3); } ! | TYPEOF '(' typename ')' ! { $$ = groktypename ($3); } ; /* typespec_nonreserved_attr does not exist. */ --- 1287,1296 ---- { /* For a typedef name, record the meaning, not the name. In case of `foo foo, bar;'. */ $$ = lookup_name ($1); } ! | typeof '(' expr ')' ! { skip_evaluation--; $$ = TREE_TYPE ($3); } ! | typeof '(' typename ')' ! { skip_evaluation--; $$ = groktypename ($3); } ; /* typespec_nonreserved_attr does not exist. */ *************** initelt: *** 1430,1435 **** --- 1434,1440 ---- if (pedantic) pedwarn ("obsolete use of designated initializer with `:'"); } initval + {} | initval ; diff -Nrc3pad gcc-3.2/gcc/c-tree.h gcc-3.2.1/gcc/c-tree.h *** gcc-3.2/gcc/c-tree.h Thu Mar 28 18:49:58 2002 --- gcc-3.2.1/gcc/c-tree.h Sun Sep 1 20:11:07 2002 *************** extern int current_function_returns_null *** 287,297 **** extern int current_function_returns_abnormally; - /* Nonzero means the expression being parsed will never be evaluated. - This is a count, since unevaluated expressions can nest. */ - - extern int skip_evaluation; - /* Nonzero means `$' can be in an identifier. */ extern int dollars_in_ident; --- 287,292 ---- diff -Nrc3pad gcc-3.2/gcc/c-typeck.c gcc-3.2.1/gcc/c-typeck.c *** gcc-3.2/gcc/c-typeck.c Fri Mar 22 01:53:39 2002 --- gcc-3.2.1/gcc/c-typeck.c Sun Sep 1 20:11:07 2002 *************** build_external_ref (id, fun) *** 1493,1499 **** if (TREE_TYPE (ref) == error_mark_node) return error_mark_node; ! assemble_external (ref); TREE_USED (ref) = 1; if (TREE_CODE (ref) == CONST_DECL) --- 1493,1500 ---- if (TREE_TYPE (ref) == error_mark_node) return error_mark_node; ! if (!skip_evaluation) ! assemble_external (ref); TREE_USED (ref) = 1; if (TREE_CODE (ref) == CONST_DECL) diff -Nrc3pad gcc-3.2/gcc/calls.c gcc-3.2.1/gcc/calls.c *** gcc-3.2/gcc/calls.c Thu Apr 4 23:28:47 2002 --- gcc-3.2.1/gcc/calls.c Fri Nov 8 22:12:37 2002 *************** Software Foundation, 59 Temple Place - S *** 46,54 **** --- 46,56 ---- #ifdef PUSH_ROUNDING + #ifndef PUSH_ARGS_REVERSED #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD) #define PUSH_ARGS_REVERSED PUSH_ARGS #endif + #endif #endif *************** expand_call (exp, target, ignore) *** 2708,2713 **** --- 2710,2721 ---- if (pass == 0) { argblock = virtual_incoming_args_rtx; + argblock + #ifdef STACK_GROWS_DOWNWARD + = plus_constant (argblock, current_function_pretend_args_size); + #else + = plus_constant (argblock, -current_function_pretend_args_size); + #endif stored_args_map = sbitmap_alloc (args_size.constant); sbitmap_zero (stored_args_map); } *************** emit_library_call_value_1 (retval, orgfu *** 3666,3671 **** --- 3674,3687 ---- #endif ; + /* If this was a CONST function, it is now PURE since + it now reads memory. */ + if (flags & ECF_CONST) + { + flags &= ~ECF_CONST; + flags |= ECF_PURE; + } + if (GET_MODE (val) == MEM && ! must_copy) slot = val; else if (must_copy) *************** store_one_arg (arg, argblock, flags, var *** 4268,4274 **** struct arg_data *arg; rtx argblock; int flags; ! int variable_size ATTRIBUTE_UNUSED; int reg_parm_stack_space; { tree pval = arg->tree_value; --- 4284,4290 ---- struct arg_data *arg; rtx argblock; int flags; ! int variable_size; int reg_parm_stack_space; { tree pval = arg->tree_value; *************** store_one_arg (arg, argblock, flags, var *** 4343,4356 **** emit_move_insn (arg->save_area, stack_area); } } } - /* Now that we have saved any slots that will be overwritten by this - store, mark all slots this store will use. We must do this before - we actually expand the argument since the expansion itself may - trigger library calls which might need to use the same stack slot. */ - if (argblock && ! variable_size && arg->stack) - for (i = lower_bound; i < upper_bound; i++) - stack_usage_map[i] = 1; } /* If this isn't going to be placed on both the stack and in registers, --- 4359,4380 ---- emit_move_insn (arg->save_area, stack_area); } } + + /* Now that we have saved any slots that will be overwritten + by this store, mark all slots this store will use. We + must do this before we actually expand the argument since + the expansion itself may trigger library calls which might + need to use the same stack slot. We only do it if we can't + pass all arguments to a library call in registers. */ + if (arg->partial) + { + for (i = lower_bound; i < upper_bound; i++) + stack_usage_map[i] = 1; + + /* Set it so that we don't do it again. */ + variable_size = 1; + } } } /* If this isn't going to be placed on both the stack and in registers, *************** store_one_arg (arg, argblock, flags, var *** 4491,4497 **** emit_push_insn for BLKmode is careful to avoid it. */ excess = (arg->size.constant - int_size_in_bytes (TREE_TYPE (pval)) + partial * UNITS_PER_WORD); ! size_rtx = expr_size (pval); } if ((flags & ECF_SIBCALL) && GET_CODE (arg->value) == MEM) --- 4515,4522 ---- emit_push_insn for BLKmode is careful to avoid it. */ excess = (arg->size.constant - int_size_in_bytes (TREE_TYPE (pval)) + partial * UNITS_PER_WORD); ! size_rtx = expand_expr (size_in_bytes (TREE_TYPE (pval)), ! NULL_RTX, TYPE_MODE (sizetype), 0); } if ((flags & ECF_SIBCALL) && GET_CODE (arg->value) == MEM) *************** store_one_arg (arg, argblock, flags, var *** 4577,4582 **** --- 4602,4612 ---- arg->value = arg->stack_slot; } + if (ACCUMULATE_OUTGOING_ARGS && !(flags & ECF_SIBCALL) + && argblock && ! variable_size && arg->stack) + for (i = lower_bound; i < upper_bound; i++) + stack_usage_map[i] = 1; + /* Once we have pushed something, pops can't safely be deferred during the rest of the arguments. */ NO_DEFER_POP; diff -Nrc3pad gcc-3.2/gcc/cfganal.c gcc-3.2.1/gcc/cfganal.c *** gcc-3.2/gcc/cfganal.c Fri Feb 8 00:35:15 2002 --- gcc-3.2.1/gcc/cfganal.c Thu Nov 7 00:22:48 2002 *************** static void flow_dfs_compute_reverse_fin *** 56,62 **** --- 56,86 ---- static void remove_fake_successors PARAMS ((basic_block)); static bool need_fake_edge_p PARAMS ((rtx)); static bool keep_with_call_p PARAMS ((rtx)); + static bool flow_active_insn_p PARAMS ((rtx)); + /* Like active_insn_p, except keep the return value clobber around + even after reload. */ + + static bool + flow_active_insn_p (insn) + rtx insn; + { + if (active_insn_p (insn)) + return true; + + /* A clobber of the function return value exists for buggy + programs that fail to return a value. It's effect is to + keep the return value from being live across the entire + function. If we allow it to be skipped, we introduce the + possibility for register livetime aborts. */ + if (GET_CODE (PATTERN (insn)) == CLOBBER + && GET_CODE (XEXP (PATTERN (insn), 0)) == REG + && REG_FUNCTION_VALUE_P (XEXP (PATTERN (insn), 0))) + return true; + + return false; + } + /* Return true if the block has no effect and only forwards control flow to its single destination. */ *************** forwarder_block_p (bb) *** 71,82 **** return false; for (insn = bb->head; insn != bb->end; insn = NEXT_INSN (insn)) ! if (INSN_P (insn) && active_insn_p (insn)) return false; return (!INSN_P (insn) || (GET_CODE (insn) == JUMP_INSN && simplejump_p (insn)) ! || !active_insn_p (insn)); } /* Return nonzero if we can reach target from src by falling through. */ --- 95,106 ---- return false; for (insn = bb->head; insn != bb->end; insn = NEXT_INSN (insn)) ! if (INSN_P (insn) && flow_active_insn_p (insn)) return false; return (!INSN_P (insn) || (GET_CODE (insn) == JUMP_INSN && simplejump_p (insn)) ! || !flow_active_insn_p (insn)); } /* Return nonzero if we can reach target from src by falling through. */ diff -Nrc3pad gcc-3.2/gcc/cfgcleanup.c gcc-3.2.1/gcc/cfgcleanup.c *** gcc-3.2/gcc/cfgcleanup.c Mon Jun 10 21:39:45 2002 --- gcc-3.2.1/gcc/cfgcleanup.c Sat Nov 16 01:55:47 2002 *************** try_optimize_cfg (mode) *** 1638,1644 **** /* If the jump insn has side effects, we can't kill the edge. */ && (GET_CODE (b->end) != JUMP_INSN ! || onlyjump_p (b->end)) && merge_blocks (s, b, c, mode)) changed_here = true; --- 1638,1645 ---- /* If the jump insn has side effects, we can't kill the edge. */ && (GET_CODE (b->end) != JUMP_INSN ! || (onlyjump_p (b->end) ! && !tablejump_p (b->end))) && merge_blocks (s, b, c, mode)) changed_here = true; diff -Nrc3pad gcc-3.2/gcc/cfgrtl.c gcc-3.2.1/gcc/cfgrtl.c *** gcc-3.2/gcc/cfgrtl.c Mon Jul 15 16:19:38 2002 --- gcc-3.2.1/gcc/cfgrtl.c Mon Nov 11 03:35:59 2002 *************** try_redirect_by_replacing_jump (e, targe *** 665,670 **** --- 665,671 ---- edge tmp; rtx set; int fallthru = 0; + rtx table; /* Verify that all targets will be TARGET. */ for (tmp = src->succ; tmp; tmp = tmp->succ_next) *************** try_redirect_by_replacing_jump (e, targe *** 674,679 **** --- 675,687 ---- if (tmp || !onlyjump_p (insn)) return false; + if (reload_completed && JUMP_LABEL (insn) + && (table = NEXT_INSN (JUMP_LABEL (insn))) != NULL_RTX + && GET_CODE (table) == JUMP_INSN + && (GET_CODE (PATTERN (table)) == ADDR_VEC + || GET_CODE (PATTERN (table)) == ADDR_DIFF_VEC)) + return false; + /* Avoid removing branch with side effects. */ set = single_set (insn); if (!set || side_effects_p (set)) diff -Nrc3pad gcc-3.2/gcc/collect2.c gcc-3.2.1/gcc/collect2.c *** gcc-3.2/gcc/collect2.c Tue Feb 5 16:33:31 2002 --- gcc-3.2.1/gcc/collect2.c Fri Aug 16 18:03:06 2002 *************** is_ctor_dtor (s) *** 577,582 **** --- 577,591 ---- const char *orig_s = s; static const struct names special[] = { + #ifndef NO_DOLLAR_IN_LABEL + { "GLOBAL__I$", sizeof ("GLOBAL__I$")-1, 1, 0 }, + { "GLOBAL__D$", sizeof ("GLOBAL__D$")-1, 2, 0 }, + #else + #ifndef NO_DOT_IN_LABEL + { "GLOBAL__I.", sizeof ("GLOBAL__I.")-1, 1, 0 }, + { "GLOBAL__D.", sizeof ("GLOBAL__D.")-1, 2, 0 }, + #endif /* NO_DOT_IN_LABEL */ + #endif /* NO_DOLLAR_IN_LABEL */ { "GLOBAL__I_", sizeof ("GLOBAL__I_")-1, 1, 0 }, { "GLOBAL__D_", sizeof ("GLOBAL__D_")-1, 2, 0 }, { "GLOBAL__F_", sizeof ("GLOBAL__F_")-1, 5, 0 }, diff -Nrc3pad gcc-3.2/gcc/config/alpha/alpha.md gcc-3.2.1/gcc/config/alpha/alpha.md *** gcc-3.2/gcc/config/alpha/alpha.md Wed Apr 10 05:14:55 2002 --- gcc-3.2.1/gcc/config/alpha/alpha.md Sun Sep 8 05:30:19 2002 *************** fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi *** 2374,2380 **** (define_expand "abstf2" [(parallel [(set (match_operand:TF 0 "register_operand" "") ! (neg:TF (match_operand:TF 1 "reg_or_fp0_operand" ""))) (use (match_dup 2))])] "TARGET_HAS_XFLOATING_LIBS" { --- 2374,2380 ---- (define_expand "abstf2" [(parallel [(set (match_operand:TF 0 "register_operand" "") ! (abs:TF (match_operand:TF 1 "reg_or_fp0_operand" ""))) (use (match_dup 2))])] "TARGET_HAS_XFLOATING_LIBS" { diff -Nrc3pad gcc-3.2/gcc/config/arm/arm.c gcc-3.2.1/gcc/config/arm/arm.c *** gcc-3.2/gcc/config/arm/arm.c Sun Jul 21 12:09:02 2002 --- gcc-3.2.1/gcc/config/arm/arm.c Fri Nov 1 14:40:23 2002 *************** use_return_insn (iscond) *** 890,895 **** --- 890,896 ---- { int regno; unsigned int func_type; + unsigned long saved_int_regs; /* Never use a return instruction before reload has run. */ if (!reload_completed) *************** use_return_insn (iscond) *** 912,934 **** && !frame_pointer_needed)) return 0; /* Can't be done if interworking with Thumb, and any registers have been ! stacked. Similarly, on StrongARM, conditional returns are expensive ! if they aren't taken and registers have been stacked. */ ! if (iscond && arm_is_strong && frame_pointer_needed) return 0; ! ! if ((iscond && arm_is_strong) ! || TARGET_INTERWORK) { ! for (regno = 0; regno <= LAST_ARM_REGNUM; regno++) ! if (regs_ever_live[regno] && !call_used_regs[regno]) ! return 0; if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]) return 0; } ! /* Can't be done if any of the FPU regs are pushed, since this also requires an insn. */ if (TARGET_HARD_FLOAT) --- 913,943 ---- && !frame_pointer_needed)) return 0; + saved_int_regs = arm_compute_save_reg_mask (); + /* Can't be done if interworking with Thumb, and any registers have been ! stacked. */ ! if (TARGET_INTERWORK && saved_int_regs != 0) return 0; ! ! /* On StrongARM, conditional returns are expensive if they aren't ! taken and multiple registers have been stacked. */ ! if (iscond && arm_is_strong) { ! /* Conditional return when just the LR is stored is a simple ! conditional-load instruction, that's not expensive. */ ! if (saved_int_regs != 0 && saved_int_regs != (1 << LR_REGNUM)) ! return 0; if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]) return 0; } ! ! /* If there are saved registers but the LR isn't saved, then we need ! two instructions for the return. */ ! if (saved_int_regs && !(saved_int_regs & (1 << LR_REGNUM))) ! return 0; ! /* Can't be done if any of the FPU regs are pushed, since this also requires an insn. */ if (TARGET_HARD_FLOAT) diff -Nrc3pad gcc-3.2/gcc/config/arm/arm.h gcc-3.2.1/gcc/config/arm/arm.h *** gcc-3.2/gcc/config/arm/arm.h Wed Mar 13 05:35:51 2002 --- gcc-3.2.1/gcc/config/arm/arm.h Mon Sep 30 11:54:00 2002 *************** enum reg_class *** 1093,1106 **** /* The class value for index registers, and the one for base regs. */ #define INDEX_REG_CLASS (TARGET_THUMB ? LO_REGS : GENERAL_REGS) ! #define BASE_REG_CLASS (TARGET_THUMB ? BASE_REGS : GENERAL_REGS) ! /* For the Thumb the high registers cannot be used as base ! registers when addressing quanitities in QI or HI mode. */ #define MODE_BASE_REG_CLASS(MODE) \ ! (TARGET_ARM ? BASE_REGS : \ ! (((MODE) == QImode || (MODE) == HImode || (MODE) == VOIDmode) \ ! ? LO_REGS : BASE_REGS)) /* When SMALL_REGISTER_CLASSES is nonzero, the compiler allows registers explicitly used in the rtl to be used as spill registers --- 1093,1108 ---- /* The class value for index registers, and the one for base regs. */ #define INDEX_REG_CLASS (TARGET_THUMB ? LO_REGS : GENERAL_REGS) ! #define BASE_REG_CLASS (TARGET_THUMB ? LO_REGS : GENERAL_REGS) ! /* For the Thumb the high registers cannot be used as base registers ! when addressing quanitities in QI or HI mode; if we don't know the ! mode, then we must be conservative. After reload we must also be ! conservative, since we can't support SP+reg addressing, and we ! can't fix up any bad substitutions. */ #define MODE_BASE_REG_CLASS(MODE) \ ! (TARGET_ARM ? GENERAL_REGS : \ ! (((MODE) == SImode && !reload_completed) ? BASE_REGS : LO_REGS)) /* When SMALL_REGISTER_CLASSES is nonzero, the compiler allows registers explicitly used in the rtl to be used as spill registers diff -Nrc3pad gcc-3.2/gcc/config/arm/arm.md gcc-3.2.1/gcc/config/arm/arm.md *** gcc-3.2/gcc/config/arm/arm.md Sun Jul 21 12:09:03 2002 --- gcc-3.2.1/gcc/config/arm/arm.md Fri Sep 20 14:01:24 2002 *************** *** 1837,1843 **** (match_operand:SI 1 "s_register_operand" "r") (match_operand:SI 2 "const_int_operand" "n") (match_operand:SI 3 "const_int_operand" "n")) ! (const_int 0)))] "TARGET_ARM && (INTVAL (operands[3]) >= 0 && INTVAL (operands[3]) < 32 && INTVAL (operands[2]) > 0 --- 1837,1844 ---- (match_operand:SI 1 "s_register_operand" "r") (match_operand:SI 2 "const_int_operand" "n") (match_operand:SI 3 "const_int_operand" "n")) ! (const_int 0))) ! (clobber (reg:CC CC_REGNUM))] "TARGET_ARM && (INTVAL (operands[3]) >= 0 && INTVAL (operands[3]) < 32 && INTVAL (operands[2]) > 0 *************** *** 8947,8953 **** [(set (match_operand:SI 0 "s_register_operand" "=r") (sign_extract:SI (match_operand:SI 1 "s_register_operand" "r") (const_int 1) ! (match_operand:SI 2 "const_int_operand" "n")))] "TARGET_ARM" "* operands[2] = GEN_INT (1 << INTVAL (operands[2])); --- 8948,8955 ---- [(set (match_operand:SI 0 "s_register_operand" "=r") (sign_extract:SI (match_operand:SI 1 "s_register_operand" "r") (const_int 1) ! (match_operand:SI 2 "const_int_operand" "n"))) ! (clobber (reg:CC CC_REGNUM))] "TARGET_ARM" "* operands[2] = GEN_INT (1 << INTVAL (operands[2])); *************** *** 8963,8969 **** (not:SI (sign_extract:SI (match_operand:SI 1 "s_register_operand" "r") (const_int 1) ! (match_operand:SI 2 "const_int_operand" "n"))))] "TARGET_ARM" "* operands[2] = GEN_INT (1 << INTVAL (operands[2])); --- 8965,8972 ---- (not:SI (sign_extract:SI (match_operand:SI 1 "s_register_operand" "r") (const_int 1) ! (match_operand:SI 2 "const_int_operand" "n")))) ! (clobber (reg:CC CC_REGNUM))] "TARGET_ARM" "* operands[2] = GEN_INT (1 << INTVAL (operands[2])); diff -Nrc3pad gcc-3.2/gcc/config/avr/avr.md gcc-3.2.1/gcc/config/avr/avr.md *** gcc-3.2/gcc/config/avr/avr.md Thu Mar 21 22:14:07 2002 --- gcc-3.2.1/gcc/config/avr/avr.md Sun Sep 1 18:46:20 2002 *************** *** 1,7 **** ;; -*- Mode: Scheme -*- ;; Machine description for GNU compiler, ;; for ATMEL AVR micro controllers. ! ;; Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. ;; Contributed by Denis Chertykov (denisc@overta.ru) ;; This file is part of GNU CC. --- 1,7 ---- ;; -*- Mode: Scheme -*- ;; Machine description for GNU compiler, ;; for ATMEL AVR micro controllers. ! ;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ;; Contributed by Denis Chertykov (denisc@overta.ru) ;; This file is part of GNU CC. *************** *** 2250,2255 **** --- 2250,2256 ---- && test_hard_reg_class (LD_REGS, operands[1]))" "* { + CC_STATUS_INIT; if (test_hard_reg_class (ADDW_REGS, operands[0])) output_asm_insn (AS2 (sbiw,%0,1) CR_TAB AS2 (sbc,%C0,__zero_reg__) CR_TAB *************** *** 2288,2293 **** --- 2289,2295 ---- && test_hard_reg_class (LD_REGS, operands[1]))" "* { + CC_STATUS_INIT; if (test_hard_reg_class (ADDW_REGS, operands[0])) output_asm_insn (AS2 (sbiw,%0,1), operands); else *************** *** 2319,2324 **** --- 2321,2329 ---- "test_hard_reg_class (LD_REGS, operands[0])" "* { + CC_STATUS_INIT; + cc_status.value1 = operands[0]; + cc_status.flags |= CC_OVERFLOW_UNUSABLE; output_asm_insn (AS2 (subi,%A0,1), operands); switch (avr_jump_mode (operands[1],insn)) { diff -Nrc3pad gcc-3.2/gcc/config/i386/i386.c gcc-3.2.1/gcc/config/i386/i386.c *** gcc-3.2/gcc/config/i386/i386.c Wed Aug 7 18:10:57 2002 --- gcc-3.2.1/gcc/config/i386/i386.c Thu Oct 31 18:39:32 2002 *************** struct processor_costs athlon_cost = { *** 284,308 **** 8, /* "large" insn */ 9, /* MOVE_RATIO */ 4, /* cost for loading QImode using movzbl */ ! {4, 5, 4}, /* cost of loading integer registers in QImode, HImode and SImode. Relative to reg-reg move (2). */ ! {2, 3, 2}, /* cost of storing integer registers */ 4, /* cost of reg,reg fld/fst */ ! {6, 6, 20}, /* cost of loading fp registers in SFmode, DFmode and XFmode */ ! {4, 4, 16}, /* cost of loading integer registers */ 2, /* cost of moving MMX register */ ! {2, 2}, /* cost of loading MMX registers in SImode and DImode */ ! {2, 2}, /* cost of storing MMX registers in SImode and DImode */ 2, /* cost of moving SSE register */ ! {2, 2, 8}, /* cost of loading SSE registers in SImode, DImode and TImode */ ! {2, 2, 8}, /* cost of storing SSE registers in SImode, DImode and TImode */ ! 6, /* MMX or SSE register to integer */ 64, /* size of prefetch block */ 6, /* number of parallel prefetches */ }; --- 284,308 ---- 8, /* "large" insn */ 9, /* MOVE_RATIO */ 4, /* cost for loading QImode using movzbl */ ! {3, 4, 3}, /* cost of loading integer registers in QImode, HImode and SImode. Relative to reg-reg move (2). */ ! {3, 4, 3}, /* cost of storing integer registers */ 4, /* cost of reg,reg fld/fst */ ! {4, 4, 12}, /* cost of loading fp registers in SFmode, DFmode and XFmode */ ! {6, 6, 8}, /* cost of loading integer registers */ 2, /* cost of moving MMX register */ ! {4, 4}, /* cost of loading MMX registers in SImode and DImode */ ! {4, 4}, /* cost of storing MMX registers in SImode and DImode */ 2, /* cost of moving SSE register */ ! {4, 4, 6}, /* cost of loading SSE registers in SImode, DImode and TImode */ ! {4, 4, 5}, /* cost of storing SSE registers in SImode, DImode and TImode */ ! 5, /* MMX or SSE register to integer */ 64, /* size of prefetch block */ 6, /* number of parallel prefetches */ }; *************** override_options () *** 906,911 **** --- 906,932 ---- int const pta_size = sizeof (processor_alias_table) / sizeof (struct pta); + /* Set the default values for switches whose default depends on TARGET_64BIT + in case they weren't overwriten by command line options. */ + if (TARGET_64BIT) + { + if (flag_omit_frame_pointer == 2) + flag_omit_frame_pointer = 1; + if (flag_asynchronous_unwind_tables == 2) + flag_asynchronous_unwind_tables = 1; + if (flag_pcc_struct_return == 2) + flag_pcc_struct_return = 0; + } + else + { + if (flag_omit_frame_pointer == 2) + flag_omit_frame_pointer = 0; + if (flag_asynchronous_unwind_tables == 2) + flag_asynchronous_unwind_tables = 0; + if (flag_pcc_struct_return == 2) + flag_pcc_struct_return = 1; + } + #ifdef SUBTARGET_OVERRIDE_OPTIONS SUBTARGET_OVERRIDE_OPTIONS; #endif *************** optimization_options (level, size) *** 1213,1225 **** if (level > 1) flag_schedule_insns = 0; #endif ! if (TARGET_64BIT && optimize >= 1) ! flag_omit_frame_pointer = 1; ! if (TARGET_64BIT) ! { ! flag_pcc_struct_return = 0; ! flag_asynchronous_unwind_tables = 1; ! } } /* Table of valid machine attributes. */ --- 1234,1247 ---- if (level > 1) flag_schedule_insns = 0; #endif ! /* The default values of these switches depend on the TARGET_64BIT ! that is not known at this moment. Mark these values with 2 and ! let user the to override these. In case there is no command line option ! specifying them, we will set the defaults in override_options. */ ! if (optimize >= 1) ! flag_omit_frame_pointer = 2; ! flag_pcc_struct_return = 2; ! flag_asynchronous_unwind_tables = 2; } /* Table of valid machine attributes. */ *************** classify_argument (mode, type, classes, *** 1649,1655 **** { int bytes = (mode == BLKmode) ? int_size_in_bytes (type) : (int) GET_MODE_SIZE (mode); ! int words = (bytes + UNITS_PER_WORD - 1) / UNITS_PER_WORD; if (type && AGGREGATE_TYPE_P (type)) { --- 1671,1681 ---- { int bytes = (mode == BLKmode) ? int_size_in_bytes (type) : (int) GET_MODE_SIZE (mode); ! int words = (bytes + (bit_offset % 64) / 8 + UNITS_PER_WORD - 1) / UNITS_PER_WORD; ! ! /* Variable sized structures are always passed on the stack. */ ! if (mode == BLKmode && type && TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST) ! return 0; if (type && AGGREGATE_TYPE_P (type)) { *************** q_regs_operand (op, mode) *** 3206,3212 **** return 0; if (GET_CODE (op) == SUBREG) op = SUBREG_REG (op); ! return QI_REG_P (op); } /* Return true if op is a NON_Q_REGS class register. */ --- 3232,3238 ---- return 0; if (GET_CODE (op) == SUBREG) op = SUBREG_REG (op); ! return ANY_QI_REG_P (op); } /* Return true if op is a NON_Q_REGS class register. */ *************** print_operand_address (file, addr) *** 6123,6129 **** int scale; if (! ix86_decompose_address (addr, &parts)) ! abort (); base = parts.base; index = parts.index; --- 6149,6158 ---- int scale; if (! ix86_decompose_address (addr, &parts)) ! { ! output_operand_lossage ("Wrong address expression or operand constraint"); ! return; ! } base = parts.base; index = parts.index; *************** ix86_expand_vector_move (mode, operands) *** 6855,6862 **** /* Make operand1 a register if it isn't already. */ if ((reload_in_progress | reload_completed) == 0 && !register_operand (operands[0], mode) ! && !register_operand (operands[1], mode) ! && operands[1] != CONST0_RTX (mode)) { rtx temp = force_reg (GET_MODE (operands[1]), operands[1]); emit_move_insn (operands[0], temp); --- 6884,6890 ---- /* Make operand1 a register if it isn't already. */ if ((reload_in_progress | reload_completed) == 0 && !register_operand (operands[0], mode) ! && !register_operand (operands[1], mode)) { rtx temp = force_reg (GET_MODE (operands[1]), operands[1]); emit_move_insn (operands[0], temp); *************** ix86_expand_int_movcc (operands) *** 8237,8243 **** clob = gen_rtx_CLOBBER (VOIDmode, clob); tmp = gen_rtx_SET (VOIDmode, out, tmp); ! tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, tmp, clob)); emit_insn (tmp); } else --- 8265,8271 ---- clob = gen_rtx_CLOBBER (VOIDmode, clob); tmp = gen_rtx_SET (VOIDmode, out, tmp); ! tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, copy_rtx (tmp), clob)); emit_insn (tmp); } else *************** static const struct builtin_description *** 10954,10967 **** { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpeqss", IX86_BUILTIN_CMPEQSS, EQ, 0 }, { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpltss", IX86_BUILTIN_CMPLTSS, LT, 0 }, { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpless", IX86_BUILTIN_CMPLESS, LE, 0 }, - { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpgtss", IX86_BUILTIN_CMPGTSS, LT, 1 }, - { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpgess", IX86_BUILTIN_CMPGESS, LE, 1 }, { MASK_SSE, CODE_FOR_vmmaskcmpv4sf3, "__builtin_ia32_cmpunordss", IX86_BUILTIN_CMPUNORDSS, UNORDERED, 0 }, { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpneqss", IX86_BUILTIN_CMPNEQSS, EQ, 0 }, { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpnltss", IX86_BUILTIN_CMPNLTSS, LT, 0 }, { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpnless", IX86_BUILTIN_CMPNLESS, LE, 0 }, - { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpngtss", IX86_BUILTIN_CMPNGTSS, LT, 1 }, - { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpngess", IX86_BUILTIN_CMPNGESS, LE, 1 }, { MASK_SSE, CODE_FOR_vmmaskncmpv4sf3, "__builtin_ia32_cmpordss", IX86_BUILTIN_CMPORDSS, UNORDERED, 0 }, { MASK_SSE, CODE_FOR_sminv4sf3, "__builtin_ia32_minps", IX86_BUILTIN_MINPS, 0, 0 }, --- 10982,10991 ---- *************** ix86_register_move_cost (mode, class1, c *** 12355,12371 **** enum reg_class class1, class2; { /* In case we require secondary memory, compute cost of the store followed ! by load. In case of copying from general_purpose_register we may emit ! multiple stores followed by single load causing memory size mismatch ! stall. Count this as arbitarily high cost of 20. */ if (ix86_secondary_memory_needed (class1, class2, mode, 0)) { ! int add_cost = 0; if (CLASS_MAX_NREGS (class1, mode) > CLASS_MAX_NREGS (class2, mode)) ! add_cost = 20; ! return (MEMORY_MOVE_COST (mode, class1, 0) ! + MEMORY_MOVE_COST (mode, class2, 1) + add_cost); } /* Moves between SSE/MMX and integer unit are expensive. */ if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2) || SSE_CLASS_P (class1) != SSE_CLASS_P (class2)) --- 12379,12411 ---- enum reg_class class1, class2; { /* In case we require secondary memory, compute cost of the store followed ! by load. In order to avoid bad register allocation choices, we need ! for this to be *at least* as high as the symmetric MEMORY_MOVE_COST. */ ! if (ix86_secondary_memory_needed (class1, class2, mode, 0)) { ! int cost = 1; ! ! cost += MAX (MEMORY_MOVE_COST (mode, class1, 0), ! MEMORY_MOVE_COST (mode, class1, 1)); ! cost += MAX (MEMORY_MOVE_COST (mode, class2, 0), ! MEMORY_MOVE_COST (mode, class2, 1)); ! ! /* In case of copying from general_purpose_register we may emit multiple ! stores followed by single load causing memory size mismatch stall. ! Count this as arbitarily high cost of 20. */ if (CLASS_MAX_NREGS (class1, mode) > CLASS_MAX_NREGS (class2, mode)) ! cost += 20; ! ! /* In the case of FP/MMX moves, the registers actually overlap, and we ! have to switch modes in order to treat them differently. */ ! if ((MMX_CLASS_P (class1) && MAYBE_FLOAT_CLASS_P (class2)) ! || (MMX_CLASS_P (class2) && MAYBE_FLOAT_CLASS_P (class1))) ! cost += 20; ! ! return cost; } + /* Moves between SSE/MMX and integer unit are expensive. */ if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2) || SSE_CLASS_P (class1) != SSE_CLASS_P (class2)) diff -Nrc3pad gcc-3.2/gcc/config/i386/i386.h gcc-3.2.1/gcc/config/i386/i386.h *** gcc-3.2/gcc/config/i386/i386.h Mon Jul 15 06:54:36 2002 --- gcc-3.2.1/gcc/config/i386/i386.h Thu Nov 7 17:46:18 2002 *************** extern int ix86_arch; *** 584,592 **** %{march=pentium-mmx:-D__i586 -D__i586__ -D__pentium -D__pentium__ \ -D__pentium__mmx__ \ %{!mcpu*:-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__}}\ ! %{march=pentiumpro|march=i686:-D__i686 -D__i686__ \ -D__pentiumpro -D__pentiumpro__ \ %{!mcpu*:-D__tune_i686__ -D__tune_pentiumpro__ }}\ %{march=k6:-D__k6 -D__k6__ %{!mcpu*:-D__tune_k6__ }}\ %{march=k6-2:-D__k6 -D__k6__ -D__k6_2__ \ %{!mcpu*:-D__tune_k6__ -D__tune_k6_2__ }}\ --- 584,596 ---- %{march=pentium-mmx:-D__i586 -D__i586__ -D__pentium -D__pentium__ \ -D__pentium__mmx__ \ %{!mcpu*:-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__}}\ ! %{march=pentiumpro|march=i686|march=pentium2|march=pentium3:-D__i686 -D__i686__ \ -D__pentiumpro -D__pentiumpro__ \ %{!mcpu*:-D__tune_i686__ -D__tune_pentiumpro__ }}\ + %{march=march=pentium2|march=pentium3: -D__pentium2 -D__pentium2__\ + %{!mcpu*:-D__tune_pentium2__ }}\ + %{march=pentium3: -D__pentium3 -D__pentium3__\ + %{!mcpu*:-D__tune_pentium3__ }}\ %{march=k6:-D__k6 -D__k6__ %{!mcpu*:-D__tune_k6__ }}\ %{march=k6-2:-D__k6 -D__k6__ -D__k6_2__ \ %{!mcpu*:-D__tune_k6__ -D__tune_k6_2__ }}\ *************** extern int ix86_arch; *** 601,607 **** %{m386|mcpu=i386:-D__tune_i386__ }\ %{m486|mcpu=i486:-D__tune_i486__ }\ %{mpentium|mcpu=pentium|mcpu=i586|mcpu=pentium-mmx:-D__tune_i586__ -D__tune_pentium__ }\ ! %{mpentiumpro|mcpu=pentiumpro|mcpu=i686|cpu=pentium2|cpu=pentium3:-D__tune_i686__ \ -D__tune_pentiumpro__ }\ %{mcpu=k6|mcpu=k6-2|mcpu=k6-3:-D__tune_k6__ }\ %{mcpu=athlon|mcpu=athlon-tbird|mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\ --- 605,611 ---- %{m386|mcpu=i386:-D__tune_i386__ }\ %{m486|mcpu=i486:-D__tune_i486__ }\ %{mpentium|mcpu=pentium|mcpu=i586|mcpu=pentium-mmx:-D__tune_i586__ -D__tune_pentium__ }\ ! %{mpentiumpro|mcpu=pentiumpro|mcpu=i686|mcpu=pentium2|mcpu=pentium3:-D__tune_i686__ \ -D__tune_pentiumpro__ }\ %{mcpu=k6|mcpu=k6-2|mcpu=k6-3:-D__tune_k6__ }\ %{mcpu=athlon|mcpu=athlon-tbird|mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\ *************** extern int ix86_arch; *** 609,625 **** %{mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\ -D__tune_athlon_sse__ }\ %{mcpu=pentium4:-D__tune_pentium4__ }\ ! %{march=athlon-xp|march=athlon-mp|march=pentium3|march=pentium4:\ -D__SSE__ }\ %{march=pentium-mmx|march=k6|march=k6-2|march=k6-3\ |march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\ ! |march=athlon-mp|march=pentium2|march=pentium3|march=pentium4: -D__MMX__ }\ %{march=k6-2|march=k6-3\ |march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\ ! |march=athlon-mp: -D__3dNOW__ }\ %{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\ |march=athlon-mp: -D__3dNOW_A__ }\ ! %{march=pentium4: -D__SSE2__ }\ %{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}" #ifndef CPP_CPU_SPEC --- 613,629 ---- %{mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\ -D__tune_athlon_sse__ }\ %{mcpu=pentium4:-D__tune_pentium4__ }\ ! %{march=athlon-xp|march=athlon-mp|march=pentium3|march=pentium4|msse|msse2:\ -D__SSE__ }\ %{march=pentium-mmx|march=k6|march=k6-2|march=k6-3\ |march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\ ! |march=athlon-mp|march=pentium2|march=pentium3|march=pentium4|mmx|msse|m3dnow: -D__MMX__ }\ %{march=k6-2|march=k6-3\ |march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\ ! |march=athlon-mp|m3dnow: -D__3dNOW__ }\ %{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\ |march=athlon-mp: -D__3dNOW_A__ }\ ! %{march=pentium4|msse2: -D__SSE2__ }\ %{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}" #ifndef CPP_CPU_SPEC *************** extern int ix86_arch; *** 756,763 **** #define FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN \ (ix86_preferred_stack_boundary > STACK_BOUNDARY && !TARGET_64BIT) ! /* Allocation boundary for the code of a function. */ ! #define FUNCTION_BOUNDARY 16 /* Alignment of field after `int : 0' in a structure. */ --- 760,770 ---- #define FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN \ (ix86_preferred_stack_boundary > STACK_BOUNDARY && !TARGET_64BIT) ! /* Minimum allocation boundary for the code of a function. */ ! #define FUNCTION_BOUNDARY 8 ! ! /* C++ stores the virtual bit in the lowest bit of function pointers. */ ! #define TARGET_PTRMEMFUNC_VBIT_LOCATION ptrmemfunc_vbit_in_pfn /* Alignment of field after `int : 0' in a structure. */ *************** enum reg_class *** 1581,1586 **** --- 1588,1597 ---- #define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS) + /* We want the stack and args grow in opposite directions, even if + PUSH_ARGS is 0. */ + #define PUSH_ARGS_REVERSED 1 + /* Offset of first parameter from the argument pointer register value. */ #define FIRST_PARM_OFFSET(FNDECL) 0 *************** enum ix86_builtins *** 2053,2065 **** IX86_BUILTIN_CMPEQSS, IX86_BUILTIN_CMPLTSS, IX86_BUILTIN_CMPLESS, - IX86_BUILTIN_CMPGTSS, - IX86_BUILTIN_CMPGESS, IX86_BUILTIN_CMPNEQSS, IX86_BUILTIN_CMPNLTSS, IX86_BUILTIN_CMPNLESS, - IX86_BUILTIN_CMPNGTSS, - IX86_BUILTIN_CMPNGESS, IX86_BUILTIN_CMPORDSS, IX86_BUILTIN_CMPUNORDSS, IX86_BUILTIN_CMPNESS, --- 2064,2072 ---- *************** extern int const svr4_dbx_register_map[F *** 2871,2883 **** It need not be very fast code. */ #define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \ ! asm_fprintf ((FILE), "\tpush{l}\t%%e%s\n", reg_names[(REGNO)]) /* This is how to output an insn to pop a register from the stack. It need not be very fast code. */ #define ASM_OUTPUT_REG_POP(FILE, REGNO) \ ! asm_fprintf ((FILE), "\tpop{l}\t%%e%s\n", reg_names[(REGNO)]) /* This is how to output an element of a case-vector that is absolute. */ --- 2878,2902 ---- It need not be very fast code. */ #define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \ ! do { \ ! if (TARGET_64BIT) \ ! asm_fprintf ((FILE), "\tpush{q}\t%%r%s\n", \ ! reg_names[(REGNO)] + (REX_INT_REGNO_P (REGNO) != 0)); \ ! else \ ! asm_fprintf ((FILE), "\tpush{l}\t%%e%s\n", reg_names[(REGNO)]); \ ! } while (0) /* This is how to output an insn to pop a register from the stack. It need not be very fast code. */ #define ASM_OUTPUT_REG_POP(FILE, REGNO) \ ! do { \ ! if (TARGET_64BIT) \ ! asm_fprintf ((FILE), "\tpop{q}\t%%r%s\n", \ ! reg_names[(REGNO)] + (REX_INT_REGNO_P (REGNO) != 0)); \ ! else \ ! asm_fprintf ((FILE), "\tpop{l}\t%%e%s\n", reg_names[(REGNO)]); \ ! } while (0) /* This is how to output an element of a case-vector that is absolute. */ diff -Nrc3pad gcc-3.2/gcc/config/i386/i386.md gcc-3.2.1/gcc/config/i386/i386.md *** gcc-3.2/gcc/config/i386/i386.md Mon Jul 15 06:54:36 2002 --- gcc-3.2.1/gcc/config/i386/i386.md Thu Oct 24 17:11:54 2002 *************** *** 5311,5317 **** (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0") (match_operand:DI 2 "general_operand" "roiF,riF"))) (clobber (reg:CC 17))] ! "!TARGET_64BIT" "#") (define_split --- 5311,5317 ---- (plus:DI (match_operand:DI 1 "nonimmediate_operand" "%0,0") (match_operand:DI 2 "general_operand" "roiF,riF"))) (clobber (reg:CC 17))] ! "!TARGET_64BIT && ix86_binary_operator_ok (PLUS, DImode, operands)" "#") (define_split *************** *** 6940,6946 **** (minus:DI (match_operand:DI 1 "nonimmediate_operand" "0,0") (match_operand:DI 2 "general_operand" "roiF,riF"))) (clobber (reg:CC 17))] ! "!TARGET_64BIT" "#") (define_split --- 6940,6946 ---- (minus:DI (match_operand:DI 1 "nonimmediate_operand" "0,0") (match_operand:DI 2 "general_operand" "roiF,riF"))) (clobber (reg:CC 17))] ! "!TARGET_64BIT && ix86_binary_operator_ok (MINUS, DImode, operands)" "#") (define_split *************** *** 19783,19789 **** [(set_attr "type" "mmx")]) (define_expand "prefetch" ! [(prefetch (match_operand:SI 0 "address_operand" "") (match_operand:SI 1 "const_int_operand" "") (match_operand:SI 2 "const_int_operand" ""))] "TARGET_PREFETCH_SSE || TARGET_3DNOW" --- 19783,19789 ---- [(set_attr "type" "mmx")]) (define_expand "prefetch" ! [(prefetch (match_operand 0 "address_operand" "") (match_operand:SI 1 "const_int_operand" "") (match_operand:SI 2 "const_int_operand" ""))] "TARGET_PREFETCH_SSE || TARGET_3DNOW" *************** *** 19795,19800 **** --- 19795,19802 ---- abort (); if (locality < 0 || locality > 3) abort (); + if (GET_MODE (operands[0]) != Pmode && GET_MODE (operands[0]) != VOIDmode) + abort (); /* Use 3dNOW prefetch in case we are asking for write prefetch not suported by SSE counterpart or the SSE prefetch is not available *************** *** 19810,19816 **** [(prefetch (match_operand:SI 0 "address_operand" "p") (const_int 0) (match_operand:SI 1 "const_int_operand" ""))] ! "TARGET_PREFETCH_SSE" { static const char * const patterns[4] = { "prefetchnta\t%a0", "prefetcht2\t%a0", "prefetcht1\t%a0", "prefetcht0\t%a0" --- 19812,19837 ---- [(prefetch (match_operand:SI 0 "address_operand" "p") (const_int 0) (match_operand:SI 1 "const_int_operand" ""))] ! "TARGET_PREFETCH_SSE && !TARGET_64BIT" ! { ! static const char * const patterns[4] = { ! "prefetchnta\t%a0", "prefetcht2\t%a0", "prefetcht1\t%a0", "prefetcht0\t%a0" ! }; ! ! int locality = INTVAL (operands[1]); ! if (locality < 0 || locality > 3) ! abort (); ! ! return patterns[locality]; ! } ! [(set_attr "type" "sse") ! (set_attr "memory" "none")]) ! ! (define_insn "*prefetch_sse_rex" ! [(prefetch (match_operand:DI 0 "address_operand" "p") ! (const_int 0) ! (match_operand:SI 1 "const_int_operand" ""))] ! "TARGET_PREFETCH_SSE && TARGET_64BIT" { static const char * const patterns[4] = { "prefetchnta\t%a0", "prefetcht2\t%a0", "prefetcht1\t%a0", "prefetcht0\t%a0" *************** *** 19828,19834 **** [(prefetch (match_operand:SI 0 "address_operand" "p") (match_operand:SI 1 "const_int_operand" "n") (const_int 3))] ! "TARGET_3DNOW" { if (INTVAL (operands[1]) == 0) return "prefetch\t%a0"; --- 19849,19869 ---- [(prefetch (match_operand:SI 0 "address_operand" "p") (match_operand:SI 1 "const_int_operand" "n") (const_int 3))] ! "TARGET_3DNOW && !TARGET_64BIT" ! { ! if (INTVAL (operands[1]) == 0) ! return "prefetch\t%a0"; ! else ! return "prefetchw\t%a0"; ! } ! [(set_attr "type" "mmx") ! (set_attr "memory" "none")]) ! ! (define_insn "*prefetch_3dnow_rex" ! [(prefetch (match_operand:DI 0 "address_operand" "p") ! (match_operand:SI 1 "const_int_operand" "n") ! (const_int 3))] ! "TARGET_3DNOW && TARGET_64BIT" { if (INTVAL (operands[1]) == 0) return "prefetch\t%a0"; diff -Nrc3pad gcc-3.2/gcc/config/i386/linux64.h gcc-3.2.1/gcc/config/i386/linux64.h *** gcc-3.2/gcc/config/i386/linux64.h Fri Jun 21 07:04:46 2002 --- gcc-3.2.1/gcc/config/i386/linux64.h Sun Oct 27 09:24:50 2002 *************** Boston, MA 02111-1307, USA. */ *** 30,35 **** --- 30,41 ---- #undef CPP_SPEC #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} %{!m32:-D__LONG_MAX__=9223372036854775807L}" + /* The svr4 ABI for the i386 says that records and unions are returned + in memory. In the 64bit compilation we will turn this flag off in + override_options, as we never do pcc_struct_return scheme on this target. */ + #undef DEFAULT_PCC_STRUCT_RETURN + #define DEFAULT_PCC_STRUCT_RETURN 1 + /* Provide a LINK_SPEC. Here we provide support for the special GCC options -static and -shared, which allow us to link things in one of these three modes by applying the appropriate combinations of *************** Boston, MA 02111-1307, USA. */ *** 50,70 **** #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{m32:%{!shared: \ ! %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ ! %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} \ ! crti.o%s %{static:crtbeginT.o%s}\ ! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}} \ ! %{!m32:%{!shared: \ ! %{pg:/usr/lib64/gcrt1.o%s} %{!pg:%{p:/usr/lib64/gcrt1.o%s} \ ! %{!p:%{profile:/usr/lib64/gcrt1.o%s} %{!profile:/usr/lib64/crt1.o%s}}}}\ ! /usr/lib64/crti.o%s %{static:crtbeginT.o%s} \ ! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}}" #undef ENDFILE_SPEC ! #define ENDFILE_SPEC "\ ! %{m32:%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s} \ ! %{!m32:%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib64/crtn.o%s}" #define MULTILIB_DEFAULTS { "m64" } --- 56,69 ---- #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{!shared: \ ! %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ ! %{!p:%{profile:gcrt1.o%s} %{!profile:crt1.o%s}}}} \ ! crti.o%s %{static:crtbeginT.o%s} \ ! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" #undef ENDFILE_SPEC ! #define ENDFILE_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" #define MULTILIB_DEFAULTS { "m64" } diff -Nrc3pad gcc-3.2/gcc/config/i386/mmintrin.h gcc-3.2.1/gcc/config/i386/mmintrin.h *** gcc-3.2/gcc/config/i386/mmintrin.h Tue Aug 6 18:30:43 2002 --- gcc-3.2.1/gcc/config/i386/mmintrin.h Sat Oct 19 13:51:34 2002 *************** *** 31,37 **** #define _MMINTRIN_H_INCLUDED /* The data type intended for user use. */ ! typedef unsigned long long __m64 __attribute__ ((__aligned__ (8))); /* Internal data types for implementing the intrinsics. */ typedef int __v2si __attribute__ ((__mode__ (__V2SI__))); --- 31,37 ---- #define _MMINTRIN_H_INCLUDED /* The data type intended for user use. */ ! typedef int __m64 __attribute__ ((__mode__ (__V2SI__))); /* Internal data types for implementing the intrinsics. */ typedef int __v2si __attribute__ ((__mode__ (__V2SI__))); *************** _mm_empty (void) *** 49,62 **** static __inline __m64 _mm_cvtsi32_si64 (int __i) { ! return (unsigned int) __i; } /* Convert the lower 32 bits of the __m64 object into an integer. */ static __inline int _mm_cvtsi64_si32 (__m64 __i) { ! return __i; } /* Pack the four 16-bit values from M1 into the lower four 8-bit values of --- 49,64 ---- static __inline __m64 _mm_cvtsi32_si64 (int __i) { ! long long __tmp = (unsigned int)__i; ! return (__m64) __tmp; } /* Convert the lower 32 bits of the __m64 object into an integer. */ static __inline int _mm_cvtsi64_si32 (__m64 __i) { ! long long __tmp = (long long)__i; ! return __tmp; } /* Pack the four 16-bit values from M1 into the lower four 8-bit values of *************** _mm_mullo_pi16 (__m64 __m1, __m64 __m2) *** 269,275 **** static __inline __m64 _mm_sll_pi16 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psllw ((__v4hi)__m, __count); } static __inline __m64 --- 271,277 ---- static __inline __m64 _mm_sll_pi16 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psllw ((__v4hi)__m, (long long)__count); } static __inline __m64 *************** _mm_slli_pi16 (__m64 __m, int __count) *** 282,288 **** static __inline __m64 _mm_sll_pi32 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_pslld ((__v2si)__m, __count); } static __inline __m64 --- 284,290 ---- static __inline __m64 _mm_sll_pi32 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_pslld ((__v2si)__m, (long long)__count); } static __inline __m64 *************** _mm_slli_pi32 (__m64 __m, int __count) *** 293,314 **** /* Shift the 64-bit value in M left by COUNT. */ static __inline __m64 ! _mm_sll_pi64 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psllq (__m, __count); } static __inline __m64 ! _mm_slli_pi64 (__m64 __m, int __count) { ! return (__m64) __builtin_ia32_psllq (__m, __count); } /* Shift four 16-bit values in M right by COUNT; shift in the sign bit. */ static __inline __m64 _mm_sra_pi16 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psraw ((__v4hi)__m, __count); } static __inline __m64 --- 295,316 ---- /* Shift the 64-bit value in M left by COUNT. */ static __inline __m64 ! _mm_sll_si64 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psllq ((long long)__m, (long long)__count); } static __inline __m64 ! _mm_slli_si64 (__m64 __m, int __count) { ! return (__m64) __builtin_ia32_psllq ((long long)__m, (long long)__count); } /* Shift four 16-bit values in M right by COUNT; shift in the sign bit. */ static __inline __m64 _mm_sra_pi16 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psraw ((__v4hi)__m, (long long)__count); } static __inline __m64 *************** _mm_srai_pi16 (__m64 __m, int __count) *** 321,327 **** static __inline __m64 _mm_sra_pi32 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrad ((__v2si)__m, __count); } static __inline __m64 --- 323,329 ---- static __inline __m64 _mm_sra_pi32 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrad ((__v2si)__m, (long long)__count); } static __inline __m64 *************** _mm_srai_pi32 (__m64 __m, int __count) *** 334,340 **** static __inline __m64 _mm_srl_pi16 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, __count); } static __inline __m64 --- 336,342 ---- static __inline __m64 _mm_srl_pi16 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, (long long)__count); } static __inline __m64 *************** _mm_srli_pi16 (__m64 __m, int __count) *** 347,353 **** static __inline __m64 _mm_srl_pi32 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrld ((__v2si)__m, __count); } static __inline __m64 --- 349,355 ---- static __inline __m64 _mm_srl_pi32 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrld ((__v2si)__m, (long long)__count); } static __inline __m64 *************** _mm_srli_pi32 (__m64 __m, int __count) *** 358,379 **** /* Shift the 64-bit value in M left by COUNT; shift in zeros. */ static __inline __m64 ! _mm_srl_pi64 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrlq (__m, __count); } static __inline __m64 ! _mm_srli_pi64 (__m64 __m, int __count) { ! return (__m64) __builtin_ia32_psrlq (__m, __count); } /* Bit-wise AND the 64-bit values in M1 and M2. */ static __inline __m64 _mm_and_si64 (__m64 __m1, __m64 __m2) { ! return __builtin_ia32_pand (__m1, __m2); } /* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the --- 360,381 ---- /* Shift the 64-bit value in M left by COUNT; shift in zeros. */ static __inline __m64 ! _mm_srl_si64 (__m64 __m, __m64 __count) { ! return (__m64) __builtin_ia32_psrlq ((long long)__m, (long long)__count); } static __inline __m64 ! _mm_srli_si64 (__m64 __m, int __count) { ! return (__m64) __builtin_ia32_psrlq ((long long)__m, (long long)__count); } /* Bit-wise AND the 64-bit values in M1 and M2. */ static __inline __m64 _mm_and_si64 (__m64 __m1, __m64 __m2) { ! return (__m64) __builtin_ia32_pand ((long long)__m1, (long long)__m2); } /* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the *************** _mm_and_si64 (__m64 __m1, __m64 __m2) *** 381,401 **** static __inline __m64 _mm_andnot_si64 (__m64 __m1, __m64 __m2) { ! return __builtin_ia32_pandn (__m1, __m2); } /* Bit-wise inclusive OR the 64-bit values in M1 and M2. */ static __inline __m64 _mm_or_si64 (__m64 __m1, __m64 __m2) { ! return __builtin_ia32_por (__m1, __m2); } /* Bit-wise exclusive OR the 64-bit values in M1 and M2. */ static __inline __m64 _mm_xor_si64 (__m64 __m1, __m64 __m2) { ! return __builtin_ia32_pxor (__m1, __m2); } /* Compare eight 8-bit values. The result of the comparison is 0xFF if the --- 383,403 ---- static __inline __m64 _mm_andnot_si64 (__m64 __m1, __m64 __m2) { ! return (__m64) __builtin_ia32_pandn ((long long)__m1, (long long)__m2); } /* Bit-wise inclusive OR the 64-bit values in M1 and M2. */ static __inline __m64 _mm_or_si64 (__m64 __m1, __m64 __m2) { ! return (__m64)__builtin_ia32_por ((long long)__m1, (long long)__m2); } /* Bit-wise exclusive OR the 64-bit values in M1 and M2. */ static __inline __m64 _mm_xor_si64 (__m64 __m1, __m64 __m2) { ! return (__m64)__builtin_ia32_pxor ((long long)__m1, (long long)__m2); } /* Compare eight 8-bit values. The result of the comparison is 0xFF if the *************** _mm_cmpgt_pi32 (__m64 __m1, __m64 __m2) *** 444,450 **** static __inline __m64 _mm_setzero_si64 (void) { ! return __builtin_ia32_mmx_zero (); } /* Creates a vector of two 32-bit values; I0 is least significant. */ --- 446,452 ---- static __inline __m64 _mm_setzero_si64 (void) { ! return (__m64)__builtin_ia32_mmx_zero (); } /* Creates a vector of two 32-bit values; I0 is least significant. */ diff -Nrc3pad gcc-3.2/gcc/config/i386/t-linux64 gcc-3.2.1/gcc/config/i386/t-linux64 *** gcc-3.2/gcc/config/i386/t-linux64 Wed May 8 23:23:20 2002 --- gcc-3.2.1/gcc/config/i386/t-linux64 Sat Oct 5 21:32:08 2002 *************** SHLIB_MAPFILES = $(srcdir)/libgcc-std.ve *** 6,15 **** MULTILIB_OPTIONS = m64/m32 MULTILIB_DIRNAMES = 64 32 LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o - - SHLIB_SLIBDIR_SUFFIXES = 64:64 32: --- 6,14 ---- MULTILIB_OPTIONS = m64/m32 MULTILIB_DIRNAMES = 64 32 + MULTILIB_OSDIRNAMES = ../lib64 ../lib LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o diff -Nrc3pad gcc-3.2/gcc/config/i386/winnt.c gcc-3.2.1/gcc/config/i386/winnt.c *** gcc-3.2/gcc/config/i386/winnt.c Mon Dec 3 19:13:32 2001 --- gcc-3.2.1/gcc/config/i386/winnt.c Mon Sep 16 22:24:43 2002 *************** ix86_handle_dll_attribute (node, name, a *** 76,81 **** --- 76,90 ---- } } + /* `extern' needn't be specified with dllimport. + Specify `extern' now and hope for the best. Sigh. */ + else if (TREE_CODE (*node) == VAR_DECL + && is_attribute_p ("dllimport", name)) + { + DECL_EXTERNAL (*node) = 1; + TREE_PUBLIC (*node) = 1; + } + return NULL_TREE; } *************** i386_pe_mark_dllimport (decl) *** 300,315 **** return; } - /* `extern' needn't be specified with dllimport. - Specify `extern' now and hope for the best. Sigh. */ - if (TREE_CODE (decl) == VAR_DECL - /* ??? Is this test for vtables needed? */ - && !DECL_VIRTUAL_P (decl)) - { - DECL_EXTERNAL (decl) = 1; - TREE_PUBLIC (decl) = 1; - } - newname = alloca (strlen (oldname) + 11); sprintf (newname, "@i._imp__%s", oldname); --- 309,314 ---- diff -Nrc3pad gcc-3.2/gcc/config/i386/xmmintrin.h gcc-3.2.1/gcc/config/i386/xmmintrin.h *** gcc-3.2/gcc/config/i386/xmmintrin.h Sat Jan 12 10:05:28 2002 --- gcc-3.2.1/gcc/config/i386/xmmintrin.h Sun Oct 27 09:28:12 2002 *************** _mm_cmple_ss (__m128 __A, __m128 __B) *** 245,257 **** static __inline __m128 _mm_cmpgt_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_cmpgtss ((__v4sf)__A, (__v4sf)__B); } static __inline __m128 _mm_cmpge_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_cmpgess ((__v4sf)__A, (__v4sf)__B); } static __inline __m128 --- 245,265 ---- static __inline __m128 _mm_cmpgt_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_movss ((__v4sf) __A, ! (__v4sf) ! __builtin_ia32_cmpltss ((__v4sf) __B, ! (__v4sf) ! __A)); } static __inline __m128 _mm_cmpge_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_movss ((__v4sf) __A, ! (__v4sf) ! __builtin_ia32_cmpless ((__v4sf) __B, ! (__v4sf) ! __A)); } static __inline __m128 *************** _mm_cmpnle_ss (__m128 __A, __m128 __B) *** 275,287 **** static __inline __m128 _mm_cmpngt_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_cmpngtss ((__v4sf)__A, (__v4sf)__B); } static __inline __m128 _mm_cmpnge_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_cmpngess ((__v4sf)__A, (__v4sf)__B); } static __inline __m128 --- 283,303 ---- static __inline __m128 _mm_cmpngt_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_movss ((__v4sf) __A, ! (__v4sf) ! __builtin_ia32_cmpnltss ((__v4sf) __B, ! (__v4sf) ! __A)); } static __inline __m128 _mm_cmpnge_ss (__m128 __A, __m128 __B) { ! return (__m128) __builtin_ia32_movss ((__v4sf) __A, ! (__v4sf) ! __builtin_ia32_cmpnless ((__v4sf) __B, ! (__v4sf) ! __A)); } static __inline __m128 *************** _mm_prefetch (void *__P, enum _mm_hint _ *** 1017,1023 **** static __inline void _mm_stream_pi (__m64 *__P, __m64 __A) { ! __builtin_ia32_movntq (__P, __A); } /* Likewise. The address must be 16-byte aligned. */ --- 1033,1039 ---- static __inline void _mm_stream_pi (__m64 *__P, __m64 __A) { ! __builtin_ia32_movntq (__P, (long long)__A); } /* Likewise. The address must be 16-byte aligned. */ *************** _mm_pause (void) *** 1049,1056 **** do { \ __v4sf __r0 = (row0), __r1 = (row1), __r2 = (row2), __r3 = (row3); \ __v4sf __t0 = __builtin_ia32_shufps (__r0, __r1, 0x44); \ ! __v4sf __t1 = __builtin_ia32_shufps (__r0, __r1, 0xEE); \ ! __v4sf __t2 = __builtin_ia32_shufps (__r2, __r3, 0x44); \ __v4sf __t3 = __builtin_ia32_shufps (__r2, __r3, 0xEE); \ (row0) = __builtin_ia32_shufps (__t0, __t1, 0x88); \ (row1) = __builtin_ia32_shufps (__t0, __t1, 0xDD); \ --- 1065,1072 ---- do { \ __v4sf __r0 = (row0), __r1 = (row1), __r2 = (row2), __r3 = (row3); \ __v4sf __t0 = __builtin_ia32_shufps (__r0, __r1, 0x44); \ ! __v4sf __t2 = __builtin_ia32_shufps (__r0, __r1, 0xEE); \ ! __v4sf __t1 = __builtin_ia32_shufps (__r2, __r3, 0x44); \ __v4sf __t3 = __builtin_ia32_shufps (__r2, __r3, 0xEE); \ (row0) = __builtin_ia32_shufps (__t0, __t1, 0x88); \ (row1) = __builtin_ia32_shufps (__t0, __t1, 0xDD); \ diff -Nrc3pad gcc-3.2/gcc/config/m68hc11/m68hc11.md gcc-3.2.1/gcc/config/m68hc11/m68hc11.md *** gcc-3.2/gcc/config/m68hc11/m68hc11.md Fri Jul 12 20:43:54 2002 --- gcc-3.2.1/gcc/config/m68hc11/m68hc11.md Sat Sep 14 12:06:58 2002 *************** *** 651,657 **** ") (define_insn "movdi_internal" ! [(set (match_operand:DI 0 "nonimmediate_operand" "=uS,U,!u,U,m,m,!u") (match_operand:DI 1 "general_operand" "K,iU,iU,!u,mi,!u,!mu")) (clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))] "" --- 651,657 ---- ") (define_insn "movdi_internal" ! [(set (match_operand:DI 0 "nonimmediate_operand" "=ou,U,!u,U,m,m,!u") (match_operand:DI 1 "general_operand" "K,iU,iU,!u,mi,!u,!mu")) (clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))] "" *************** *** 687,693 **** ") (define_insn "movdf_internal" ! [(set (match_operand:DF 0 "nonimmediate_operand" "=uS,U,!u,U,m,m,!u") (match_operand:DF 1 "general_operand" "G,iU,iU,!u,mi,!u,!mu")) (clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))] "" --- 687,693 ---- ") (define_insn "movdf_internal" ! [(set (match_operand:DF 0 "nonimmediate_operand" "=ou,U,!u,U,m,m,!u") (match_operand:DF 1 "general_operand" "G,iU,iU,!u,mi,!u,!mu")) (clobber (match_scratch:HI 2 "=X,&d,&d,&d,&d,&d,&d"))] "" *************** *** 732,738 **** ") (define_insn "movsi_internal" ! [(set (match_operand:SI 0 "nonimmediate_operand" "=uS,mu,?D,m,?D,?u,?u,!u,D") (match_operand:SI 1 "general_operand" "K,imu,im,?D,!u,?D,mi,!u,!D")) (clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))] "" --- 732,738 ---- ") (define_insn "movsi_internal" ! [(set (match_operand:SI 0 "nonimmediate_operand" "=ou,mu,?D,m,?D,?u,?u,!u,D") (match_operand:SI 1 "general_operand" "K,imu,im,?D,!u,?D,mi,!u,!D")) (clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))] "" *************** *** 768,774 **** ") (define_insn "movsf_internal" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=S!u,m,D,m,D,!u,!u,!u,D") (match_operand:SF 1 "general_operand" "G,im,im,D,!u,D,mi,!u,!D")) (clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))] "" --- 768,774 ---- ") (define_insn "movsf_internal" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=o!u,m,D,m,D,!u,!u,!u,D") (match_operand:SF 1 "general_operand" "G,im,im,D,!u,D,mi,!u,!D")) (clobber (match_scratch:HI 2 "=X,&d,X,X,X,X,&d,&d,X"))] "" diff -Nrc3pad gcc-3.2/gcc/config/m68k/t-crtstuff gcc-3.2.1/gcc/config/m68k/t-crtstuff *** gcc-3.2/gcc/config/m68k/t-crtstuff Tue Sep 14 09:52:09 1999 --- gcc-3.2.1/gcc/config/m68k/t-crtstuff Mon Nov 11 06:01:39 2002 *************** *** 1,11 **** - # from ../t-svr4 - EXTRA_PARTS=crtbegin.o crtend.o crti.o crtn.o - # Add flags here as required. CRTSTUFF_T_CFLAGS = # Assemble startup files. ! crti.o: $(srcdir)/config/m68k/crti.s $(GCC_PASSES) ! $(GCC_FOR_TARGET) -c -o crti.o $(srcdir)/config/m68k/crti.s ! crtn.o: $(srcdir)/config/m68k/crtn.s $(GCC_PASSES) ! $(GCC_FOR_TARGET) -c -o crtn.o $(srcdir)/config/m68k/crtn.s --- 1,8 ---- # Add flags here as required. CRTSTUFF_T_CFLAGS = # Assemble startup files. ! $(T)crti.o: $(srcdir)/config/m68k/crti.s $(GCC_PASSES) ! $(GCC_FOR_TARGET) -c -o $(T)crti.o $(srcdir)/config/m68k/crti.s ! $(T)crtn.o: $(srcdir)/config/m68k/crtn.s $(GCC_PASSES) ! $(GCC_FOR_TARGET) -c -o $(T)crtn.o $(srcdir)/config/m68k/crtn.s diff -Nrc3pad gcc-3.2/gcc/config/mips/mips.md gcc-3.2.1/gcc/config/mips/mips.md *** gcc-3.2/gcc/config/mips/mips.md Wed Apr 24 17:40:50 2002 --- gcc-3.2.1/gcc/config/mips/mips.md Mon Nov 11 05:57:14 2002 *************** move\\t%0,%z4\\n\\ *** 4882,4888 **** if ((INTVAL (offset) & 7) == 0 && (mem_addr == stack_pointer_rtx || mem_addr == frame_pointer_rtx)) ! return \"sd\\t%1,%0\"; return \"usd\\t%z1,%0\"; }" --- 4882,4888 ---- if ((INTVAL (offset) & 7) == 0 && (mem_addr == stack_pointer_rtx || mem_addr == frame_pointer_rtx)) ! return \"sd\\t%z1,%0\"; return \"usd\\t%z1,%0\"; }" diff -Nrc3pad gcc-3.2/gcc/config/mips/t-iris6 gcc-3.2.1/gcc/config/mips/t-iris6 *** gcc-3.2/gcc/config/mips/t-iris6 Fri May 10 15:22:05 2002 --- gcc-3.2.1/gcc/config/mips/t-iris6 Tue Nov 12 11:14:07 2002 *************** *** 4,9 **** --- 4,10 ---- MULTILIB_OPTIONS=mabi=n32/mabi=64 MULTILIB_DIRNAMES= MULTILIB_MATCHES= + MULTILIB_OSDIRNAMES=. mabi=64 LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib *************** SHLIB_NAME = @shlib_dir@@shlib_so_name@. *** 22,28 **** SHLIB_MAP = @shlib_map_file@ SHLIB_OBJS = @shlib_objs@ SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ - SHLIB_SLIBDIR_SUFFIXES = mabi=64:/mabi=64 mabi=n32: SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ -Wl,-soname,$(SHLIB_SONAME) \ --- 23,28 ---- diff -Nrc3pad gcc-3.2/gcc/config/rs6000/linux64.h gcc-3.2.1/gcc/config/rs6000/linux64.h *** gcc-3.2/gcc/config/rs6000/linux64.h Thu Aug 8 17:52:40 2002 --- gcc-3.2.1/gcc/config/rs6000/linux64.h Sat Sep 14 00:26:39 2002 *************** Boston, MA 02111-1307, USA. */ *** 37,42 **** --- 37,48 ---- #undef ASM_DEFAULT_SPEC #define ASM_DEFAULT_SPEC "-mppc64" + #undef ASM_SPEC + #define ASM_SPEC "%{.s: %{mregnames} %{mno-regnames}} \ + %{.S: %{mregnames} %{mno-regnames}} \ + %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} \ + %{v:-V} %{Qy:} %{!Qn:-Qy} -a64 %(asm_cpu) %{Wa,*:%*}" + /* 64-bit PowerPC Linux always has a TOC. */ #undef TARGET_NO_TOC #define TARGET_NO_TOC 0 *************** Boston, MA 02111-1307, USA. */ *** 65,70 **** --- 71,77 ---- #define USER_LABEL_PREFIX "" /* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */ + #undef ADJUST_FIELD_ALIGN #define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \ (TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \ ? get_inner_array_type (FIELD) \ *************** do \ *** 327,329 **** --- 334,382 ---- sym_lineno += 1; \ } \ while (0) + + /* Similarly, we want the function code label here. */ + #define DBX_OUTPUT_BRAC(FILE, NAME, BRAC) \ + do \ + { \ + const char *flab; \ + fprintf (FILE, "%s%d,0,0,", ASM_STABN_OP, BRAC); \ + assemble_name (FILE, NAME); \ + putc ('-', FILE); \ + if (current_function_func_begin_label != NULL_TREE) \ + flab = IDENTIFIER_POINTER (current_function_func_begin_label); \ + else \ + { \ + putc ('.', FILE); \ + flab = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0); \ + } \ + assemble_name (FILE, flab); \ + putc ('\n', FILE); \ + } \ + while (0) + + #define DBX_OUTPUT_LBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_LBRAC) + #define DBX_OUTPUT_RBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_RBRAC) + + /* Another case where we want the dot name. */ + #define DBX_OUTPUT_NFUN(FILE, LSCOPE, DECL) \ + do \ + { \ + fprintf (FILE, "%s\"\",%d,0,0,", ASM_STABS_OP, N_FUN); \ + assemble_name (FILE, LSCOPE); \ + fputs ("-.", FILE); \ + assemble_name (FILE, XSTR (XEXP (DECL_RTL (DECL), 0), 0)); \ + putc ('\n', FILE); \ + } \ + while (0) + + /* Override sysv4.h as these are ABI_V4 only. */ + #undef ASM_OUTPUT_REG_PUSH + #undef ASM_OUTPUT_REG_POP + + /* Select a format to encode pointers in exception handling data. CODE + is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is + true if the symbol may be affected by dynamic relocations. */ + #undef ASM_PREFERRED_EH_DATA_FORMAT + #define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ + (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_udata8) diff -Nrc3pad gcc-3.2/gcc/config/rs6000/rs6000.c gcc-3.2.1/gcc/config/rs6000/rs6000.c *** gcc-3.2/gcc/config/rs6000/rs6000.c Thu Aug 8 14:51:47 2002 --- gcc-3.2.1/gcc/config/rs6000/rs6000.c Thu Nov 7 07:04:20 2002 *************** static int rs6000_sr_alias_set; *** 120,126 **** static void rs6000_add_gc_roots PARAMS ((void)); static int num_insns_constant_wide PARAMS ((HOST_WIDE_INT)); - static rtx expand_block_move_mem PARAMS ((enum machine_mode, rtx, rtx)); static void validate_condition_mode PARAMS ((enum rtx_code, enum machine_mode)); static rtx rs6000_generate_compare PARAMS ((enum rtx_code)); --- 120,125 ---- *************** rs6000_legitimate_address (mode, x, reg_ *** 2012,2017 **** --- 2011,2017 ---- if (LEGITIMATE_INDIRECT_ADDRESS_P (x, reg_ok_strict)) return 1; if ((GET_CODE (x) == PRE_INC || GET_CODE (x) == PRE_DEC) + && !ALTIVEC_VECTOR_MODE (mode) && TARGET_UPDATE && LEGITIMATE_INDIRECT_ADDRESS_P (XEXP (x, 0), reg_ok_strict)) return 1; *************** altivec_init_builtins (void) *** 4909,4929 **** } - /* Generate a memory reference for expand_block_move, copying volatile, - and other bits from an original memory reference. */ - - static rtx - expand_block_move_mem (mode, addr, orig_mem) - enum machine_mode mode; - rtx addr; - rtx orig_mem; - { - rtx mem = gen_rtx_MEM (mode, addr); - - MEM_COPY_ATTRIBUTES (mem, orig_mem); - return mem; - } - /* Expand a block move operation, and return 1 if successful. Return 0 if we should let the compiler generate normal code. --- 4909,4914 ---- *************** expand_block_move (operands) *** 4946,4959 **** int align; int bytes; int offset; - int num_reg; - int i; - rtx src_reg; - rtx dest_reg; - rtx src_addr; - rtx dest_addr; - rtx tmp_reg; - rtx stores[MAX_MOVE_REG]; int move_bytes; /* If this is not a fixed size move, just call memcpy */ --- 4931,4936 ---- *************** expand_block_move (operands) *** 4975,4988 **** if (bytes > (TARGET_POWERPC64 ? 64 : 32)) return 0; - /* Move the address into scratch registers. */ - dest_reg = copy_addr_to_reg (XEXP (orig_dest, 0)); - src_reg = copy_addr_to_reg (XEXP (orig_src, 0)); - if (TARGET_STRING) /* string instructions are available */ { ! for ( ; bytes > 0; bytes -= move_bytes) { if (bytes > 24 /* move up to 32 bytes at a time */ && ! fixed_regs[5] && ! fixed_regs[6] --- 4952,4968 ---- if (bytes > (TARGET_POWERPC64 ? 64 : 32)) return 0; if (TARGET_STRING) /* string instructions are available */ { ! for (offset = 0; bytes > 0; offset += move_bytes, bytes -= move_bytes) { + union { + rtx (*movstrsi) PARAMS ((rtx, rtx, rtx, rtx)); + rtx (*mov) PARAMS ((rtx, rtx)); + } gen_func; + enum machine_mode mode = BLKmode; + rtx src, dest; + if (bytes > 24 /* move up to 32 bytes at a time */ && ! fixed_regs[5] && ! fixed_regs[6] *************** expand_block_move (operands) *** 4994,5008 **** && ! fixed_regs[12]) { move_bytes = (bytes > 32) ? 32 : bytes; ! emit_insn (gen_movstrsi_8reg (expand_block_move_mem (BLKmode, ! dest_reg, ! orig_dest), ! expand_block_move_mem (BLKmode, ! src_reg, ! orig_src), ! GEN_INT ((move_bytes == 32) ! ? 0 : move_bytes), ! align_rtx)); } else if (bytes > 16 /* move up to 24 bytes at a time */ && ! fixed_regs[5] --- 4974,4980 ---- && ! fixed_regs[12]) { move_bytes = (bytes > 32) ? 32 : bytes; ! gen_func.movstrsi = gen_movstrsi_8reg; } else if (bytes > 16 /* move up to 24 bytes at a time */ && ! fixed_regs[5] *************** expand_block_move (operands) *** 5013,5026 **** && ! fixed_regs[10]) { move_bytes = (bytes > 24) ? 24 : bytes; ! emit_insn (gen_movstrsi_6reg (expand_block_move_mem (BLKmode, ! dest_reg, ! orig_dest), ! expand_block_move_mem (BLKmode, ! src_reg, ! orig_src), ! GEN_INT (move_bytes), ! align_rtx)); } else if (bytes > 8 /* move up to 16 bytes at a time */ && ! fixed_regs[5] --- 4985,4991 ---- && ! fixed_regs[10]) { move_bytes = (bytes > 24) ? 24 : bytes; ! gen_func.movstrsi = gen_movstrsi_6reg; } else if (bytes > 8 /* move up to 16 bytes at a time */ && ! fixed_regs[5] *************** expand_block_move (operands) *** 5029,5042 **** && ! fixed_regs[8]) { move_bytes = (bytes > 16) ? 16 : bytes; ! emit_insn (gen_movstrsi_4reg (expand_block_move_mem (BLKmode, ! dest_reg, ! orig_dest), ! expand_block_move_mem (BLKmode, ! src_reg, ! orig_src), ! GEN_INT (move_bytes), ! align_rtx)); } else if (bytes >= 8 && TARGET_POWERPC64 /* 64-bit loads and stores require word-aligned --- 4994,5000 ---- && ! fixed_regs[8]) { move_bytes = (bytes > 16) ? 16 : bytes; ! gen_func.movstrsi = gen_movstrsi_4reg; } else if (bytes >= 8 && TARGET_POWERPC64 /* 64-bit loads and stores require word-aligned *************** expand_block_move (operands) *** 5044,5151 **** && (align >= 8 || (! STRICT_ALIGNMENT && align >= 4))) { move_bytes = 8; ! tmp_reg = gen_reg_rtx (DImode); ! emit_move_insn (tmp_reg, ! expand_block_move_mem (DImode, ! src_reg, orig_src)); ! emit_move_insn (expand_block_move_mem (DImode, ! dest_reg, orig_dest), ! tmp_reg); } else if (bytes > 4 && !TARGET_POWERPC64) { /* move up to 8 bytes at a time */ move_bytes = (bytes > 8) ? 8 : bytes; ! emit_insn (gen_movstrsi_2reg (expand_block_move_mem (BLKmode, ! dest_reg, ! orig_dest), ! expand_block_move_mem (BLKmode, ! src_reg, ! orig_src), ! GEN_INT (move_bytes), ! align_rtx)); } else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT)) { /* move 4 bytes */ move_bytes = 4; ! tmp_reg = gen_reg_rtx (SImode); ! emit_move_insn (tmp_reg, ! expand_block_move_mem (SImode, ! src_reg, orig_src)); ! emit_move_insn (expand_block_move_mem (SImode, ! dest_reg, orig_dest), ! tmp_reg); } else if (bytes == 2 && (align >= 2 || ! STRICT_ALIGNMENT)) { /* move 2 bytes */ move_bytes = 2; ! tmp_reg = gen_reg_rtx (HImode); ! emit_move_insn (tmp_reg, ! expand_block_move_mem (HImode, ! src_reg, orig_src)); ! emit_move_insn (expand_block_move_mem (HImode, ! dest_reg, orig_dest), ! tmp_reg); } else if (bytes == 1) /* move 1 byte */ { move_bytes = 1; ! tmp_reg = gen_reg_rtx (QImode); ! emit_move_insn (tmp_reg, ! expand_block_move_mem (QImode, ! src_reg, orig_src)); ! emit_move_insn (expand_block_move_mem (QImode, ! dest_reg, orig_dest), ! tmp_reg); } else { /* move up to 4 bytes at a time */ move_bytes = (bytes > 4) ? 4 : bytes; ! emit_insn (gen_movstrsi_1reg (expand_block_move_mem (BLKmode, ! dest_reg, ! orig_dest), ! expand_block_move_mem (BLKmode, ! src_reg, ! orig_src), ! GEN_INT (move_bytes), ! align_rtx)); } ! if (bytes > move_bytes) { ! if (! TARGET_POWERPC64) { ! emit_insn (gen_addsi3 (src_reg, src_reg, ! GEN_INT (move_bytes))); ! emit_insn (gen_addsi3 (dest_reg, dest_reg, ! GEN_INT (move_bytes))); } ! else { ! emit_insn (gen_adddi3 (src_reg, src_reg, ! GEN_INT (move_bytes))); ! emit_insn (gen_adddi3 (dest_reg, dest_reg, ! GEN_INT (move_bytes))); } } } } else /* string instructions not available */ { ! num_reg = offset = 0; ! for ( ; bytes > 0; (bytes -= move_bytes), (offset += move_bytes)) { ! /* Calculate the correct offset for src/dest */ ! if (offset == 0) ! { ! src_addr = src_reg; ! dest_addr = dest_reg; ! } ! else ! { ! src_addr = plus_constant (src_reg, offset); ! dest_addr = plus_constant (dest_reg, offset); ! } /* Generate the appropriate load and store, saving the stores for later. */ --- 5002,5085 ---- && (align >= 8 || (! STRICT_ALIGNMENT && align >= 4))) { move_bytes = 8; ! mode = DImode; ! gen_func.mov = gen_movdi; } else if (bytes > 4 && !TARGET_POWERPC64) { /* move up to 8 bytes at a time */ move_bytes = (bytes > 8) ? 8 : bytes; ! gen_func.movstrsi = gen_movstrsi_2reg; } else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT)) { /* move 4 bytes */ move_bytes = 4; ! mode = SImode; ! gen_func.mov = gen_movsi; } else if (bytes == 2 && (align >= 2 || ! STRICT_ALIGNMENT)) { /* move 2 bytes */ move_bytes = 2; ! mode = HImode; ! gen_func.mov = gen_movhi; } else if (bytes == 1) /* move 1 byte */ { move_bytes = 1; ! mode = QImode; ! gen_func.mov = gen_movqi; } else { /* move up to 4 bytes at a time */ move_bytes = (bytes > 4) ? 4 : bytes; ! gen_func.movstrsi = gen_movstrsi_1reg; } ! src = adjust_address (orig_src, mode, offset); ! dest = adjust_address (orig_dest, mode, offset); ! ! if (mode == BLKmode) { ! /* Move the address into scratch registers. The movstrsi ! patterns require zero offset. */ ! if (!REG_P (XEXP (src, 0))) { ! rtx src_reg = copy_addr_to_reg (XEXP (src, 0)); ! src = replace_equiv_address (src, src_reg); } ! set_mem_size (src, GEN_INT (move_bytes)); ! ! if (!REG_P (XEXP (dest, 0))) { ! rtx dest_reg = copy_addr_to_reg (XEXP (dest, 0)); ! dest = replace_equiv_address (dest, dest_reg); } + set_mem_size (dest, GEN_INT (move_bytes)); + + emit_insn ((*gen_func.movstrsi) (dest, src, + GEN_INT (move_bytes & 31), + align_rtx)); + } + else + { + rtx tmp_reg = gen_reg_rtx (mode); + + emit_insn ((*gen_func.mov) (tmp_reg, src)); + emit_insn ((*gen_func.mov) (dest, tmp_reg)); } } } else /* string instructions not available */ { ! rtx stores[MAX_MOVE_REG]; ! int num_reg = 0; ! int i; ! ! for (offset = 0; bytes > 0; offset += move_bytes, bytes -= move_bytes) { ! rtx (*gen_mov_func) PARAMS ((rtx, rtx)); ! enum machine_mode mode; ! rtx src, dest, tmp_reg; /* Generate the appropriate load and store, saving the stores for later. */ *************** expand_block_move (operands) *** 5155,5210 **** && (align >= 8 || (! STRICT_ALIGNMENT && align >= 4))) { move_bytes = 8; ! tmp_reg = gen_reg_rtx (DImode); ! emit_insn (gen_movdi (tmp_reg, ! expand_block_move_mem (DImode, ! src_addr, ! orig_src))); ! stores[num_reg++] = gen_movdi (expand_block_move_mem (DImode, ! dest_addr, ! orig_dest), ! tmp_reg); } else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT)) { move_bytes = 4; ! tmp_reg = gen_reg_rtx (SImode); ! emit_insn (gen_movsi (tmp_reg, ! expand_block_move_mem (SImode, ! src_addr, ! orig_src))); ! stores[num_reg++] = gen_movsi (expand_block_move_mem (SImode, ! dest_addr, ! orig_dest), ! tmp_reg); } else if (bytes >= 2 && (align >= 2 || ! STRICT_ALIGNMENT)) { move_bytes = 2; ! tmp_reg = gen_reg_rtx (HImode); ! emit_insn (gen_movhi (tmp_reg, ! expand_block_move_mem (HImode, ! src_addr, ! orig_src))); ! stores[num_reg++] = gen_movhi (expand_block_move_mem (HImode, ! dest_addr, ! orig_dest), ! tmp_reg); } else { move_bytes = 1; ! tmp_reg = gen_reg_rtx (QImode); ! emit_insn (gen_movqi (tmp_reg, ! expand_block_move_mem (QImode, ! src_addr, ! orig_src))); ! stores[num_reg++] = gen_movqi (expand_block_move_mem (QImode, ! dest_addr, ! orig_dest), ! tmp_reg); } if (num_reg >= MAX_MOVE_REG) { for (i = 0; i < num_reg; i++) --- 5089,5123 ---- && (align >= 8 || (! STRICT_ALIGNMENT && align >= 4))) { move_bytes = 8; ! mode = DImode; ! gen_mov_func = gen_movdi; } else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT)) { move_bytes = 4; ! mode = SImode; ! gen_mov_func = gen_movsi; } else if (bytes >= 2 && (align >= 2 || ! STRICT_ALIGNMENT)) { move_bytes = 2; ! mode = HImode; ! gen_mov_func = gen_movhi; } else { move_bytes = 1; ! mode = QImode; ! gen_mov_func = gen_movqi; } + src = adjust_address (orig_src, mode, offset); + dest = adjust_address (orig_dest, mode, offset); + tmp_reg = gen_reg_rtx (mode); + + emit_insn ((*gen_mov_func) (tmp_reg, src)); + stores[num_reg++] = (*gen_mov_func) (dest, tmp_reg); + if (num_reg >= MAX_MOVE_REG) { for (i = 0; i < num_reg; i++) *************** rs6000_reverse_condition (mode, code) *** 7008,7014 **** { /* Reversal of FP compares takes care -- an ordered compare becomes an unordered compare and vice versa. */ ! if (mode == CCFPmode) return reverse_condition_maybe_unordered (code); else return reverse_condition (code); --- 6921,6927 ---- { /* Reversal of FP compares takes care -- an ordered compare becomes an unordered compare and vice versa. */ ! if (mode == CCFPmode && !flag_unsafe_math_optimizations) return reverse_condition_maybe_unordered (code); else return reverse_condition (code); *************** output_cbranch (op, label, reversed, ins *** 7161,7167 **** reverse_condition_maybe_unordered here always but this makes the resulting assembler clearer. */ if (really_reversed) ! code = rs6000_reverse_condition (mode, code); switch (code) { --- 7074,7087 ---- reverse_condition_maybe_unordered here always but this makes the resulting assembler clearer. */ if (really_reversed) ! { ! /* Reversal of FP compares takes care -- an ordered compare ! becomes an unordered compare and vice versa. */ ! if (mode == CCFPmode) ! code = reverse_condition_maybe_unordered (code); ! else ! code = reverse_condition (code); ! } switch (code) { *************** first_reg_to_save () *** 7434,7486 **** || (DEFAULT_ABI == ABI_DARWIN && flag_pic))))) break; - if (current_function_profile) - { - /* AIX must save/restore every register that contains a parameter - before/after the .__mcount call plus an additional register - for the static chain, if needed; use registers from 30 down to 22 - to do this. */ - if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_DARWIN) - { - int last_parm_reg, profile_first_reg; - - /* Figure out last used parameter register. The proper thing - to do is to walk incoming args of the function. A function - might have live parameter registers even if it has no - incoming args. */ - for (last_parm_reg = 10; - last_parm_reg > 2 && ! regs_ever_live [last_parm_reg]; - last_parm_reg--) - ; - - /* Calculate first reg for saving parameter registers - and static chain. - Skip reg 31 which may contain the frame pointer. */ - profile_first_reg = (33 - last_parm_reg - - (current_function_needs_context ? 1 : 0)); - #if TARGET_MACHO - /* Need to skip another reg to account for R31 being PICBASE - (when flag_pic is set) or R30 being used as the frame - pointer (when flag_pic is not set). */ - --profile_first_reg; - #endif - /* Do not save frame pointer if no parameters needs to be saved. */ - if (profile_first_reg == 31) - profile_first_reg = 32; - - if (first_reg > profile_first_reg) - first_reg = profile_first_reg; - } - - /* SVR4 may need one register to preserve the static chain. */ - else if (current_function_needs_context) - { - /* Skip reg 31 which may contain the frame pointer. */ - if (first_reg > 30) - first_reg = 30; - } - } - #if TARGET_MACHO if (flag_pic && current_function_uses_pic_offset_table && (first_reg > RS6000_PIC_OFFSET_TABLE_REGNUM)) --- 7354,7359 ---- *************** rs6000_emit_load_toc_table (fromprolog) *** 8124,8214 **** rtx dest; dest = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM); ! if (TARGET_ELF && DEFAULT_ABI != ABI_AIX) { ! if (DEFAULT_ABI == ABI_V4 && flag_pic == 1) { ! rtx temp = (fromprolog ! ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM) ! : gen_reg_rtx (Pmode)); ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_pic_si (temp))); ! rs6000_maybe_dead (emit_move_insn (dest, temp)); } - else if (flag_pic == 2) - { - char buf[30]; - rtx tempLR = (fromprolog - ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM) - : gen_reg_rtx (Pmode)); - rtx temp0 = (fromprolog - ? gen_rtx_REG (Pmode, 0) - : gen_reg_rtx (Pmode)); - rtx symF; ! /* possibly create the toc section */ ! if (! toc_initialized) ! { ! toc_section (); ! function_section (current_function_decl); ! } ! ! if (fromprolog) ! { ! rtx symL; ! ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno); ! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCL", rs6000_pic_labelno); ! symL = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1 (tempLR, ! symF))); ! rs6000_maybe_dead (emit_move_insn (dest, tempLR)); ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_2 (temp0, dest, ! symL, ! symF))); ! } ! else ! { ! rtx tocsym; ! static int reload_toc_labelno = 0; ! tocsym = gen_rtx_SYMBOL_REF (Pmode, toc_label_name); ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCG", reload_toc_labelno++); ! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1b (tempLR, ! symF, ! tocsym))); ! rs6000_maybe_dead (emit_move_insn (dest, tempLR)); ! rs6000_maybe_dead (emit_move_insn (temp0, ! gen_rtx_MEM (Pmode, dest))); ! } ! rs6000_maybe_dead (emit_insn (gen_addsi3 (dest, temp0, dest))); ! } ! else if (flag_pic == 0 && TARGET_MINIMAL_TOC) ! { ! /* This is for AIX code running in non-PIC ELF. */ ! char buf[30]; ! rtx realsym; ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1); ! realsym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! ! rs6000_maybe_dead (emit_insn (gen_elf_high (dest, realsym))); ! rs6000_maybe_dead (emit_insn (gen_elf_low (dest, dest, realsym))); } ! else ! abort (); } ! else { if (TARGET_32BIT) ! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_si (dest))); else ! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_di (dest))); } } int --- 7997,8084 ---- rtx dest; dest = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM); ! if (TARGET_ELF && DEFAULT_ABI == ABI_V4 && flag_pic == 1) { ! rtx temp = (fromprolog ! ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM) ! : gen_reg_rtx (Pmode)); ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_pic_si (temp))); ! rs6000_maybe_dead (emit_move_insn (dest, temp)); ! } ! else if (TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2) ! { ! char buf[30]; ! rtx tempLR = (fromprolog ! ? gen_rtx_REG (Pmode, LINK_REGISTER_REGNUM) ! : gen_reg_rtx (Pmode)); ! rtx temp0 = (fromprolog ! ? gen_rtx_REG (Pmode, 0) ! : gen_reg_rtx (Pmode)); ! rtx symF; ! ! /* possibly create the toc section */ ! if (! toc_initialized) { ! toc_section (); ! function_section (current_function_decl); } ! if (fromprolog) ! { ! rtx symL; ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno); ! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCL", rs6000_pic_labelno); ! symL = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1 (tempLR, ! symF))); ! rs6000_maybe_dead (emit_move_insn (dest, tempLR)); ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_2 (temp0, dest, ! symL, ! symF))); ! } ! else ! { ! rtx tocsym; ! static int reload_toc_labelno = 0; ! tocsym = gen_rtx_SYMBOL_REF (Pmode, toc_label_name); ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCG", reload_toc_labelno++); ! symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! ! rs6000_maybe_dead (emit_insn (gen_load_toc_v4_PIC_1b (tempLR, ! symF, ! tocsym))); ! rs6000_maybe_dead (emit_move_insn (dest, tempLR)); ! rs6000_maybe_dead (emit_move_insn (temp0, ! gen_rtx_MEM (Pmode, dest))); } ! rs6000_maybe_dead (emit_insn (gen_addsi3 (dest, temp0, dest))); } ! else if (TARGET_ELF && !TARGET_AIX && flag_pic == 0 && TARGET_MINIMAL_TOC) ! { ! /* This is for AIX code running in non-PIC ELF32. */ ! char buf[30]; ! rtx realsym; ! ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1); ! realsym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)); ! ! rs6000_maybe_dead (emit_insn (gen_elf_high (dest, realsym))); ! rs6000_maybe_dead (emit_insn (gen_elf_low (dest, dest, realsym))); ! } ! else if (DEFAULT_ABI == ABI_AIX) { if (TARGET_32BIT) ! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_si (dest))); else ! rs6000_maybe_dead (emit_insn (gen_load_toc_aix_di (dest))); } + else + abort (); } int *************** output_mi_thunk (file, thunk_fndecl, del *** 9735,9757 **** fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta); } /* Large constants that can be done by one addis instruction. */ ! else if ((delta & 0xffff) == 0 && num_insns_constant_wide (delta) == 1) asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg, delta >> 16); /* 32-bit constants that can be done by an add and addis instruction. */ ! else if (TARGET_32BIT || num_insns_constant_wide (delta) == 1) { /* Break into two pieces, propagating the sign bit from the low word to the upper word. */ ! int delta_high = delta >> 16; ! int delta_low = delta & 0xffff; ! if ((delta_low & 0x8000) != 0) ! { ! delta_high++; ! delta_low = (delta_low ^ 0x8000) - 0x8000; /* sign extend */ ! } asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg, delta_high); --- 9605,9626 ---- fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta); } + /* 64-bit constants. If "int" is 32 bits, we'll never hit this abort. */ + else if (TARGET_64BIT && (delta < -2147483647 - 1 || delta > 2147483647)) + abort (); + /* Large constants that can be done by one addis instruction. */ ! else if ((delta & 0xffff) == 0) asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg, delta >> 16); /* 32-bit constants that can be done by an add and addis instruction. */ ! else { /* Break into two pieces, propagating the sign bit from the low word to the upper word. */ ! int delta_low = ((delta & 0xffff) ^ 0x8000) - 0x8000; ! int delta_high = (delta - delta_low) >> 16; asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg, delta_high); *************** output_mi_thunk (file, thunk_fndecl, del *** 9762,9771 **** fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta_low); } - /* 64-bit constants, fixme */ - else - abort (); - /* Get the prefix in front of the names. */ switch (DEFAULT_ABI) { --- 9631,9636 ---- *************** output_mi_thunk (file, thunk_fndecl, del *** 9821,9827 **** } assemble_name (file, fname); putc ('\n', file); ! text_section (); if (TARGET_MINIMAL_TOC) asm_fprintf (file, (TARGET_32BIT) ? "\t{l|lwz} %s,%s(%s)\n" : "\tld %s,%s(%s)\n", r12, --- 9686,9695 ---- } assemble_name (file, fname); putc ('\n', file); ! if (TARGET_ELF) ! function_section (current_function_decl); ! else ! text_section (); if (TARGET_MINIMAL_TOC) asm_fprintf (file, (TARGET_32BIT) ? "\t{l|lwz} %s,%s(%s)\n" : "\tld %s,%s(%s)\n", r12, *************** output_toc (file, x, labelno, mode) *** 10240,10247 **** abort ();/* It would be easy to make this work, but it doesn't now. */ if (POINTER_SIZE > GET_MODE_BITSIZE (mode)) ! lshift_double (low, high, POINTER_SIZE - GET_MODE_BITSIZE (mode), ! POINTER_SIZE, &low, &high, 0); if (TARGET_64BIT) { --- 10108,10124 ---- abort ();/* It would be easy to make this work, but it doesn't now. */ if (POINTER_SIZE > GET_MODE_BITSIZE (mode)) ! { ! #if HOST_BITS_PER_WIDE_INT == 32 ! lshift_double (low, high, POINTER_SIZE - GET_MODE_BITSIZE (mode), ! POINTER_SIZE, &low, &high, 0); ! #else ! low |= high << 32; ! low <<= POINTER_SIZE - GET_MODE_BITSIZE (mode); ! high = (HOST_WIDE_INT) low >> 32; ! low &= 0xffffffff; ! #endif ! } if (TARGET_64BIT) { *************** rs6000_gen_section_name (buf, filename, *** 10459,10468 **** void output_profile_hook (labelno) ! int labelno; { if (DEFAULT_ABI == ABI_AIX) { char buf[30]; const char *label_name; rtx fun; --- 10336,10348 ---- void output_profile_hook (labelno) ! int labelno ATTRIBUTE_UNUSED; { if (DEFAULT_ABI == ABI_AIX) { + #ifdef NO_PROFILE_COUNTERS + emit_library_call (init_one_libfunc (RS6000_MCOUNT), 0, VOIDmode, 0); + #else char buf[30]; const char *label_name; rtx fun; *************** output_profile_hook (labelno) *** 10473,10478 **** --- 10353,10359 ---- emit_library_call (init_one_libfunc (RS6000_MCOUNT), 0, VOIDmode, 1, fun, Pmode); + #endif } else if (DEFAULT_ABI == ABI_DARWIN) { *************** output_function_profiler (file, labelno) *** 10506,10511 **** --- 10387,10393 ---- int labelno; { char buf[100]; + int save_lr = 8; ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno); switch (DEFAULT_ABI) *************** output_function_profiler (file, labelno) *** 10514,10526 **** abort (); case ABI_V4: case ABI_AIX_NODESC: fprintf (file, "\tmflr %s\n", reg_names[0]); if (flag_pic == 1) { fputs ("\tbl _GLOBAL_OFFSET_TABLE_@local-4\n", file); ! asm_fprintf (file, "\t{st|stw} %s,4(%s)\n", ! reg_names[0], reg_names[1]); asm_fprintf (file, "\tmflr %s\n", reg_names[12]); asm_fprintf (file, "\t{l|lwz} %s,", reg_names[0]); assemble_name (file, buf); --- 10396,10416 ---- abort (); case ABI_V4: + save_lr = 4; + /* Fall through. */ + case ABI_AIX_NODESC: + if (!TARGET_32BIT) + { + warning ("no profiling of 64-bit code for this ABI"); + return; + } fprintf (file, "\tmflr %s\n", reg_names[0]); if (flag_pic == 1) { fputs ("\tbl _GLOBAL_OFFSET_TABLE_@local-4\n", file); ! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n", ! reg_names[0], save_lr, reg_names[1]); asm_fprintf (file, "\tmflr %s\n", reg_names[12]); asm_fprintf (file, "\t{l|lwz} %s,", reg_names[0]); assemble_name (file, buf); *************** output_function_profiler (file, labelno) *** 10528,10535 **** } else if (flag_pic > 1) { ! asm_fprintf (file, "\t{st|stw} %s,4(%s)\n", ! reg_names[0], reg_names[1]); /* Now, we need to get the address of the label. */ fputs ("\tbl 1f\n\t.long ", file); assemble_name (file, buf); --- 10418,10425 ---- } else if (flag_pic > 1) { ! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n", ! reg_names[0], save_lr, reg_names[1]); /* Now, we need to get the address of the label. */ fputs ("\tbl 1f\n\t.long ", file); assemble_name (file, buf); *************** output_function_profiler (file, labelno) *** 10545,10571 **** asm_fprintf (file, "\t{liu|lis} %s,", reg_names[12]); assemble_name (file, buf); fputs ("@ha\n", file); ! asm_fprintf (file, "\t{st|stw} %s,4(%s)\n", ! reg_names[0], reg_names[1]); asm_fprintf (file, "\t{cal|la} %s,", reg_names[0]); assemble_name (file, buf); asm_fprintf (file, "@l(%s)\n", reg_names[12]); } ! if (current_function_needs_context) ! asm_fprintf (file, "\tmr %s,%s\n", ! reg_names[30], reg_names[STATIC_CHAIN_REGNUM]); ! fprintf (file, "\tbl %s\n", RS6000_MCOUNT); ! if (current_function_needs_context) ! asm_fprintf (file, "\tmr %s,%s\n", ! reg_names[STATIC_CHAIN_REGNUM], reg_names[30]); break; case ABI_AIX: case ABI_DARWIN: /* Don't do anything, done in output_profile_hook (). */ break; - } } --- 10435,10466 ---- asm_fprintf (file, "\t{liu|lis} %s,", reg_names[12]); assemble_name (file, buf); fputs ("@ha\n", file); ! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n", ! reg_names[0], save_lr, reg_names[1]); asm_fprintf (file, "\t{cal|la} %s,", reg_names[0]); assemble_name (file, buf); asm_fprintf (file, "@l(%s)\n", reg_names[12]); } ! if (current_function_needs_context && DEFAULT_ABI == ABI_AIX_NODESC) ! { ! asm_fprintf (file, "\t{st|stw} %s,%d(%s)\n", ! reg_names[STATIC_CHAIN_REGNUM], ! 12, reg_names[1]); ! fprintf (file, "\tbl %s\n", RS6000_MCOUNT); ! asm_fprintf (file, "\t{l|lwz} %s,%d(%s)\n", ! reg_names[STATIC_CHAIN_REGNUM], ! 12, reg_names[1]); ! } ! else ! /* ABI_V4 saves the static chain reg with ASM_OUTPUT_REG_PUSH. */ ! fprintf (file, "\tbl %s\n", RS6000_MCOUNT); break; case ABI_AIX: case ABI_DARWIN: /* Don't do anything, done in output_profile_hook (). */ break; } } *************** rs6000_select_section (decl, reloc) *** 10886,10903 **** if (TREE_CODE (decl) == STRING_CST) readonly = ! flag_writable_strings; else if (TREE_CODE (decl) == VAR_DECL) ! readonly = (! (flag_pic && reloc) && TREE_READONLY (decl) && ! TREE_SIDE_EFFECTS (decl) && DECL_INITIAL (decl) && DECL_INITIAL (decl) != error_mark_node && TREE_CONSTANT (DECL_INITIAL (decl))); else if (TREE_CODE (decl) == CONSTRUCTOR) ! readonly = (! (flag_pic && reloc) && ! TREE_SIDE_EFFECTS (decl) && TREE_CONSTANT (decl)); else ! readonly = 1; if (needs_sdata && rs6000_sdata != SDATA_EABI) readonly = 0; --- 10781,10799 ---- if (TREE_CODE (decl) == STRING_CST) readonly = ! flag_writable_strings; else if (TREE_CODE (decl) == VAR_DECL) ! readonly = (! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc) && TREE_READONLY (decl) && ! TREE_SIDE_EFFECTS (decl) && DECL_INITIAL (decl) && DECL_INITIAL (decl) != error_mark_node && TREE_CONSTANT (DECL_INITIAL (decl))); else if (TREE_CODE (decl) == CONSTRUCTOR) ! readonly = (! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc) && ! TREE_SIDE_EFFECTS (decl) && TREE_CONSTANT (decl)); else ! readonly = ! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc); ! if (needs_sdata && rs6000_sdata != SDATA_EABI) readonly = 0; *************** rs6000_unique_section (decl, reloc) *** 10942,10955 **** int needs_sdata; int size; - readonly = 1; if (TREE_CODE (decl) == STRING_CST) readonly = ! flag_writable_strings; else if (TREE_CODE (decl) == VAR_DECL) ! readonly = (! (flag_pic && reloc) && TREE_READONLY (decl) && ! TREE_SIDE_EFFECTS (decl) && TREE_CONSTANT (DECL_INITIAL (decl))); size = int_size_in_bytes (TREE_TYPE (decl)); needs_sdata = (size > 0 --- 10838,10852 ---- int needs_sdata; int size; if (TREE_CODE (decl) == STRING_CST) readonly = ! flag_writable_strings; else if (TREE_CODE (decl) == VAR_DECL) ! readonly = (! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc) && TREE_READONLY (decl) && ! TREE_SIDE_EFFECTS (decl) && TREE_CONSTANT (DECL_INITIAL (decl))); + else + readonly = ! ((flag_pic || DEFAULT_ABI == ABI_AIX) && reloc); size = int_size_in_bytes (TREE_TYPE (decl)); needs_sdata = (size > 0 diff -Nrc3pad gcc-3.2/gcc/config/rs6000/rs6000.md gcc-3.2.1/gcc/config/rs6000/rs6000.md *** gcc-3.2/gcc/config/rs6000/rs6000.md Mon Jul 15 05:29:43 2002 --- gcc-3.2.1/gcc/config/rs6000/rs6000.md Mon Oct 7 04:21:05 2002 *************** *** 9641,9647 **** [(set (match_operand:SI 0 "register_operand" "=l") (match_operand:SI 1 "immediate_operand" "s")) (unspec [(match_dup 1)] 7)] ! "TARGET_ELF && flag_pic == 2" "bl %1\\n%1:" [(set_attr "type" "branch") (set_attr "length" "4")]) --- 9641,9647 ---- [(set (match_operand:SI 0 "register_operand" "=l") (match_operand:SI 1 "immediate_operand" "s")) (unspec [(match_dup 1)] 7)] ! "TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2" "bl %1\\n%1:" [(set_attr "type" "branch") (set_attr "length" "4")]) *************** *** 9650,9666 **** [(set (match_operand:SI 0 "register_operand" "=l") (match_operand:SI 1 "immediate_operand" "s")) (unspec [(match_dup 1) (match_operand 2 "immediate_operand" "s")] 6)] ! "TARGET_ELF && flag_pic == 2" "bl %1\\n\\t.long %2-%1+4\\n%1:" [(set_attr "type" "branch") (set_attr "length" "8")]) (define_insn "load_toc_v4_PIC_2" [(set (match_operand:SI 0 "register_operand" "=r") ! (mem:SI (plus:SI (match_operand:SI 1 "register_operand" "r") (minus:SI (match_operand:SI 2 "immediate_operand" "s") (match_operand:SI 3 "immediate_operand" "s")))))] ! "TARGET_ELF && flag_pic == 2" "{l|lwz} %0,%2-%3(%1)" [(set_attr "type" "load")]) --- 9650,9666 ---- [(set (match_operand:SI 0 "register_operand" "=l") (match_operand:SI 1 "immediate_operand" "s")) (unspec [(match_dup 1) (match_operand 2 "immediate_operand" "s")] 6)] ! "TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2" "bl %1\\n\\t.long %2-%1+4\\n%1:" [(set_attr "type" "branch") (set_attr "length" "8")]) (define_insn "load_toc_v4_PIC_2" [(set (match_operand:SI 0 "register_operand" "=r") ! (mem:SI (plus:SI (match_operand:SI 1 "register_operand" "b") (minus:SI (match_operand:SI 2 "immediate_operand" "s") (match_operand:SI 3 "immediate_operand" "s")))))] ! "TARGET_ELF && DEFAULT_ABI != ABI_AIX && flag_pic == 2" "{l|lwz} %0,%2-%3(%1)" [(set_attr "type" "load")]) *************** *** 11253,11267 **** "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") (plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "r,O")) ! (match_operand:SI 3 "gpc_reg_operand" "r,r"))) ! (clobber (match_scratch:SI 4 "=&r,&r"))] "TARGET_POWER" "@ ! doz %4,%2,%1\;{sfi|subfic} %4,%4,0\;{aze|addze} %0,%3 ! {srai|srawi} %4,%1,31\;{sf|subfc} %4,%1,%4\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" --- 11253,11266 ---- "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") (plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "r,O")) ! (match_operand:SI 3 "gpc_reg_operand" "r,r")))] "TARGET_POWER" "@ ! doz %0,%2,%1\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3 ! {srai|srawi} %0,%1,31\;{sf|subfc} %0,%1,%0\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" *************** *** 11292,11337 **** "TARGET_POWER && reload_completed" [(set (match_dup 4) (plus:SI (le:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_short_operand" "r,O,r,O")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r") ! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))] "TARGET_POWER" "@ ! doz %4,%2,%1\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3 ! {srai|srawi} %4,%1,31\;{sf|subfc} %4,%1,%4\;{aze.|addze.} %0,%3 # #" [(set_attr "type" "compare") (set_attr "length" "12,12,16,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "TARGET_POWER && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 11291,11333 ---- "TARGET_POWER && reload_completed" [(set (match_dup 4) (plus:SI (le:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_short_operand" "r,O,r,O")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r") ! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER" "@ ! doz %0,%2,%1\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3 ! {srai|srawi} %0,%1,31\;{sf|subfc} %0,%1,%0\;{aze.|addze.} %0,%3 # #" [(set_attr "type" "compare") (set_attr "length" "12,12,16,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (le:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER && reload_completed" ! [(set (match_dup 0) (plus:SI (le:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 11481,11517 **** "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r") ! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r"))] "! TARGET_POWERPC64" "@ ! {sf%I2|subf%I2c} %4,%1,%2\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "8,12")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 11477,11510 ---- "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") ! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64" "@ ! {sf%I2|subf%I2c} %0,%1,%2\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "8,12")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 11525,11538 **** [(set_attr "length" "12")]) (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=r") (and:SI (neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "rI"))) ! (match_operand:SI 3 "gpc_reg_operand" "r"))) ! (clobber (match_scratch:SI 4 "=&r"))] "! TARGET_POWERPC64" ! "{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4" [(set_attr "length" "12")]) (define_insn "" --- 11518,11530 ---- [(set_attr "length" "12")]) (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r") (and:SI (neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "rI"))) ! (match_operand:SI 3 "gpc_reg_operand" "r")))] "! TARGET_POWERPC64" ! "{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0" [(set_attr "length" "12")]) (define_insn "" *************** *** 11562,11595 **** (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) ! (and:SI (neg:SI (leu:SI (match_dup 1) ! (match_dup 2))) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y") (compare:CC (and:SI (neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI"))) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r") ! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r"))] "! TARGET_POWERPC64" "@ ! {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (and:SI (neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "") --- 11554,11585 ---- (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) ! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y") (compare:CC (and:SI (neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI"))) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") ! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))] "! TARGET_POWERPC64" "@ ! {sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (and:SI (neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "") *************** *** 11597,11609 **** (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) ! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 11587,11598 ---- (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))] "! TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) ! (and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) ! (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 11648,11660 **** "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=r") (plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "rI")) ! (match_operand:SI 3 "gpc_reg_operand" "r"))) ! (clobber (match_scratch:SI 4 "=&r"))] "TARGET_POWER" ! "doz%I2 %4,%1,%2\;{ai|addic} %4,%4,-1\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" --- 11637,11648 ---- "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r") (plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "rI")) ! (match_operand:SI 3 "gpc_reg_operand" "r")))] "TARGET_POWER" ! "doz%I2 %0,%1,%2\;{ai|addic} %0,%0,-1\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" *************** *** 11683,11726 **** "TARGET_POWER && reload_completed" [(set (match_dup 4) (plus:SI (lt:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r") ! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r"))] "TARGET_POWER" "@ ! doz%I2 %4,%1,%2\;{ai|addic} %4,%4,-1\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "TARGET_POWER && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 11671,11711 ---- "TARGET_POWER && reload_completed" [(set (match_dup 4) (plus:SI (lt:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") ! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER" "@ ! doz%I2 %0,%1,%2\;{ai|addic} %0,%0,-1\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (lt:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER && reload_completed" ! [(set (match_dup 0) (plus:SI (lt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 11815,11860 **** "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r") ! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3 ! {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3 # #" [(set_attr "type" "compare") (set_attr "length" "12,12,16,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_neg_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 11800,11842 ---- "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r") ! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;{sf.|subfc.} %0,%0,%3 ! {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;{sf.|subfc.} %0,%0,%3 # #" [(set_attr "type" "compare") (set_attr "length" "12,12,16,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_neg_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 11905,11925 **** (clobber (match_scratch:SI 3 ""))] "TARGET_POWER && reload_completed" [(parallel [(set (match_dup 0) ! (ge:SI (match_dup 1) (match_dup 2))) ! (clobber (match_dup 3))]) (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=r") (plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "rI")) ! (match_operand:SI 3 "gpc_reg_operand" "r"))) ! (clobber (match_scratch:SI 4 "=&r"))] "TARGET_POWER" ! "doz%I2 %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" --- 11887,11906 ---- (clobber (match_scratch:SI 3 ""))] "TARGET_POWER && reload_completed" [(parallel [(set (match_dup 0) ! (ge:SI (match_dup 1) (match_dup 2))) ! (clobber (match_dup 3))]) (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r") (plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "rI")) ! (match_operand:SI 3 "gpc_reg_operand" "r")))] "TARGET_POWER" ! "doz%I2 %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" *************** *** 11948,11991 **** "TARGET_POWER && reload_completed" [(set (match_dup 4) (plus:SI (ge:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r") ! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r"))] "TARGET_POWER" "@ ! doz%I2 %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "TARGET_POWER && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 11929,11969 ---- "TARGET_POWER && reload_completed" [(set (match_dup 4) (plus:SI (ge:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "rI,rI")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") ! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER" "@ ! doz%I2 %0,%1,%2\;{sfi|subfic} %0,%0,0\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (ge:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER && reload_completed" ! [(set (match_dup 0) (plus:SI (ge:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 12130,12168 **** "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r") ! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %4,%2,%1\;{aze.|addze.} %0,%3 ! {ai|addic} %4,%1,%n2\;{aze.|addze.} %0,%3 # #" [(set_attr "type" "compare") (set_attr "length" "8,8,12,12")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_neg_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 12108,12143 ---- "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r") ! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %0,%2,%1\;{aze.|addze.} %0,%3 ! {ai|addic} %0,%1,%n2\;{aze.|addze.} %0,%3 # #" [(set_attr "type" "compare") (set_attr "length" "8,8,12,12")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_neg_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 12178,12193 **** [(set_attr "length" "12")]) (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") (and:SI (neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))) ! (match_operand:SI 3 "gpc_reg_operand" "r,r"))) ! (clobber (match_scratch:SI 4 "=&r,&r"))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4 ! {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4" [(set_attr "length" "12")]) (define_insn "" --- 12153,12167 ---- [(set_attr "length" "12")]) (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") (and:SI (neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))) ! (match_operand:SI 3 "gpc_reg_operand" "r,r")))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0 ! {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;andc %0,%3,%0" [(set_attr "length" "12")]) (define_insn "" *************** *** 12219,12254 **** (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) ! (and:SI (neg:SI (geu:SI (match_dup 1) ! (match_dup 2))) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (and:SI (neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r") ! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4 ! {ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4 # #" [(set_attr "type" "compare") (set_attr "length" "12,12,16,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (and:SI (neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "") --- 12193,12226 ---- (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) ! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (and:SI (neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P,r,P"))) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r") ! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))] "! TARGET_POWERPC64" "@ ! {sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0 ! {ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;andc. %0,%3,%0 # #" [(set_attr "type" "compare") (set_attr "length" "12,12,16,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (and:SI (neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "") *************** *** 12256,12268 **** (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 12228,12238 ---- (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))] "! TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 12394,12406 **** [(set_attr "length" "12")]) (define_insn "" ! [(set (match_operand:DI 0 "gpc_reg_operand" "=r") (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r") (const_int 0)) ! (match_operand:DI 2 "gpc_reg_operand" "r"))) ! (clobber (match_scratch:DI 3 "=&r"))] "TARGET_POWERPC64" ! "addc %3,%1,%1\;subfe %3,%1,%3\;addze %0,%2" [(set_attr "length" "12")]) (define_insn "" --- 12364,12375 ---- [(set_attr "length" "12")]) (define_insn "" ! [(set (match_operand:DI 0 "gpc_reg_operand" "=&r") (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r") (const_int 0)) ! (match_operand:DI 2 "gpc_reg_operand" "r")))] "TARGET_POWERPC64" ! "addc %0,%1,%1\;subfe %0,%1,%0\;addze %0,%2" [(set_attr "length" "12")]) (define_insn "" *************** *** 12461,12552 **** "TARGET_POWERPC64 && reload_completed" [(set (match_dup 3) (plus:DI (gt:DI (match_dup 1) (const_int 0)) ! (match_dup 2))) (set (match_dup 0) (compare:CC (match_dup 3) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (const_int 0)) (match_operand:SI 2 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r") ! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2))) ! (clobber (match_scratch:SI 3 "=&r,&r"))] "! TARGET_POWERPC64" "@ ! {a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %0,%2 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "") (const_int 0)) (match_operand:SI 2 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2))) ! (clobber (match_scratch:SI 3 ""))] "! TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2))) ! (clobber (match_dup 3))]) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y") (compare:CC (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r,r") (const_int 0)) (match_operand:DI 2 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:DI 0 "gpc_reg_operand" "=r,r") ! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2))) ! (clobber (match_scratch:DI 3 "=&r,&r"))] "TARGET_POWERPC64" "@ ! addc %3,%1,%1\;subfe %3,%1,%3\;addze. %0,%2 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "") (const_int 0)) (match_operand:DI 2 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:DI 0 "gpc_reg_operand" "") ! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2))) ! (clobber (match_scratch:DI 3 ""))] "TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2))) ! (clobber (match_dup 3))]) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=r") (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "r")) ! (match_operand:SI 3 "gpc_reg_operand" "r"))) ! (clobber (match_scratch:SI 4 "=&r"))] "TARGET_POWER" ! "doz %4,%2,%1\;{ai|addic} %4,%4,-1\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" --- 12430,12514 ---- "TARGET_POWERPC64 && reload_completed" [(set (match_dup 3) (plus:DI (gt:DI (match_dup 1) (const_int 0)) ! (match_dup 2))) (set (match_dup 0) (compare:CC (match_dup 3) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (const_int 0)) (match_operand:SI 2 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") ! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))] "! TARGET_POWERPC64" "@ ! {a|addc} %0,%1,%1\;{sfe|subfe} %0,%1,%0\;{aze.|addze.} %0,%2 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "") (const_int 0)) (match_operand:SI 2 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))] "! TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2))) ! (set (match_dup 3) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 3 "cc_reg_operand" "=x,?y") (compare:CC (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r,r") (const_int 0)) (match_operand:DI 2 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r") ! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))] "TARGET_POWERPC64" "@ ! addc %0,%1,%1\;subfe %0,%1,%0\;addze. %0,%2 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 3 "cc_reg_not_cr0_operand" "") (compare:CC (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "") (const_int 0)) (match_operand:DI 2 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:DI 0 "gpc_reg_operand" "") ! (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))] "TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2))) ! (set (match_dup 3) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:SI 0 "gpc_reg_operand" "=&r") (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "r")) ! (match_operand:SI 3 "gpc_reg_operand" "r")))] "TARGET_POWER" ! "doz %0,%2,%1\;{ai|addic} %0,%0,-1\;{aze|addze} %0,%3" [(set_attr "length" "12")]) (define_insn "" *************** *** 12574,12618 **** (clobber (match_scratch:SI 4 ""))] "TARGET_POWER && reload_completed" [(set (match_dup 4) ! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "r,r")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r") ! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r"))] "TARGET_POWER" "@ ! doz %4,%2,%1\;{ai|addic} %4,%4,-1\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "TARGET_POWER && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 12536,12576 ---- (clobber (match_scratch:SI 4 ""))] "TARGET_POWER && reload_completed" [(set (match_dup 4) ! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,?y") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_short_operand" "r,r")) (match_operand:SI 3 "gpc_reg_operand" "r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r") ! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER" "@ ! doz %0,%2,%1\;{ai|addic} %0,%0,-1\;{aze.|addze.} %0,%3 #" [(set_attr "type" "compare") (set_attr "length" "12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWER && reload_completed" ! [(set (match_dup 0) (plus:SI (gt:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") *************** *** 12731,12745 **** [(set_attr "length" "8,12")]) (define_insn "" ! [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r") (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r") (match_operand:DI 2 "reg_or_short_operand" "I,rI")) ! (match_operand:DI 3 "reg_or_short_operand" "r,rI"))) ! (clobber (match_scratch:DI 4 "=&r,&r"))] "TARGET_POWERPC64" "@ ! addic %4,%1,%k2\;addze %0,%3 ! subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subf%I3c %0,%4,%3" [(set_attr "length" "8,12")]) (define_insn "" --- 12689,12702 ---- [(set_attr "length" "8,12")]) (define_insn "" ! [(set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r") (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r") (match_operand:DI 2 "reg_or_short_operand" "I,rI")) ! (match_operand:DI 3 "reg_or_short_operand" "r,rI")))] "TARGET_POWERPC64" "@ ! addic %0,%1,%k2\;addze %0,%3 ! subf%I2c %0,%1,%2\;subfe %0,%0,%0\;subf%I3c %0,%0,%3" [(set_attr "length" "8,12")]) (define_insn "" *************** *** 12770,12776 **** "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] --- 12727,12733 ---- "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 4) (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))) (set (match_dup 0) (compare:CC (match_dup 4) (const_int 0)))] *************** *** 12811,12887 **** "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_short_operand" "I,r,I,r")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r") ! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 "=&r,&r,&r,&r"))] "! TARGET_POWERPC64" "@ ! {ai|addic} %4,%1,%k2\;{aze.|addze.} %0,%3 ! {sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3 # #" [(set_attr "type" "compare") (set_attr "length" "8,12,12,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:SI 4 ""))] "! TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 5 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:DI 2 "reg_or_short_operand" "I,r,I,r")) (match_operand:DI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r") ! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:DI 4 "=&r,&r,&r,&r"))] "TARGET_POWERPC64" "@ ! addic %4,%1,%k2\;addze. %0,%3 ! subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subfc. %0,%4,%3 # #" [(set_attr "type" "compare") (set_attr "length" "8,12,12,16")]) (define_split ! [(set (match_operand:CC 5 "cc_reg_not_cr0_operand" "") (compare:CC (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "") (match_operand:DI 2 "reg_or_short_operand" "")) (match_operand:DI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:DI 0 "gpc_reg_operand" "") ! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_scratch:DI 4 ""))] "TARGET_POWERPC64 && reload_completed" ! [(parallel [(set (match_dup 0) (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (clobber (match_dup 4))]) ! (set (match_dup 5) (compare:CC (match_dup 0) (const_int 0)))] "") --- 12768,12838 ---- "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:SI 2 "reg_or_short_operand" "I,r,I,r")) (match_operand:SI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:SI 0 "gpc_reg_operand" "=&r,&r,&r,&r") ! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64" "@ ! {ai|addic} %0,%1,%k2\;{aze.|addze.} %0,%3 ! {sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;{sf.|subfc.} %0,%0,%3 # #" [(set_attr "type" "compare") (set_attr "length" "8,12,12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "") (match_operand:SI 2 "reg_or_short_operand" "")) (match_operand:SI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:SI 0 "gpc_reg_operand" "") ! (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))] "! TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") (define_insn "" ! [(set (match_operand:CC 4 "cc_reg_operand" "=x,x,?y,?y") (compare:CC (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r,r,r") (match_operand:DI 2 "reg_or_short_operand" "I,r,I,r")) (match_operand:DI 3 "gpc_reg_operand" "r,r,r,r")) (const_int 0))) ! (set (match_operand:DI 0 "gpc_reg_operand" "=&r,&r,&r,&r") ! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWERPC64" "@ ! addic %0,%1,%k2\;addze. %0,%3 ! subf%I2c %0,%1,%2\;subfe %0,%0,%0\;subfc. %0,%0,%3 # #" [(set_attr "type" "compare") (set_attr "length" "8,12,12,16")]) (define_split ! [(set (match_operand:CC 4 "cc_reg_not_cr0_operand" "") (compare:CC (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "") (match_operand:DI 2 "reg_or_short_operand" "")) (match_operand:DI 3 "gpc_reg_operand" "")) (const_int 0))) (set (match_operand:DI 0 "gpc_reg_operand" "") ! (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))] "TARGET_POWERPC64 && reload_completed" ! [(set (match_dup 0) (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3))) ! (set (match_dup 4) (compare:CC (match_dup 0) (const_int 0)))] "") diff -Nrc3pad gcc-3.2/gcc/config/rs6000/sysv4.h gcc-3.2.1/gcc/config/rs6000/sysv4.h *** gcc-3.2/gcc/config/rs6000/sysv4.h Thu Aug 8 17:52:40 2002 --- gcc-3.2.1/gcc/config/rs6000/sysv4.h Fri Sep 13 06:53:05 2002 *************** do { \ *** 770,775 **** --- 770,807 ---- ASM_OUTPUT_ALIGNED_LOCAL (FILE, NAME, SIZE, ALIGN); \ } while (0) + /* This is how to output code to push a register on the stack. + It need not be very fast code. + + On the rs6000, we must keep the backchain up to date. In order + to simplify things, always allocate 16 bytes for a push (System V + wants to keep stack aligned to a 16 byte boundary). */ + + #define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \ + do { \ + if (DEFAULT_ABI == ABI_V4) \ + asm_fprintf (FILE, \ + (TARGET_32BIT \ + ? "\t{stu|stwu} %s,-16(%s)\n\t{st|stw} %s,12(%s)\n" \ + : "\tstdu %s,-32(%s)\n\tstd %s,24(%s)\n"), \ + reg_names[1], reg_names[1], reg_names[REGNO], \ + reg_names[1]); \ + } while (0) + + /* This is how to output an insn to pop a register from the stack. + It need not be very fast code. */ + + #define ASM_OUTPUT_REG_POP(FILE, REGNO) \ + do { \ + if (DEFAULT_ABI == ABI_V4) \ + asm_fprintf (FILE, \ + (TARGET_32BIT \ + ? "\t{l|lwz} %s,12(%s)\n\t{ai|addic} %s,%s,16\n" \ + : "\tld %s,24(%s)\n\t{ai|addic} %s,%s,32\n"), \ + reg_names[REGNO], reg_names[1], reg_names[1], \ + reg_names[1]); \ + } while (0) + /* Switch Recognition by gcc.c. Add -G xx support. */ /* Override svr4.h definition. */ diff -Nrc3pad gcc-3.2/gcc/config/s390/s390.md gcc-3.2.1/gcc/config/s390/s390.md *** gcc-3.2/gcc/config/s390/s390.md Tue Jun 11 14:49:17 2002 --- gcc-3.2.1/gcc/config/s390/s390.md Wed Oct 23 10:46:00 2002 *************** *** 957,963 **** ldr\\t%0,%1 ld\\t%0,%1 std\\t%1,%0" ! [(set_attr "op_type" "RR,RXE,RXE,RR,RX,RX") (set_attr "atype" "reg,mem,mem,reg,mem,mem")]) (define_insn "*movdi_31" --- 957,963 ---- ldr\\t%0,%1 ld\\t%0,%1 std\\t%1,%0" ! [(set_attr "op_type" "RRE,RXE,RXE,RR,RX,RX") (set_attr "atype" "reg,mem,mem,reg,mem,mem")]) (define_insn "*movdi_31" *************** *** 1240,1246 **** lgr\\t%0,%1 lg\\t%0,%1 stg\\t%1,%0" ! [(set_attr "op_type" "RR,RX,RX,RR,RXE,RXE") (set_attr "atype" "reg,mem,mem,reg,mem,mem")]) (define_insn "*movdf_31" --- 1240,1246 ---- lgr\\t%0,%1 lg\\t%0,%1 stg\\t%1,%0" ! [(set_attr "op_type" "RR,RX,RX,RRE,RXE,RXE") (set_attr "atype" "reg,mem,mem,reg,mem,mem")]) (define_insn "*movdf_31" *************** *** 2111,2125 **** reg1 = gen_reg_rtx (DImode); } - if (! CONSTANT_P (len)) - len = force_reg (Pmode, len); - /* Load up the address+length pairs. */ emit_move_insn (gen_highpart (Pmode, reg0), addr0); ! emit_move_insn (gen_lowpart (Pmode, reg0), len); emit_move_insn (gen_highpart (Pmode, reg1), addr1); ! emit_move_insn (gen_lowpart (Pmode, reg1), len); /* Compare! */ if (TARGET_64BIT) --- 2111,2122 ---- reg1 = gen_reg_rtx (DImode); } /* Load up the address+length pairs. */ emit_move_insn (gen_highpart (Pmode, reg0), addr0); ! convert_move (gen_lowpart (Pmode, reg0), len, 1); emit_move_insn (gen_highpart (Pmode, reg1), addr1); ! convert_move (gen_lowpart (Pmode, reg1), len, 1); /* Compare! */ if (TARGET_64BIT) *************** *** 3226,3231 **** --- 3223,3241 ---- [(set_attr "op_type" "RR,RI,RX") (set_attr "atype" "reg,reg,mem")]) + (define_insn "*addsi3_inv" + [(set (match_operand:SI 0 "register_operand" "=d,d,d") + (plus:SI (match_operand:SI 1 "general_operand" "%d,K,m") + (match_operand:SI 2 "register_operand" "0,0,0"))) + (clobber (reg:CC 33))] + "" + "@ + ar\\t%0,%1 + ahi\\t%0,%h1 + a\\t%0,%1" + [(set_attr "op_type" "RR,RI,RX") + (set_attr "atype" "reg,reg,mem")]) + (define_insn "*la_31" [(set (match_operand:SI 0 "register_operand" "=d") (match_operand:QI 1 "address_operand" "p"))] *************** *** 5462,5468 **** "@ srlg\\t%0,%1,%c2 srlg\\t%0,%1,0(%2)" ! [(set_attr "op_type" "RS,RS")]) ; ; lshrsi3 instruction pattern(s). --- 5472,5478 ---- "@ srlg\\t%0,%1,%c2 srlg\\t%0,%1,0(%2)" ! [(set_attr "op_type" "RSE,RSE")]) ; ; lshrsi3 instruction pattern(s). diff -Nrc3pad gcc-3.2/gcc/config/sparc/freebsd.h gcc-3.2.1/gcc/config/sparc/freebsd.h *** gcc-3.2/gcc/config/sparc/freebsd.h Mon Apr 8 17:17:18 2002 --- gcc-3.2.1/gcc/config/sparc/freebsd.h Wed Nov 6 21:30:59 2002 *************** You should have received a copy of the G *** 18,28 **** along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! /* FreeBSD needs's the platform name (sparc64) defined. */ #undef CPP_CPU64_DEFAULT_SPEC ! #define CPP_CPU64_DEFAULT_SPEC "-D__sparc64__ -D__sparc_v9__" #undef CPP_PREDEFINES #define CPP_PREDEFINES FBSD_CPP_PREDEFINES --- 18,30 ---- along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! /* FreeBSD needs the platform name (sparc64) defined. ! Emacs needs to know if the arch is 64 or 32-bits. */ #undef CPP_CPU64_DEFAULT_SPEC ! #define CPP_CPU64_DEFAULT_SPEC "-D__sparc64__ -D__sparc_v9__ -D__arch64__" + /* Because we include sparc/sysv4.h. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES FBSD_CPP_PREDEFINES *************** the Free Software Foundation, 675 Mass A *** 99,104 **** --- 101,131 ---- #undef SPARC_DEFAULT_CMODEL #define SPARC_DEFAULT_CMODEL CM_MEDLOW + #define TRANSFER_FROM_TRAMPOLINE \ + static int need_enable_exec_stack; \ + static void check_enabling(void) __attribute__ ((constructor)); \ + static void check_enabling(void) \ + { \ + extern int sysctlbyname(const char *, void *, size_t *, void *, size_t);\ + int prot = 0; \ + size_t len = sizeof(prot); \ + \ + sysctlbyname ("kern.stackprot", &prot, &len, NULL, 0); \ + if (prot != 7) \ + need_enable_exec_stack = 1; \ + } \ + extern void __enable_execute_stack (void *); \ + void __enable_execute_stack (void *addr) \ + { \ + if (!need_enable_exec_stack) \ + return; \ + else { \ + /* 7 is PROT_READ | PROT_WRITE | PROT_EXEC */ \ + if (mprotect (addr, TRAMPOLINE_SIZE, 7) < 0) \ + perror ("mprotect of trampoline code"); \ + } \ + } + /************************[ Assembler stuff ]********************************/ diff -Nrc3pad gcc-3.2/gcc/config/sparc/linux64.h gcc-3.2.1/gcc/config/sparc/linux64.h *** gcc-3.2/gcc/config/sparc/linux64.h Mon Apr 29 04:09:50 2002 --- gcc-3.2.1/gcc/config/sparc/linux64.h Sat Oct 5 21:32:10 2002 *************** *** 1,5 **** /* Definitions for 64-bit SPARC running Linux-based GNU systems with ELF. ! Copyright 1996, 1997, 1998, 2000 Free Software Foundation, Inc. Contributed by David S. Miller (davem@caip.rutgers.edu) This file is part of GNU CC. --- 1,5 ---- /* Definitions for 64-bit SPARC running Linux-based GNU systems with ELF. ! Copyright 1996, 1997, 1998, 2000, 2002 Free Software Foundation, Inc. Contributed by David S. Miller (davem@caip.rutgers.edu) This file is part of GNU CC. *************** Boston, MA 02111-1307, USA. */ *** 56,93 **** #undef STARTFILE_SPEC ! #define STARTFILE_SPEC32 \ ! "%{!shared: \ ! %{pg:/usr/lib/gcrt1.o%s} %{!pg:%{/usr/lib/p:gcrt1.o%s} %{!p:/usr/lib/crt1.o%s}}}\ ! /usr/lib/crti.o%s %{static:crtbeginT.o%s}\ ! %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" ! ! #define STARTFILE_SPEC64 \ "%{!shared: \ ! %{pg:/usr/lib64/gcrt1.o%s} %{!pg:%{p:/usr/lib64/gcrt1.o%s} %{!p:/usr/lib64/crt1.o%s}}}\ ! /usr/lib64/crti.o%s %{static:crtbeginT.o%s}\ %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" - #ifdef SPARC_BI_ARCH - - #if DEFAULT_ARCH32_P - #define STARTFILE_SPEC "\ - %{m32:" STARTFILE_SPEC32 "} \ - %{m64:" STARTFILE_SPEC64 "} \ - %{!m32:%{!m64:" STARTFILE_SPEC32 "}}" - #else - #define STARTFILE_SPEC "\ - %{m32:" STARTFILE_SPEC32 "} \ - %{m64:" STARTFILE_SPEC64 "} \ - %{!m32:%{!m64:" STARTFILE_SPEC64 "}}" - #endif - - #else - - #define STARTFILE_SPEC STARTFILE_SPEC64 - - #endif - /* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on the GNU/Linux magical crtend.o file (see crtstuff.c) which provides part of the support for getting C++ file-scope static --- 56,67 ---- #undef STARTFILE_SPEC ! #define STARTFILE_SPEC \ "%{!shared: \ ! %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}}\ ! crti.o%s %{static:crtbeginT.o%s}\ %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" /* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on the GNU/Linux magical crtend.o file (see crtstuff.c) which provides part of the support for getting C++ file-scope static *************** Boston, MA 02111-1307, USA. */ *** 96,131 **** #undef ENDFILE_SPEC ! #define ENDFILE_SPEC32 \ ! "%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib/crtn.o%s" ! ! #define ENDFILE_SPEC64 \ ! "%{!shared:crtend.o%s} %{shared:crtendS.o%s} /usr/lib64/crtn.o%s" ! ! #define ENDFILE_SPEC_COMMON \ ! "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" ! ! #ifdef SPARC_BI_ARCH ! ! #if DEFAULT_ARCH32_P ! #define ENDFILE_SPEC "\ ! %{m32:" ENDFILE_SPEC32 "} \ ! %{m64:" ENDFILE_SPEC64 "} \ ! %{!m32:%{!m64:" ENDFILE_SPEC32 "}} " \ ! ENDFILE_SPEC_COMMON ! #else ! #define ENDFILE_SPEC "\ ! %{m32:" ENDFILE_SPEC32 "} \ ! %{m64:" ENDFILE_SPEC64 "} \ ! %{!m32:%{!m64:" ENDFILE_SPEC64 "}} " \ ! ENDFILE_SPEC_COMMON ! #endif ! ! #else ! ! #define ENDFILE_SPEC ENDFILE_SPEC64 " " ENDFILE_SPEC_COMMON ! ! #endif /* The GNU C++ standard library requires that these macros be defined. */ #undef CPLUSPLUS_CPP_SPEC --- 70,78 ---- #undef ENDFILE_SPEC ! #define ENDFILE_SPEC \ ! "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s\ ! %{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" /* The GNU C++ standard library requires that these macros be defined. */ #undef CPLUSPLUS_CPP_SPEC diff -Nrc3pad gcc-3.2/gcc/config/sparc/sol2-bi.h gcc-3.2.1/gcc/config/sparc/sol2-bi.h *** gcc-3.2/gcc/config/sparc/sol2-bi.h Mon Apr 22 19:53:42 2002 --- gcc-3.2.1/gcc/config/sparc/sol2-bi.h Sat Oct 5 21:32:10 2002 *************** *** 72,101 **** %{!mcpu*:%(asm_cpu_default)} \ " - #define STARTFILE_SPEC32 "\ - %{ansi:values-Xc.o%s} \ - %{!ansi: \ - %{traditional:values-Xt.o%s} \ - %{!traditional:values-Xa.o%s}}" - - #define STARTFILE_SPEC64 "\ - %{ansi:/usr/lib/sparcv9/values-Xc.o%s} \ - %{!ansi: \ - %{traditional:/usr/lib/sparcv9/values-Xt.o%s} \ - %{!traditional:/usr/lib/sparcv9/values-Xa.o%s}}" - - #if DEFAULT_ARCH32_P - #define STARTFILE_ARCH_SPEC "\ - %{m32:" STARTFILE_SPEC32 "} \ - %{m64:" STARTFILE_SPEC64 "} \ - %{!m32:%{!m64:" STARTFILE_SPEC32 "}}" - #else - #define STARTFILE_ARCH_SPEC "\ - %{m32:" STARTFILE_SPEC32 "} \ - %{m64:" STARTFILE_SPEC64 "} \ - %{!m32:%{!m64:" STARTFILE_SPEC64 "}}" - #endif - #undef STARTFILE_SPEC #define STARTFILE_SPEC "%{!shared: \ %{!symbolic: \ --- 72,77 ---- *************** *** 103,109 **** %{!p: \ %{pg:gcrt1.o%s gmon.o%s} \ %{!pg:crt1.o%s}}}} \ ! crti.o%s " STARTFILE_ARCH_SPEC " \ crtbegin.o%s" #undef CPP_CPU_DEFAULT_SPEC --- 79,88 ---- %{!p: \ %{pg:gcrt1.o%s gmon.o%s} \ %{!pg:crt1.o%s}}}} \ ! crti.o%s \ ! %{ansi:values-Xc.o%s} \ ! %{!ansi: %{traditional:values-Xt.o%s} \ ! %{!traditional:values-Xa.o%s}} \ crtbegin.o%s" #undef CPP_CPU_DEFAULT_SPEC diff -Nrc3pad gcc-3.2/gcc/config/sparc/sparc.c gcc-3.2.1/gcc/config/sparc/sparc.c *** gcc-3.2/gcc/config/sparc/sparc.c Sun May 26 02:42:21 2002 --- gcc-3.2.1/gcc/config/sparc/sparc.c Thu Sep 26 10:20:03 2002 *************** set_extends (insn) *** 8650,8656 **** return INTVAL (op1) >= 0; return (GET_CODE (op1) == REG && sparc_check_64 (op1, insn) == 1); } - case ASHIFT: case LSHIFTRT: return GET_MODE (SET_SRC (pat)) == SImode; /* Positive integers leave the high bits zero. */ --- 8650,8655 ---- diff -Nrc3pad gcc-3.2/gcc/config/sparc/sparc.md gcc-3.2.1/gcc/config/sparc/sparc.md *** gcc-3.2/gcc/config/sparc/sparc.md Sun May 5 21:45:02 2002 --- gcc-3.2.1/gcc/config/sparc/sparc.md Wed Oct 2 03:47:05 2002 *************** *** 2517,2523 **** ; }") ! ;; Be careful, fmovd does not exist when !arch64. ;; We match MEM moves directly when we have correct even ;; numbered registers, but fall into splits otherwise. ;; The constraint ordering here is really important to --- 2517,2523 ---- ; }") ! ;; Be careful, fmovd does not exist when !v9. ;; We match MEM moves directly when we have correct even ;; numbered registers, but fall into splits otherwise. ;; The constraint ordering here is really important to *************** *** 2531,2539 **** (define_insn "*movdi_insn_sp32_v9" [(set (match_operand:DI 0 "nonimmediate_operand" ! "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?f") (match_operand:DI 1 "input_operand" ! " J,J,U,T,r,o,i,r, f, T, o, f, f"))] "! TARGET_ARCH64 && TARGET_V9 && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)" "@ --- 2531,2539 ---- (define_insn "*movdi_insn_sp32_v9" [(set (match_operand:DI 0 "nonimmediate_operand" ! "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?f,?e,?e,?W") (match_operand:DI 1 "input_operand" ! " J,J,U,T,r,o,i,r, f, T, o, f, f, e, W, e"))] "! TARGET_ARCH64 && TARGET_V9 && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)" "@ *************** *** 2549,2557 **** ldd\\t%1, %0 # # ! #" ! [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,*") ! (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,2")]) (define_insn "*movdi_insn_sp32" [(set (match_operand:DI 0 "nonimmediate_operand" --- 2549,2561 ---- ldd\\t%1, %0 # # ! # ! fmovd\\t%1, %0 ! ldd\\t%1, %0 ! std\\t%1, %0" ! [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,*,fpmove,fpload,fpstore") ! (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,2,*,*,*") ! (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")]) (define_insn "*movdi_insn_sp32" [(set (match_operand:DI 0 "nonimmediate_operand" *************** *** 2861,2867 **** (define_split [(set (match_operand:DI 0 "register_operand" "") (match_operand:DI 1 "const_double_operand" ""))] ! "! TARGET_ARCH64 && reload_completed" [(clobber (const_int 0))] " { --- 2865,2878 ---- (define_split [(set (match_operand:DI 0 "register_operand" "") (match_operand:DI 1 "const_double_operand" ""))] ! "reload_completed ! && (! TARGET_V9 ! || (! TARGET_ARCH64 ! && ((GET_CODE (operands[0]) == REG ! && REGNO (operands[0]) < 32) ! || (GET_CODE (operands[0]) == SUBREG ! && GET_CODE (SUBREG_REG (operands[0])) == REG ! && REGNO (SUBREG_REG (operands[0])) < 32))))" [(clobber (const_int 0))] " { diff -Nrc3pad gcc-3.2/gcc/config/sparc/t-linux64 gcc-3.2.1/gcc/config/sparc/t-linux64 *** gcc-3.2/gcc/config/sparc/t-linux64 Fri Jun 21 11:25:58 2002 --- gcc-3.2.1/gcc/config/sparc/t-linux64 Tue Oct 8 21:58:53 2002 *************** *** 1,8 **** ! MULTILIB_OPTIONS = m64/m32 mno-app-regs|mcmodel=medany ! MULTILIB_DIRNAMES = 64 32 alt ! MULTILIB_MATCHES = mcmodel?medany=mcmodel?medmid ! MULTILIB_EXCEPTIONS = m32/mno-app-regs* m32/mcmodel=* ! MULTILIB_EXCLUSIONS = m32/!m64/mno-app-regs m32/!m64/mcmodel=medany LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib --- 1,6 ---- ! MULTILIB_OPTIONS = m64/m32 ! MULTILIB_DIRNAMES = 64 32 ! MULTILIB_OSDIRNAMES = ../lib64 ../lib LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib *************** INSTALL_LIBGCC = install-multilib *** 10,19 **** EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \ crtfastmath.o - SHLIB_SLIBDIR_SUFFIXES = 64:64 32: - # Override t-slibgcc-elf-ver to export some libgcc symbols with # the symbol versions that glibc used. # Avoid the t-linux version file. SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \ $(srcdir)/config/sparc/libgcc-sparc-glibc.ver --- 8,19 ---- EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \ crtfastmath.o # Override t-slibgcc-elf-ver to export some libgcc symbols with # the symbol versions that glibc used. # Avoid the t-linux version file. SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \ $(srcdir)/config/sparc/libgcc-sparc-glibc.ver + + CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \ + -print-multi-os-directory) \ + = x../lib64; then echo -mcmodel=medany; fi` diff -Nrc3pad gcc-3.2/gcc/config/sparc/t-netbsd64 gcc-3.2.1/gcc/config/sparc/t-netbsd64 *** gcc-3.2/gcc/config/sparc/t-netbsd64 Tue Feb 19 17:43:25 2002 --- gcc-3.2.1/gcc/config/sparc/t-netbsd64 Wed Sep 4 21:34:47 2002 *************** *** 1,6 **** ! MULTILIB_OPTIONS = m32/m64 ! MULTILIB_DIRNAMES = 32 64 ! MULTILIB_MATCHES = ! LIBGCC = stmp-multilib ! INSTALL_LIBGCC = install-multilib --- 1,8 ---- ! # Disable multilib fow now, as NetBSD/sparc64 does not ship with ! # a 32-bit environment. ! #MULTILIB_OPTIONS = m32/m64 ! #MULTILIB_DIRNAMES = 32 64 ! #MULTILIB_MATCHES = ! #LIBGCC = stmp-multilib ! #INSTALL_LIBGCC = install-multilib diff -Nrc3pad gcc-3.2/gcc/config/sparc/t-sol2-64 gcc-3.2.1/gcc/config/sparc/t-sol2-64 *** gcc-3.2/gcc/config/sparc/t-sol2-64 Fri Jun 21 11:25:58 2002 --- gcc-3.2.1/gcc/config/sparc/t-sol2-64 Sat Oct 5 21:32:10 2002 *************** *** 1,11 **** MULTILIB_OPTIONS = m32/m64 MULTILIB_DIRNAMES = sparcv7 sparcv9 MULTILIB_MATCHES = LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o gmon.o crt1.o crti.o crtn.o gcrt1.o \ crtfastmath.o - - SHLIB_SLIBDIR_SUFFIXES = sparcv9:/sparcv9 sparcv7: --- 1,10 ---- MULTILIB_OPTIONS = m32/m64 MULTILIB_DIRNAMES = sparcv7 sparcv9 MULTILIB_MATCHES = + MULTILIB_OSDIRNAMES = . sparcv9 LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o gmon.o crt1.o crti.o crtn.o gcrt1.o \ crtfastmath.o diff -Nrc3pad gcc-3.2/gcc/config/xtensa/elf.h gcc-3.2.1/gcc/config/xtensa/elf.h *** gcc-3.2/gcc/config/xtensa/elf.h Wed Jan 23 21:03:50 2002 --- gcc-3.2.1/gcc/config/xtensa/elf.h Tue Nov 5 21:33:24 2002 *************** Software Foundation, 59 Temple Place - S *** 58,64 **** #undef ASM_FINAL_SPEC #undef LIB_SPEC ! #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim" #undef STARTFILE_SPEC #define STARTFILE_SPEC "crt1-sim%O%s crti%O%s crtbegin%O%s _vectors%O%s" --- 58,64 ---- #undef ASM_FINAL_SPEC #undef LIB_SPEC ! #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" #undef STARTFILE_SPEC #define STARTFILE_SPEC "crt1-sim%O%s crti%O%s crtbegin%O%s _vectors%O%s" diff -Nrc3pad gcc-3.2/gcc/config/xtensa/xtensa-protos.h gcc-3.2.1/gcc/config/xtensa/xtensa-protos.h *** gcc-3.2/gcc/config/xtensa/xtensa-protos.h Fri Jun 28 19:40:31 2002 --- gcc-3.2.1/gcc/config/xtensa/xtensa-protos.h Mon Sep 30 20:34:09 2002 *************** *** 1,5 **** /* Prototypes of target machine for GNU compiler for Xtensa. ! Copyright (C) 2001 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. --- 1,5 ---- /* Prototypes of target machine for GNU compiler for Xtensa. ! Copyright 2001,2002 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. *************** extern void xtensa_reorg PARAMS ((rtx)); *** 89,95 **** extern rtx xtensa_return_addr PARAMS ((int, rtx)); extern rtx xtensa_builtin_saveregs PARAMS ((void)); extern enum reg_class xtensa_preferred_reload_class ! PARAMS ((rtx, enum reg_class)); extern enum reg_class xtensa_secondary_reload_class PARAMS ((enum reg_class, enum machine_mode, rtx, int)); extern int a7_overlap_mentioned_p PARAMS ((rtx x)); --- 89,95 ---- extern rtx xtensa_return_addr PARAMS ((int, rtx)); extern rtx xtensa_builtin_saveregs PARAMS ((void)); extern enum reg_class xtensa_preferred_reload_class ! PARAMS ((rtx, enum reg_class, int)); extern enum reg_class xtensa_secondary_reload_class PARAMS ((enum reg_class, enum machine_mode, rtx, int)); extern int a7_overlap_mentioned_p PARAMS ((rtx x)); diff -Nrc3pad gcc-3.2/gcc/config/xtensa/xtensa.c gcc-3.2.1/gcc/config/xtensa/xtensa.c *** gcc-3.2/gcc/config/xtensa/xtensa.c Fri Jun 28 19:40:31 2002 --- gcc-3.2.1/gcc/config/xtensa/xtensa.c Mon Sep 30 20:34:09 2002 *************** *** 1,5 **** /* Subroutines for insn-output.c for Tensilica's Xtensa architecture. ! Copyright (C) 2001 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. --- 1,5 ---- /* Subroutines for insn-output.c for Tensilica's Xtensa architecture. ! Copyright 2001,2002 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. *************** const char xtensa_leaf_regs[FIRST_PSEUDO *** 104,113 **** /* Map hard register number to register class */ const enum reg_class xtensa_regno_to_class[FIRST_PSEUDO_REGISTER] = { ! GR_REGS, SP_REG, GR_REGS, GR_REGS, ! GR_REGS, GR_REGS, GR_REGS, GR_REGS, ! GR_REGS, GR_REGS, GR_REGS, GR_REGS, ! GR_REGS, GR_REGS, GR_REGS, GR_REGS, AR_REGS, AR_REGS, BR_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, --- 104,113 ---- /* Map hard register number to register class */ const enum reg_class xtensa_regno_to_class[FIRST_PSEUDO_REGISTER] = { ! RL_REGS, SP_REG, RL_REGS, RL_REGS, ! RL_REGS, RL_REGS, RL_REGS, GR_REGS, ! RL_REGS, RL_REGS, RL_REGS, RL_REGS, ! RL_REGS, RL_REGS, RL_REGS, RL_REGS, AR_REGS, AR_REGS, BR_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, FP_REGS, *************** xtensa_va_arg (valist, type) *** 2625,2640 **** enum reg_class ! xtensa_preferred_reload_class (x, class) rtx x; enum reg_class class; { ! if (CONSTANT_P (x) && GET_CODE (x) == CONST_DOUBLE) return NO_REGS; ! /* Don't use sp for reloads! */ ! if (class == AR_REGS) ! return GR_REGS; return class; } --- 2625,2646 ---- enum reg_class ! xtensa_preferred_reload_class (x, class, isoutput) rtx x; enum reg_class class; + int isoutput; { ! if (!isoutput && CONSTANT_P (x) && GET_CODE (x) == CONST_DOUBLE) return NO_REGS; ! /* Don't use the stack pointer or hard frame pointer for reloads! ! The hard frame pointer would normally be OK except that it may ! briefly hold an incoming argument in the prologue, and reload ! won't know that it is live because the hard frame pointer is ! treated specially. */ ! ! if (class == AR_REGS || class == GR_REGS) ! return RL_REGS; return class; } *************** xtensa_secondary_reload_class (class, mo *** 2656,2668 **** if (!isoutput) { if (class == FP_REGS && constantpool_mem_p (x)) ! return GR_REGS; } if (ACC_REG_P (regno)) ! return (class == GR_REGS ? NO_REGS : GR_REGS); if (class == ACC_REG) ! return (GP_REG_P (regno) ? NO_REGS : GR_REGS); return NO_REGS; } --- 2662,2674 ---- if (!isoutput) { if (class == FP_REGS && constantpool_mem_p (x)) ! return RL_REGS; } if (ACC_REG_P (regno)) ! return ((class == GR_REGS || class == RL_REGS) ? NO_REGS : RL_REGS); if (class == ACC_REG) ! return (GP_REG_P (regno) ? NO_REGS : RL_REGS); return NO_REGS; } diff -Nrc3pad gcc-3.2/gcc/config/xtensa/xtensa.h gcc-3.2.1/gcc/config/xtensa/xtensa.h *** gcc-3.2/gcc/config/xtensa/xtensa.h Fri Jun 28 19:40:31 2002 --- gcc-3.2.1/gcc/config/xtensa/xtensa.h Mon Sep 30 20:34:09 2002 *************** *** 1,5 **** /* Definitions of Tensilica's Xtensa target machine for GNU compiler. ! Copyright (C) 2001 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. --- 1,5 ---- /* Definitions of Tensilica's Xtensa target machine for GNU compiler. ! Copyright 2001,2002 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. *************** enum reg_class *** 570,575 **** --- 570,576 ---- FP_REGS, /* floating point registers */ ACC_REG, /* MAC16 accumulator */ SP_REG, /* sp register (aka a1) */ + RL_REGS, /* preferred reload regs (not sp or fp) */ GR_REGS, /* integer registers except sp */ AR_REGS, /* all integer registers */ ALL_REGS, /* all registers */ *************** enum reg_class *** 590,595 **** --- 591,597 ---- "FP_REGS", \ "ACC_REG", \ "SP_REG", \ + "RL_REGS", \ "GR_REGS", \ "AR_REGS", \ "ALL_REGS" \ *************** enum reg_class *** 605,610 **** --- 607,613 ---- { 0xfff80000, 0x00000007 }, /* floating-point registers */ \ { 0x00000000, 0x00000008 }, /* MAC16 accumulator */ \ { 0x00000002, 0x00000000 }, /* stack pointer register */ \ + { 0x0000ff7d, 0x00000000 }, /* preferred reload registers */ \ { 0x0000fffd, 0x00000000 }, /* general-purpose registers */ \ { 0x0003ffff, 0x00000000 }, /* integer registers */ \ { 0xffffffff, 0x0000000f } /* all registers */ \ *************** extern enum reg_class xtensa_char_to_cla *** 720,729 **** : FALSE) #define PREFERRED_RELOAD_CLASS(X, CLASS) \ ! xtensa_preferred_reload_class (X, CLASS) #define PREFERRED_OUTPUT_RELOAD_CLASS(X, CLASS) \ ! (CLASS) #define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, X) \ xtensa_secondary_reload_class (CLASS, MODE, X, 0) --- 723,732 ---- : FALSE) #define PREFERRED_RELOAD_CLASS(X, CLASS) \ ! xtensa_preferred_reload_class (X, CLASS, 0) #define PREFERRED_OUTPUT_RELOAD_CLASS(X, CLASS) \ ! xtensa_preferred_reload_class (X, CLASS, 1) #define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, X) \ xtensa_secondary_reload_class (CLASS, MODE, X, 0) diff -Nrc3pad gcc-3.2/gcc/config.gcc gcc-3.2.1/gcc/config.gcc *** gcc-3.2/gcc/config.gcc Tue Aug 6 15:20:55 2002 --- gcc-3.2.1/gcc/config.gcc Wed Oct 23 17:28:29 2002 *************** i[34567]86-*-rtems*|i[34567]86-*-rtemsel *** 1405,1411 **** i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 xm_defines=POSIX install_headers_dir=install-headers-cpio ! tm_file=i386/sco5.h if test x$gas = xyes then tm_file="usegas.h ${tm_file}" --- 1405,1411 ---- i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 xm_defines=POSIX install_headers_dir=install-headers-cpio ! tm_file="${tm_file} i386/att.h i386/sco5.h" if test x$gas = xyes then tm_file="usegas.h ${tm_file}" diff -Nrc3pad gcc-3.2/gcc/configure gcc-3.2.1/gcc/configure *** gcc-3.2/gcc/configure Sat Jun 29 00:20:11 2002 --- gcc-3.2.1/gcc/configure Fri Sep 6 10:58:48 2002 *************** EOF *** 7578,7619 **** fi ! if test "x$gcc_cv_as_flags64" != xno; then ! echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 echo "configure:7584: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ! gcc_cv_as_offsetable_lo10=unknown ! if test "x$gcc_cv_as" != x; then ! # Check if assembler has offsetable %lo() ! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s ! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s ! if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \ ! > /dev/null 2>&1 && ! $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \ ! > /dev/null 2>&1; then ! if cmp conftest.o conftest1.o > /dev/null 2>&1; then ! gcc_cv_as_offsetable_lo10=no ! else ! gcc_cv_as_offsetable_lo10=yes ! fi ! else gcc_cv_as_offsetable_lo10=no fi ! rm -f conftest.s conftest.o conftest1.s conftest1.o fi ! fi echo "$ac_t""$gcc_cv_as_offsetable_lo10" 1>&6 ! if test "x$gcc_cv_as_offsetable_lo10" = xyes; then ! cat >> confdefs.h <<\EOF #define HAVE_AS_OFFSETABLE_LO10 1 EOF - fi fi ;; --- 7578,7617 ---- fi ! echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 echo "configure:7584: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ! gcc_cv_as_offsetable_lo10=unknown ! if test "x$gcc_cv_as" != x; then ! # Check if assembler has offsetable %lo() ! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s ! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s ! if $gcc_cv_as -xarch=v9 -o conftest.o conftest.s \ ! > /dev/null 2>&1 && ! $gcc_cv_as -xarch=v9 -o conftest1.o conftest1.s \ ! > /dev/null 2>&1; then ! if cmp conftest.o conftest1.o > /dev/null 2>&1; then gcc_cv_as_offsetable_lo10=no + else + gcc_cv_as_offsetable_lo10=yes fi ! else ! gcc_cv_as_offsetable_lo10=no fi ! rm -f conftest.s conftest.o conftest1.s conftest1.o ! fi ! fi echo "$ac_t""$gcc_cv_as_offsetable_lo10" 1>&6 ! if test "x$gcc_cv_as_offsetable_lo10" = xyes; then ! cat >> confdefs.h <<\EOF #define HAVE_AS_OFFSETABLE_LO10 1 EOF fi ;; diff -Nrc3pad gcc-3.2/gcc/configure.in gcc-3.2.1/gcc/configure.in *** gcc-3.2/gcc/configure.in Sat Jun 29 00:20:11 2002 --- gcc-3.2.1/gcc/configure.in Fri Sep 6 10:58:47 2002 *************** EOF *** 1846,1878 **** [Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.]) fi ! if test "x$gcc_cv_as_flags64" != xno; then ! AC_CACHE_CHECK([for assembler offsetable %lo() support], ! gcc_cv_as_offsetable_lo10, [ ! gcc_cv_as_offsetable_lo10=unknown ! if test "x$gcc_cv_as" != x; then ! # Check if assembler has offsetable %lo() ! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s ! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s ! if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \ ! > /dev/null 2>&1 && ! $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \ ! > /dev/null 2>&1; then ! if cmp conftest.o conftest1.o > /dev/null 2>&1; then ! gcc_cv_as_offsetable_lo10=no ! else ! gcc_cv_as_offsetable_lo10=yes ! fi ! else gcc_cv_as_offsetable_lo10=no fi ! rm -f conftest.s conftest.o conftest1.s conftest1.o fi ! ]) ! if test "x$gcc_cv_as_offsetable_lo10" = xyes; then ! AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1, ! [Define if your assembler supports offsetable %lo().]) fi fi ;; --- 1846,1876 ---- [Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.]) fi ! AC_CACHE_CHECK([for assembler offsetable %lo() support], ! gcc_cv_as_offsetable_lo10, [ ! gcc_cv_as_offsetable_lo10=unknown ! if test "x$gcc_cv_as" != x; then ! # Check if assembler has offsetable %lo() ! echo "or %g1, %lo(ab) + 12, %g1" > conftest.s ! echo "or %g1, %lo(ab + 12), %g1" > conftest1.s ! if $gcc_cv_as -xarch=v9 -o conftest.o conftest.s \ ! > /dev/null 2>&1 && ! $gcc_cv_as -xarch=v9 -o conftest1.o conftest1.s \ ! > /dev/null 2>&1; then ! if cmp conftest.o conftest1.o > /dev/null 2>&1; then gcc_cv_as_offsetable_lo10=no + else + gcc_cv_as_offsetable_lo10=yes fi ! else ! gcc_cv_as_offsetable_lo10=no fi ! rm -f conftest.s conftest.o conftest1.s conftest1.o fi + ]) + if test "x$gcc_cv_as_offsetable_lo10" = xyes; then + AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1, + [Define if your assembler supports offsetable %lo().]) fi ;; diff -Nrc3pad gcc-3.2/gcc/cppfiles.c gcc-3.2.1/gcc/cppfiles.c *** gcc-3.2/gcc/cppfiles.c Fri Jan 18 13:40:28 2002 --- gcc-3.2.1/gcc/cppfiles.c Thu Aug 15 19:46:35 2002 *************** stack_include_file (pfile, inc) *** 310,318 **** sysp = MAX ((pfile->map ? pfile->map->sysp : 0), (inc->foundhere ? inc->foundhere->sysp : 0)); ! /* For -M, add the file to the dependencies on its first inclusion. */ ! if (CPP_OPTION (pfile, print_deps) > sysp && !inc->include_count) ! deps_add_dep (pfile->deps, inc->name); /* Not in cache? */ if (! inc->buffer) --- 310,321 ---- sysp = MAX ((pfile->map ? pfile->map->sysp : 0), (inc->foundhere ? inc->foundhere->sysp : 0)); ! /* Add the file to the dependencies on its first inclusion. */ ! if (CPP_OPTION (pfile, print_deps) > !!sysp && !inc->include_count) ! { ! if (pfile->buffer || CPP_OPTION (pfile, deps_ignore_main_file) == 0) ! deps_add_dep (pfile->deps, inc->name); ! } /* Not in cache? */ if (! inc->buffer) diff -Nrc3pad gcc-3.2/gcc/cppinit.c gcc-3.2.1/gcc/cppinit.c *** gcc-3.2/gcc/cppinit.c Fri May 24 09:26:48 2002 --- gcc-3.2.1/gcc/cppinit.c Sun Oct 6 08:21:21 2002 *************** static void mark_named_operators PARAMS *** 103,111 **** static void append_include_chain PARAMS ((cpp_reader *, char *, int, int)); static struct search_path * remove_dup_dir PARAMS ((cpp_reader *, struct search_path *)); static struct search_path * remove_dup_dirs PARAMS ((cpp_reader *, ! struct search_path *)); static void merge_include_chains PARAMS ((cpp_reader *)); static bool push_include PARAMS ((cpp_reader *, struct pending_option *)); --- 103,115 ---- static void append_include_chain PARAMS ((cpp_reader *, char *, int, int)); static struct search_path * remove_dup_dir PARAMS ((cpp_reader *, + struct search_path *, + struct search_path **)); + static struct search_path * remove_dup_nonsys_dirs PARAMS ((cpp_reader *, + struct search_path **, struct search_path *)); static struct search_path * remove_dup_dirs PARAMS ((cpp_reader *, ! struct search_path **)); static void merge_include_chains PARAMS ((cpp_reader *)); static bool push_include PARAMS ((cpp_reader *, struct pending_option *)); *************** path_include (pfile, list, path) *** 189,195 **** name[q - p] = 0; } ! append_include_chain (pfile, name, path, 0); /* Advance past this name. */ if (*q == 0) --- 193,199 ---- name[q - p] = 0; } ! append_include_chain (pfile, name, path, path == SYSTEM); /* Advance past this name. */ if (*q == 0) *************** append_include_chain (pfile, dir, path, *** 272,326 **** } /* Handle a duplicated include path. PREV is the link in the chain ! before the duplicate. The duplicate is removed from the chain and ! freed. Returns PREV. */ static struct search_path * ! remove_dup_dir (pfile, prev) cpp_reader *pfile; struct search_path *prev; { ! struct search_path *cur = prev->next; if (CPP_OPTION (pfile, verbose)) fprintf (stderr, _("ignoring duplicate directory \"%s\"\n"), cur->name); - prev->next = cur->next; free ((PTR) cur->name); free (cur); return prev; } /* Remove duplicate directories from a chain. Returns the tail of the chain, or NULL if the chain is empty. This algorithm is quadratic in the number of -I switches, which is acceptable since there aren't usually that many of them. */ static struct search_path * ! remove_dup_dirs (pfile, head) cpp_reader *pfile; ! struct search_path *head; { struct search_path *prev = NULL, *cur, *other; ! for (cur = head; cur; cur = cur->next) { ! for (other = head; other != cur; other = other->next) if (INO_T_EQ (cur->ino, other->ino) && cur->dev == other->dev) { ! if (cur->sysp && !other->sysp) ! { ! cpp_warning (pfile, ! "changing search order for system directory \"%s\"", ! cur->name); ! if (strcmp (cur->name, other->name)) ! cpp_warning (pfile, ! " as it is the same as non-system directory \"%s\"", ! other->name); ! else ! cpp_warning (pfile, ! " as it has already been specified as a non-system directory"); ! } ! cur = remove_dup_dir (pfile, prev); break; } prev = cur; --- 276,373 ---- } /* Handle a duplicated include path. PREV is the link in the chain ! before the duplicate, or NULL if the duplicate is at the head of ! the chain. The duplicate is removed from the chain and freed. ! Returns PREV. */ static struct search_path * ! remove_dup_dir (pfile, prev, head_ptr) cpp_reader *pfile; struct search_path *prev; + struct search_path **head_ptr; { ! struct search_path *cur; ! ! if (prev != NULL) ! { ! cur = prev->next; ! prev->next = cur->next; ! } ! else ! { ! cur = *head_ptr; ! *head_ptr = cur->next; ! } if (CPP_OPTION (pfile, verbose)) fprintf (stderr, _("ignoring duplicate directory \"%s\"\n"), cur->name); free ((PTR) cur->name); free (cur); return prev; } + /* Remove duplicate non-system directories for which there is an equivalent + system directory later in the chain. The range for removal is between + *HEAD_PTR and END. Returns the directory before END, or NULL if none. + This algorithm is quadratic in the number of system directories, which is + acceptable since there aren't usually that many of them. */ + static struct search_path * + remove_dup_nonsys_dirs (pfile, head_ptr, end) + cpp_reader *pfile; + struct search_path **head_ptr; + struct search_path *end; + { + int sysdir = 0; + struct search_path *prev = NULL, *cur, *other; + + for (cur = *head_ptr; cur; cur = cur->next) + { + if (cur->sysp) + { + sysdir = 1; + for (other = *head_ptr, prev = NULL; + other != end; + other = other ? other->next : *head_ptr) + { + if (!other->sysp + && INO_T_EQ (cur->ino, other->ino) + && cur->dev == other->dev) + { + other = remove_dup_dir (pfile, prev, head_ptr); + if (CPP_OPTION (pfile, verbose)) + fprintf (stderr, + _(" as it is a non-system directory that duplicates a system directory\n")); + } + prev = other; + } + } + } + + if (!sysdir) + for (cur = *head_ptr; cur != end; cur = cur->next) + prev = cur; + + return prev; + } + /* Remove duplicate directories from a chain. Returns the tail of the chain, or NULL if the chain is empty. This algorithm is quadratic in the number of -I switches, which is acceptable since there aren't usually that many of them. */ static struct search_path * ! remove_dup_dirs (pfile, head_ptr) cpp_reader *pfile; ! struct search_path **head_ptr; { struct search_path *prev = NULL, *cur, *other; ! for (cur = *head_ptr; cur; cur = cur->next) { ! for (other = *head_ptr; other != cur; other = other->next) if (INO_T_EQ (cur->ino, other->ino) && cur->dev == other->dev) { ! cur = remove_dup_dir (pfile, prev, head_ptr); break; } prev = cur; *************** merge_include_chains (pfile) *** 358,385 **** else brack = systm; ! /* This is a bit tricky. First we drop dupes from the quote-include ! list. Then we drop dupes from the bracket-include list. ! Finally, if qtail and brack are the same directory, we cut out ! brack and move brack up to point to qtail. We can't just merge the lists and then uniquify them because then we may lose directories from the <> search path that should ! be there; consider -Ifoo -Ibar -I- -Ifoo -Iquux. It is however safe to treat -Ibar -Ifoo -I- -Ifoo -Iquux as if written -Ibar -I- -Ifoo -Iquux. */ ! remove_dup_dirs (pfile, brack); ! qtail = remove_dup_dirs (pfile, quote); if (quote) { qtail->next = brack; /* If brack == qtail, remove brack as it's simpler. */ ! if (brack && INO_T_EQ (qtail->ino, brack->ino) && qtail->dev == brack->dev) ! brack = remove_dup_dir (pfile, qtail); } else quote = brack; --- 405,437 ---- else brack = systm; ! /* This is a bit tricky. First we drop non-system dupes of system ! directories from the merged bracket-include list. Next we drop ! dupes from the bracket and quote include lists. Then we drop ! non-system dupes from the merged quote-include list. Finally, ! if qtail and brack are the same directory, we cut out brack and ! move brack up to point to qtail. We can't just merge the lists and then uniquify them because then we may lose directories from the <> search path that should ! be there; consider -Ifoo -Ibar -I- -Ifoo -Iquux. It is however safe to treat -Ibar -Ifoo -I- -Ifoo -Iquux as if written -Ibar -I- -Ifoo -Iquux. */ ! remove_dup_nonsys_dirs (pfile, &brack, systm); ! remove_dup_dirs (pfile, &brack); if (quote) { + qtail = remove_dup_dirs (pfile, "e); qtail->next = brack; + qtail = remove_dup_nonsys_dirs (pfile, "e, brack); + /* If brack == qtail, remove brack as it's simpler. */ ! if (qtail && brack && INO_T_EQ (qtail->ino, brack->ino) && qtail->dev == brack->dev) ! brack = remove_dup_dir (pfile, qtail, "e); } else quote = brack; *************** struct lang_flags *** 396,402 **** char objc; char cplusplus; char extended_numbers; ! char trigraphs; char dollars_in_ident; char cplusplus_comments; char digraphs; --- 448,454 ---- char objc; char cplusplus; char extended_numbers; ! char std; char dollars_in_ident; char cplusplus_comments; char digraphs; *************** struct lang_flags *** 404,410 **** /* ??? Enable $ in identifiers in assembly? */ static const struct lang_flags lang_defaults[] = ! { /* c99 objc c++ xnum trig dollar c++comm digr */ /* GNUC89 */ { 0, 0, 0, 1, 0, 1, 1, 1 }, /* GNUC99 */ { 1, 0, 0, 1, 0, 1, 1, 1 }, /* STDC89 */ { 0, 0, 0, 0, 1, 0, 0, 0 }, --- 456,462 ---- /* ??? Enable $ in identifiers in assembly? */ static const struct lang_flags lang_defaults[] = ! { /* c99 objc c++ xnum std dollar c++comm digr */ /* GNUC89 */ { 0, 0, 0, 1, 0, 1, 1, 1 }, /* GNUC99 */ { 1, 0, 0, 1, 0, 1, 1, 1 }, /* STDC89 */ { 0, 0, 0, 0, 1, 0, 0, 0 }, *************** set_lang (pfile, lang) *** 431,437 **** CPP_OPTION (pfile, objc) = l->objc; CPP_OPTION (pfile, cplusplus) = l->cplusplus; CPP_OPTION (pfile, extended_numbers) = l->extended_numbers; ! CPP_OPTION (pfile, trigraphs) = l->trigraphs; CPP_OPTION (pfile, dollars_in_ident) = l->dollars_in_ident; CPP_OPTION (pfile, cplusplus_comments) = l->cplusplus_comments; CPP_OPTION (pfile, digraphs) = l->digraphs; --- 483,490 ---- CPP_OPTION (pfile, objc) = l->objc; CPP_OPTION (pfile, cplusplus) = l->cplusplus; CPP_OPTION (pfile, extended_numbers) = l->extended_numbers; ! CPP_OPTION (pfile, std) = l->std; ! CPP_OPTION (pfile, trigraphs) = l->std; CPP_OPTION (pfile, dollars_in_ident) = l->dollars_in_ident; CPP_OPTION (pfile, cplusplus_comments) = l->cplusplus_comments; CPP_OPTION (pfile, digraphs) = l->digraphs; *************** init_standard_includes (pfile) *** 847,853 **** && !CPP_OPTION (pfile, no_standard_cplusplus_includes))) { /* Does this dir start with the prefix? */ ! if (!memcmp (p->fname, default_prefix, default_len)) { /* Yes; change prefix and add to search list. */ int flen = strlen (p->fname); --- 900,906 ---- && !CPP_OPTION (pfile, no_standard_cplusplus_includes))) { /* Does this dir start with the prefix? */ ! if (!strncmp (p->fname, default_prefix, default_len)) { /* Yes; change prefix and add to search list. */ int flen = strlen (p->fname); *************** parse_option (input) *** 1295,1301 **** md = (mn + mx) / 2; opt_len = cl_options[md].opt_len; ! comp = memcmp (input, cl_options[md].opt_text, opt_len); if (comp > 0) mn = md + 1; --- 1348,1354 ---- md = (mn + mx) / 2; opt_len = cl_options[md].opt_len; ! comp = strncmp (input, cl_options[md].opt_text, opt_len); if (comp > 0) mn = md + 1; *************** parse_option (input) *** 1320,1326 **** for (; mn < (unsigned int) N_OPTS; mn++) { opt_len = cl_options[mn].opt_len; ! if (memcmp (input, cl_options[mn].opt_text, opt_len)) break; if (input[opt_len] == '\0') return mn; --- 1373,1379 ---- for (; mn < (unsigned int) N_OPTS; mn++) { opt_len = cl_options[mn].opt_len; ! if (strncmp (input, cl_options[mn].opt_text, opt_len)) break; if (input[opt_len] == '\0') return mn; *************** init_dependency_output (pfile) *** 1880,1886 **** { spec = getenv ("SUNPRO_DEPENDENCIES"); if (spec) ! CPP_OPTION (pfile, print_deps) = 2; else return; } --- 1933,1942 ---- { spec = getenv ("SUNPRO_DEPENDENCIES"); if (spec) ! { ! CPP_OPTION (pfile, print_deps) = 2; ! CPP_OPTION (pfile, deps_ignore_main_file) = 1; ! } else return; } diff -Nrc3pad gcc-3.2/gcc/cpplib.c gcc-3.2.1/gcc/cpplib.c *** gcc-3.2/gcc/cpplib.c Thu Mar 14 19:24:56 2002 --- gcc-3.2.1/gcc/cpplib.c Sun Oct 6 09:12:19 2002 *************** run_directive (pfile, dir_no, buf, count *** 406,417 **** --- 406,422 ---- { cpp_push_buffer (pfile, (const U_CHAR *) buf, count, /* from_stage3 */ true, 1); + /* Disgusting hack. */ + if (dir_no == T_PRAGMA) + pfile->buffer->inc = pfile->buffer->prev->inc; start_directive (pfile); /* We don't want a leading # to be interpreted as a directive. */ pfile->buffer->saved_flags = 0; pfile->directive = &dtable[dir_no]; (void) (*pfile->directive->handler) (pfile); end_directive (pfile, 1); + if (dir_no == T_PRAGMA) + pfile->buffer->inc = NULL; _cpp_pop_buffer (pfile); } *************** destringize_and_run (pfile, in) *** 1219,1224 **** --- 1224,1232 ---- { const unsigned char *src, *limit; char *dest, *result; + cpp_context saved_context; + cpp_context *saved_cur_context; + unsigned int saved_line; dest = result = alloca (in->len + 1); for (src = in->text, limit = src + in->len; src < limit;) *************** destringize_and_run (pfile, in) *** 1230,1236 **** --- 1238,1277 ---- } *dest = '\0'; + /* FIXME. All this saving is a horrible kludge to handle the case + when we're in a macro expansion. + + A better strategy it to not convert _Pragma to #pragma if doing + preprocessed output, but to just pass it through as-is, unless it + is a CPP pragma in which case is should be processed normally. + When compiling the preprocessed output the _Pragma should be + handled. This will be become necessary when we move to + line-at-a-time lexing since we will be macro-expanding the line + before outputting / compiling it. */ + saved_line = pfile->line; + saved_context = pfile->base_context; + saved_cur_context = pfile->context; + pfile->context = &pfile->base_context; run_directive (pfile, T_PRAGMA, result, dest - result); + pfile->context = saved_cur_context; + pfile->base_context = saved_context; + pfile->line = saved_line; + + /* See above comment. For the moment, we'd like + + token1 _Pragma ("foo") token2 + + to be output as + + token1 + # 7 "file.c" + #pragma foo + # 7 "file.c" + token2 + + Getting the line markers is a little tricky. */ + if (pfile->cb.line_change) + (*pfile->cb.line_change) (pfile, pfile->cur_token, false); } /* Handle the _Pragma operator. */ *************** _cpp_do__Pragma (pfile) *** 1240,1264 **** { const cpp_token *string = get__Pragma_string (pfile); ! if (!string) ! cpp_error (pfile, "_Pragma takes a parenthesized string literal"); else ! { ! /* Ideally, we'd like ! token1 _Pragma ("foo") token2 ! to be output as ! token1 ! # 7 "file.c" ! #pragma foo ! # 7 "file.c" ! token2 ! Getting these correct line markers is a little tricky. */ ! ! unsigned int orig_line = pfile->line; ! destringize_and_run (pfile, &string->val.str); ! pfile->line = orig_line; ! pfile->buffer->saved_flags = BOL; ! } } /* Just ignore #sccs, on systems where we define it at all. */ --- 1281,1290 ---- { const cpp_token *string = get__Pragma_string (pfile); ! if (string) ! destringize_and_run (pfile, &string->val.str); else ! cpp_error (pfile, "_Pragma takes a parenthesized string literal"); } /* Just ignore #sccs, on systems where we define it at all. */ diff -Nrc3pad gcc-3.2/gcc/cpplib.h gcc-3.2.1/gcc/cpplib.h *** gcc-3.2/gcc/cpplib.h Thu Mar 14 19:24:57 2002 --- gcc-3.2.1/gcc/cpplib.h Thu Aug 15 19:46:36 2002 *************** struct cpp_options *** 279,284 **** --- 279,287 ---- /* If true, fopen (deps_file, "a") else fopen (deps_file, "w"). */ unsigned char print_deps_append; + /* If true, no dependency is generated on the main file. */ + unsigned char deps_ignore_main_file; + /* Nonzero means print names of header files (-H). */ unsigned char print_include_names; *************** struct cpp_options *** 335,340 **** --- 338,346 ---- /* Nonzero for the 1999 C Standard, including corrigenda and amendments. */ unsigned char c99; + /* Nonzero if conforming to some particular standard. */ + unsigned char std; + /* Nonzero means give all the error messages the ANSI standard requires. */ unsigned char pedantic; diff -Nrc3pad gcc-3.2/gcc/cppmacro.c gcc-3.2.1/gcc/cppmacro.c *** gcc-3.2/gcc/cppmacro.c Wed May 29 19:26:00 2002 --- gcc-3.2.1/gcc/cppmacro.c Sat Sep 28 00:32:14 2002 *************** stringify_arg (pfile, arg) *** 348,353 **** --- 348,359 ---- } /* Commit the memory, including NUL, and return the token. */ + if ((size_t) (BUFF_LIMIT (pfile->u_buff) - dest) < 1) + { + size_t len_so_far = dest - BUFF_FRONT (pfile->u_buff); + _cpp_extend_buff (pfile, &pfile->u_buff, 1); + dest = BUFF_FRONT (pfile->u_buff) + len_so_far; + } len = dest - BUFF_FRONT (pfile->u_buff); BUFF_FRONT (pfile->u_buff) = dest + 1; return new_string_token (pfile, dest - len, len); *************** collect_args (pfile, node) *** 613,619 **** } if (!error) ! return base_buff; _cpp_release_buff (pfile, base_buff); return NULL; --- 619,638 ---- } if (!error) ! { ! /* GCC has special semantics for , ## b where b is a varargs ! parameter: we remove the comma if b was omitted entirely. ! If b was merely an empty argument, the comma is retained. ! If the macro takes just one (varargs) parameter, then we ! retain the comma only if we are standards conforming. ! ! If FIRST is NULL replace_args () swallows the comma. */ ! if (macro->variadic && (argc < macro->paramc ! || (argc == 1 && args[0].count == 0 ! && !CPP_OPTION (pfile, std)))) ! args[macro->paramc - 1].first = NULL; ! return base_buff; ! } _cpp_release_buff (pfile, base_buff); return NULL; *************** replace_args (pfile, node, args) *** 799,813 **** count = arg->count, from = arg->first; if (dest != first) { - /* GCC has special semantics for , ## b where b is a - varargs parameter: the comma disappears if b was - given no actual arguments (not merely if b is an - empty argument); otherwise the paste flag is removed. */ if (dest[-1]->type == CPP_COMMA && macro->variadic && src->val.arg_no == macro->paramc) { ! if (count == 0) dest--; else paste_flag = dest - 1; --- 818,830 ---- count = arg->count, from = arg->first; if (dest != first) { if (dest[-1]->type == CPP_COMMA && macro->variadic && src->val.arg_no == macro->paramc) { ! /* Swallow a pasted comma if from == NULL, otherwise ! drop the paste flag. */ ! if (from == NULL) dest--; else paste_flag = dest - 1; diff -Nrc3pad gcc-3.2/gcc/dbxout.c gcc-3.2.1/gcc/dbxout.c *** gcc-3.2/gcc/dbxout.c Wed May 1 22:29:25 2002 --- gcc-3.2.1/gcc/dbxout.c Sat Sep 14 00:26:38 2002 *************** dbxout_function_end () *** 396,406 **** --- 396,410 ---- /* By convention, GCC will mark the end of a function with an N_FUN symbol and an empty string. */ + #ifdef DBX_OUTPUT_NFUN + DBX_OUTPUT_NFUN (asmfile, lscope_label_name, current_function_decl); + #else fprintf (asmfile, "%s\"\",%d,0,0,", ASM_STABS_OP, N_FUN); assemble_name (asmfile, lscope_label_name); putc ('-', asmfile); assemble_name (asmfile, XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); fprintf (asmfile, "\n"); + #endif } #endif /* DBX_DEBUGGING_INFO */ diff -Nrc3pad gcc-3.2/gcc/doc/c-tree.texi gcc-3.2.1/gcc/doc/c-tree.texi *** gcc-3.2/gcc/doc/c-tree.texi Thu Apr 25 09:34:52 2002 --- gcc-3.2.1/gcc/doc/c-tree.texi Wed Sep 11 16:40:27 2002 *************** Then, if @code{THUNK_VCALL_OFFSET} (an @ *** 1203,1213 **** the adjusted @code{this} pointer must be adjusted again. The complete calculation is given by the following pseudo-code: ! @example this += THUNK_DELTA if (THUNK_VCALL_OFFSET) this += (*((ptrdiff_t **) this))[THUNK_VCALL_OFFSET] ! @end example Finally, the thunk should jump to the location given by @code{DECL_INITIAL}; this will always be an expression for the --- 1203,1213 ---- the adjusted @code{this} pointer must be adjusted again. The complete calculation is given by the following pseudo-code: ! @smallexample this += THUNK_DELTA if (THUNK_VCALL_OFFSET) this += (*((ptrdiff_t **) this))[THUNK_VCALL_OFFSET] ! @end smallexample Finally, the thunk should jump to the location given by @code{DECL_INITIAL}; this will always be an expression for the diff -Nrc3pad gcc-3.2/gcc/doc/compat.texi gcc-3.2.1/gcc/doc/compat.texi *** gcc-3.2/gcc/doc/compat.texi Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/gcc/doc/compat.texi Sat Oct 12 00:01:18 2002 *************** *** 0 **** --- 1,156 ---- + @c Copyright (C) 2002 Free Software Foundation, Inc. + @c This is part of the GCC manual. + @c For copying conditions, see the file gcc.texi. + + @node Compatibility + @chapter Binary Compatibility + @cindex binary compatibility + @cindex ABI + @cindex application binary interface + + Binary compatibility encompasses several related concepts: + + @table @dfn + @item application binary interface (ABI) + The set of runtime conventions followed by all of the tools that deal + with binary representations of a program, including compilers, assemblers, + linkers, and language runtime support. + Some ABIs are formal with a written specification, possibly designed + by multiple interested parties. Others are simply the way things are + actually done by a particular set of tools. + + @item ABI conformance + A compiler conforms to an ABI if it generates code that follows all of + the specifications enumerated by that ABI@. + A library conforms to an ABI if it is implemented according to that ABI@. + An application conforms to an ABI if it is built using tools that conform + to that ABI and does not contain source code that specifically changes + behavior specified by the ABI@. + + @item calling conventions + Calling conventions are a subset of an ABI that specify of how arguments + are passed and function results are returned. + + @item interoperability + Different sets of tools are interoperable if they generate files that + can be used in the same program. The set of tools includes compilers, + assemblers, linkers, libraries, header files, startup files, and debuggers. + Binaries produced by different sets of tools are not interoperable unless + they implement the same ABI@. This applies to different versions of the + same tools as well as tools from different vendors. + + @item intercallability + Whether a function in a binary built by one set of tools can call a + function in a binary built by a different set of tools is a subset + of interoperability. + + @item implementation-defined features + Language standards include lists of implementation-defined features whose + behavior can vary from one implementation to another. Some of these + features are normally covered by a platform's ABI and others are not. + The features that are not covered by an ABI generally affect how a + program behaves, but not intercallability. + + @item compatibility + Conformance to the same ABI and the same behavior of implementation-defined + features are both relevant for compatibility. + @end table + + The application binary interface implemented by a C or C++ compiler + affects code generation and runtime support for: + + @itemize @bullet + @item + size and alignment of data types + @item + layout of structured types + @item + calling conventions + @item + register usage conventions + @item + interfaces for runtime arithmetic support + @item + object file formats + @end itemize + + In addition, the application binary interface implemented by a C++ compiler + affects code generation and runtime support for: + @itemize @bullet + @item + name mangling + @item + exception handling + @item + invoking constructors and destructors + @item + layout, alignment, and padding of classes + @item + layout and alignment of virtual tables + @end itemize + + Some GCC compilation options cause the compiler to generate code that + does not conform to the platform's default ABI@. Other options cause + different program behavior for implementation-defined features that are + not covered by an ABI@. These options are provided for consistency with + other compilers that do not follow the platform's default ABI or the + usual behavior of implementation-defined features for the platform. + Be very careful about using such options. + + Most platforms have a well-defined ABI that covers C code, but ABIs + that cover C++ functionality are not yet common. + + Starting with GCC 3.2, GCC binary conventions for C++ are based on a + written, vendor-neutral C++ ABI that was designed to be specific to + 64-bit Itanium but also includes generic specifications that apply to + any platform. + This C++ ABI is also implemented by other compiler vendors on some + platforms, notably GNU/Linux and BSD systems. + We have tried hard to provide a stable ABI that will be compatible with + future GCC releases, but it is possible that we will encounter problems + that make this difficult. Such problems could include different + interpretations of the C++ ABI by different vendors, bugs in the ABI, or + bugs in the implementation of the ABI in different compilers. + GCC's @code{-Wabi} switch warns when G++ generates code that is + probably not compatible with the C++ ABI@. + + The C++ library used with a C++ compiler includes the Standard C++ + Library, with functionality defined in the C++ Standard, plus language + runtime support. The runtime support is included in a C++ ABI, but there + is no formal ABI for the Standard C++ Library. Two implementations + of that library are interoperable if one follows the de-facto ABI of the + other and if they are both built with the same compiler, or with compilers + that conform to the same ABI for C++ compiler and runtime support. + + When G++ and another C++ compiler conform to the same C++ ABI, but the + implementations of the Standard C++ Library that they normally use do not + follow the same ABI for the Standard C++ Library, object files built with + those compilers can be used in the same program only if they use the same + C++ library. This requires specifying the location of the C++ library + header files when invoking the compiler whose usual library is not being + used. The location of GCC's C++ header files depends on how the GCC + build was configured, but can be seen by using the G++ @option{-v} option. + With default configuration options for G++ 3.2 the compile line for a + different C++ compiler needs to include + + @example + -I@var{gcc_install_directory}/include/c++/3.2 + @end example + + Similarly, compiling code with G++ that must use a C++ library other + than the GNU C++ library requires specifying the location of the header + files for that other library. + + The most straightforward way to link a program to use a particular + C++ library is to use a C++ driver that specifies that C++ library by + default. The @command{g++} driver, for example, tells the linker where + to find GCC's C++ library (@file{libstdc++}) plus the other libraries + and startup files it needs, in the proper order. + + If a program must use a different C++ library and it's not possible + to do the final link using a C++ driver that uses that library by default, + it is necessary to tell @command{g++} the location and name of that + library. It might also be necessary to specify different startup files + and other runtime support libraries, and to suppress the use of GCC's + support libraries with one or more of the options @option{-nostdlib}, + @option{-nostartfiles}, and @option{-nodefaultlibs}. diff -Nrc3pad gcc-3.2/gcc/doc/contrib.texi gcc-3.2.1/gcc/doc/contrib.texi *** gcc-3.2/gcc/doc/contrib.texi Sun May 19 19:59:08 2002 --- gcc-3.2.1/gcc/doc/contrib.texi Tue Nov 12 13:06:12 2002 *************** in this list are accidental. Feel free *** 14,23 **** or some of your contributions are not listed. Please keep this list in alphabetical order. - Some projects operating under the GCC project maintain their own list - of contributors, such as - @uref{http://gcc.gnu.org/libstdc++/,the C++ library}. - @itemize @bullet @item --- 14,19 ---- *************** Analog Devices helped implement the supp *** 25,31 **** and iterators. @item ! John David Anglin for improvements to libstdc++-v3 and the HP-UX port. @item James van Artsdalen wrote the code that makes efficient use of --- 21,28 ---- and iterators. @item ! John David Anglin for threading-related fixes and improvements to ! libstdc++-v3, and the HP-UX port. @item James van Artsdalen wrote the code that makes efficient use of *************** Alasdair Baird for various bugfixes. *** 38,52 **** Gerald Baumgartner added the signature extension to the C++ front end. @item Neil Booth for work on cpplib, lang hooks, debug hooks and other miscellaneous clean-ups. @item Per Bothner for his direction via the steering committee and various improvements to our infrastructure for supporting new languages. Chill ! and Java front end implementations. Initial implementations of ! cpplib, fix-header, config.guess, libio, and past C++ library ! (libg++) maintainer. @item Devon Bowen helped port GCC to the Tahoe. --- 35,69 ---- Gerald Baumgartner added the signature extension to the C++ front end. @item + Godmar Back for his Java improvements and encouragement. + + @item + Scott Bambrough for help porting the Java compiler. + + @item + Jon Beniston for his Win32 port of Java. + + @item + Geoff Berry for his Java object serialization work and various patches. + + @item + Eric Blake for helping to make GCJ and libgcj conform to the + specifications. + + @item + Hans-J. Boehm for his @uref{http://www.hpl.hp.com/personal/Hans_Boehm/gc/,, + garbage collector}, IA-64 libffi port, and other Java work. + + @item Neil Booth for work on cpplib, lang hooks, debug hooks and other miscellaneous clean-ups. @item Per Bothner for his direction via the steering committee and various improvements to our infrastructure for supporting new languages. Chill ! front end implementation. Initial implementations of ! cpplib, fix-header, config.guess, libio, and past C++ library (libg++) ! maintainer. Dreaming up, designing and implementing much of GCJ. @item Devon Bowen helped port GCC to the Tahoe. *************** Christian Bruel for improvements to loca *** 67,97 **** Herman A.J. ten Brugge for various fixes. @item Joe Buck for his direction via the steering committee. @item Craig Burley for leadership of the Fortran effort. @item ! Paolo Carlini for his work on libstdc++-v3. @item John Carr for his alias work, SPARC hacking, infrastructure improvements, previous contributions to the steering committee, loop optimizations, etc. @item ! Steve Chamberlain wrote the support for the Hitachi SH and H8 processors ! and the PicoJava processor. @item Scott Christley for his Objective-C contributions. @item Branko Cibej for more warning contributions. @item ! Nick Clifton for arm, mcore, fr30, v850, m32r work, @option{--help}, and other random ! hacking. @item Ralf Corsepius for SH testing and minor bugfixing. --- 84,138 ---- Herman A.J. ten Brugge for various fixes. @item + Joerg Brunsmann for Java compiler hacking and help with the GCJ FAQ. + + @item Joe Buck for his direction via the steering committee. @item Craig Burley for leadership of the Fortran effort. @item ! Stephan Buys for contributing Doxygen notes for libstdc++. ! ! @item ! Paolo Carlini for libstdc++ work: lots of efficiency improvements to ! the string class, hard detective work on the frustrating localization ! issues, and keeping up with the problem reports. @item John Carr for his alias work, SPARC hacking, infrastructure improvements, previous contributions to the steering committee, loop optimizations, etc. @item ! Steve Chamberlain for support for the Hitachi SH and H8 processors ! and the PicoJava processor, and for GCJ config fixes. ! ! @item ! Glenn Chambers for help with the GCJ FAQ. ! ! @item ! John-Marc Chandonia for various libgcj patches. @item Scott Christley for his Objective-C contributions. @item + Eric Christopher for his Java porting help and clean-ups. + + @item Branko Cibej for more warning contributions. @item ! The @uref{http://www.classpath.org,,GNU Classpath project} ! for all of their merged runtime code. ! ! @item ! Nick Clifton for arm, mcore, fr30, v850, m32r work, @option{--help}, and ! other random hacking. ! ! @item ! Michael Cook for libstdc++ cleanup patches to reduce warnings. @item Ralf Corsepius for SH testing and minor bugfixing. *************** Dario Dariol contributed the four variet *** 111,132 **** that print a copy of their source. @item ! Ulrich Drepper for his work on the C++ runtime libraries, glibc, ! testing of GCC using glibc, ISO C99 support, CFG dumping support, etc. @item Richard Earnshaw for his ongoing work with the ARM@. @item ! David Edelsohn for his direction via the steering committee, ! ongoing work with the RS6000/PowerPC port, and help cleaning up Haifa ! loop changes. @item Paul Eggert for random hacking all over GCC@. @item ! Mark Elbrecht for various DJGPP improvements. @item Ben Elliston for his work to move the Objective-C runtime into its --- 152,202 ---- that print a copy of their source. @item ! Russell Davidson for fstream and stringstream fixes in libstdc++. ! ! @item ! Mo DeJong for GCJ and libgcj bug fixes. ! ! @item ! Gabriel Dos Reis for contributions to g++, contributions and ! maintenance of GCC diagnostics infrastructure, libstdc++-v3, ! including valarray<>, complex<>, maintaining the numerics library ! (including that pesky :-) and keeping up-to-date anything ! to do with numbers. ! ! @item ! Ulrich Drepper for his work on glibc, testing of GCC using glibc, ISO C99 ! support, CFG dumping support, etc., plus support of the C++ runtime ! libraries including for all kinds of C interface issues, contributing and ! maintaining complex<>, sanity checking and disbursement, configuration ! architecture, libio maintenance, and early math work. @item Richard Earnshaw for his ongoing work with the ARM@. @item ! David Edelsohn for his direction via the steering committee, ongoing work ! with the RS6000/PowerPC port, help cleaning up Haifa loop changes, and ! for doing the entire AIX port of libstdc++ with his bare hands. ! ! @item ! Kevin Ediger for the floating point formatting of num_put::do_put in ! libstdc++. ! ! @item ! Phil Edwards for libstdc++ work including configuration hackery, ! documentation maintainer, chief breaker of the web pages, the occasional ! iostream bugfix, and work on shared library symbol versioning. @item Paul Eggert for random hacking all over GCC@. @item ! Mark Elbrecht for various DJGPP improvements, and for libstdc++ ! configuration support for locales and fstream-related fixes. ! ! @item ! Vadim Egorov for libstdc++ fixes in strings, streambufs, and iostreams. @item Ben Elliston for his work to move the Objective-C runtime into its *************** and SPARC work. *** 143,148 **** --- 213,221 ---- Fred Fish for BeOS support and Ada fixes. @item + Ivan Fontes Garcia for the Portugese translation of the GCJ FAQ. + + @item Peter Gerwinski for various bugfixes and the Pascal front end. @item *************** Kaveh Ghazi for his direction via the st *** 150,155 **** --- 223,231 ---- amazing work to make @samp{-W -Wall} useful. @item + John Gilmore for a donation to the FSF earmarked improving GNU Java. + + @item Judy Goldberg for c++ contributions. @item *************** via the steering committee. *** 162,167 **** --- 238,246 ---- Anthony Green for his @option{-Os} contributions and Java front end work. @item + Stu Grossman for gdb hacking, allowing GCJ developers to debug our code. + + @item Michael K. Gschwind contributed the port to the PDP-11. @item *************** Bruno Haible for improvements in the run *** 175,181 **** warnings and assorted bugfixes. @item ! Andrew Haley for his Java work. @item Chris Hanson assisted in making GCC work on HP-UX for the 9000 series 300. --- 254,260 ---- warnings and assorted bugfixes. @item ! Andrew Haley for his amazing Java compiler and library efforts. @item Chris Hanson assisted in making GCC work on HP-UX for the 9000 series 300. *************** Andreas Jaeger for various fixes to the *** 222,228 **** @item Jakub Jelinek for his SPARC work and sibling call optimizations as well ! as lots of bug fixes and test cases. @item Janis Johnson for ia64 testing and fixes and for her quality improvement --- 301,308 ---- @item Jakub Jelinek for his SPARC work and sibling call optimizations as well ! as lots of bug fixes and test cases, and for improving the Java build ! system. @item Janis Johnson for ia64 testing and fixes and for her quality improvement *************** sidetracks. *** 232,248 **** J. Kean Johnston for OpenServer support. @item Klaus Kaempf for his ongoing work to make alpha-vms a viable target. @item David Kashtan of SRI adapted GCC to VMS@. @item Geoffrey Keating for his ongoing work to make the PPC work for GNU/Linux and his automatic regression tester. @item ! Brendan Kehoe for his ongoing work with g++. @item Oliver M. Kellogg of Deutsche Aerospace contributed the port to the --- 312,340 ---- J. Kean Johnston for OpenServer support. @item + Tim Josling for the sample language treelang based originally on Richard + Kenner's "``toy'' language". + + @item + Nicolai Josuttis for additional libstdc++ documentation. + + @item Klaus Kaempf for his ongoing work to make alpha-vms a viable target. @item David Kashtan of SRI adapted GCC to VMS@. @item + Ryszard Kabatek for many, many libstdc++ bugfixes and optimizations of + strings, especially member functions, and for auto_ptr fixes. + + @item Geoffrey Keating for his ongoing work to make the PPC work for GNU/Linux and his automatic regression tester. @item ! Brendan Kehoe for his ongoing work with g++ and for a lot of early work ! in just about every part of libstdc++. @item Oliver M. Kellogg of Deutsche Aerospace contributed the port to the *************** elimination and delay slot scheduling. *** 260,267 **** head maintainer of GCC for several years. @item ! Mumit Khan for various contributions to the cygwin and mingw32 ports and ! maintaining binary releases for Windows hosts. @item Robin Kirkham for cpu32 support. --- 352,360 ---- head maintainer of GCC for several years. @item ! Mumit Khan for various contributions to the Cygwin and Mingw32 ports and ! maintaining binary releases for Windows hosts, and for massive libstdc++ ! porting work to Cygwin/Mingw32. @item Robin Kirkham for cpu32 support. *************** Ted Lemon wrote parts of the RTL reader *** 299,311 **** Kriang Lerdsuwanakij for improvements to demangler and various c++ fixes. @item ! Warren Levy major work on libgcj (Java Runtime Library) and random ! work on the Java front end. @item Alain Lichnewsky ported GCC to the MIPS CPU. @item Robert Lipe for OpenServer support, new testsuites, testing, etc. @item --- 392,408 ---- Kriang Lerdsuwanakij for improvements to demangler and various c++ fixes. @item ! Warren Levy for tremendous work on libgcj (Java Runtime Library) and ! random work on the Java front end. @item Alain Lichnewsky ported GCC to the MIPS CPU. @item + Oskar Liljeblad for hacking on AWT and his many Java bug reports and + patches. + + @item Robert Lipe for OpenServer support, new testsuites, testing, etc. @item *************** runtime libraries. *** 317,323 **** @item Martin von L@"owis for internal consistency checking infrastructure, ! and various C++ improvements including namespace support. @item H.J. Lu for his previous contributions to the steering committee, many x86 --- 414,421 ---- @item Martin von L@"owis for internal consistency checking infrastructure, ! various C++ improvements including namespace support, and tons of ! assistance with libstdc++/compiler merges. @item H.J. Lu for his previous contributions to the steering committee, many x86 *************** Andrew MacLeod for his ongoing work in b *** 331,344 **** various code generation improvements, work on the global optimizer, etc. @item ! Vladimir Makarov for hacking some ugly i960 problems, PowerPC ! hacking improvements to compile-time performance and overall knowledge ! and direction in the area of instruction scheduling. @item Bob Manson for his behind the scenes work on dejagnu. @item Michael Meissner for LRS framework, ia32, m32r, v850, m88k, MIPS, powerpc, haifa, ECOFF debug support, and other assorted hacking. --- 429,458 ---- various code generation improvements, work on the global optimizer, etc. @item ! Vladimir Makarov for hacking some ugly i960 problems, PowerPC hacking ! improvements to compile-time performance, overall knowledge and ! direction in the area of instruction scheduling, and design and ! implementation of the automaton based instruction scheduler. @item Bob Manson for his behind the scenes work on dejagnu. @item + Philip Martin for lots of libstdc++ string and vector iterator fixes and + improvements, and string clean up and testsuites. + + @item + All of the Mauve project + @uref{http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/mauve/THANKS?rev=1.2&cvsroot=mauve&only_with_tag=HEAD,,contributors}, + for Java test code. + + @item + Bryce McKinlay for numerous GCJ and libgcj fixes and improvements. + + @item + Adam Megacz for his work on the Win32 port of GCJ. + + @item Michael Meissner for LRS framework, ia32, m32r, v850, m88k, MIPS, powerpc, haifa, ECOFF debug support, and other assorted hacking. *************** developers. *** 355,360 **** --- 469,478 ---- Gary Miller ported GCC to Charles River Data Systems machines. @item + Alfred Minarik for libstdc++ string and ios bugfixes, and turning the + entire libstdc++ testsuite namespace-compatible. + + @item Mark Mitchell for his direction via the steering committee, mountains of C++ work, load/store hoisting out of loops, alias analysis improvements, ISO C @code{restrict} support, and serving as release manager for GCC 3.x. *************** maintenance, and his ongoing work to mak *** 369,375 **** @item Jason Molenda for major help in the care and feeding of all the services on the gcc.gnu.org (formerly egcs.cygnus.com) machine---mail, web ! services, ftp services, etc etc. @item Catherine Moore for fixing various ugly problems we have sent her --- 487,494 ---- @item Jason Molenda for major help in the care and feeding of all the services on the gcc.gnu.org (formerly egcs.cygnus.com) machine---mail, web ! services, ftp services, etc etc. Doing all this work on scrap paper and ! the backs of envelopes would have been... difficult. @item Catherine Moore for fixing various ugly problems we have sent her *************** way, including the haifa bug which was k *** 377,382 **** --- 496,504 ---- Linux kernels. @item + Mike Moreton for his various Java patches. + + @item David Mosberger-Tang for various Alpha improvements. @item *************** Joseph S. Myers for his work on the PDP- *** 395,401 **** C99 support, and continuous emphasis on (and contributions to) documentation. @item ! Nathan Myers for his work on libstdc++-v3. @item NeXT, Inc.@: donated the front end that supports the Objective-C --- 517,530 ---- C99 support, and continuous emphasis on (and contributions to) documentation. @item ! Nathan Myers for his work on libstdc++-v3: architecture and authorship ! through the first three snapshots, including implementation of locale ! infrastructure, string, shadow C headers, and the initial project ! documentation (DESIGN, CHECKLIST, and so forth). Later, more work on ! MT-safe string and shadow headers. ! ! @item ! Felix Natter for documentation on porting libstdc++. @item NeXT, Inc.@: donated the front end that supports the Objective-C *************** improvements. *** 415,434 **** @item Alexandre Oliva for various build infrastructure improvements, scripts and ! amazing testing work. @item Melissa O'Neill for various NeXT fixes. @item Rainer Orth for random MIPS work, including improvements to our o32 ! ABI support, improvements to dejagnu's MIPS support, etc. @item Paul Petersen wrote the machine description for the Alliant FX/8. @item ! Alexandre Petit-Bianco for his Java work. @item Matthias Pfaller for major improvements to the NS32k port. --- 544,565 ---- @item Alexandre Oliva for various build infrastructure improvements, scripts and ! amazing testing work, including keeping libtool issues sane and happy. @item Melissa O'Neill for various NeXT fixes. @item Rainer Orth for random MIPS work, including improvements to our o32 ! ABI support, improvements to dejagnu's MIPS support, Java configuration ! clean-ups and porting work, etc. @item Paul Petersen wrote the machine description for the Alliant FX/8. @item ! Alexandre Petit-Bianco for implementing much of the Java compiler and ! continued Java maintainership. @item Matthias Pfaller for major improvements to the NS32k port. *************** Ken Raeburn for various improvements to *** 447,465 **** cleanups in the compiler. @item ! David Reese of Sun Microsystems contributed to the Solaris on PowerPC ! port. @item ! Gabriel Dos Reis for contributions and maintenance of libstdc++-v3, ! including valarray implementation and limits support. @item Joern Rennecke for maintaining the sh port, loop, regmove & reload hacking. @item ! Loren J. Rittle for improvements to libstdc++-v3 and the FreeBSD port. @item Craig Rodrigues for processing tons of bug reports. --- 578,597 ---- cleanups in the compiler. @item ! Rolf W. Rasmussen for hacking on AWT. @item ! David Reese of Sun Microsystems contributed to the Solaris on PowerPC ! port. @item Joern Rennecke for maintaining the sh port, loop, regmove & reload hacking. @item ! Loren J. Rittle for improvements to libstdc++-v3 including the FreeBSD ! port, threading fixes, thread-related configury changes, critical ! threading documentation, and solutions to really tricky I/O problems. @item Craig Rodrigues for processing tons of bug reports. *************** Ken Rose for fixes to our delay slot fil *** 474,485 **** --- 606,624 ---- Paul Rubin wrote most of the preprocessor. @item + Chip Salzenberg for libstdc++ patches and improvements to locales, traits, + Makefiles, libio, libtool hackery, and ``long long'' support. + + @item Juha Sarlin for improvements to the H8 code generator. @item Greg Satz assisted in making GCC work on HP-UX for the 9000 series 300. @item + Bradley Schatz for his work on the GCJ FAQ. + + @item Peter Schauer wrote the code to allow debugging to work on the Alpha. @item *************** work in the reload pass as well a servin *** 491,496 **** --- 630,643 ---- GCC 2.95.3. @item + Peter Schmid for constant testing of libstdc++ -- especially application + testing, going above and beyond what was requested for the release + criteria -- and libstdc++ header file tweaks. + + @item + Jason Schroeder for jcf-dump patches. + + @item Andreas Schwab for his work on the m68k port. @item *************** code which handles the parse tree and RT *** 506,511 **** --- 653,662 ---- folding and help with the original VAX & m68k ports. @item + Kenny Simpson for prompting libstdc++ fixes due to defect reports from + the LWG (thereby keeping us in line with updates from the ISO). + + @item Franz Sirl for his ongoing work with making the PPC port stable for linux. *************** Christopher Smith did the port for Conve *** 519,525 **** Randy Smith finished the Sun FPA support. @item ! Scott Snyder for various fixes. @item Richard Stallman, for writing the original gcc and launching the GNU project. --- 670,680 ---- Randy Smith finished the Sun FPA support. @item ! Scott Snyder for queue, iterator, istream, and string fixes and libstdc++ ! testsuite entries. ! ! @item ! Brad Spencer for contributions to the GLIBCPP_FORCE_NEW technique. @item Richard Stallman, for writing the original gcc and launching the GNU project. *************** Jonathan Stone wrote the machine descrip *** 538,547 **** --- 693,708 ---- Graham Stott for various infrastructure improvements. @item + John Stracke for his Java HTTP protocol fixes. + + @item Mike Stump for his Elxsi port, g++ contributions over the years and more recently his vxworks contributions @item + Jeff Sturm for Java porting help, bug fixes, and encouragement. + + @item Shigeya Suzuki for this fixes for the bsdi platforms. @item *************** Gary Thomas for his ongoing work to make *** 558,565 **** Philipp Thomas for random bugfixes throughout the compiler @item Kresten Krab Thorup wrote the run time support for the Objective-C ! language. @item Michael Tiemann for random bugfixes, the first instruction scheduler, --- 719,729 ---- Philipp Thomas for random bugfixes throughout the compiler @item + Jason Thorpe for thread support in libstdc++ on NetBSD. + + @item Kresten Krab Thorup wrote the run time support for the Objective-C ! language and the fantastic Java bytecode interpreter. @item Michael Tiemann for random bugfixes, the first instruction scheduler, *************** initial C++ support, function integratio *** 567,572 **** --- 731,739 ---- machine description work, delay slot scheduling. @item + Andreas Tobler for his work porting libgcj to Darwin. + + @item Teemu Torma for thread safe exception handling support. @item *************** Leonard Tower wrote parts of the parser, *** 574,589 **** definitions, and of the VAX machine description. @item ! Tom Tromey for internationalization support and his Java work. @item Lassi Tuura for improvements to config.guess to determine HP processor types. @item Todd Vierling for contributions for NetBSD ports. @item Dean Wakerley for converting the install documentation from HTML to texinfo in time for GCC 3.0. --- 741,768 ---- definitions, and of the VAX machine description. @item ! Tom Tromey for internationalization support and for his many Java ! contributions and libgcj maintainership. @item Lassi Tuura for improvements to config.guess to determine HP processor types. @item + Petter Urkedal for libstdc++ CXXFLAGS, math, and algorithms fixes. + + @item + Brent Verner for work with the libstdc++ cshadow files and their + associated configure steps. + + @item Todd Vierling for contributions for NetBSD ports. @item + Jonathan Wakely for contributing libstdc++ Doxygen notes and XHTML + guidance. + + @item Dean Wakerley for converting the install documentation from HTML to texinfo in time for GCC 3.0. *************** in time for GCC 3.0. *** 591,596 **** --- 770,780 ---- Krister Walfridsson for random bugfixes. @item + Stephen M. Webb for time and effort on making libstdc++ shadow files + work with the tricky Solaris 8+ headers, and for pushing the build-time + header tree. + + @item John Wehle for various improvements for the x86 code generator, related infrastructure improvements to help x86 code generation, value range propagation and other work, WE32k port. *************** value range propagation and other work, *** 599,604 **** --- 783,798 ---- Zack Weinberg for major work on cpplib and various other bugfixes. @item + Matt Welsh for help with Linux Threads support in GCJ. + + @item + Urban Widmark for help fixing java.io. + + @item + Mark Wielaard for new Java library code and his work integrating with + Classpath. + + @item Dale Wiles helped port GCC to the Tahoe. @item *************** description for the Tron architecture (s *** 622,627 **** --- 816,824 ---- @item Kevin Zachmann helped ported GCC to the Tahoe. + @item + Gilles Zunino for help porting Java to Irix. + @end itemize *************** testing GCC: *** 630,641 **** --- 827,862 ---- @itemize @bullet @item + Michael Abd-El-Malek + + @item + Thomas Arend + + @item + Bonzo Armstrong + + @item + Steven Ashe + + @item + Chris Baldwin + + @item David Billinghurst @item + Jim Blandy + + @item + Stephane Bortzmeyer + + @item Horst von Brand @item + Frank Braun + + @item Rodney Brown @item *************** Joe Buck *** 645,683 **** --- 866,976 ---- Craig Burley @item + Sidney Cadot + + @item + Bradford Castalia + + @item + Ralph Doncaster + + @item Ulrich Drepper @item David Edelsohn @item + Richard Emberson + + @item + Levente Farkas + + @item + Graham Fawcett + + @item + Robert A. French + + @item + J@"orgen Freyh + + @item + Mark K. Gardner + + @item + Charles-Antoine Gauthier + + @item Yung Shing Gene @item Kaveh Ghazi @item + David Gilbert + + @item + Simon Gornall + + @item + Fred Gray + + @item + John Griffin + + @item + Patrik Hagglund + + @item + Phil Hargett + + @item + Amancio Hasty + + @item + Bryan W. Headley + + @item Kate Hedstrom @item Richard Henderson @item + Kevin B. Hendricks + + @item Manfred Hollstein @item Kamil Iskra @item + Joep Jansen + + @item Christian Joensson @item + David Kidd + + @item + Tobias Kuipers + + @item + Anand Krishnaswamy + + @item Jeff Law @item Robert Lipe @item + llewelly + + @item Damon Love @item *************** Matthias Klose *** 699,725 **** --- 992,1054 ---- Martin Knoblauch @item + Jesse Macnish + + @item David Miller @item Toon Moene @item + Stefan Morrell + + @item + Anon A. Mous + + @item Matthias Mueller @item + Pekka Nikander + + @item Alexandre Oliva @item + Jon Olson + + @item + Magnus Persson + + @item + Chris Pollard + + @item Richard Polton @item David Rees @item + Paul Reilly + + @item + Tom Reilly + + @item Loren J. Rittle @item + Torsten Rueger + + @item + Danny Sadinoff + + @item + Marc Schifer + + @item Peter Schmid @item *************** Vin Shelton *** 732,743 **** --- 1061,1087 ---- Franz Sirl @item + Tim Souder + + @item Mike Stump @item + Adam Sulmicki + + @item + George Talbot + + @item + Gregory Warnes + + @item Carlo Wood @item + David E. Young + + @item And many others @end itemize diff -Nrc3pad gcc-3.2/gcc/doc/cpp.1 gcc-3.2.1/gcc/doc/cpp.1 *** gcc-3.2/gcc/doc/cpp.1 Wed Aug 14 09:36:36 2002 --- gcc-3.2.1/gcc/doc/cpp.1 Tue Nov 19 18:17:14 2002 *************** *** 1,5 **** .\" Automatically generated by Pod::Man version 1.15 ! .\" Wed Aug 14 09:36:35 2002 .\" .\" Standard preamble: .\" ====================================================================== --- 1,5 ---- .\" Automatically generated by Pod::Man version 1.15 ! .\" Tue Nov 19 18:17:13 2002 .\" .\" Standard preamble: .\" ====================================================================== *************** *** 138,144 **** .\" ====================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "gcc-3.2" "2002-08-14" "GNU" .UC .SH "NAME" cpp \- The C Preprocessor --- 138,144 ---- .\" ====================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "gcc-3.2.1" "2002-11-19" "GNU" .UC .SH "NAME" cpp \- The C Preprocessor *************** with an optional \fB\-MT\fR switch too. *** 782,788 **** This variable is the same as the environment variable \&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR, except that system header files are not ignored, so it implies \fB\-M\fR rather ! than \fB\-MM\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf-funding\fR\|(7), --- 782,789 ---- This variable is the same as the environment variable \&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR, except that system header files are not ignored, so it implies \fB\-M\fR rather ! than \fB\-MM\fR. However, the dependence on the main input file is ! omitted. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf-funding\fR\|(7), diff -Nrc3pad gcc-3.2/gcc/doc/cpp.info gcc-3.2.1/gcc/doc/cpp.info *** gcc-3.2/gcc/doc/cpp.info Wed Aug 14 09:36:32 2002 --- gcc-3.2.1/gcc/doc/cpp.info Tue Nov 19 18:17:11 2002 *************** END-INFO-DIR-ENTRY *** 9,17 ****  Indirect: cpp.info-1: 191 ! cpp.info-2: 49612 ! cpp.info-3: 99320 ! cpp.info-4: 161716  Tag Table: (Indirect) --- 9,18 ----  Indirect: cpp.info-1: 191 ! cpp.info-2: 49827 ! cpp.info-3: 96679 ! cpp.info-4: 142533 ! cpp.info-5: 190064  Tag Table: (Indirect) *************** Node: Header Files21776 *** 25,85 **** Node: Include Syntax23654 Node: Include Operation25156 Node: Search Path27052 ! Node: Once-Only Headers29902 ! Node: Computed Includes31556 ! Node: Wrapper Headers34695 ! Node: System Headers37114 ! Node: Macros39171 ! Node: Object-like Macros40271 ! Node: Function-like Macros43857 ! Node: Macro Arguments45467 ! Node: Stringification49612 ! Node: Concatenation52813 ! Node: Variadic Macros55927 ! Node: Predefined Macros60264 ! Node: Standard Predefined Macros60847 ! Node: Common Predefined Macros66269 ! Node: System-specific Predefined Macros72849 ! Node: C++ Named Operators74861 ! Node: Undefining and Redefining Macros75816 ! Node: Macro Pitfalls77894 ! Node: Misnesting78419 ! Node: Operator Precedence Problems79520 ! Node: Swallowing the Semicolon81375 ! Node: Duplication of Side Effects83387 ! Node: Self-Referential Macros85559 ! Node: Argument Prescan87969 ! Node: Newlines in Arguments91712 ! Node: Conditionals92657 ! Node: Conditional Uses94486 ! Node: Conditional Syntax95839 ! Node: Ifdef96154 ! Node: If99320 ! Node: Defined101733 ! Node: Else103006 ! Node: Elif103567 ! Node: Deleted Code104847 ! Node: Diagnostics106089 ! Node: Line Control107706 ! Node: Pragmas111513 ! Node: Other Directives115781 ! Node: Preprocessor Output116975 ! Node: Traditional Mode120175 ! Node: Implementation Details125754 ! Node: Implementation-defined behavior126376 ! Node: Implementation limits128649 ! Node: Obsolete Features131356 ! Node: Assertions131843 ! Node: Obsolete once-only headers134374 ! Node: Miscellaneous obsolete features136142 ! Node: Differences from previous versions137475 ! Node: Invocation141987 ! Ref: -MF149306 ! Node: Environment Variables161716 ! Ref: DEPENDENCIES_OUTPUT163366 ! Node: GNU Free Documentation License164341 ! Node: Option Index184239 ! Node: Index of Directives187706 ! Node: Concept Index189453  End Tag Table --- 26,86 ---- Node: Include Syntax23654 Node: Include Operation25156 Node: Search Path27052 ! Node: Once-Only Headers30129 ! Node: Computed Includes31783 ! Node: Wrapper Headers34922 ! Node: System Headers37341 ! Node: Macros39386 ! Node: Object-like Macros40486 ! Node: Function-like Macros44072 ! Node: Macro Arguments45682 ! Node: Stringification49827 ! Node: Concatenation53028 ! Node: Variadic Macros56142 ! Node: Predefined Macros60932 ! Node: Standard Predefined Macros61515 ! Node: Common Predefined Macros66794 ! Node: System-specific Predefined Macros73374 ! Node: C++ Named Operators75386 ! Node: Undefining and Redefining Macros76341 ! Node: Macro Pitfalls78419 ! Node: Misnesting78944 ! Node: Operator Precedence Problems80045 ! Node: Swallowing the Semicolon81900 ! Node: Duplication of Side Effects83912 ! Node: Self-Referential Macros86084 ! Node: Argument Prescan88494 ! Node: Newlines in Arguments92237 ! Node: Conditionals93182 ! Node: Conditional Uses95011 ! Node: Conditional Syntax96364 ! Node: Ifdef96679 ! Node: If99845 ! Node: Defined102258 ! Node: Else103531 ! Node: Elif104092 ! Node: Deleted Code105372 ! Node: Diagnostics106614 ! Node: Line Control108231 ! Node: Pragmas112038 ! Node: Other Directives116306 ! Node: Preprocessor Output117500 ! Node: Traditional Mode120700 ! Node: Implementation Details126279 ! Node: Implementation-defined behavior126901 ! Node: Implementation limits129174 ! Node: Obsolete Features131881 ! Node: Assertions132368 ! Node: Obsolete once-only headers134899 ! Node: Miscellaneous obsolete features136667 ! Node: Differences from previous versions138021 ! Node: Invocation142533 ! Ref: -MF149852 ! Node: Environment Variables162262 ! Ref: DEPENDENCIES_OUTPUT163912 ! Node: GNU Free Documentation License164952 ! Node: Option Index184850 ! Node: Index of Directives188317 ! Node: Concept Index190064  End Tag Table diff -Nrc3pad gcc-3.2/gcc/doc/cpp.info-1 gcc-3.2.1/gcc/doc/cpp.info-1 *** gcc-3.2/gcc/doc/cpp.info-1 Wed Aug 14 09:36:32 2002 --- gcc-3.2.1/gcc/doc/cpp.info-1 Tue Nov 19 18:17:11 2002 *************** in use. *** 712,722 **** You can add to this list with the `-IDIR' command line option. All the directories named by `-I' are searched, in left-to-right order, ! _before_ the default directories. You can also prevent GCC from ! searching any of the default directories with the `-nostdinc' option. ! This is useful when you are compiling an operating system kernel or ! some other program that does not use the standard C library facilities, ! or the standard C library itself. GCC looks for headers requested with `#include "FILE"' first in the directory containing the current file, then in the same places it would --- 712,732 ---- You can add to this list with the `-IDIR' command line option. All the directories named by `-I' are searched, in left-to-right order, ! _before_ the default directories. The only exception is when `dir' is ! already searched by default. In this case, the option is ignored and ! the search order for system directories remains unchanged. ! ! Duplicate directories are removed from the quote and bracket search ! chains before the two chains are merged to make the final search chain. ! Thus, it is possible for a directory to occur twice in the final search ! chain if it was specified in both the quote and bracket chains. ! ! You can prevent GCC from searching any of the default directories ! with the `-nostdinc' option. This is useful when you are compiling an ! operating system kernel or some other program that does not use the ! standard C library facilities, or the standard C library itself. `-I' ! options are not ignored as described above when `-nostdinc' is in ! effect. GCC looks for headers requested with `#include "FILE"' first in the directory containing the current file, then in the same places it would *************** if `/usr/include/sys/stat.h' contains `# *** 725,736 **** for `types.h' first in `/usr/include/sys', then in its usual search path. - If you name a search directory with `-IDIR' that is also a system - include directory, the `-I' wins; the directory will be searched - according to the `-I' ordering, and it will not be treated as a system - include directory. GCC will warn you when a system include directory is - hidden in this way. - `#line' (*note Line Control::) does not change GCC's idea of the directory containing the current file. --- 735,740 ---- *************** in that directory will be considered sys *** 948,955 **** All directories named by `-isystem' are searched _after_ all directories named by `-I', no matter what their order was on the command line. If the same directory is named by both `-I' and ! `-isystem', `-I' wins; it is as if the `-isystem' option had never been ! specified at all. GCC warns you when this happens. There is also a directive, `#pragma GCC system_header', which tells GCC to consider the rest of the current include file a system header, --- 952,959 ---- All directories named by `-isystem' are searched _after_ all directories named by `-I', no matter what their order was on the command line. If the same directory is named by both `-I' and ! `-isystem', the `-I' option is ignored. GCC provides an informative ! message when this occurs if `-v' is used. There is also a directive, `#pragma GCC system_header', which tells GCC to consider the rest of the current include file a system header, diff -Nrc3pad gcc-3.2/gcc/doc/cpp.info-2 gcc-3.2.1/gcc/doc/cpp.info-2 *** gcc-3.2/gcc/doc/cpp.info-2 Wed Aug 14 09:36:32 2002 --- gcc-3.2.1/gcc/doc/cpp.info-2 Tue Nov 19 18:17:11 2002 *************** preceding `##' is anything other than a *** 230,235 **** --- 230,243 ---- eprintf ("success!\n") ==> fprintf(stderr, "success!\n"); + The above explanation is ambiguous about the case where the only macro + parameter is a variable arguments parameter, as it is meaningless to + try to distinguish whether no argument at all is an empty argument or a + missing argument. In this case the C99 standard is clear that the + comma must remain, however the existing GCC extension used to swallow + the comma. So CPP retains the comma when conforming to a specific C + standard, and drops it otherwise. + C99 mandates that the only place the identifier `__VA_ARGS__' can appear is in the replacement list of a variadic macro. It may not be used as a macro name, macro argument name, or within a different type *************** with `__FILE__' and `__LINE__', though. *** 355,363 **** processing user files `__STDC__' is always 1. This has been reported to cause problems; for instance, some versions of Solaris provide X Windows headers that expect `__STDC__' to be either ! undefined or 1. You may be able to work around this sort of ! problem by using an `-I' option to cancel treatment of those ! headers as system headers. *Note Invocation::. `__STDC_VERSION__' This macro expands to the C Standard's version number, a long --- 363,369 ---- processing user files `__STDC__' is always 1. This has been reported to cause problems; for instance, some versions of Solaris provide X Windows headers that expect `__STDC__' to be either ! undefined or 1. *Note Invocation::. `__STDC_VERSION__' This macro expands to the C Standard's version number, a long *************** directive": `#if', `#ifdef' or `#ifndef' *** 1139,1213 **** * Else:: * Elif:: -  - File: cpp.info, Node: Ifdef, Next: If, Up: Conditional Syntax - - Ifdef - ----- - - The simplest sort of conditional is - - #ifdef MACRO - - CONTROLLED TEXT - - #endif /* MACRO */ - - This block is called a "conditional group". CONTROLLED TEXT will be - included in the output of the preprocessor if and only if MACRO is - defined. We say that the conditional "succeeds" if MACRO is defined, - "fails" if it is not. - - The CONTROLLED TEXT inside of a conditional can include - preprocessing directives. They are executed only if the conditional - succeeds. You can nest conditional groups inside other conditional - groups, but they must be completely nested. In other words, `#endif' - always matches the nearest `#ifdef' (or `#ifndef', or `#if'). Also, - you cannot start a conditional group in one file and end it in another. - - Even if a conditional fails, the CONTROLLED TEXT inside it is still - run through initial transformations and tokenization. Therefore, it - must all be lexically valid C. Normally the only way this matters is - that all comments and string literals inside a failing conditional group - must still be properly ended. - - The comment following the `#endif' is not required, but it is a good - practice if there is a lot of CONTROLLED TEXT, because it helps people - match the `#endif' to the corresponding `#ifdef'. Older programs - sometimes put MACRO directly after the `#endif' without enclosing it in - a comment. This is invalid code according to the C standard. GNU CPP - accepts it with a warning. It never affects which `#ifndef' the - `#endif' matches. - - Sometimes you wish to use some code if a macro is _not_ defined. - You can do this by writing `#ifndef' instead of `#ifdef'. One common - use of `#ifndef' is to include code only the first time a header file - is included. *Note Once-Only Headers::. - - Macro definitions can vary between compilations for several reasons. - Here are some samples. - - * Some macros are predefined on each kind of machine (*note - System-specific Predefined Macros::). This allows you to provide - code specially tuned for a particular machine. - - * System header files define more macros, associated with the - features they implement. You can test these macros with - conditionals to avoid using a system feature on a machine where it - is not implemented. - - * Macros can be defined or undefined with the `-D' and `-U' command - line options when you compile the program. You can arrange to - compile the same source file into two different programs by - choosing a macro name to specify which program you want, writing - conditionals to test whether or how this macro is defined, and - then controlling the state of the macro with command line options, - perhaps set in the Makefile. *Note Invocation::. - - * Your program might have a special header file (often called - `config.h') that is adjusted when the program is compiled. It can - define or not define macros depending on the features of the - system and the desired capabilities of the program. The - adjustment can be automated by a tool such as `autoconf', or done - by hand. - --- 1145,1147 ---- diff -Nrc3pad gcc-3.2/gcc/doc/cpp.info-3 gcc-3.2.1/gcc/doc/cpp.info-3 *** gcc-3.2/gcc/doc/cpp.info-3 Wed Aug 14 09:36:32 2002 --- gcc-3.2.1/gcc/doc/cpp.info-3 Tue Nov 19 18:17:11 2002 *************** START-INFO-DIR-ENTRY *** 7,12 **** --- 7,84 ---- END-INFO-DIR-ENTRY  + File: cpp.info, Node: Ifdef, Next: If, Up: Conditional Syntax + + Ifdef + ----- + + The simplest sort of conditional is + + #ifdef MACRO + + CONTROLLED TEXT + + #endif /* MACRO */ + + This block is called a "conditional group". CONTROLLED TEXT will be + included in the output of the preprocessor if and only if MACRO is + defined. We say that the conditional "succeeds" if MACRO is defined, + "fails" if it is not. + + The CONTROLLED TEXT inside of a conditional can include + preprocessing directives. They are executed only if the conditional + succeeds. You can nest conditional groups inside other conditional + groups, but they must be completely nested. In other words, `#endif' + always matches the nearest `#ifdef' (or `#ifndef', or `#if'). Also, + you cannot start a conditional group in one file and end it in another. + + Even if a conditional fails, the CONTROLLED TEXT inside it is still + run through initial transformations and tokenization. Therefore, it + must all be lexically valid C. Normally the only way this matters is + that all comments and string literals inside a failing conditional group + must still be properly ended. + + The comment following the `#endif' is not required, but it is a good + practice if there is a lot of CONTROLLED TEXT, because it helps people + match the `#endif' to the corresponding `#ifdef'. Older programs + sometimes put MACRO directly after the `#endif' without enclosing it in + a comment. This is invalid code according to the C standard. GNU CPP + accepts it with a warning. It never affects which `#ifndef' the + `#endif' matches. + + Sometimes you wish to use some code if a macro is _not_ defined. + You can do this by writing `#ifndef' instead of `#ifdef'. One common + use of `#ifndef' is to include code only the first time a header file + is included. *Note Once-Only Headers::. + + Macro definitions can vary between compilations for several reasons. + Here are some samples. + + * Some macros are predefined on each kind of machine (*note + System-specific Predefined Macros::). This allows you to provide + code specially tuned for a particular machine. + + * System header files define more macros, associated with the + features they implement. You can test these macros with + conditionals to avoid using a system feature on a machine where it + is not implemented. + + * Macros can be defined or undefined with the `-D' and `-U' command + line options when you compile the program. You can arrange to + compile the same source file into two different programs by + choosing a macro name to specify which program you want, writing + conditionals to test whether or how this macro is defined, and + then controlling the state of the macro with command line options, + perhaps set in the Makefile. *Note Invocation::. + + * Your program might have a special header file (often called + `config.h') that is adjusted when the program is compiled. It can + define or not define macros depending on the features of the + system and the desired capabilities of the program. The + adjustment can be automated by a tool such as `autoconf', or done + by hand. + +  File: cpp.info, Node: If, Next: Defined, Prev: Ifdef, Up: Conditional Syntax If *************** Miscellaneous obsolete features *** 906,914 **** * Attempting to paste two tokens which together do not form a valid preprocessing token. ! The preprocessor currently warns about this and outputs the two ! tokens adjacently, which is probably the behavior the programmer ! intends. It may not work in future, though. Most of the time, when you get this warning, you will find that `##' is being used superstitiously, to guard against whitespace --- 978,986 ---- * Attempting to paste two tokens which together do not form a valid preprocessing token. ! The preprocessor currently warns about this, and the resulting ! preprocessed output is undefined. The tokens remain distinct if ! the preprocessor is being used directly by the compiler front end. Most of the time, when you get this warning, you will find that `##' is being used superstitiously, to guard against whitespace *************** they generally represent bugs in the sna *** 1028,1520 **** invasive.) -  - File: cpp.info, Node: Invocation, Next: Environment Variables, Prev: Implementation Details, Up: Top - - Invocation - ********** - - Most often when you use the C preprocessor you will not have to - invoke it explicitly: the C compiler will do so automatically. - However, the preprocessor is sometimes useful on its own. All the - options listed here are also acceptable to the C compiler and have the - same meaning, except that the C compiler has different rules for - specifying the output file. - - *Note:* Whether you use the preprocessor by way of `gcc' or `cpp', - the "compiler driver" is run first. This program's purpose is to - translate your command into invocations of the programs that do the - actual work. Their command line interfaces are similar but not - identical to the documented interface, and may change without notice. - - The C preprocessor expects two file names as arguments, INFILE and - OUTFILE. The preprocessor reads INFILE together with any other files - it specifies with `#include'. All the output generated by the combined - input files is written in OUTFILE. - - Either INFILE or OUTFILE may be `-', which as INFILE means to read - from standard input and as OUTFILE means to write to standard output. - Also, if either file is omitted, it means the same as if `-' had been - specified for that file. - - Unless otherwise noted, or the option ends in `=', all options which - take an argument may have that argument appear either immediately after - the option, or with a space between option and argument: `-Ifoo' and - `-I foo' have the same effect. - - Many options have multi-letter names; therefore multiple - single-letter options may _not_ be grouped: `-dM' is very different from - `-d -M'. - - `-D NAME' - Predefine NAME as a macro, with definition `1'. - - `-D NAME=DEFINITION' - Predefine NAME as a macro, with definition DEFINITION. There are - no restrictions on the contents of DEFINITION, but if you are - invoking the preprocessor from a shell or shell-like program you - may need to use the shell's quoting syntax to protect characters - such as spaces that have a meaning in the shell syntax. - - If you wish to define a function-like macro on the command line, - write its argument list with surrounding parentheses before the - equals sign (if any). Parentheses are meaningful to most shells, - so you will need to quote the option. With `sh' and `csh', - `-D'NAME(ARGS...)=DEFINITION'' works. - - `-D' and `-U' options are processed in the order they are given on - the command line. All `-imacros FILE' and `-include FILE' options - are processed after all `-D' and `-U' options. - - `-U NAME' - Cancel any previous definition of NAME, either built in or - provided with a `-D' option. - - `-undef' - Do not predefine any system-specific macros. The common predefined - macros remain defined. - - `-I DIR' - Add the directory DIR to the list of directories to be searched - for header files. *Note Search Path::. Directories named by `-I' - are searched before the standard system include directories. - - It is dangerous to specify a standard system include directory in - an `-I' option. This defeats the special treatment of system - headers (*note System Headers::) . It can also defeat the repairs - to buggy system headers which GCC makes when it is installed. - - `-o FILE' - Write output to FILE. This is the same as specifying FILE as the - second non-option argument to `cpp'. `gcc' has a different - interpretation of a second non-option argument, so you must use - `-o' to specify the output file. - - `-Wall' - Turns on all optional warnings which are desirable for normal - code. At present this is `-Wcomment' and `-Wtrigraphs'. Note that - many of the preprocessor's warnings are on by default and have no - options to control them. - - `-Wcomment' - `-Wcomments' - Warn whenever a comment-start sequence `/*' appears in a `/*' - comment, or whenever a backslash-newline appears in a `//' comment. - (Both forms have the same effect.) - - `-Wtrigraphs' - Warn if any trigraphs are encountered. This option used to take - effect only if `-trigraphs' was also specified, but now works - independently. Warnings are not given for trigraphs within - comments, as they do not affect the meaning of the program. - - `-Wtraditional' - Warn about certain constructs that behave differently in - traditional and ISO C. Also warn about ISO C constructs that have - no traditional C equivalent, and problematic constructs which - should be avoided. *Note Traditional Mode::. - - `-Wimport' - Warn the first time `#import' is used. - - `-Wundef' - Warn whenever an identifier which is not a macro is encountered in - an `#if' directive, outside of `defined'. Such identifiers are - replaced with zero. - - `-Werror' - Make all warnings into hard errors. Source code which triggers - warnings will be rejected. - - `-Wsystem-headers' - Issue warnings for code in system headers. These are normally - unhelpful in finding bugs in your own code, therefore suppressed. - If you are responsible for the system library, you may want to see - them. - - `-w' - Suppress all warnings, including those which GNU CPP issues by - default. - - `-pedantic' - Issue all the mandatory diagnostics listed in the C standard. - Some of them are left out by default, since they trigger - frequently on harmless code. - - `-pedantic-errors' - Issue all the mandatory diagnostics, and make all mandatory - diagnostics into errors. This includes mandatory diagnostics that - GCC issues without `-pedantic' but treats as warnings. - - `-M' - Instead of outputting the result of preprocessing, output a rule - suitable for `make' describing the dependencies of the main source - file. The preprocessor outputs one `make' rule containing the - object file name for that source file, a colon, and the names of - all the included files, including those coming from `-include' or - `-imacros' command line options. - - Unless specified explicitly (with `-MT' or `-MQ'), the object file - name consists of the basename of the source file with any suffix - replaced with object file suffix. If there are many included - files then the rule is split into several lines using `\'-newline. - The rule has no commands. - - This option does not suppress the preprocessor's debug output, - such as `-dM'. To avoid mixing such debug output with the - dependency rules you should explicitly specify the dependency - output file with `-MF', or use an environment variable like - `DEPENDENCIES_OUTPUT' (*note DEPENDENCIES_OUTPUT::). Debug output - will still be sent to the regular output stream as normal. - - Passing `-M' to the driver implies `-E'. - - `-MM' - Like `-M' but do not mention header files that are found in system - header directories, nor header files that are included, directly - or indirectly, from such a header. - - This implies that the choice of angle brackets or double quotes in - an `#include' directive does not in itself determine whether that - header will appear in `-MM' dependency output. This is a slight - change in semantics from GCC versions 3.0 and earlier. - - `-MF FILE' - When used with `-M' or `-MM', specifies a file to write the - dependencies to. If no `-MF' switch is given the preprocessor - sends the rules to the same place it would have sent preprocessed - output. - - When used with the driver options `-MD' or `-MMD', `-MF' overrides - the default dependency output file. - - `-MG' - When used with `-M' or `-MM', `-MG' says to treat missing header - files as generated files and assume they live in the same - directory as the source file. It suppresses preprocessed output, - as a missing header file is ordinarily an error. - - This feature is used in automatic updating of makefiles. - - `-MP' - This option instructs CPP to add a phony target for each dependency - other than the main file, causing each to depend on nothing. These - dummy rules work around errors `make' gives if you remove header - files without updating the `Makefile' to match. - - This is typical output: - - test.o: test.c test.h - - test.h: - - `-MT TARGET' - Change the target of the rule emitted by dependency generation. By - default CPP takes the name of the main input file, including any - path, deletes any file suffix such as `.c', and appends the - platform's usual object suffix. The result is the target. - - An `-MT' option will set the target to be exactly the string you - specify. If you want multiple targets, you can specify them as a - single argument to `-MT', or use multiple `-MT' options. - - For example, `-MT '$(objpfx)foo.o'' might give - - $(objpfx)foo.o: foo.c - - `-MQ TARGET' - Same as `-MT', but it quotes any characters which are special to - Make. `-MQ '$(objpfx)foo.o'' gives - - $$(objpfx)foo.o: foo.c - - The default target is automatically quoted, as if it were given - with `-MQ'. - - `-MD' - `-MD' is equivalent to `-M -MF FILE', except that `-E' is not - implied. The driver determines FILE based on whether an `-o' - option is given. If it is, the driver uses its argument but with - a suffix of `.d', otherwise it take the basename of the input file - and applies a `.d' suffix. - - If `-MD' is used in conjunction with `-E', any `-o' switch is - understood to specify the dependency output file (but *note - -MF::), but if used without `-E', each `-o' is understood to - specify a target object file. - - Since `-E' is not implied, `-MD' can be used to generate a - dependency output file as a side-effect of the compilation process. - - `-MMD' - Like `-MD' except mention only user header files, not system - -header files. - - `-x c' - `-x c++' - `-x objective-c' - `-x assembler-with-cpp' - Specify the source language: C, C++, Objective-C, or assembly. - This has nothing to do with standards conformance or extensions; - it merely selects which base syntax to expect. If you give none - of these options, cpp will deduce the language from the extension - of the source file: `.c', `.cc', `.m', or `.S'. Some other common - extensions for C++ and assembly are also recognized. If cpp does - not recognize the extension, it will treat the file as C; this is - the most generic mode. - - *Note:* Previous versions of cpp accepted a `-lang' option which - selected both the language and the standards conformance level. - This option has been removed, because it conflicts with the `-l' - option. - - `-std=STANDARD' - `-ansi' - Specify the standard to which the code should conform. Currently - cpp only knows about the standards for C; other language standards - will be added in the future. - - STANDARD may be one of: - `iso9899:1990' - `c89' - The ISO C standard from 1990. `c89' is the customary - shorthand for this version of the standard. - - The `-ansi' option is equivalent to `-std=c89'. - - `iso9899:199409' - The 1990 C standard, as amended in 1994. - - `iso9899:1999' - `c99' - `iso9899:199x' - `c9x' - The revised ISO C standard, published in December 1999. - Before publication, this was known as C9X. - - `gnu89' - The 1990 C standard plus GNU extensions. This is the default. - - `gnu99' - `gnu9x' - The 1999 C standard plus GNU extensions. - - `-I-' - Split the include path. Any directories specified with `-I' - options before `-I-' are searched only for headers requested with - `#include "FILE"'; they are not searched for `#include '. - If additional directories are specified with `-I' options after - the `-I-', those directories are searched for all `#include' - directives. - - In addition, `-I-' inhibits the use of the directory of the current - file directory as the first search directory for `#include "FILE"'. - *Note Search Path::. - - `-nostdinc' - Do not search the standard system directories for header files. - Only the directories you have specified with `-I' options (and the - directory of the current file, if appropriate) are searched. - - `-nostdinc++' - Do not search for header files in the C++-specific standard - directories, but do still search the other standard directories. - (This option is used when building the C++ library.) - - `-include FILE' - Process FILE as if `#include "file"' appeared as the first line of - the primary source file. However, the first directory searched - for FILE is the preprocessor's working directory _instead of_ the - directory containing the main source file. If not found there, it - is searched for in the remainder of the `#include "..."' search - chain as normal. - - If multiple `-include' options are given, the files are included - in the order they appear on the command line. - - `-imacros FILE' - Exactly like `-include', except that any output produced by - scanning FILE is thrown away. Macros it defines remain defined. - This allows you to acquire all the macros from a header without - also processing its declarations. - - All files specified by `-imacros' are processed before all files - specified by `-include'. - - `-idirafter DIR' - Search DIR for header files, but do it _after_ all directories - specified with `-I' and the standard system directories have been - exhausted. DIR is treated as a system include directory. - - `-iprefix PREFIX' - Specify PREFIX as the prefix for subsequent `-iwithprefix' - options. If the prefix represents a directory, you should include - the final `/'. - - `-iwithprefix DIR' - `-iwithprefixbefore DIR' - Append DIR to the prefix specified previously with `-iprefix', and - add the resulting directory to the include search path. - `-iwithprefixbefore' puts it in the same place `-I' would; - `-iwithprefix' puts it where `-idirafter' would. - - Use of these options is discouraged. - - `-isystem DIR' - Search DIR for header files, after all directories specified by - `-I' but before the standard system directories. Mark it as a - system directory, so that it gets the same special treatment as is - applied to the standard system directories. *Note System - Headers::. - - `-fpreprocessed' - Indicate to the preprocessor that the input file has already been - preprocessed. This suppresses things like macro expansion, - trigraph conversion, escaped newline splicing, and processing of - most directives. The preprocessor still recognizes and removes - comments, so that you can pass a file preprocessed with `-C' to - the compiler without problems. In this mode the integrated - preprocessor is little more than a tokenizer for the front ends. - - `-fpreprocessed' is implicit if the input file has one of the - extensions `.i', `.ii' or `.mi'. These are the extensions that - GCC uses for preprocessed files created by `-save-temps'. - - `-ftabstop=WIDTH' - Set the distance between tab stops. This helps the preprocessor - report correct column numbers in warnings or errors, even if tabs - appear on the line. If the value is less than 1 or greater than - 100, the option is ignored. The default is 8. - - `-fno-show-column' - Do not print column numbers in diagnostics. This may be necessary - if diagnostics are being scanned by a program that does not - understand the column numbers, such as `dejagnu'. - - `-A PREDICATE=ANSWER' - Make an assertion with the predicate PREDICATE and answer ANSWER. - This form is preferred to the older form `-A PREDICATE(ANSWER)', - which is still supported, because it does not use shell special - characters. *Note Assertions::. - - `-A -PREDICATE=ANSWER' - Cancel an assertion with the predicate PREDICATE and answer ANSWER. - - `-A-' - Cancel all predefined assertions and all assertions preceding it on - the command line. Also, undefine all predefined macros and all - macros preceding it on the command line. (This is a historical - wart and may change in the future.) - - `-dCHARS' - CHARS is a sequence of one or more of the following characters, - and must not be preceded by a space. Other characters are - interpreted by the compiler proper, or reserved for future - versions of GCC, and so are silently ignored. If you specify - characters whose behavior conflicts, the result is undefined. - - `M' - Instead of the normal output, generate a list of `#define' - directives for all the macros defined during the execution of - the preprocessor, including predefined macros. This gives - you a way of finding out what is predefined in your version - of the preprocessor. Assuming you have no file `foo.h', the - command - - touch foo.h; cpp -dM foo.h - - will show all the predefined macros. - - `D' - Like `M' except in two respects: it does _not_ include the - predefined macros, and it outputs _both_ the `#define' - directives and the result of preprocessing. Both kinds of - output go to the standard output file. - - `N' - Like `D', but emit only the macro names, not their expansions. - - `I' - Output `#include' directives in addition to the result of - preprocessing. - - `-P' - Inhibit generation of linemarkers in the output from the - preprocessor. This might be useful when running the preprocessor - on something that is not C code, and will be sent to a program - which might be confused by the linemarkers. *Note Preprocessor - Output::. - - `-C' - Do not discard comments. All comments are passed through to the - output file, except for comments in processed directives, which - are deleted along with the directive. - - You should be prepared for side effects when using `-C'; it causes - the preprocessor to treat comments as tokens in their own right. - For example, comments appearing at the start of what would be a - directive line have the effect of turning that line into an - ordinary source line, since the first token on the line is no - longer a `#'. - - `-gcc' - Define the macros __GNUC__, __GNUC_MINOR__ and - __GNUC_PATCHLEVEL__. These are defined automatically when you use - `gcc -E'; you can turn them off in that case with `-no-gcc'. - - `-traditional' - Try to imitate the behavior of old-fashioned C, as opposed to ISO - C. *Note Traditional Mode::. - - `-trigraphs' - Process trigraph sequences. *Note Initial processing::. - - `-remap' - Enable special code to work around file systems which only permit - very short file names, such as MS-DOS. - - `-$' - Forbid the use of `$' in identifiers. The C standard allows - implementations to define extra characters that can appear in - identifiers. By default GNU CPP permits `$', a common extension. - - `-h' - `--help' - `--target-help' - Print text describing all the command line options instead of - preprocessing anything. - - `-v' - Verbose mode. Print out GNU CPP's version number at the beginning - of execution, and report the final form of the include path. - - `-H' - Print the name of each header file used, in addition to other - normal activities. Each name is indented to show how deep in the - `#include' stack it is. - - `-version' - `--version' - Print out GNU CPP's version number. With one dash, proceed to - preprocess as normal. With two dashes, exit immediately. - --- 1100,1102 ---- diff -Nrc3pad gcc-3.2/gcc/doc/cpp.info-4 gcc-3.2.1/gcc/doc/cpp.info-4 *** gcc-3.2/gcc/doc/cpp.info-4 Wed Aug 14 09:36:32 2002 --- gcc-3.2.1/gcc/doc/cpp.info-4 Tue Nov 19 18:17:11 2002 *************** START-INFO-DIR-ENTRY *** 7,12 **** --- 7,502 ---- END-INFO-DIR-ENTRY  + File: cpp.info, Node: Invocation, Next: Environment Variables, Prev: Implementation Details, Up: Top + + Invocation + ********** + + Most often when you use the C preprocessor you will not have to + invoke it explicitly: the C compiler will do so automatically. + However, the preprocessor is sometimes useful on its own. All the + options listed here are also acceptable to the C compiler and have the + same meaning, except that the C compiler has different rules for + specifying the output file. + + *Note:* Whether you use the preprocessor by way of `gcc' or `cpp', + the "compiler driver" is run first. This program's purpose is to + translate your command into invocations of the programs that do the + actual work. Their command line interfaces are similar but not + identical to the documented interface, and may change without notice. + + The C preprocessor expects two file names as arguments, INFILE and + OUTFILE. The preprocessor reads INFILE together with any other files + it specifies with `#include'. All the output generated by the combined + input files is written in OUTFILE. + + Either INFILE or OUTFILE may be `-', which as INFILE means to read + from standard input and as OUTFILE means to write to standard output. + Also, if either file is omitted, it means the same as if `-' had been + specified for that file. + + Unless otherwise noted, or the option ends in `=', all options which + take an argument may have that argument appear either immediately after + the option, or with a space between option and argument: `-Ifoo' and + `-I foo' have the same effect. + + Many options have multi-letter names; therefore multiple + single-letter options may _not_ be grouped: `-dM' is very different from + `-d -M'. + + `-D NAME' + Predefine NAME as a macro, with definition `1'. + + `-D NAME=DEFINITION' + Predefine NAME as a macro, with definition DEFINITION. There are + no restrictions on the contents of DEFINITION, but if you are + invoking the preprocessor from a shell or shell-like program you + may need to use the shell's quoting syntax to protect characters + such as spaces that have a meaning in the shell syntax. + + If you wish to define a function-like macro on the command line, + write its argument list with surrounding parentheses before the + equals sign (if any). Parentheses are meaningful to most shells, + so you will need to quote the option. With `sh' and `csh', + `-D'NAME(ARGS...)=DEFINITION'' works. + + `-D' and `-U' options are processed in the order they are given on + the command line. All `-imacros FILE' and `-include FILE' options + are processed after all `-D' and `-U' options. + + `-U NAME' + Cancel any previous definition of NAME, either built in or + provided with a `-D' option. + + `-undef' + Do not predefine any system-specific macros. The common predefined + macros remain defined. + + `-I DIR' + Add the directory DIR to the list of directories to be searched + for header files. *Note Search Path::. Directories named by `-I' + are searched before the standard system include directories. + + It is dangerous to specify a standard system include directory in + an `-I' option. This defeats the special treatment of system + headers (*note System Headers::) . It can also defeat the repairs + to buggy system headers which GCC makes when it is installed. + + `-o FILE' + Write output to FILE. This is the same as specifying FILE as the + second non-option argument to `cpp'. `gcc' has a different + interpretation of a second non-option argument, so you must use + `-o' to specify the output file. + + `-Wall' + Turns on all optional warnings which are desirable for normal + code. At present this is `-Wcomment' and `-Wtrigraphs'. Note that + many of the preprocessor's warnings are on by default and have no + options to control them. + + `-Wcomment' + `-Wcomments' + Warn whenever a comment-start sequence `/*' appears in a `/*' + comment, or whenever a backslash-newline appears in a `//' comment. + (Both forms have the same effect.) + + `-Wtrigraphs' + Warn if any trigraphs are encountered. This option used to take + effect only if `-trigraphs' was also specified, but now works + independently. Warnings are not given for trigraphs within + comments, as they do not affect the meaning of the program. + + `-Wtraditional' + Warn about certain constructs that behave differently in + traditional and ISO C. Also warn about ISO C constructs that have + no traditional C equivalent, and problematic constructs which + should be avoided. *Note Traditional Mode::. + + `-Wimport' + Warn the first time `#import' is used. + + `-Wundef' + Warn whenever an identifier which is not a macro is encountered in + an `#if' directive, outside of `defined'. Such identifiers are + replaced with zero. + + `-Werror' + Make all warnings into hard errors. Source code which triggers + warnings will be rejected. + + `-Wsystem-headers' + Issue warnings for code in system headers. These are normally + unhelpful in finding bugs in your own code, therefore suppressed. + If you are responsible for the system library, you may want to see + them. + + `-w' + Suppress all warnings, including those which GNU CPP issues by + default. + + `-pedantic' + Issue all the mandatory diagnostics listed in the C standard. + Some of them are left out by default, since they trigger + frequently on harmless code. + + `-pedantic-errors' + Issue all the mandatory diagnostics, and make all mandatory + diagnostics into errors. This includes mandatory diagnostics that + GCC issues without `-pedantic' but treats as warnings. + + `-M' + Instead of outputting the result of preprocessing, output a rule + suitable for `make' describing the dependencies of the main source + file. The preprocessor outputs one `make' rule containing the + object file name for that source file, a colon, and the names of + all the included files, including those coming from `-include' or + `-imacros' command line options. + + Unless specified explicitly (with `-MT' or `-MQ'), the object file + name consists of the basename of the source file with any suffix + replaced with object file suffix. If there are many included + files then the rule is split into several lines using `\'-newline. + The rule has no commands. + + This option does not suppress the preprocessor's debug output, + such as `-dM'. To avoid mixing such debug output with the + dependency rules you should explicitly specify the dependency + output file with `-MF', or use an environment variable like + `DEPENDENCIES_OUTPUT' (*note DEPENDENCIES_OUTPUT::). Debug output + will still be sent to the regular output stream as normal. + + Passing `-M' to the driver implies `-E'. + + `-MM' + Like `-M' but do not mention header files that are found in system + header directories, nor header files that are included, directly + or indirectly, from such a header. + + This implies that the choice of angle brackets or double quotes in + an `#include' directive does not in itself determine whether that + header will appear in `-MM' dependency output. This is a slight + change in semantics from GCC versions 3.0 and earlier. + + `-MF FILE' + When used with `-M' or `-MM', specifies a file to write the + dependencies to. If no `-MF' switch is given the preprocessor + sends the rules to the same place it would have sent preprocessed + output. + + When used with the driver options `-MD' or `-MMD', `-MF' overrides + the default dependency output file. + + `-MG' + When used with `-M' or `-MM', `-MG' says to treat missing header + files as generated files and assume they live in the same + directory as the source file. It suppresses preprocessed output, + as a missing header file is ordinarily an error. + + This feature is used in automatic updating of makefiles. + + `-MP' + This option instructs CPP to add a phony target for each dependency + other than the main file, causing each to depend on nothing. These + dummy rules work around errors `make' gives if you remove header + files without updating the `Makefile' to match. + + This is typical output: + + test.o: test.c test.h + + test.h: + + `-MT TARGET' + Change the target of the rule emitted by dependency generation. By + default CPP takes the name of the main input file, including any + path, deletes any file suffix such as `.c', and appends the + platform's usual object suffix. The result is the target. + + An `-MT' option will set the target to be exactly the string you + specify. If you want multiple targets, you can specify them as a + single argument to `-MT', or use multiple `-MT' options. + + For example, `-MT '$(objpfx)foo.o'' might give + + $(objpfx)foo.o: foo.c + + `-MQ TARGET' + Same as `-MT', but it quotes any characters which are special to + Make. `-MQ '$(objpfx)foo.o'' gives + + $$(objpfx)foo.o: foo.c + + The default target is automatically quoted, as if it were given + with `-MQ'. + + `-MD' + `-MD' is equivalent to `-M -MF FILE', except that `-E' is not + implied. The driver determines FILE based on whether an `-o' + option is given. If it is, the driver uses its argument but with + a suffix of `.d', otherwise it take the basename of the input file + and applies a `.d' suffix. + + If `-MD' is used in conjunction with `-E', any `-o' switch is + understood to specify the dependency output file (but *note + -MF::), but if used without `-E', each `-o' is understood to + specify a target object file. + + Since `-E' is not implied, `-MD' can be used to generate a + dependency output file as a side-effect of the compilation process. + + `-MMD' + Like `-MD' except mention only user header files, not system + -header files. + + `-x c' + `-x c++' + `-x objective-c' + `-x assembler-with-cpp' + Specify the source language: C, C++, Objective-C, or assembly. + This has nothing to do with standards conformance or extensions; + it merely selects which base syntax to expect. If you give none + of these options, cpp will deduce the language from the extension + of the source file: `.c', `.cc', `.m', or `.S'. Some other common + extensions for C++ and assembly are also recognized. If cpp does + not recognize the extension, it will treat the file as C; this is + the most generic mode. + + *Note:* Previous versions of cpp accepted a `-lang' option which + selected both the language and the standards conformance level. + This option has been removed, because it conflicts with the `-l' + option. + + `-std=STANDARD' + `-ansi' + Specify the standard to which the code should conform. Currently + cpp only knows about the standards for C; other language standards + will be added in the future. + + STANDARD may be one of: + `iso9899:1990' + `c89' + The ISO C standard from 1990. `c89' is the customary + shorthand for this version of the standard. + + The `-ansi' option is equivalent to `-std=c89'. + + `iso9899:199409' + The 1990 C standard, as amended in 1994. + + `iso9899:1999' + `c99' + `iso9899:199x' + `c9x' + The revised ISO C standard, published in December 1999. + Before publication, this was known as C9X. + + `gnu89' + The 1990 C standard plus GNU extensions. This is the default. + + `gnu99' + `gnu9x' + The 1999 C standard plus GNU extensions. + + `-I-' + Split the include path. Any directories specified with `-I' + options before `-I-' are searched only for headers requested with + `#include "FILE"'; they are not searched for `#include '. + If additional directories are specified with `-I' options after + the `-I-', those directories are searched for all `#include' + directives. + + In addition, `-I-' inhibits the use of the directory of the current + file directory as the first search directory for `#include "FILE"'. + *Note Search Path::. + + `-nostdinc' + Do not search the standard system directories for header files. + Only the directories you have specified with `-I' options (and the + directory of the current file, if appropriate) are searched. + + `-nostdinc++' + Do not search for header files in the C++-specific standard + directories, but do still search the other standard directories. + (This option is used when building the C++ library.) + + `-include FILE' + Process FILE as if `#include "file"' appeared as the first line of + the primary source file. However, the first directory searched + for FILE is the preprocessor's working directory _instead of_ the + directory containing the main source file. If not found there, it + is searched for in the remainder of the `#include "..."' search + chain as normal. + + If multiple `-include' options are given, the files are included + in the order they appear on the command line. + + `-imacros FILE' + Exactly like `-include', except that any output produced by + scanning FILE is thrown away. Macros it defines remain defined. + This allows you to acquire all the macros from a header without + also processing its declarations. + + All files specified by `-imacros' are processed before all files + specified by `-include'. + + `-idirafter DIR' + Search DIR for header files, but do it _after_ all directories + specified with `-I' and the standard system directories have been + exhausted. DIR is treated as a system include directory. + + `-iprefix PREFIX' + Specify PREFIX as the prefix for subsequent `-iwithprefix' + options. If the prefix represents a directory, you should include + the final `/'. + + `-iwithprefix DIR' + `-iwithprefixbefore DIR' + Append DIR to the prefix specified previously with `-iprefix', and + add the resulting directory to the include search path. + `-iwithprefixbefore' puts it in the same place `-I' would; + `-iwithprefix' puts it where `-idirafter' would. + + Use of these options is discouraged. + + `-isystem DIR' + Search DIR for header files, after all directories specified by + `-I' but before the standard system directories. Mark it as a + system directory, so that it gets the same special treatment as is + applied to the standard system directories. *Note System + Headers::. + + `-fpreprocessed' + Indicate to the preprocessor that the input file has already been + preprocessed. This suppresses things like macro expansion, + trigraph conversion, escaped newline splicing, and processing of + most directives. The preprocessor still recognizes and removes + comments, so that you can pass a file preprocessed with `-C' to + the compiler without problems. In this mode the integrated + preprocessor is little more than a tokenizer for the front ends. + + `-fpreprocessed' is implicit if the input file has one of the + extensions `.i', `.ii' or `.mi'. These are the extensions that + GCC uses for preprocessed files created by `-save-temps'. + + `-ftabstop=WIDTH' + Set the distance between tab stops. This helps the preprocessor + report correct column numbers in warnings or errors, even if tabs + appear on the line. If the value is less than 1 or greater than + 100, the option is ignored. The default is 8. + + `-fno-show-column' + Do not print column numbers in diagnostics. This may be necessary + if diagnostics are being scanned by a program that does not + understand the column numbers, such as `dejagnu'. + + `-A PREDICATE=ANSWER' + Make an assertion with the predicate PREDICATE and answer ANSWER. + This form is preferred to the older form `-A PREDICATE(ANSWER)', + which is still supported, because it does not use shell special + characters. *Note Assertions::. + + `-A -PREDICATE=ANSWER' + Cancel an assertion with the predicate PREDICATE and answer ANSWER. + + `-A-' + Cancel all predefined assertions and all assertions preceding it on + the command line. Also, undefine all predefined macros and all + macros preceding it on the command line. (This is a historical + wart and may change in the future.) + + `-dCHARS' + CHARS is a sequence of one or more of the following characters, + and must not be preceded by a space. Other characters are + interpreted by the compiler proper, or reserved for future + versions of GCC, and so are silently ignored. If you specify + characters whose behavior conflicts, the result is undefined. + + `M' + Instead of the normal output, generate a list of `#define' + directives for all the macros defined during the execution of + the preprocessor, including predefined macros. This gives + you a way of finding out what is predefined in your version + of the preprocessor. Assuming you have no file `foo.h', the + command + + touch foo.h; cpp -dM foo.h + + will show all the predefined macros. + + `D' + Like `M' except in two respects: it does _not_ include the + predefined macros, and it outputs _both_ the `#define' + directives and the result of preprocessing. Both kinds of + output go to the standard output file. + + `N' + Like `D', but emit only the macro names, not their expansions. + + `I' + Output `#include' directives in addition to the result of + preprocessing. + + `-P' + Inhibit generation of linemarkers in the output from the + preprocessor. This might be useful when running the preprocessor + on something that is not C code, and will be sent to a program + which might be confused by the linemarkers. *Note Preprocessor + Output::. + + `-C' + Do not discard comments. All comments are passed through to the + output file, except for comments in processed directives, which + are deleted along with the directive. + + You should be prepared for side effects when using `-C'; it causes + the preprocessor to treat comments as tokens in their own right. + For example, comments appearing at the start of what would be a + directive line have the effect of turning that line into an + ordinary source line, since the first token on the line is no + longer a `#'. + + `-gcc' + Define the macros __GNUC__, __GNUC_MINOR__ and + __GNUC_PATCHLEVEL__. These are defined automatically when you use + `gcc -E'; you can turn them off in that case with `-no-gcc'. + + `-traditional' + Try to imitate the behavior of old-fashioned C, as opposed to ISO + C. *Note Traditional Mode::. + + `-trigraphs' + Process trigraph sequences. *Note Initial processing::. + + `-remap' + Enable special code to work around file systems which only permit + very short file names, such as MS-DOS. + + `-$' + Forbid the use of `$' in identifiers. The C standard allows + implementations to define extra characters that can appear in + identifiers. By default GNU CPP permits `$', a common extension. + + `-h' + `--help' + `--target-help' + Print text describing all the command line options instead of + preprocessing anything. + + `-v' + Verbose mode. Print out GNU CPP's version number at the beginning + of execution, and report the final form of the include path. + + `-H' + Print the name of each header file used, in addition to other + normal activities. Each name is indented to show how deep in the + `#include' stack it is. + + `-version' + `--version' + Print out GNU CPP's version number. With one dash, proceed to + preprocess as normal. With two dashes, exit immediately. + +  File: cpp.info, Node: Environment Variables, Next: GNU Free Documentation License, Prev: Invocation, Up: Top Environment Variables *************** in turn take precedence over the configu *** 64,70 **** This variable is the same as the environment variable `DEPENDENCIES_OUTPUT' (*note DEPENDENCIES_OUTPUT::), except that system header files are not ignored, so it implies `-M' rather ! than `-MM'. *Note Invocation::.  File: cpp.info, Node: GNU Free Documentation License, Next: Option Index, Prev: Environment Variables, Up: Top --- 554,561 ---- This variable is the same as the environment variable `DEPENDENCIES_OUTPUT' (*note DEPENDENCIES_OUTPUT::), except that system header files are not ignored, so it implies `-M' rather ! than `-MM'. However, the dependence on the main input file is ! omitted. *Note Invocation::.  File: cpp.info, Node: GNU Free Documentation License, Next: Option Index, Prev: Environment Variables, Up: Top *************** Index of Directives *** 561,681 **** * OBJC_INCLUDE_PATH: Environment Variables. * SUNPRO_DEPENDENCIES: Environment Variables. -  - File: cpp.info, Node: Concept Index, Prev: Index of Directives, Up: Top - - Concept Index - ************* - - * Menu: - - * # operator: Stringification. - * ## operator: Concatenation. - * _Pragma: Pragmas. - * alternative tokens: Tokenization. - * arguments: Macro Arguments. - * arguments in macro definitions: Macro Arguments. - * assertions: Assertions. - * assertions, cancelling: Assertions. - * backslash-newline: Initial processing. - * block comments: Initial processing. - * C++ named operators: C++ Named Operators. - * character constants: Tokenization. - * character sets: Initial processing. - * command line: Invocation. - * commenting out code: Deleted Code. - * comments: Initial processing. - * common predefined macros: Common Predefined Macros. - * computed includes: Computed Includes. - * concatenation: Concatenation. - * conditional group: Ifdef. - * conditionals: Conditionals. - * continued lines: Initial processing. - * controlling macro: Once-Only Headers. - * defined: Defined. - * dependencies for make as output: Environment Variables. - * dependencies, make: Invocation. - * diagnostic: Diagnostics. - * differences from previous versions: Differences from previous versions. - * digraphs: Tokenization. - * directive line: The preprocessing language. - * directive name: The preprocessing language. - * directives: The preprocessing language. - * empty macro arguments: Macro Arguments. - * environment variables: Environment Variables. - * expansion of arguments: Argument Prescan. - * FDL, GNU Free Documentation License: GNU Free Documentation License. - * function-like macros: Function-like Macros. - * grouping options: Invocation. - * guard macro: Once-Only Headers. - * header file: Header Files. - * header file names: Tokenization. - * identifiers: Tokenization. - * implementation limits: Implementation limits. - * implementation-defined behavior: Implementation-defined behavior. - * including just once: Once-Only Headers. - * invalid token paste: Miscellaneous obsolete features. - * invocation: Invocation. - * iso646.h: C++ Named Operators. - * line comments: Initial processing. - * line control: Line Control. - * line endings: Initial processing. - * linemarkers: Preprocessor Output. - * macro argument expansion: Argument Prescan. - * macros in include: Computed Includes. - * macros with arguments: Macro Arguments. - * macros with variable arguments: Variadic Macros. - * make: Invocation. - * manifest constants: Object-like Macros. - * multi-line string constants: Miscellaneous obsolete features. - * named operators: C++ Named Operators. - * newlines in macro arguments: Newlines in Arguments. - * null directive: Other Directives. - * numbers: Tokenization. - * object-like macro: Object-like Macros. - * options: Invocation. - * options, grouping: Invocation. - * other tokens: Tokenization. - * output format: Preprocessor Output. - * overriding a header file: Wrapper Headers. - * parentheses in macro bodies: Operator Precedence Problems. - * pitfalls of macros: Macro Pitfalls. - * pragma poison: Miscellaneous obsolete features. - * predefined macros: Predefined Macros. - * predefined macros, system-specific: System-specific Predefined Macros. - * predicates: Assertions. - * preprocessing directives: The preprocessing language. - * preprocessing numbers: Tokenization. - * preprocessing tokens: Tokenization. - * prescan of macro arguments: Argument Prescan. - * problems with macros: Macro Pitfalls. - * punctuators: Tokenization. - * redefining macros: Undefining and Redefining Macros. - * repeated inclusion: Once-Only Headers. - * reporting errors: Diagnostics. - * reporting warnings: Diagnostics. - * reserved namespace: System-specific Predefined Macros. - * self-reference: Self-Referential Macros. - * semicolons (after macro calls): Swallowing the Semicolon. - * side effects (in macro arguments): Duplication of Side Effects. - * standard predefined macros.: Standard Predefined Macros. - * string constants: Tokenization. - * string literals: Tokenization. - * stringification: Stringification. - * symbolic constants: Object-like Macros. - * system header files <1>: System Headers. - * system header files: Header Files. - * system-specific predefined macros: System-specific Predefined Macros. - * testing predicates: Assertions. - * token concatenation: Concatenation. - * token pasting: Concatenation. - * tokens: Tokenization. - * trigraphs: Initial processing. - * undefining macros: Undefining and Redefining Macros. - * unsafe macros: Duplication of Side Effects. - * variable number of arguments: Variadic Macros. - * variadic macros: Variadic Macros. - * wrapper #ifndef: Once-Only Headers. - * wrapper headers: Wrapper Headers. - - --- 1052,1054 ---- diff -Nrc3pad gcc-3.2/gcc/doc/cpp.info-5 gcc-3.2.1/gcc/doc/cpp.info-5 *** gcc-3.2/gcc/doc/cpp.info-5 Thu Jan 1 00:00:00 1970 --- gcc-3.2.1/gcc/doc/cpp.info-5 Tue Nov 19 18:17:11 2002 *************** *** 0 **** --- 1,126 ---- + This is doc/cpp.info, produced by makeinfo version 4.2 from + doc/cpp.texi. + + INFO-DIR-SECTION Programming + START-INFO-DIR-ENTRY + * Cpp: (cpp). The GNU C preprocessor. + END-INFO-DIR-ENTRY + +  + File: cpp.info, Node: Concept Index, Prev: Index of Directives, Up: Top + + Concept Index + ************* + + * Menu: + + * # operator: Stringification. + * ## operator: Concatenation. + * _Pragma: Pragmas. + * alternative tokens: Tokenization. + * arguments: Macro Arguments. + * arguments in macro definitions: Macro Arguments. + * assertions: Assertions. + * assertions, cancelling: Assertions. + * backslash-newline: Initial processing. + * block comments: Initial processing. + * C++ named operators: C++ Named Operators. + * character constants: Tokenization. + * character sets: Initial processing. + * command line: Invocation. + * commenting out code: Deleted Code. + * comments: Initial processing. + * common predefined macros: Common Predefined Macros. + * computed includes: Computed Includes. + * concatenation: Concatenation. + * conditional group: Ifdef. + * conditionals: Conditionals. + * continued lines: Initial processing. + * controlling macro: Once-Only Headers. + * defined: Defined. + * dependencies for make as output: Environment Variables. + * dependencies, make: Invocation. + * diagnostic: Diagnostics. + * differences from previous versions: Differences from previous versions. + * digraphs: Tokenization. + * directive line: The preprocessing language. + * directive name: The preprocessing language. + * directives: The preprocessing language. + * empty macro arguments: Macro Arguments. + * environment variables: Environment Variables. + * expansion of arguments: Argument Prescan. + * FDL, GNU Free Documentation License: GNU Free Documentation License. + * function-like macros: Function-like Macros. + * grouping options: Invocation. + * guard macro: Once-Only Headers. + * header file: Header Files. + * header file names: Tokenization. + * identifiers: Tokenization. + * implementation limits: Implementation limits. + * implementation-defined behavior: Implementation-defined behavior. + * including just once: Once-Only Headers. + * invalid token paste: Miscellaneous obsolete features. + * invocation: Invocation. + * iso646.h: C++ Named Operators. + * line comments: Initial processing. + * line control: Line Control. + * line endings: Initial processing. + * linemarkers: Preprocessor Output. + * macro argument expansion: Argument Prescan. + * macros in include: Computed Includes. + * macros with arguments: Macro Arguments. + * macros with variable arguments: Variadic Macros. + * make: Invocation. + * manifest constants: Object-like Macros. + * multi-line string constants: Miscellaneous obsolete features. + * named operators: C++ Named Operators. + * newlines in macro arguments: Newlines in Arguments. + * null directive: Other Directives. + * numbers: Tokenization. + * object-like macro: Object-like Macros. + * options: Invocation. + * options, grouping: Invocation. + * other tokens: Tokenization. + * output format: Preprocessor Output. + * overriding a header file: Wrapper Headers. + * parentheses in macro bodies: Operator Precedence Problems. + * pitfalls of macros: Macro Pitfalls. + * pragma poison: Miscellaneous obsolete features. + * predefined macros: Predefined Macros. + * predefined macros, system-specific: System-specific Predefined Macros. + * predicates: Assertions. + * preprocessing directives: The preprocessing language. + * preprocessing numbers: Tokenization. + * preprocessing tokens: Tokenization. + * prescan of macro arguments: Argument Prescan. + * problems with macros: Macro Pitfalls. + * punctuators: Tokenization. + * redefining macros: Undefining and Redefining Macros. + * repeated inclusion: Once-Only Headers. + * reporting errors: Diagnostics. + * reporting warnings: Diagnostics. + * reserved namespace: System-specific Predefined Macros. + * self-reference: Self-Referential Macros. + * semicolons (after macro calls): Swallowing the Semicolon. + * side effects (in macro arguments): Duplication of Side Effects. + * standard predefined macros.: Standard Predefined Macros. + * string constants: Tokenization. + * string literals: Tokenization. + * stringification: Stringification. + * symbolic constants: Object-like Macros. + * system header files <1>: System Headers. + * system header files: Header Files. + * system-specific predefined macros: System-specific Predefined Macros. + * testing predicates: Assertions. + * token concatenation: Concatenation. + * token pasting: Concatenation. + * tokens: Tokenization. + * trigraphs: Initial processing. + * undefining macros: Undefining and Redefining Macros. + * unsafe macros: Duplication of Side Effects. + * variable number of arguments: Variadic Macros. + * variadic macros: Variadic Macros. + * wrapper #ifndef: Once-Only Headers. + * wrapper headers: Wrapper Headers. + + diff -Nrc3pad gcc-3.2/gcc/doc/cpp.texi gcc-3.2.1/gcc/doc/cpp.texi *** gcc-3.2/gcc/doc/cpp.texi Thu Mar 14 19:24:59 2002 --- gcc-3.2.1/gcc/doc/cpp.texi Sat Oct 5 09:36:28 2002 *************** version of GCC in use. *** 830,840 **** You can add to this list with the @option{-I@var{dir}} command line option. All the directories named by @option{-I} are searched, in ! left-to-right order, @emph{before} the default directories. You can ! also prevent GCC from searching any of the default directories with the ! @option{-nostdinc} option. This is useful when you are compiling an operating system kernel or some other program that does not use the standard C library facilities, or the standard C library itself. GCC looks for headers requested with @code{@w{#include "@var{file}"}} first in the directory containing the current file, then in the same --- 830,851 ---- You can add to this list with the @option{-I@var{dir}} command line option. All the directories named by @option{-I} are searched, in ! left-to-right order, @emph{before} the default directories. The only ! exception is when @file{dir} is already searched by default. In ! this case, the option is ignored and the search order for system ! directories remains unchanged. ! ! Duplicate directories are removed from the quote and bracket search ! chains before the two chains are merged to make the final search chain. ! Thus, it is possible for a directory to occur twice in the final search ! chain if it was specified in both the quote and bracket chains. ! ! You can prevent GCC from searching any of the default directories with ! the @option{-nostdinc} option. This is useful when you are compiling an operating system kernel or some other program that does not use the standard C library facilities, or the standard C library itself. + @option{-I} options are not ignored as described above when + @option{-nostdinc} is in effect. GCC looks for headers requested with @code{@w{#include "@var{file}"}} first in the directory containing the current file, then in the same *************** For example, if @file{/usr/include/sys/s *** 843,854 **** @code{@w{#include "types.h"}}, GCC looks for @file{types.h} first in @file{/usr/include/sys}, then in its usual search path. - If you name a search directory with @option{-I@var{dir}} that is also a - system include directory, the @option{-I} wins; the directory will be - searched according to the @option{-I} ordering, and it will not be - treated as a system include directory. GCC will warn you when a system - include directory is hidden in this way. - @samp{#line} (@pxref{Line Control}) does not change GCC's idea of the directory containing the current file. --- 854,859 ---- *************** found in that directory will be consider *** 1081,1088 **** All directories named by @option{-isystem} are searched @emph{after} all directories named by @option{-I}, no matter what their order was on the command line. If the same directory is named by both @option{-I} and ! @option{-isystem}, @option{-I} wins; it is as if the @option{-isystem} option ! had never been specified at all. GCC warns you when this happens. @findex #pragma GCC system_header There is also a directive, @code{@w{#pragma GCC system_header}}, which --- 1086,1093 ---- All directories named by @option{-isystem} are searched @emph{after} all directories named by @option{-I}, no matter what their order was on the command line. If the same directory is named by both @option{-I} and ! @option{-isystem}, the @option{-I} option is ignored. GCC provides an ! informative message when this occurs if @option{-v} is used. @findex #pragma GCC system_header There is also a directive, @code{@w{#pragma GCC system_header}}, which *************** eprintf ("success!\n") *** 1676,1681 **** --- 1681,1695 ---- @expansion{} fprintf(stderr, "success!\n"); @end example + @noindent + The above explanation is ambiguous about the case where the only macro + parameter is a variable arguments parameter, as it is meaningless to + try to distinguish whether no argument at all is an empty argument or + a missing argument. In this case the C99 standard is clear that the + comma must remain, however the existing GCC extension used to swallow + the comma. So CPP retains the comma when conforming to a specific C + standard, and drops it otherwise. + C99 mandates that the only place the identifier @code{@w{__VA_ARGS__}} can appear is in the replacement list of a variadic macro. It may not be used as a macro name, macro argument name, or within a different type *************** conformance to the C Standard. GNU CPP *** 1806,1814 **** processing system header files, but when processing user files @code{__STDC__} is always 1. This has been reported to cause problems; for instance, some versions of Solaris provide X Windows headers that ! expect @code{__STDC__} to be either undefined or 1. You may be able to ! work around this sort of problem by using an @option{-I} option to ! cancel treatment of those headers as system headers. @xref{Invocation}. @item __STDC_VERSION__ This macro expands to the C Standard's version number, a long integer --- 1820,1826 ---- processing system header files, but when processing user files @code{__STDC__} is always 1. This has been reported to cause problems; for instance, some versions of Solaris provide X Windows headers that ! expect @code{__STDC__} to be either undefined or 1. @xref{Invocation}. @item __STDC_VERSION__ This macro expands to the C Standard's version number, a long integer *************** Here are a few more obsolete features. *** 3724,3732 **** @item Attempting to paste two tokens which together do not form a valid preprocessing token. ! The preprocessor currently warns about this and outputs the two tokens ! adjacently, which is probably the behavior the programmer intends. It ! may not work in future, though. Most of the time, when you get this warning, you will find that @samp{##} is being used superstitiously, to guard against whitespace appearing --- 3736,3744 ---- @item Attempting to paste two tokens which together do not form a valid preprocessing token. ! The preprocessor currently warns about this, and the resulting ! preprocessed output is undefined. The tokens remain distinct if the ! preprocessor is being used directly by the compiler front end. Most of the time, when you get this warning, you will find that @samp{##} is being used superstitiously, to guard against whitespace appearing diff -Nrc3pad gcc-3.2/gcc/doc/cppenv.texi gcc-3.2.1/gcc/doc/cppenv.texi *** gcc-3.2/gcc/doc/cppenv.texi Mon Mar 11 19:59:58 2002 --- gcc-3.2.1/gcc/doc/cppenv.texi Thu Aug 15 19:46:42 2002 *************** with an optional @option{-MT} switch too *** 66,72 **** This variable is the same as the environment variable @env{DEPENDENCIES_OUTPUT} (@pxref{DEPENDENCIES_OUTPUT}), except that system header files are not ignored, so it implies @option{-M} rather ! than @option{-MM}. @ifset cppmanual @xref{Invocation}. @end ifset --- 66,73 ---- This variable is the same as the environment variable @env{DEPENDENCIES_OUTPUT} (@pxref{DEPENDENCIES_OUTPUT}), except that system header files are not ignored, so it implies @option{-M} rather ! than @option{-MM}. However, the dependence on the main input file is ! omitted. @ifset cppmanual @xref{Invocation}. @end ifset diff -Nrc3pad gcc-3.2/gcc/doc/cppopts.texi gcc-3.2.1/gcc/doc/cppopts.texi *** gcc-3.2/gcc/doc/cppopts.texi Mon Mar 11 19:59:58 2002 --- gcc-3.2.1/gcc/doc/cppopts.texi Wed Sep 11 16:40:27 2002 *************** standard-conforming modes it converts th *** 541,550 **** The nine trigraphs and their replacements are ! @example Trigraph: ??( ??) ??< ??> ??= ??/ ??' ??! ??- Replacement: [ ] @{ @} # \ ^ | ~ ! @end example @end ifclear @item -remap --- 541,550 ---- The nine trigraphs and their replacements are ! @smallexample Trigraph: ??( ??) ??< ??> ??= ??/ ??' ??! ??- Replacement: [ ] @{ @} # \ ^ | ~ ! @end smallexample @end ifclear @item -remap diff -Nrc3pad gcc-3.2/gcc/doc/extend.texi gcc-3.2.1/gcc/doc/extend.texi *** gcc-3.2/gcc/doc/extend.texi Thu Apr 11 21:36:04 2002 --- gcc-3.2.1/gcc/doc/extend.texi Wed Oct 9 21:31:00 2002 *************** extensions, accepted by GCC in C89 mode *** 385,391 **** * Labels as Values:: Getting pointers to labels, and computed gotos. * Nested Functions:: As in Algol and Pascal, lexical scoping of functions. * Constructing Calls:: Dispatching a call to another function. - * Naming Types:: Giving a name to the type of some expression. * Typeof:: @code{typeof}: referring to the type of an expression. * Lvalues:: Using @samp{?:}, @samp{,} and casts in lvalues. * Conditionals:: Omitting the middle operand of a @samp{?:} expression. --- 385,390 ---- *************** the value of an enumeration constant, th *** 495,502 **** the initial value of a static variable. If you don't know the type of the operand, you can still do this, but you ! must use @code{typeof} (@pxref{Typeof}) or type naming (@pxref{Naming ! Types}). Statement expressions are not supported fully in G++, and their fate there is unclear. (It is possible that they will become fully supported --- 494,500 ---- the initial value of a static variable. If you don't know the type of the operand, you can still do this, but you ! must use @code{typeof} (@pxref{Typeof}). Statement expressions are not supported fully in G++, and their fate there is unclear. (It is possible that they will become fully supported *************** GCC implements taking the address of a n *** 739,745 **** called @dfn{trampolines}. A paper describing them is available as @noindent ! @uref{http://people.debian.org/~karlheg/Usenix88-lexic.pdf}. A nested function can jump to a label inherited from a containing function, provided the label was explicitly declared in the containing --- 737,743 ---- called @dfn{trampolines}. A paper describing them is available as @noindent ! @uref{http://people.debian.org/~aaronl/Usenix88-lexic.pdf}. A nested function can jump to a label inherited from a containing function, provided the label was explicitly declared in the containing *************** the containing function. You should spe *** 845,873 **** returned by @code{__builtin_apply}. @end deftypefn - @node Naming Types - @section Naming an Expression's Type - @cindex naming types - - You can give a name to the type of an expression using a @code{typedef} - declaration with an initializer. Here is how to define @var{name} as a - type name for the type of @var{exp}: - - @example - typedef @var{name} = @var{exp}; - @end example - - This is useful in conjunction with the statements-within-expressions - feature. Here is how the two together can be used to define a safe - ``maximum'' macro that operates on any arithmetic type: - - @example - #define max(a,b) \ - (@{typedef _ta = (a), _tb = (b); \ - _ta _a = (a); _tb _b = (b); \ - _a > _b ? _a : _b; @}) - @end example - @cindex underscores in variables in macros @cindex @samp{_} in variables in macros @cindex local variables in macros --- 843,848 ---- *************** A @code{typeof}-construct can be used an *** 919,924 **** --- 894,914 ---- used. For example, you can use it in a declaration, in a cast, or inside of @code{sizeof} or @code{typeof}. + @code{typeof} is often useful in conjunction with the + statements-within-expressions feature. Here is how the two together can + be used to define a safe ``maximum'' macro that operates on any + arithmetic type and evaluates each of its arguments exactly once: + + @example + #define max(a,b) \ + (@{ typeof (a) _a = (a); \ + typeof (b) _b = (b); \ + _a > _b ? _a : _b; @}) + @end example + + @noindent + Some more examples of the use of @code{typeof}: + @itemize @bullet @item This declares @code{y} with the type of what @code{x} points to. *************** Thus, @code{array (pointer (char), 4)} i *** 968,973 **** --- 958,983 ---- pointers to @code{char}. @end itemize + @emph{Compatibility Note:} In addition to @code{typeof}, GCC 2 supported + a more limited extension which permitted one to write + + @example + typedef @var{T} = @var{expr}; + @end example + + @noindent + with the effect of declaring @var{T} to have the type of the expression + @var{expr}. This extension does not work with GCC 3 (versions between + 3.0 and 3.2 will crash; 3.2.1 and later give an error). Code which + relies on it should be rewritten to use @code{typeof}: + + @example + typedef typeof(@var{expr}) @var{T}; + @end example + + @noindent + This will work with all versions of GCC@. + @node Lvalues @section Generalized Lvalues @cindex compound expressions as lvalues *************** variable number of arguments much as a f *** 1396,1404 **** defining the macro is similar to that of a function. Here is an example: ! @example #define debug(format, ...) fprintf (stderr, format, __VA_ARGS__) ! @end example Here @samp{@dots{}} is a @dfn{variable argument}. In the invocation of such a macro, it represents the zero or more tokens until the closing --- 1406,1414 ---- defining the macro is similar to that of a function. Here is an example: ! @smallexample #define debug(format, ...) fprintf (stderr, format, __VA_ARGS__) ! @end smallexample Here @samp{@dots{}} is a @dfn{variable argument}. In the invocation of such a macro, it represents the zero or more tokens until the closing *************** string. *** 1437,1445 **** To help solve this problem, CPP behaves specially for variable arguments used with the token paste operator, @samp{##}. If instead you write ! @example #define debug(format, ...) fprintf (stderr, format, ## __VA_ARGS__) ! @end example and if the variable arguments are omitted or empty, the @samp{##} operator causes the preprocessor to remove the comma before it. If you --- 1447,1455 ---- To help solve this problem, CPP behaves specially for variable arguments used with the token paste operator, @samp{##}. If instead you write ! @smallexample #define debug(format, ...) fprintf (stderr, format, ## __VA_ARGS__) ! @end smallexample and if the variable arguments are omitted or empty, the @samp{##} operator causes the preprocessor to remove the comma before it. If you *************** nested subobject to initialize; the list *** 1749,1757 **** subobject corresponding to the closest surrounding brace pair. For example, with the @samp{struct point} declaration above: ! @example struct point ptarray[10] = @{ [2].y = yv2, [2].x = xv2, [0].x = xv0 @}; ! @end example @noindent If the same field is initialized multiple times, it will have value from --- 1759,1767 ---- subobject corresponding to the closest surrounding brace pair. For example, with the @samp{struct point} declaration above: ! @smallexample struct point ptarray[10] = @{ [2].y = yv2, [2].x = xv2, [0].x = xv0 @}; ! @end smallexample @noindent If the same field is initialized multiple times, it will have value from *************** the minimum value of variables @var{i} a *** 6170,6181 **** However, side effects in @code{X} or @code{Y} may cause unintended behavior. For example, @code{MIN (i++, j++)} will fail, incrementing ! the smaller counter twice. A GNU C extension allows you to write safe ! macros that avoid this kind of problem (@pxref{Naming Types,,Naming an ! Expression's Type}). However, writing @code{MIN} and @code{MAX} as ! macros also forces you to use function-call notation for a ! fundamental arithmetic operation. Using GNU C++ extensions, you can ! write @w{@samp{int min = i ?} are built into the compiler, they properly handle expressions with side-effects; @w{@samp{int min = i++ ?} are built into the compiler, they properly handle expressions with side-effects; @w{@samp{int min = i++