diff -Nrc3pad gcc-3.3.1/.brik gcc-3.3.2/.brik *** gcc-3.3.1/.brik 2003-08-04 14:59:43.000000000 +0000 --- gcc-3.3.2/.brik 2003-10-16 22:52:23.000000000 +0000 *************** *** 14,26 **** 2411687152b ./boehm-gc/BCC_MAKEFILE 394605993b ./boehm-gc/blacklst.c 971406525b ./boehm-gc/callprocs ! 4155691129b ./boehm-gc/ChangeLog 2542310219b ./boehm-gc/checksums.c 1272640704b ./boehm-gc/config.guess 4182969326b ./boehm-gc/config.sub ! 2472545041b ./boehm-gc/configure 2331870630b ./boehm-gc/configure.host ! 1266343671b ./boehm-gc/configure.in 3430717956b ./boehm-gc/cord/cordbscs.c 473686535b ./boehm-gc/cord/cordprnt.c 1796537586b ./boehm-gc/cord/cordtest.c --- 14,26 ---- 2411687152b ./boehm-gc/BCC_MAKEFILE 394605993b ./boehm-gc/blacklst.c 971406525b ./boehm-gc/callprocs ! 3646085849b ./boehm-gc/ChangeLog 2542310219b ./boehm-gc/checksums.c 1272640704b ./boehm-gc/config.guess 4182969326b ./boehm-gc/config.sub ! 2350970747b ./boehm-gc/configure 2331870630b ./boehm-gc/configure.host ! 725430640b ./boehm-gc/configure.in 3430717956b ./boehm-gc/cord/cordbscs.c 473686535b ./boehm-gc/cord/cordprnt.c 1796537586b ./boehm-gc/cord/cordtest.c *************** *** 162,172 **** 332085760b ./boehm-gc/version.h 205379550b ./boehm-gc/WCC_MAKEFILE 62682092b ./boehm-gc/win32_threads.c ! 2171734350b ./BUGS ! 2989600426b ./bugs.html ! 2254080160b ./ChangeLog 430854799b ./config/acinclude.m4 ! 1571744625b ./config/ChangeLog 3794184949b ./config.guess 2016379063b ./config.if 636889995b ./config/mh-a68bsd --- 162,172 ---- 332085760b ./boehm-gc/version.h 205379550b ./boehm-gc/WCC_MAKEFILE 62682092b ./boehm-gc/win32_threads.c ! 971684819b ./BUGS ! 4173866843b ./bugs.html ! 934441312b ./ChangeLog 430854799b ./config/acinclude.m4 ! 1748632144b ./config/ChangeLog 3794184949b ./config.guess 2016379063b ./config.if 636889995b ./config/mh-a68bsd *************** *** 200,206 **** 3478341494b ./config/mh-ppcpic 633311229b ./config/mh-riscos 3265825290b ./config/mh-s390pic ! 883433131b ./config/mh-sco 612532950b ./config/mh-solaris 1399222241b ./config/mh-sparcpic 1335785638b ./config/mh-sysv --- 200,206 ---- 3478341494b ./config/mh-ppcpic 633311229b ./config/mh-riscos 3265825290b ./config/mh-s390pic ! 2299205241b ./config/mh-sco 612532950b ./config/mh-solaris 1399222241b ./config/mh-sparcpic 1335785638b ./config/mh-sysv *************** *** 218,239 **** 2659154290b ./config/mt-wince 537897852b ./config.sub 4143692422b ./configure ! 2116386303b ./configure.in 1948950130b ./contrib/analyze_brprob ! 3735472459b ./contrib/ChangeLog 550196746b ./contrib/compare_tests 2828387446b ./contrib/convert_to_f2c 2929939770b ./contrib/convert_to_g2c 2025073358b ./contrib/download_f2c 1336632236b ./contrib/gccbug.el ! 2292355102b ./contrib/gcc_build 349855123b ./contrib/gcc_update ! 109296376b ./contrib/gennews 4256039795b ./contrib/index-prop 3683285493b ./contrib/newcvsroot 3406928738b ./contrib/paranoia.cc 3661855799b ./contrib/regression/btest-gcc.sh ! 2871919057b ./contrib/regression/ChangeLog 1435553453b ./contrib/regression/objs-gcc.sh 1757898889b ./contrib/regression/README 3103378580b ./contrib/regression/site.exp --- 218,239 ---- 2659154290b ./config/mt-wince 537897852b ./config.sub 4143692422b ./configure ! 2474773756b ./configure.in 1948950130b ./contrib/analyze_brprob ! 1043864154b ./contrib/ChangeLog 550196746b ./contrib/compare_tests 2828387446b ./contrib/convert_to_f2c 2929939770b ./contrib/convert_to_g2c 2025073358b ./contrib/download_f2c 1336632236b ./contrib/gccbug.el ! 4190705069b ./contrib/gcc_build 349855123b ./contrib/gcc_update ! 752127234b ./contrib/gennews 4256039795b ./contrib/index-prop 3683285493b ./contrib/newcvsroot 3406928738b ./contrib/paranoia.cc 3661855799b ./contrib/regression/btest-gcc.sh ! 3682328122b ./contrib/regression/ChangeLog 1435553453b ./contrib/regression/objs-gcc.sh 1757898889b ./contrib/regression/README 3103378580b ./contrib/regression/site.exp *************** *** 244,255 **** 2171125041b ./COPYING 508743035b ./COPYING.LIB 2864072627b ./.cvsignore ! 4097910241b ./FAQ ! 2227615908b ./faq.html 54199525b ./fastjar/acinclude.m4 1369101675b ./fastjar/aclocal.m4 1005262133b ./fastjar/AUTHORS ! 1926225893b ./fastjar/ChangeLog 1745615150b ./fastjar/CHANGES 3743222129b ./fastjar/compress.c 1169302702b ./fastjar/compress.h --- 244,255 ---- 2171125041b ./COPYING 508743035b ./COPYING.LIB 2864072627b ./.cvsignore ! 998335541b ./FAQ ! 1764901825b ./faq.html 54199525b ./fastjar/acinclude.m4 1369101675b ./fastjar/aclocal.m4 1005262133b ./fastjar/AUTHORS ! 2435650698b ./fastjar/ChangeLog 1745615150b ./fastjar/CHANGES 3743222129b ./fastjar/compress.c 1169302702b ./fastjar/compress.h *************** *** 260,278 **** 3707811223b ./fastjar/.cvsignore 2553867110b ./fastjar/dostime.c 446939748b ./fastjar/dostime.h ! 1044518281b ./fastjar/fastjar.info ! 2806177633b ./fastjar/fastjar.texi ! 378877939b ./fastjar/grepjar.1 2770615802b ./fastjar/INSTALL 2331671736b ./fastjar/install-defs.sh.in 1178077958b ./fastjar/install-sh ! 2922712869b ./fastjar/jar.1 2281221680b ./fastjar/jargrep.c 4062871816b ./fastjar/jargrep.h 2905933595b ./fastjar/jartool.c 2754304773b ./fastjar/jartool.h ! 443848619b ./fastjar/Makefile.am ! 232400679b ./fastjar/Makefile.in 990942143b ./fastjar/missing 1455437353b ./fastjar/mkinstalldirs 4038493440b ./fastjar/NEWS --- 260,278 ---- 3707811223b ./fastjar/.cvsignore 2553867110b ./fastjar/dostime.c 446939748b ./fastjar/dostime.h ! 3900501519b ./fastjar/fastjar.info ! 3589129523b ./fastjar/fastjar.texi ! 2261192900b ./fastjar/grepjar.1 2770615802b ./fastjar/INSTALL 2331671736b ./fastjar/install-defs.sh.in 1178077958b ./fastjar/install-sh ! 1406665953b ./fastjar/jar.1 2281221680b ./fastjar/jargrep.c 4062871816b ./fastjar/jargrep.h 2905933595b ./fastjar/jartool.c 2754304773b ./fastjar/jartool.h ! 1805291518b ./fastjar/Makefile.am ! 2841639681b ./fastjar/Makefile.in 990942143b ./fastjar/missing 1455437353b ./fastjar/mkinstalldirs 4038493440b ./fastjar/NEWS *************** *** 284,290 **** 2215240433b ./gcc/ABOUT-GCC-NLS 1413896246b ./gcc/ABOUT-NLS 3729933059b ./gcc/acconfig.h ! 674177543b ./gcc/aclocal.m4 3476755371b ./gcc/ada/1aexcept.adb 3022880533b ./gcc/ada/1aexcept.ads 2251433832b ./gcc/ada/1ic.ads --- 284,290 ---- 2215240433b ./gcc/ABOUT-GCC-NLS 1413896246b ./gcc/ABOUT-NLS 3729933059b ./gcc/acconfig.h ! 4067360570b ./gcc/aclocal.m4 3476755371b ./gcc/ada/1aexcept.adb 3022880533b ./gcc/ada/1aexcept.ads 2251433832b ./gcc/ada/1ic.ads *************** *** 725,731 **** 819907824b ./gcc/ada/casing.adb 383971693b ./gcc/ada/casing.ads 2658802005b ./gcc/ada/ceinfo.adb ! 3789399917b ./gcc/ada/ChangeLog 2766796861b ./gcc/ada/checks.adb 2020343191b ./gcc/ada/checks.ads 1422160412b ./gcc/ada/cio.c --- 725,731 ---- 819907824b ./gcc/ada/casing.adb 383971693b ./gcc/ada/casing.ads 2658802005b ./gcc/ada/ceinfo.adb ! 2122962180b ./gcc/ada/ChangeLog 2766796861b ./gcc/ada/checks.adb 2020343191b ./gcc/ada/checks.ads 1422160412b ./gcc/ada/cio.c *************** *** 919,936 **** 2304496705b ./gcc/ada/gnatprep.adb 2739505905b ./gcc/ada/gnatprep.ads 2618438921b ./gcc/ada/gnatpsta.adb ! 1370385931b ./gcc/ada/gnat_rm.info 2672136726b ./gcc/ada/gnat_rm.texi 4056210887b ./gcc/ada/gnat-style.info 4283135334b ./gcc/ada/gnat-style.texi 2087208411b ./gcc/ada/gnat_ug.texi ! 2520572795b ./gcc/ada/gnat_ug_unx.info 804303635b ./gcc/ada/gnat_ug_unx.texi ! 4283818481b ./gcc/ada/gnat_ug_vms.info 1719659850b ./gcc/ada/gnat_ug_vms.texi ! 4198303969b ./gcc/ada/gnat_ug_vxw.info 1705774003b ./gcc/ada/gnat_ug_vxw.texi ! 4196616963b ./gcc/ada/gnat_ug_wnt.info 1236505387b ./gcc/ada/gnat_ug_wnt.texi 3334144073b ./gcc/ada/gnatvsn.adb 1947192708b ./gcc/ada/gnatvsn.ads --- 919,936 ---- 2304496705b ./gcc/ada/gnatprep.adb 2739505905b ./gcc/ada/gnatprep.ads 2618438921b ./gcc/ada/gnatpsta.adb ! 2704394259b ./gcc/ada/gnat_rm.info 2672136726b ./gcc/ada/gnat_rm.texi 4056210887b ./gcc/ada/gnat-style.info 4283135334b ./gcc/ada/gnat-style.texi 2087208411b ./gcc/ada/gnat_ug.texi ! 606904986b ./gcc/ada/gnat_ug_unx.info 804303635b ./gcc/ada/gnat_ug_unx.texi ! 2054672295b ./gcc/ada/gnat_ug_vms.info 1719659850b ./gcc/ada/gnat_ug_vms.texi ! 3136932359b ./gcc/ada/gnat_ug_vxw.info 1705774003b ./gcc/ada/gnat_ug_vxw.texi ! 2763851577b ./gcc/ada/gnat_ug_wnt.info 1236505387b ./gcc/ada/gnat_ug_wnt.texi 3334144073b ./gcc/ada/gnatvsn.adb 1947192708b ./gcc/ada/gnatvsn.ads *************** *** 1677,1713 **** 3573112600b ./gcc/ada/xsinfo.adb 4190686960b ./gcc/ada/xsnames.adb 511048883b ./gcc/ada/xtreeprs.adb ! 713637432b ./gcc/alias.c 3329204760b ./gcc/attribs.c 661204297b ./gcc/basic-block.h 3868878276b ./gcc/bb-reorder.c 3592689596b ./gcc/bitmap.c 3888731700b ./gcc/bitmap.h 866389233b ./gcc/builtin-attrs.def ! 3936494214b ./gcc/builtins.c 3399851061b ./gcc/builtins.def 2231934789b ./gcc/builtin-types.def 1937217650b ./gcc/caller-save.c ! 1503808242b ./gcc/calls.c 266754123b ./gcc/c-aux-info.c 1775829814b ./gcc/c-common.c 1911269762b ./gcc/c-common.def 3230227898b ./gcc/c-common.h 2498727911b ./gcc/c-config-lang.in 4223371978b ./gcc/c-convert.c ! 1421132265b ./gcc/c-decl.c 420078897b ./gcc/c-dump.c 3988343334b ./gcc/c-errors.c 1424850360b ./gcc/cfganal.c 2497073643b ./gcc/cfgbuild.c 2570201327b ./gcc/cfg.c ! 2826252714b ./gcc/cfgcleanup.c 2495299687b ./gcc/cfglayout.c 397535119b ./gcc/cfglayout.h ! 2523244100b ./gcc/cfgloop.c ! 3924472751b ./gcc/cfgrtl.c 1308520655b ./gcc/c-format.c ! 3543327092b ./gcc/ChangeLog 4112479902b ./gcc/ChangeLog.0 3216066841b ./gcc/ChangeLog.1 2323556130b ./gcc/ChangeLog.2 --- 1677,1713 ---- 3573112600b ./gcc/ada/xsinfo.adb 4190686960b ./gcc/ada/xsnames.adb 511048883b ./gcc/ada/xtreeprs.adb ! 2840631424b ./gcc/alias.c 3329204760b ./gcc/attribs.c 661204297b ./gcc/basic-block.h 3868878276b ./gcc/bb-reorder.c 3592689596b ./gcc/bitmap.c 3888731700b ./gcc/bitmap.h 866389233b ./gcc/builtin-attrs.def ! 148394392b ./gcc/builtins.c 3399851061b ./gcc/builtins.def 2231934789b ./gcc/builtin-types.def 1937217650b ./gcc/caller-save.c ! 1946827628b ./gcc/calls.c 266754123b ./gcc/c-aux-info.c 1775829814b ./gcc/c-common.c 1911269762b ./gcc/c-common.def 3230227898b ./gcc/c-common.h 2498727911b ./gcc/c-config-lang.in 4223371978b ./gcc/c-convert.c ! 579906276b ./gcc/c-decl.c 420078897b ./gcc/c-dump.c 3988343334b ./gcc/c-errors.c 1424850360b ./gcc/cfganal.c 2497073643b ./gcc/cfgbuild.c 2570201327b ./gcc/cfg.c ! 830773923b ./gcc/cfgcleanup.c 2495299687b ./gcc/cfglayout.c 397535119b ./gcc/cfglayout.h ! 3649311558b ./gcc/cfgloop.c ! 847004601b ./gcc/cfgrtl.c 1308520655b ./gcc/c-format.c ! 2444607425b ./gcc/ChangeLog 4112479902b ./gcc/ChangeLog.0 3216066841b ./gcc/ChangeLog.1 2323556130b ./gcc/ChangeLog.2 *************** *** 1718,1734 **** 1208082050b ./gcc/ChangeLog.7 3235050590b ./gcc/ChangeLog.lib 2967450474b ./gcc/c-lang.c ! 1290114788b ./gcc/c-lex.c ! 906643159b ./gcc/c-objc-common.c ! 2549935202b ./gcc/collect2.c 1843868705b ./gcc/collect2.h ! 4226959394b ./gcc/combine.c 4122382037b ./gcc/conditions.h 3915788506b ./gcc/config/alpha/alpha32.h ! 1744690274b ./gcc/config/alpha/alpha.c ! 1117342680b ./gcc/config/alpha/alpha.h 1081521208b ./gcc/config/alpha/alpha-interix.h ! 670734235b ./gcc/config/alpha/alpha.md 1148890194b ./gcc/config/alpha/alpha-protos.h 1407988137b ./gcc/config/alpha/crtfastmath.c 1689355033b ./gcc/config/alpha/elf.h --- 1718,1734 ---- 1208082050b ./gcc/ChangeLog.7 3235050590b ./gcc/ChangeLog.lib 2967450474b ./gcc/c-lang.c ! 940015516b ./gcc/c-lex.c ! 615654456b ./gcc/c-objc-common.c ! 600457259b ./gcc/collect2.c 1843868705b ./gcc/collect2.h ! 2227256180b ./gcc/combine.c 4122382037b ./gcc/conditions.h 3915788506b ./gcc/config/alpha/alpha32.h ! 3673620331b ./gcc/config/alpha/alpha.c ! 1346602339b ./gcc/config/alpha/alpha.h 1081521208b ./gcc/config/alpha/alpha-interix.h ! 3145148145b ./gcc/config/alpha/alpha.md 1148890194b ./gcc/config/alpha/alpha-protos.h 1407988137b ./gcc/config/alpha/crtfastmath.c 1689355033b ./gcc/config/alpha/elf.h *************** *** 1739,1745 **** 2439445430b ./gcc/config/alpha/gnu.h 2998860143b ./gcc/config/alpha/lib1funcs.asm 3980115873b ./gcc/config/alpha/linux-elf.h ! 1799302733b ./gcc/config/alpha/linux.h 1246797152b ./gcc/config/alpha/netbsd.h 3083238444b ./gcc/config/alpha/openbsd.h 1148914945b ./gcc/config/alpha/osf5.h --- 1739,1745 ---- 2439445430b ./gcc/config/alpha/gnu.h 2998860143b ./gcc/config/alpha/lib1funcs.asm 3980115873b ./gcc/config/alpha/linux-elf.h ! 2178551847b ./gcc/config/alpha/linux.h 1246797152b ./gcc/config/alpha/netbsd.h 3083238444b ./gcc/config/alpha/openbsd.h 1148914945b ./gcc/config/alpha/osf5.h *************** *** 1795,1801 **** 259208134b ./gcc/config/arm/elf.h 4010625370b ./gcc/config/arm/freebsd.h 3355567723b ./gcc/config/arm/lib1funcs.asm ! 4115592483b ./gcc/config/arm/linux-elf.h 2410223095b ./gcc/config/arm/linux-gas.h 816029099b ./gcc/config/arm/netbsd-elf.h 3559608348b ./gcc/config/arm/netbsd.h --- 1795,1801 ---- 259208134b ./gcc/config/arm/elf.h 4010625370b ./gcc/config/arm/freebsd.h 3355567723b ./gcc/config/arm/lib1funcs.asm ! 2684835712b ./gcc/config/arm/linux-elf.h 2410223095b ./gcc/config/arm/linux-gas.h 816029099b ./gcc/config/arm/netbsd-elf.h 3559608348b ./gcc/config/arm/netbsd.h *************** *** 1865,1871 **** 3101942541b ./gcc/config/darwin.c 4059801364b ./gcc/config/darwin-c.c 3226016932b ./gcc/config/darwin-crt2.c ! 1934403156b ./gcc/config/darwin.h 1838012452b ./gcc/config/darwin-protos.h 2063159136b ./gcc/config/dbxcoff.h 741369544b ./gcc/config/dbxelf.h --- 1865,1871 ---- 3101942541b ./gcc/config/darwin.c 4059801364b ./gcc/config/darwin-c.c 3226016932b ./gcc/config/darwin-crt2.c ! 3020045688b ./gcc/config/darwin.h 1838012452b ./gcc/config/darwin-protos.h 2063159136b ./gcc/config/dbxcoff.h 741369544b ./gcc/config/dbxelf.h *************** *** 1913,1919 **** 3087488293b ./gcc/config/frv/ulltod.c 788903798b ./gcc/config/frv/ulltof.c 946276139b ./gcc/config/frv/umodi.c ! 435140269b ./gcc/config.gcc 2184744613b ./gcc/config/gnu.h 2188992916b ./gcc/config/gofast.h 1315260558b ./gcc/config.guess --- 1913,1919 ---- 3087488293b ./gcc/config/frv/ulltod.c 788903798b ./gcc/config/frv/ulltof.c 946276139b ./gcc/config/frv/umodi.c ! 2730027050b ./gcc/config.gcc 2184744613b ./gcc/config/gnu.h 2188992916b ./gcc/config/gofast.h 1315260558b ./gcc/config.guess *************** *** 1923,1929 **** 4087866448b ./gcc/config/h8300/fixunssfsi.c 913149092b ./gcc/config/h8300/h8300.c 2515220433b ./gcc/config/h8300/h8300.h ! 3672026458b ./gcc/config/h8300/h8300.md 2922330864b ./gcc/config/h8300/h8300-protos.h 1484792841b ./gcc/config/h8300/lib1funcs.asm 186420544b ./gcc/config/h8300/rtems.h --- 1923,1929 ---- 4087866448b ./gcc/config/h8300/fixunssfsi.c 913149092b ./gcc/config/h8300/h8300.c 2515220433b ./gcc/config/h8300/h8300.h ! 2784078000b ./gcc/config/h8300/h8300.md 2922330864b ./gcc/config/h8300/h8300-protos.h 1484792841b ./gcc/config/h8300/lib1funcs.asm 186420544b ./gcc/config/h8300/rtems.h *************** *** 1959,1965 **** 240648641b ./gcc/config/i386/gstabs.h 798942156b ./gcc/config/i386/gthr-win32.c 3155216183b ./gcc/config/i386/i386-aout.h ! 513525318b ./gcc/config/i386/i386.c 2124176398b ./gcc/config/i386/i386-coff.h 3652974168b ./gcc/config/i386/i386elf.h 1387308539b ./gcc/config/i386/i386.h --- 1959,1965 ---- 240648641b ./gcc/config/i386/gstabs.h 798942156b ./gcc/config/i386/gthr-win32.c 3155216183b ./gcc/config/i386/i386-aout.h ! 184235754b ./gcc/config/i386/i386.c 2124176398b ./gcc/config/i386/i386-coff.h 3652974168b ./gcc/config/i386/i386elf.h 1387308539b ./gcc/config/i386/i386.h *************** *** 1988,1999 **** 3476241273b ./gcc/config/i386/ppro.md 1986050166b ./gcc/config/i386/ptx4-i.h 574801934b ./gcc/config/i386/rtemself.h ! 2639545373b ./gcc/config/i386/sco5.h 425477609b ./gcc/config/i386/sol2-c1.asm 1565106149b ./gcc/config/i386/sol2-ci.asm 4008317666b ./gcc/config/i386/sol2-cn.asm 2045686122b ./gcc/config/i386/sol2-gc1.asm ! 1534089268b ./gcc/config/i386/sol2.h 2491384943b ./gcc/config/i386/svr3dbx.h 4076081204b ./gcc/config/i386/svr3gas.h 3846064431b ./gcc/config/i386/svr3.ifile --- 1988,1999 ---- 3476241273b ./gcc/config/i386/ppro.md 1986050166b ./gcc/config/i386/ptx4-i.h 574801934b ./gcc/config/i386/rtemself.h ! 3499499073b ./gcc/config/i386/sco5.h 425477609b ./gcc/config/i386/sol2-c1.asm 1565106149b ./gcc/config/i386/sol2-ci.asm 4008317666b ./gcc/config/i386/sol2-cn.asm 2045686122b ./gcc/config/i386/sol2-gc1.asm ! 3525567971b ./gcc/config/i386/sol2.h 2491384943b ./gcc/config/i386/svr3dbx.h 4076081204b ./gcc/config/i386/svr3gas.h 3846064431b ./gcc/config/i386/svr3.ifile *************** *** 2014,2021 **** 92801654b ./gcc/config/i386/t-netware 709063989b ./gcc/config/i386/t-openbsd 422823583b ./gcc/config/i386/t-rtems-i386 ! 1649755892b ./gcc/config/i386/t-sco5 ! 1098748916b ./gcc/config/i386/t-sco5gas 2786912378b ./gcc/config/i386/t-sol2 3128852740b ./gcc/config/i386/t-svr3dbx 2977164768b ./gcc/config/i386/t-udk --- 2014,2020 ---- 92801654b ./gcc/config/i386/t-netware 709063989b ./gcc/config/i386/t-openbsd 422823583b ./gcc/config/i386/t-rtems-i386 ! 2334743380b ./gcc/config/i386/t-sco5 2786912378b ./gcc/config/i386/t-sol2 3128852740b ./gcc/config/i386/t-svr3dbx 2977164768b ./gcc/config/i386/t-udk *************** *** 2056,2072 **** 1650540400b ./gcc/config/ia64/elf.h 2446839914b ./gcc/config/ia64/fde-glibc.c 2020318486b ./gcc/config/ia64/freebsd.h ! 1838314585b ./gcc/config/ia64/hpux.h 3568056609b ./gcc/config/ia64/hpux_longdouble.h ! 2403073370b ./gcc/config/ia64/ia64.c 1964471896b ./gcc/config/ia64/ia64-c.c ! 201253163b ./gcc/config/ia64/ia64.h 511545686b ./gcc/config/ia64/ia64intrin.h ! 2554824206b ./gcc/config/ia64/ia64.md 342783782b ./gcc/config/ia64/ia64-modes.def ! 2015129861b ./gcc/config/ia64/ia64-protos.h 3488320870b ./gcc/config/ia64/lib1funcs.asm ! 2361471520b ./gcc/config/ia64/libgcc-ia64.ver 3882388711b ./gcc/config/ia64/linux.h 3940638341b ./gcc/config/ia64/quadlib.c 4206796904b ./gcc/config/ia64/sysv4.h --- 2055,2071 ---- 1650540400b ./gcc/config/ia64/elf.h 2446839914b ./gcc/config/ia64/fde-glibc.c 2020318486b ./gcc/config/ia64/freebsd.h ! 145205945b ./gcc/config/ia64/hpux.h 3568056609b ./gcc/config/ia64/hpux_longdouble.h ! 3496380550b ./gcc/config/ia64/ia64.c 1964471896b ./gcc/config/ia64/ia64-c.c ! 776147292b ./gcc/config/ia64/ia64.h 511545686b ./gcc/config/ia64/ia64intrin.h ! 2724938558b ./gcc/config/ia64/ia64.md 342783782b ./gcc/config/ia64/ia64-modes.def ! 3227157966b ./gcc/config/ia64/ia64-protos.h 3488320870b ./gcc/config/ia64/lib1funcs.asm ! 2632266533b ./gcc/config/ia64/libgcc-ia64.ver 3882388711b ./gcc/config/ia64/linux.h 3940638341b ./gcc/config/ia64/quadlib.c 4206796904b ./gcc/config/ia64/sysv4.h *************** *** 2075,2083 **** 1051208108b ./gcc/config/ia64/t-hpux 308156643b ./gcc/config/ia64/t-ia64 2759923269b ./gcc/config/ia64/unwind-aix.c ! 3214954256b ./gcc/config/ia64/unwind-ia64.c 2355075302b ./gcc/config/ia64/unwind-ia64.h ! 3315675899b ./gcc/config.in 3221870490b ./gcc/config/interix3.h 782966245b ./gcc/config/interix.h 1877317600b ./gcc/config/ip2k/crt0.S --- 2074,2082 ---- 1051208108b ./gcc/config/ia64/t-hpux 308156643b ./gcc/config/ia64/t-ia64 2759923269b ./gcc/config/ia64/unwind-aix.c ! 1278555130b ./gcc/config/ia64/unwind-ia64.c 2355075302b ./gcc/config/ia64/unwind-ia64.h ! 1745697809b ./gcc/config.in 3221870490b ./gcc/config/interix3.h 782966245b ./gcc/config/interix.h 1877317600b ./gcc/config/ip2k/crt0.S *************** *** 2090,2103 **** 3774321010b ./gcc/config/libgcc-glibc.ver 431681775b ./gcc/config/libgloss.h 1132125030b ./gcc/config/linux-aout.h ! 3792279926b ./gcc/config/linux.h 836960090b ./gcc/config/lynx.h 1696444785b ./gcc/config/lynx-ng.h 2460604231b ./gcc/config/m32r/initfini.c ! 2654083948b ./gcc/config/m32r/m32r.c ! 2114240739b ./gcc/config/m32r/m32r.h ! 3502142620b ./gcc/config/m32r/m32r.md ! 822298781b ./gcc/config/m32r/m32r-protos.h 3043182144b ./gcc/config/m32r/t-m32r 2563624329b ./gcc/config/m68hc11/larith.asm 3705868201b ./gcc/config/m68hc11/m68hc11.c --- 2089,2102 ---- 3774321010b ./gcc/config/libgcc-glibc.ver 431681775b ./gcc/config/libgloss.h 1132125030b ./gcc/config/linux-aout.h ! 3480817898b ./gcc/config/linux.h 836960090b ./gcc/config/lynx.h 1696444785b ./gcc/config/lynx-ng.h 2460604231b ./gcc/config/m32r/initfini.c ! 3082370632b ./gcc/config/m32r/m32r.c ! 582485384b ./gcc/config/m32r/m32r.h ! 3253973863b ./gcc/config/m32r/m32r.md ! 4238084767b ./gcc/config/m32r/m32r-protos.h 3043182144b ./gcc/config/m32r/t-m32r 2563624329b ./gcc/config/m68hc11/larith.asm 3705868201b ./gcc/config/m68hc11/m68hc11.c *************** *** 2106,2112 **** 2108112324b ./gcc/config/m68hc11/m68hc11.md 3203494610b ./gcc/config/m68hc11/m68hc11-protos.h 900567272b ./gcc/config/m68hc11/m68hc12.h ! 4223184266b ./gcc/config/m68hc11/t-m68hc11-gas 4152566641b ./gcc/config/m68k/3b1g.h 950165799b ./gcc/config/m68k/3b1.h 3699861513b ./gcc/config/m68k/amix.h --- 2105,2111 ---- 2108112324b ./gcc/config/m68hc11/m68hc11.md 3203494610b ./gcc/config/m68hc11/m68hc11-protos.h 900567272b ./gcc/config/m68hc11/m68hc12.h ! 414967778b ./gcc/config/m68hc11/t-m68hc11-gas 4152566641b ./gcc/config/m68k/3b1g.h 950165799b ./gcc/config/m68k/3b1.h 3699861513b ./gcc/config/m68k/amix.h *************** *** 2162,2168 **** 1845413337b ./gcc/config/m68k/t-hp320 1601671577b ./gcc/config/m68k/t-linux 1601671577b ./gcc/config/m68k/t-linux-aout ! 591505405b ./gcc/config/m68k/t-m68kbare 1376927127b ./gcc/config/m68k/t-m68kelf 2312371323b ./gcc/config/m68k/t-mot3300 1278563328b ./gcc/config/m68k/t-mot3300-gald --- 2161,2167 ---- 1845413337b ./gcc/config/m68k/t-hp320 1601671577b ./gcc/config/m68k/t-linux 1601671577b ./gcc/config/m68k/t-linux-aout ! 2871905384b ./gcc/config/m68k/t-m68kbare 1376927127b ./gcc/config/m68k/t-m68kelf 2312371323b ./gcc/config/m68k/t-mot3300 1278563328b ./gcc/config/m68k/t-mot3300-gald *************** *** 2171,2176 **** --- 2170,2176 ---- 3937644742b ./gcc/config/m68k/t-openbsd 888720875b ./gcc/config/m68k/tower-as.h 2265492461b ./gcc/config/m68k/tower.h + 1448405083b ./gcc/config/m68k/t-rtems 2710264317b ./gcc/config/m68k/t-vxworks68 1353236462b ./gcc/config/m68k/vxm68k.h 1448728884b ./gcc/config/m88k/aout-dbx.h *************** *** 2246,2251 **** --- 2246,2252 ---- 1205295560b ./gcc/config/mips/t-isa3264 382304214b ./gcc/config/mips/t-mips 4201375008b ./gcc/config/mips/t-r3900 + 3243475203b ./gcc/config/mips/t-rtems 2079451253b ./gcc/config/mips/t-sr71k 550681837b ./gcc/config/mips/t-vr 568075896b ./gcc/config/mips/vr.h *************** *** 2292,2309 **** 2968109913b ./gcc/config/pa/pa32-linux.h 4077989132b ./gcc/config/pa/pa32-regs.h 1229145373b ./gcc/config/pa/pa-64.h ! 3956852599b ./gcc/config/pa/pa64-hpux.h 2920878761b ./gcc/config/pa/pa64-linux.h 653142328b ./gcc/config/pa/pa64-regs.h 3813586304b ./gcc/config/pa/pa64-start.h ! 1456283762b ./gcc/config/pa/pa.c 921995916b ./gcc/config/pa/pa.h 3786607524b ./gcc/config/pa/pa-hiux.h ! 4284123246b ./gcc/config/pa/pa-hpux10.h ! 1075128895b ./gcc/config/pa/pa-hpux11.h 1833709162b ./gcc/config/pa/pa-hpux7.h 3124002443b ./gcc/config/pa/pa-hpux9.h ! 4187284900b ./gcc/config/pa/pa-hpux.h 469628573b ./gcc/config/pa/pa-linux.h 1569454373b ./gcc/config/pa/pa.md 1508149926b ./gcc/config/pa/pa-modes.def --- 2293,2310 ---- 2968109913b ./gcc/config/pa/pa32-linux.h 4077989132b ./gcc/config/pa/pa32-regs.h 1229145373b ./gcc/config/pa/pa-64.h ! 1058350505b ./gcc/config/pa/pa64-hpux.h 2920878761b ./gcc/config/pa/pa64-linux.h 653142328b ./gcc/config/pa/pa64-regs.h 3813586304b ./gcc/config/pa/pa64-start.h ! 1461752469b ./gcc/config/pa/pa.c 921995916b ./gcc/config/pa/pa.h 3786607524b ./gcc/config/pa/pa-hiux.h ! 3365446155b ./gcc/config/pa/pa-hpux10.h ! 1196664519b ./gcc/config/pa/pa-hpux11.h 1833709162b ./gcc/config/pa/pa-hpux7.h 3124002443b ./gcc/config/pa/pa-hpux9.h ! 605433968b ./gcc/config/pa/pa-hpux.h 469628573b ./gcc/config/pa/pa-linux.h 1569454373b ./gcc/config/pa/pa.md 1508149926b ./gcc/config/pa/pa-modes.def *************** *** 2363,2381 **** 3977992822b ./gcc/config/rs6000/eabispe.h 2165084479b ./gcc/config/rs6000/freebsd.h 977386394b ./gcc/config/rs6000/gnu.h ! 573951816b ./gcc/config/rs6000/linux64.h 1351560312b ./gcc/config/rs6000/linuxaltivec.h ! 4231910920b ./gcc/config/rs6000/linux.h 1826004816b ./gcc/config/rs6000/lynx.h 662544262b ./gcc/config/rs6000/mach.h 1820610909b ./gcc/config/rs6000/milli.exp 3596315410b ./gcc/config/rs6000/netbsd.h 1801910688b ./gcc/config/rs6000/ppc64-fp.c 1765497648b ./gcc/config/rs6000/ppc-asm.h ! 1804222180b ./gcc/config/rs6000/rs6000.c 1345436052b ./gcc/config/rs6000/rs6000-c.c 3590135572b ./gcc/config/rs6000/rs6000.h ! 3037047642b ./gcc/config/rs6000/rs6000.md 3173719444b ./gcc/config/rs6000/rs6000-modes.def 528775605b ./gcc/config/rs6000/rs6000-protos.h 255651415b ./gcc/config/rs6000/rtems.h --- 2364,2382 ---- 3977992822b ./gcc/config/rs6000/eabispe.h 2165084479b ./gcc/config/rs6000/freebsd.h 977386394b ./gcc/config/rs6000/gnu.h ! 1412389761b ./gcc/config/rs6000/linux64.h 1351560312b ./gcc/config/rs6000/linuxaltivec.h ! 1443196669b ./gcc/config/rs6000/linux.h 1826004816b ./gcc/config/rs6000/lynx.h 662544262b ./gcc/config/rs6000/mach.h 1820610909b ./gcc/config/rs6000/milli.exp 3596315410b ./gcc/config/rs6000/netbsd.h 1801910688b ./gcc/config/rs6000/ppc64-fp.c 1765497648b ./gcc/config/rs6000/ppc-asm.h ! 3209769093b ./gcc/config/rs6000/rs6000.c 1345436052b ./gcc/config/rs6000/rs6000-c.c 3590135572b ./gcc/config/rs6000/rs6000.h ! 1596117806b ./gcc/config/rs6000/rs6000.md 3173719444b ./gcc/config/rs6000/rs6000-modes.def 528775605b ./gcc/config/rs6000/rs6000-protos.h 255651415b ./gcc/config/rs6000/rtems.h *************** *** 2422,2428 **** 3224910313b ./gcc/config/sh/elf.h 1949707998b ./gcc/config/sh/embed-elf.h 2071066204b ./gcc/config/sh/lib1funcs.asm ! 1797013974b ./gcc/config/sh/linux.h 3434577439b ./gcc/config/sh/little.h 3344891430b ./gcc/config/sh/netbsd-elf.h 2022181827b ./gcc/config/sh/rtemself.h --- 2423,2429 ---- 3224910313b ./gcc/config/sh/elf.h 1949707998b ./gcc/config/sh/embed-elf.h 2071066204b ./gcc/config/sh/lib1funcs.asm ! 979530234b ./gcc/config/sh/linux.h 3434577439b ./gcc/config/sh/little.h 3344891430b ./gcc/config/sh/netbsd-elf.h 2022181827b ./gcc/config/sh/rtemself.h *************** *** 2459,2467 **** 2939495704b ./gcc/config/sparc/lb1spc.asm 1395104248b ./gcc/config/sparc/lb1spl.asm 1761187951b ./gcc/config/sparc/libgcc-sparc-glibc.ver ! 358368202b ./gcc/config/sparc/linux64.h 34002579b ./gcc/config/sparc/linux-aout.h ! 1478480193b ./gcc/config/sparc/linux.h 1314010724b ./gcc/config/sparc/litecoff.h 2270102558b ./gcc/config/sparc/liteelf.h 2424336991b ./gcc/config/sparc/lite.h --- 2460,2468 ---- 2939495704b ./gcc/config/sparc/lb1spc.asm 1395104248b ./gcc/config/sparc/lb1spl.asm 1761187951b ./gcc/config/sparc/libgcc-sparc-glibc.ver ! 890665079b ./gcc/config/sparc/linux64.h 34002579b ./gcc/config/sparc/linux-aout.h ! 3987833697b ./gcc/config/sparc/linux.h 1314010724b ./gcc/config/sparc/litecoff.h 2270102558b ./gcc/config/sparc/liteelf.h 2424336991b ./gcc/config/sparc/lite.h *************** *** 2477,2483 **** 1579903847b ./gcc/config/sparc/sol2-64.h 3203477114b ./gcc/config/sparc/sol26-sld.h 1333200498b ./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 878755050b ./gcc/config/sparc/sol2-gas-bi.h --- 2478,2484 ---- 1579903847b ./gcc/config/sparc/sol2-64.h 3203477114b ./gcc/config/sparc/sol26-sld.h 1333200498b ./gcc/config/sparc/sol2-bi.h ! 2592132520b ./gcc/config/sparc/sol2-c1.asm 3288323690b ./gcc/config/sparc/sol2-ci.asm 2004370404b ./gcc/config/sparc/sol2-cn.asm 878755050b ./gcc/config/sparc/sol2-gas-bi.h *************** *** 2488,2497 **** 3549760155b ./gcc/config/sparc/sp64-elf.h 3128199560b ./gcc/config/sparc/sp86x-aout.h 632930923b ./gcc/config/sparc/sp86x-elf.h ! 3021873799b ./gcc/config/sparc/sparc.c 433855780b ./gcc/config/sparc/sparc.h 113806067b ./gcc/config/sparc/sparclet.md ! 1731086724b ./gcc/config/sparc/sparc.md 5497380b ./gcc/config/sparc/sparc-modes.def 2593826026b ./gcc/config/sparc/sparc-protos.h 842964351b ./gcc/config/sparc/splet.h --- 2489,2498 ---- 3549760155b ./gcc/config/sparc/sp64-elf.h 3128199560b ./gcc/config/sparc/sp86x-aout.h 632930923b ./gcc/config/sparc/sp86x-elf.h ! 2951430128b ./gcc/config/sparc/sparc.c 433855780b ./gcc/config/sparc/sparc.h 113806067b ./gcc/config/sparc/sparclet.md ! 1259137706b ./gcc/config/sparc/sparc.md 5497380b ./gcc/config/sparc/sparc-modes.def 2593826026b ./gcc/config/sparc/sparc-protos.h 842964351b ./gcc/config/sparc/splet.h *************** *** 2530,2542 **** 3561720924b ./gcc/config/stormy16/t-stormy16 2525748108b ./gcc/config/svr3.h 2147853147b ./gcc/config/svr4.h ! 1134445490b ./gcc/config/t-darwin 2749923948b ./gcc/config/t-freebsd 3853732254b ./gcc/config/t-freebsd-thread 2512129728b ./gcc/config/t-gnu 825269638b ./gcc/config/t-interix 4174365071b ./gcc/config/t-libc-ok 2753685882b ./gcc/config/t-libgcc-pic 2752897962b ./gcc/config/t-linux 825269638b ./gcc/config/t-linux-aout 4098486992b ./gcc/config/t-linux-gnulibc1 --- 2531,2544 ---- 3561720924b ./gcc/config/stormy16/t-stormy16 2525748108b ./gcc/config/svr3.h 2147853147b ./gcc/config/svr4.h ! 1733958440b ./gcc/config/t-darwin 2749923948b ./gcc/config/t-freebsd 3853732254b ./gcc/config/t-freebsd-thread 2512129728b ./gcc/config/t-gnu 825269638b ./gcc/config/t-interix 4174365071b ./gcc/config/t-libc-ok 2753685882b ./gcc/config/t-libgcc-pic + 2687879286b ./gcc/config/t-libunwind 2752897962b ./gcc/config/t-linux 825269638b ./gcc/config/t-linux-aout 4098486992b ./gcc/config/t-linux-gnulibc1 *************** *** 2551,2559 **** 321200235b ./gcc/config/t-svr4 937080303b ./gcc/config/udivmod.c 2590328114b ./gcc/config/udivmodsi4.c ! 2066956329b ./gcc/configure 2239237249b ./gcc/configure.frag ! 4153635196b ./gcc/configure.in 1401546799b ./gcc/config/usegas.h 1979686065b ./gcc/config/v850/lib1funcs.asm 3345272584b ./gcc/config/v850/rtems.h --- 2553,2561 ---- 321200235b ./gcc/config/t-svr4 937080303b ./gcc/config/udivmod.c 2590328114b ./gcc/config/udivmodsi4.c ! 2426675102b ./gcc/configure 2239237249b ./gcc/configure.frag ! 3433367808b ./gcc/configure.in 1401546799b ./gcc/config/usegas.h 1979686065b ./gcc/config/v850/lib1funcs.asm 3345272584b ./gcc/config/v850/rtems.h *************** *** 2597,2627 **** 1231075891b ./gcc/c-parse.c 2637246862b ./gcc/c-parse.in 1656602684b ./gcc/c-parse.y ! 1503091984b ./gcc/cp/call.c 2726184849b ./gcc/cp/cfns.gperf 3403558692b ./gcc/cp/cfns.h ! 3450579153b ./gcc/cp/ChangeLog 190176486b ./gcc/cp/ChangeLog.1 97583749b ./gcc/cp/ChangeLog.2 2546444747b ./gcc/cp/ChangeLog.egcs ! 4074195484b ./gcc/cp/class.c 4001109630b ./gcc/cp/config-lang.in 3345049029b ./gcc/cp/cp-lang.c 2277233898b ./gcc/cp/cp-tree.def ! 2674204807b ./gcc/cp/cp-tree.h 1230086821b ./gcc/cp/.cvsignore 1969471444b ./gcc/cp/cvt.c ! 2344086294b ./gcc/cp/decl2.c ! 2398845726b ./gcc/cp/decl.c 1385119476b ./gcc/cp/decl.h 757230858b ./gcc/cp/dump.c 1424479906b ./gcc/cp/error.c 452521469b ./gcc/cp/except.c 1201332681b ./gcc/cp/expr.c ! 3417476079b ./gcc/cp/friend.c 1574667259b ./gcc/cp/g++.1 729602332b ./gcc/cp/g++spec.c ! 226965055b ./gcc/cp/init.c 1486125690b ./gcc/cp/lang-options.h 2659645047b ./gcc/cp/lang-specs.h 2140565483b ./gcc/cp/lex.c --- 2599,2629 ---- 1231075891b ./gcc/c-parse.c 2637246862b ./gcc/c-parse.in 1656602684b ./gcc/c-parse.y ! 1395283318b ./gcc/cp/call.c 2726184849b ./gcc/cp/cfns.gperf 3403558692b ./gcc/cp/cfns.h ! 2127780464b ./gcc/cp/ChangeLog 190176486b ./gcc/cp/ChangeLog.1 97583749b ./gcc/cp/ChangeLog.2 2546444747b ./gcc/cp/ChangeLog.egcs ! 840174612b ./gcc/cp/class.c 4001109630b ./gcc/cp/config-lang.in 3345049029b ./gcc/cp/cp-lang.c 2277233898b ./gcc/cp/cp-tree.def ! 2040135329b ./gcc/cp/cp-tree.h 1230086821b ./gcc/cp/.cvsignore 1969471444b ./gcc/cp/cvt.c ! 1843026114b ./gcc/cp/decl2.c ! 1186021619b ./gcc/cp/decl.c 1385119476b ./gcc/cp/decl.h 757230858b ./gcc/cp/dump.c 1424479906b ./gcc/cp/error.c 452521469b ./gcc/cp/except.c 1201332681b ./gcc/cp/expr.c ! 1270190491b ./gcc/cp/friend.c 1574667259b ./gcc/cp/g++.1 729602332b ./gcc/cp/g++spec.c ! 3323910007b ./gcc/cp/init.c 1486125690b ./gcc/cp/lang-options.h 2659645047b ./gcc/cp/lang-specs.h 2140565483b ./gcc/cp/lex.c *************** *** 2633,2639 **** 3193855424b ./gcc/cp/operators.def 1390979693b ./gcc/cp/optimize.c 439273656b ./gcc/cp/parse.c ! 4183531307b ./gcc/cp/parse.h 2206367944b ./gcc/cp/parse.y 1602205564b ./gcc/cppdefault.c 2551769006b ./gcc/cppdefault.h --- 2635,2641 ---- 3193855424b ./gcc/cp/operators.def 1390979693b ./gcc/cp/optimize.c 439273656b ./gcc/cp/parse.c ! 1860010587b ./gcc/cp/parse.h 2206367944b ./gcc/cp/parse.y 1602205564b ./gcc/cppdefault.c 2551769006b ./gcc/cppdefault.h *************** *** 2644,2655 **** 1755335704b ./gcc/cpphash.h 1758176761b ./gcc/cppinit.c 3206802280b ./gcc/cpplex.c ! 4012594622b ./gcc/cpplib.c 2894228879b ./gcc/cpplib.h 1301003990b ./gcc/cppmacro.c ! 3118400845b ./gcc/cppmain.c 2457788577b ./gcc/cppspec.c ! 3843078991b ./gcc/cp/pt.c 1890705605b ./gcc/cpptrad.c 660118186b ./gcc/cp/ptree.c 3843981782b ./gcc/c-pragma.c --- 2646,2657 ---- 1755335704b ./gcc/cpphash.h 1758176761b ./gcc/cppinit.c 3206802280b ./gcc/cpplex.c ! 3323456088b ./gcc/cpplib.c 2894228879b ./gcc/cpplib.h 1301003990b ./gcc/cppmacro.c ! 4012085958b ./gcc/cppmain.c 2457788577b ./gcc/cppspec.c ! 1471038424b ./gcc/cp/pt.c 1890705605b ./gcc/cpptrad.c 660118186b ./gcc/cp/ptree.c 3843981782b ./gcc/c-pragma.c *************** *** 2658,2677 **** 1364992996b ./gcc/c-pretty-print.c 322270390b ./gcc/c-pretty-print.h 4034613095b ./gcc/cp/rtti.c ! 887151904b ./gcc/cp/search.c 1948405158b ./gcc/cp/semantics.c 1129915797b ./gcc/cp/spew.c ! 4056721053b ./gcc/cp/tree.c ! 144086378b ./gcc/cp/typeck2.c ! 4087141601b ./gcc/cp/typeck.c 3987640245b ./gcc/crtstuff.c ! 2684723874b ./gcc/cse.c 1095744296b ./gcc/cselib.c 2819991749b ./gcc/cselib.h 2307648174b ./gcc/c-semantics.c 216805921b ./gcc/cstamp-h.in 3323894092b ./gcc/c-tree.h ! 2917639237b ./gcc/c-typeck.c 1308782881b ./gcc/.cvsignore 4202760861b ./gcc/dbxout.c 2583180678b ./gcc/dbxout.h --- 2660,2679 ---- 1364992996b ./gcc/c-pretty-print.c 322270390b ./gcc/c-pretty-print.h 4034613095b ./gcc/cp/rtti.c ! 645435452b ./gcc/cp/search.c 1948405158b ./gcc/cp/semantics.c 1129915797b ./gcc/cp/spew.c ! 4048187454b ./gcc/cp/tree.c ! 1959780068b ./gcc/cp/typeck2.c ! 545237975b ./gcc/cp/typeck.c 3987640245b ./gcc/crtstuff.c ! 4070757557b ./gcc/cse.c 1095744296b ./gcc/cselib.c 2819991749b ./gcc/cselib.h 2307648174b ./gcc/c-semantics.c 216805921b ./gcc/cstamp-h.in 3323894092b ./gcc/c-tree.h ! 1266267684b ./gcc/c-typeck.c 1308782881b ./gcc/.cvsignore 4202760861b ./gcc/dbxout.c 2583180678b ./gcc/dbxout.h *************** *** 2691,2697 **** 3399730921b ./gcc/doc/configterms.texi 874591811b ./gcc/doc/contrib.texi 2272556046b ./gcc/doc/contribute.texi ! 1601456494b ./gcc/doc/cpp.1 4226490983b ./gcc/doc/cppenv.texi 818116428b ./gcc/doc/cpp.info 4128300115b ./gcc/doc/cppinternals.info --- 2693,2699 ---- 3399730921b ./gcc/doc/configterms.texi 874591811b ./gcc/doc/contrib.texi 2272556046b ./gcc/doc/contribute.texi ! 2817450277b ./gcc/doc/cpp.1 4226490983b ./gcc/doc/cppenv.texi 818116428b ./gcc/doc/cpp.info 4128300115b ./gcc/doc/cppinternals.info *************** *** 2700,2730 **** 1183227635b ./gcc/doc/cpp.texi 982930533b ./gcc/doc/c-tree.texi 1123688643b ./gcc/doc/.cvsignore ! 1798857281b ./gcc/doc/extend.texi 803819253b ./gcc/doc/fragments.texi 2401477723b ./gcc/doc/frontends.texi ! 32821813b ./gcc/doc/fsf-funding.7 ! 1979961433b ./gcc/doc/gcc.1 ! 1639973729b ./gcc/doc/gcc.info ! 1401869286b ./gcc/doc/gccinstall.info ! 582428438b ./gcc/doc/gccint.info 4222820739b ./gcc/doc/gccint.texi 1998340815b ./gcc/doc/gcc.texi ! 1834076335b ./gcc/doc/gcov.1 799484262b ./gcc/doc/gcov.texi ! 3279795360b ./gcc/doc/gfdl.7 4217859569b ./gcc/doc/gnu.texi ! 911918480b ./gcc/doc/gpl.7 2598049702b ./gcc/doc/gty.texi 2874371193b ./gcc/doc/headerdirs.texi 1425599017b ./gcc/doc/hostconfig.texi 3288537183b ./gcc/doc/include/fdl.texi 2048065465b ./gcc/doc/include/funding.texi ! 911493169b ./gcc/doc/include/gcc-common.texi 3092587370b ./gcc/doc/include/gpl.texi 124394628b ./gcc/doc/include/texinfo.tex 3427634226b ./gcc/doc/install-old.texi ! 143873088b ./gcc/doc/install.texi 1451529977b ./gcc/doc/install.texi2html 3000332536b ./gcc/doc/interface.texi 2525709574b ./gcc/doc/invoke.texi --- 2702,2732 ---- 1183227635b ./gcc/doc/cpp.texi 982930533b ./gcc/doc/c-tree.texi 1123688643b ./gcc/doc/.cvsignore ! 3830403079b ./gcc/doc/extend.texi 803819253b ./gcc/doc/fragments.texi 2401477723b ./gcc/doc/frontends.texi ! 737064711b ./gcc/doc/fsf-funding.7 ! 3672915547b ./gcc/doc/gcc.1 ! 2879597060b ./gcc/doc/gcc.info ! 1525034435b ./gcc/doc/gccinstall.info ! 1436299138b ./gcc/doc/gccint.info 4222820739b ./gcc/doc/gccint.texi 1998340815b ./gcc/doc/gcc.texi ! 3672734819b ./gcc/doc/gcov.1 799484262b ./gcc/doc/gcov.texi ! 2654046990b ./gcc/doc/gfdl.7 4217859569b ./gcc/doc/gnu.texi ! 2692696284b ./gcc/doc/gpl.7 2598049702b ./gcc/doc/gty.texi 2874371193b ./gcc/doc/headerdirs.texi 1425599017b ./gcc/doc/hostconfig.texi 3288537183b ./gcc/doc/include/fdl.texi 2048065465b ./gcc/doc/include/funding.texi ! 4074697841b ./gcc/doc/include/gcc-common.texi 3092587370b ./gcc/doc/include/gpl.texi 124394628b ./gcc/doc/include/texinfo.tex 3427634226b ./gcc/doc/install-old.texi ! 800471831b ./gcc/doc/install.texi 1451529977b ./gcc/doc/install.texi2html 3000332536b ./gcc/doc/interface.texi 2525709574b ./gcc/doc/invoke.texi *************** *** 2738,2744 **** 1759580304b ./gcc/doc/service.texi 3166516007b ./gcc/doc/sourcebuild.texi 3565606796b ./gcc/doc/standards.texi ! 2315196493b ./gcc/doc/tm.texi 128574166b ./gcc/doc/trouble.texi 3258612192b ./gcc/doloop.c 1146162220b ./gcc/dominance.c --- 2740,2746 ---- 1759580304b ./gcc/doc/service.texi 3166516007b ./gcc/doc/sourcebuild.texi 3565606796b ./gcc/doc/standards.texi ! 2405268332b ./gcc/doc/tm.texi 128574166b ./gcc/doc/trouble.texi 3258612192b ./gcc/doloop.c 1146162220b ./gcc/dominance.c *************** *** 2747,2753 **** 4027179154b ./gcc/dwarf2asm.c 538758205b ./gcc/dwarf2asm.h 1582620025b ./gcc/dwarf2.h ! 1730888572b ./gcc/dwarf2out.c 3517290530b ./gcc/dwarf2out.h 109276966b ./gcc/dwarf.h 3351836985b ./gcc/dwarfout.c --- 2749,2755 ---- 4027179154b ./gcc/dwarf2asm.c 538758205b ./gcc/dwarf2asm.h 1582620025b ./gcc/dwarf2.h ! 2150551288b ./gcc/dwarf2out.c 3517290530b ./gcc/dwarf2out.h 109276966b ./gcc/dwarf.h 3351836985b ./gcc/dwarfout.c *************** *** 2760,2766 **** 3819344801b ./gcc/except.h 1662793030b ./gcc/explow.c 2338822673b ./gcc/expmed.c ! 1148786081b ./gcc/expr.c 1872989667b ./gcc/expr.h 1934744031b ./gcc/f/ansify.c 1172411862b ./gcc/f/bad.c --- 2762,2768 ---- 3819344801b ./gcc/except.h 1662793030b ./gcc/explow.c 2338822673b ./gcc/expmed.c ! 2359221535b ./gcc/expr.c 1872989667b ./gcc/expr.h 1934744031b ./gcc/f/ansify.c 1172411862b ./gcc/f/bad.c *************** *** 2771,2780 **** 3553474552b ./gcc/f/bld.c 3286267604b ./gcc/f/bld.h 2128697889b ./gcc/f/bld-op.def ! 4041685179b ./gcc/f/BUGS 235013049b ./gcc/f/bugs0.texi 3922562500b ./gcc/f/bugs.texi ! 1580679890b ./gcc/f/ChangeLog 3233190569b ./gcc/f/ChangeLog.0 3391364885b ./gcc/f/com.c 3386200382b ./gcc/f/com.h --- 2773,2782 ---- 3553474552b ./gcc/f/bld.c 3286267604b ./gcc/f/bld.h 2128697889b ./gcc/f/bld-op.def ! 1837378607b ./gcc/f/BUGS 235013049b ./gcc/f/bugs0.texi 3922562500b ./gcc/f/bugs.texi ! 2243337282b ./gcc/f/ChangeLog 3233190569b ./gcc/f/ChangeLog.0 3391364885b ./gcc/f/com.c 3386200382b ./gcc/f/com.h *************** *** 2789,2796 **** 417834755b ./gcc/f/expr.h 333493781b ./gcc/f/ffe.texi 782070966b ./gcc/f/fini.c ! 738705303b ./gcc/f/g77.1 ! 3735550962b ./gcc/f/g77.info 1023118578b ./gcc/f/g77spec.c 3302596636b ./gcc/f/g77.texi 4062822261b ./gcc/f/global.c --- 2791,2798 ---- 417834755b ./gcc/f/expr.h 333493781b ./gcc/f/ffe.texi 782070966b ./gcc/f/fini.c ! 1828195012b ./gcc/f/g77.1 ! 235598750b ./gcc/f/g77.info 1023118578b ./gcc/f/g77spec.c 3302596636b ./gcc/f/g77.texi 4062822261b ./gcc/f/global.c *************** *** 2811,2824 **** 3418049706b ./gcc/f/intrin.h 2907149479b ./gcc/f/invoke.texi 4178345561b ./gcc/fix-header.c ! 766031417b ./gcc/fixinc/check.tpl 1043093163b ./gcc/fixinc/fixfixes.c 1862241894b ./gcc/fixinc/fixinc.dgux 15758129b ./gcc/fixinc/fixinc.interix 1824978333b ./gcc/fixinc/fixincl.c 2267967746b ./gcc/fixinc/fixincl.sh 2178021789b ./gcc/fixinc/fixincl.tpl ! 2076362356b ./gcc/fixinc/fixincl.x 1474597097b ./gcc/fixinc/fixinc.ptx 3187846170b ./gcc/fixinc/fixinc.svr4 1864448151b ./gcc/fixinc/fixinc.winnt --- 2813,2826 ---- 3418049706b ./gcc/f/intrin.h 2907149479b ./gcc/f/invoke.texi 4178345561b ./gcc/fix-header.c ! 353743878b ./gcc/fixinc/check.tpl 1043093163b ./gcc/fixinc/fixfixes.c 1862241894b ./gcc/fixinc/fixinc.dgux 15758129b ./gcc/fixinc/fixinc.interix 1824978333b ./gcc/fixinc/fixincl.c 2267967746b ./gcc/fixinc/fixincl.sh 2178021789b ./gcc/fixinc/fixincl.tpl ! 1748144386b ./gcc/fixinc/fixincl.x 1474597097b ./gcc/fixinc/fixinc.ptx 3187846170b ./gcc/fixinc/fixinc.svr4 1864448151b ./gcc/fixinc/fixinc.winnt *************** *** 2829,2835 **** 2003329934b ./gcc/fixinc/genfixes 2190395998b ./gcc/fixinc/gnu-regex.c 1403987073b ./gcc/fixinc/gnu-regex.h ! 91473779b ./gcc/fixinc/inclhack.def 333067513b ./gcc/fixinc/Makefile.in 1990838210b ./gcc/fixinc/mkfixinc.sh 1834585069b ./gcc/fixinc/procopen.c --- 2831,2837 ---- 2003329934b ./gcc/fixinc/genfixes 2190395998b ./gcc/fixinc/gnu-regex.c 1403987073b ./gcc/fixinc/gnu-regex.h ! 1730486141b ./gcc/fixinc/inclhack.def 333067513b ./gcc/fixinc/Makefile.in 1990838210b ./gcc/fixinc/mkfixinc.sh 1834585069b ./gcc/fixinc/procopen.c *************** *** 2838,2843 **** --- 2840,2846 ---- 3490851801b ./gcc/fixinc/server.h 1165473466b ./gcc/fixinc/tests/base/ansi/math.h 3124694417b ./gcc/fixinc/tests/base/ansi/stdlib.h + 483312381b ./gcc/fixinc/tests/base/ansi/string.h 2980092932b ./gcc/fixinc/tests/base/arch/i960/archI960.h 1062137968b ./gcc/fixinc/tests/base/arpa/inet.h 935781122b ./gcc/fixinc/tests/base/assert.h *************** *** 2857,2867 **** 2670651204b ./gcc/fixinc/tests/base/libgen.h 1854625388b ./gcc/fixinc/tests/base/machine/cpu.h 114078425b ./gcc/fixinc/tests/base/malloc.h ! 2313686563b ./gcc/fixinc/tests/base/math.h 2373596333b ./gcc/fixinc/tests/base/netdnet/dnetdb.h 4211518276b ./gcc/fixinc/tests/base/netinet/ip.h 3107111098b ./gcc/fixinc/tests/base/pixrect/memvar.h ! 3253666839b ./gcc/fixinc/tests/base/pthread.h 2876721819b ./gcc/fixinc/tests/base/regex.h 351364386b ./gcc/fixinc/tests/base/reg_types.h 2249464053b ./gcc/fixinc/tests/base/rpc/auth.h --- 2860,2870 ---- 2670651204b ./gcc/fixinc/tests/base/libgen.h 1854625388b ./gcc/fixinc/tests/base/machine/cpu.h 114078425b ./gcc/fixinc/tests/base/malloc.h ! 213949517b ./gcc/fixinc/tests/base/math.h 2373596333b ./gcc/fixinc/tests/base/netdnet/dnetdb.h 4211518276b ./gcc/fixinc/tests/base/netinet/ip.h 3107111098b ./gcc/fixinc/tests/base/pixrect/memvar.h ! 2157512402b ./gcc/fixinc/tests/base/pthread.h 2876721819b ./gcc/fixinc/tests/base/regex.h 351364386b ./gcc/fixinc/tests/base/reg_types.h 2249464053b ./gcc/fixinc/tests/base/rpc/auth.h *************** *** 2874,2885 **** 1583769396b ./gcc/fixinc/tests/base/stdio.h 1529509815b ./gcc/fixinc/tests/base/stdio_tag.h 298829255b ./gcc/fixinc/tests/base/stdlib.h 2907849084b ./gcc/fixinc/tests/base/strings.h 482468002b ./gcc/fixinc/tests/base/sundev/vuid_event.h 1807434691b ./gcc/fixinc/tests/base/sunwindow/win_lock.h 124945712b ./gcc/fixinc/tests/base/sym.h 3921290193b ./gcc/fixinc/tests/base/sys/asm.h ! 54324049b ./gcc/fixinc/tests/base/sys/byteorder.h 1224260027b ./gcc/fixinc/tests/base/sys/cdefs.h 1406575472b ./gcc/fixinc/tests/base/sys/file.h 3052695740b ./gcc/fixinc/tests/base/sys/ioctl.h --- 2877,2889 ---- 1583769396b ./gcc/fixinc/tests/base/stdio.h 1529509815b ./gcc/fixinc/tests/base/stdio_tag.h 298829255b ./gcc/fixinc/tests/base/stdlib.h + 2274134488b ./gcc/fixinc/tests/base/string.h 2907849084b ./gcc/fixinc/tests/base/strings.h 482468002b ./gcc/fixinc/tests/base/sundev/vuid_event.h 1807434691b ./gcc/fixinc/tests/base/sunwindow/win_lock.h 124945712b ./gcc/fixinc/tests/base/sym.h 3921290193b ./gcc/fixinc/tests/base/sys/asm.h ! 1997294699b ./gcc/fixinc/tests/base/sys/byteorder.h 1224260027b ./gcc/fixinc/tests/base/sys/cdefs.h 1406575472b ./gcc/fixinc/tests/base/sys/file.h 3052695740b ./gcc/fixinc/tests/base/sys/ioctl.h *************** *** 2887,2892 **** --- 2891,2897 ---- 645497489b ./gcc/fixinc/tests/base/sys/machine.h 1230050207b ./gcc/fixinc/tests/base/sys/mman.h 3800154687b ./gcc/fixinc/tests/base/sys/param.h + 2763839202b ./gcc/fixinc/tests/base/sys/regset.h 3041640682b ./gcc/fixinc/tests/base/sys/signal.h 85483121b ./gcc/fixinc/tests/base/sys/socket.h 2450632911b ./gcc/fixinc/tests/base/sys/spinlock.h *************** *** 2922,2928 **** 1633854048b ./gcc/f/malloc.h 2687881356b ./gcc/f/name.c 558328466b ./gcc/f/name.h ! 559255786b ./gcc/f/NEWS 3453379674b ./gcc/f/news0.texi 2025578594b ./gcc/f/news.texi 77254354b ./gcc/fold-const.c --- 2927,2933 ---- 1633854048b ./gcc/f/malloc.h 2687881356b ./gcc/f/name.c 558328466b ./gcc/f/name.h ! 2173085709b ./gcc/f/NEWS 3453379674b ./gcc/f/news0.texi 2025578594b ./gcc/f/news.texi 77254354b ./gcc/fold-const.c *************** *** 2981,2994 **** 2232338664b ./gcc/f/top.h 3443401298b ./gcc/f/type.c 2499934202b ./gcc/f/type.h ! 2589414035b ./gcc/function.c 2092834276b ./gcc/function.h 3058774034b ./gcc/future.options 316201735b ./gcc/f/where.c 3857741668b ./gcc/f/where.h 3783840564b ./gcc/gbl-ctors.h 1115769236b ./gcc/gccbug.in ! 3359207208b ./gcc/gcc.c 4230721321b ./gcc/gcc.h 3093644366b ./gcc/gcc.hlp 2622773729b ./gcc/gccspec.c --- 2986,2999 ---- 2232338664b ./gcc/f/top.h 3443401298b ./gcc/f/type.c 2499934202b ./gcc/f/type.h ! 1462737491b ./gcc/function.c 2092834276b ./gcc/function.h 3058774034b ./gcc/future.options 316201735b ./gcc/f/where.c 3857741668b ./gcc/f/where.h 3783840564b ./gcc/gbl-ctors.h 1115769236b ./gcc/gccbug.in ! 2921634145b ./gcc/gcc.c 4230721321b ./gcc/gcc.h 3093644366b ./gcc/gcc.hlp 2622773729b ./gcc/gccspec.c *************** *** 3011,3017 **** 904540311b ./gcc/gengenrtl.c 2765427045b ./gcc/gengtype.c 1706925807b ./gcc/gengtype.h ! 3357288863b ./gcc/gengtype-lex.c 3137000585b ./gcc/gengtype-lex.l 283432982b ./gcc/gengtype-yacc.c 2625416625b ./gcc/gengtype-yacc.h --- 3016,3022 ---- 904540311b ./gcc/gengenrtl.c 2765427045b ./gcc/gengtype.c 1706925807b ./gcc/gengtype.h ! 362087221b ./gcc/gengtype-lex.c 3137000585b ./gcc/gengtype-lex.l 283432982b ./gcc/gengtype-yacc.c 2625416625b ./gcc/gengtype-yacc.h *************** *** 3067,3073 **** 3129523647b ./gcc/integrate.h 3847321727b ./gcc/intl/bindtextdom.c 3277280645b ./gcc/intl.c ! 908602716b ./gcc/intl/ChangeLog 3698301396b ./gcc/intl/config.charset 3683549278b ./gcc/intl/dcgettext.c 1537282354b ./gcc/intl/dcigettext.c --- 3072,3078 ---- 3129523647b ./gcc/integrate.h 3847321727b ./gcc/intl/bindtextdom.c 3277280645b ./gcc/intl.c ! 2907030698b ./gcc/intl/ChangeLog 3698301396b ./gcc/intl/config.charset 3683549278b ./gcc/intl/dcgettext.c 1537282354b ./gcc/intl/dcigettext.c *************** *** 3102,3108 **** 674770997b ./gcc/java/buffer.c 1535113190b ./gcc/java/buffer.h 2471190840b ./gcc/java/builtins.c ! 1405334807b ./gcc/java/ChangeLog 2409493226b ./gcc/java/chartables.h 1669534513b ./gcc/java/check-init.c 1987085295b ./gcc/java/class.c --- 3107,3113 ---- 674770997b ./gcc/java/buffer.c 1535113190b ./gcc/java/buffer.h 2471190840b ./gcc/java/builtins.c ! 711626241b ./gcc/java/ChangeLog 2409493226b ./gcc/java/chartables.h 1669534513b ./gcc/java/check-init.c 1987085295b ./gcc/java/class.c *************** *** 3113,3124 **** 2447326245b ./gcc/java/decl.c 808662179b ./gcc/java/except.c 3550734029b ./gcc/java/expr.c ! 293857630b ./gcc/java/gcj.1 ! 1181101193b ./gcc/java/gcjh.1 3037774527b ./gcc/java/gcj.info 3613529008b ./gcc/java/gcj.texi 533046670b ./gcc/java/gen-table.pl ! 1411986171b ./gcc/java/gij.1 871232158b ./gcc/java/gjavah.c 1545050516b ./gcc/java/java-except.h 1953641142b ./gcc/java/java-opcodes.h --- 3118,3129 ---- 2447326245b ./gcc/java/decl.c 808662179b ./gcc/java/except.c 3550734029b ./gcc/java/expr.c ! 4140633080b ./gcc/java/gcj.1 ! 650127821b ./gcc/java/gcjh.1 3037774527b ./gcc/java/gcj.info 3613529008b ./gcc/java/gcj.texi 533046670b ./gcc/java/gen-table.pl ! 1159065701b ./gcc/java/gij.1 871232158b ./gcc/java/gjavah.c 1545050516b ./gcc/java/java-except.h 1953641142b ./gcc/java/java-opcodes.h *************** *** 3127,3133 **** 2113802419b ./gcc/java/java-tree.def 1585333829b ./gcc/java/java-tree.h 1618392854b ./gcc/java/jcf-depend.c ! 1309423528b ./gcc/java/jcf-dump.1 989986345b ./gcc/java/jcf-dump.c 1096034698b ./gcc/java/jcf.h 265802933b ./gcc/java/jcf-io.c --- 3132,3138 ---- 2113802419b ./gcc/java/java-tree.def 1585333829b ./gcc/java/java-tree.h 1618392854b ./gcc/java/jcf-depend.c ! 1330782242b ./gcc/java/jcf-dump.1 989986345b ./gcc/java/jcf-dump.c 1096034698b ./gcc/java/jcf.h 265802933b ./gcc/java/jcf-io.c *************** *** 3135,3143 **** 3649177865b ./gcc/java/jcf-path.c 3469145485b ./gcc/java/jcf-reader.c 2779561656b ./gcc/java/jcf-write.c ! 2954054827b ./gcc/java/jv-convert.1 3805988298b ./gcc/java/jvgenmain.c ! 240446804b ./gcc/java/jv-scan.1 1608362154b ./gcc/java/jv-scan.c 1503112447b ./gcc/java/jvspec.c 1823669543b ./gcc/java/keyword.gperf --- 3140,3148 ---- 3649177865b ./gcc/java/jcf-path.c 3469145485b ./gcc/java/jcf-reader.c 2779561656b ./gcc/java/jcf-write.c ! 1607884657b ./gcc/java/jv-convert.1 3805988298b ./gcc/java/jvgenmain.c ! 2969973964b ./gcc/java/jv-scan.1 1608362154b ./gcc/java/jv-scan.c 1503112447b ./gcc/java/jvspec.c 1823669543b ./gcc/java/keyword.gperf *************** *** 3150,3162 **** 827934844b ./gcc/java/Make-lang.in 3475732428b ./gcc/java/mangle.c 1178542691b ./gcc/java/mangle_name.c ! 2451677701b ./gcc/java/parse.c 1819635606b ./gcc/java/parse.h ! 997050303b ./gcc/java/parse-scan.c 222108707b ./gcc/java/parse-scan.y 3662037178b ./gcc/java/parse.y ! 6813413b ./gcc/java/rmic.1 ! 2076065631b ./gcc/java/rmiregistry.1 4133292138b ./gcc/java/typeck.c 3461608157b ./gcc/java/verify.c 3887545656b ./gcc/java/win32-host.c --- 3155,3167 ---- 827934844b ./gcc/java/Make-lang.in 3475732428b ./gcc/java/mangle.c 1178542691b ./gcc/java/mangle_name.c ! 1612011901b ./gcc/java/parse.c 1819635606b ./gcc/java/parse.h ! 1406773240b ./gcc/java/parse-scan.c 222108707b ./gcc/java/parse-scan.y 3662037178b ./gcc/java/parse.y ! 2458901806b ./gcc/java/rmic.1 ! 3179582836b ./gcc/java/rmiregistry.1 4133292138b ./gcc/java/typeck.c 3461608157b ./gcc/java/verify.c 3887545656b ./gcc/java/win32-host.c *************** *** 3173,3179 **** 95519294b ./gcc/libfuncs.h 1895885741b ./gcc/libgcc2.c 3322762549b ./gcc/libgcc2.h ! 279804516b ./gcc/libgcc-std.ver 2497915666b ./gcc/limitx.h 1045880008b ./gcc/limity.h 1060915850b ./gcc/line-map.c --- 3178,3184 ---- 95519294b ./gcc/libfuncs.h 1895885741b ./gcc/libgcc2.c 3322762549b ./gcc/libgcc2.h ! 1203905598b ./gcc/libgcc-std.ver 2497915666b ./gcc/limitx.h 1045880008b ./gcc/limity.h 1060915850b ./gcc/line-map.c *************** *** 3182,3193 **** 2979000969b ./gcc/local-alloc.c 1812783525b ./gcc/location.h 3570672314b ./gcc/longlong.h ! 2167532150b ./gcc/loop.c ! 2947339148b ./gcc/loop.h 1751002388b ./gcc/machmode.def 2912025978b ./gcc/machmode.h 189930733b ./gcc/main.c ! 372306726b ./gcc/Makefile.in 2927199649b ./gcc/mbchar.c 1508701785b ./gcc/mbchar.h 886384654b ./gcc/mips-tdump.c --- 3187,3198 ---- 2979000969b ./gcc/local-alloc.c 1812783525b ./gcc/location.h 3570672314b ./gcc/longlong.h ! 3976331173b ./gcc/loop.c ! 3228595845b ./gcc/loop.h 1751002388b ./gcc/machmode.def 2912025978b ./gcc/machmode.h 189930733b ./gcc/main.c ! 892780542b ./gcc/Makefile.in 2927199649b ./gcc/mbchar.c 1508701785b ./gcc/mbchar.h 886384654b ./gcc/mips-tdump.c *************** *** 3197,3207 **** 3976112005b ./gcc/mkdeps.h 27366989b ./gcc/mkheaders.in 827441351b ./gcc/mkinstalldirs ! 1322684481b ./gcc/mklibgcc.in 4201050746b ./gcc/mkmap-flat.awk ! 1180430107b ./gcc/mkmap-symver.awk 1597314052b ./gcc/move-if-change ! 2142801929b ./gcc/NEWS 753535702b ./gcc/objc/config-lang.in 1966957144b ./gcc/objc/.cvsignore 588115418b ./gcc/objc/lang-options.h --- 3202,3212 ---- 3976112005b ./gcc/mkdeps.h 27366989b ./gcc/mkheaders.in 827441351b ./gcc/mkinstalldirs ! 3700388981b ./gcc/mklibgcc.in 4201050746b ./gcc/mkmap-flat.awk ! 2348443687b ./gcc/mkmap-symver.awk 1597314052b ./gcc/move-if-change ! 492608708b ./gcc/NEWS 753535702b ./gcc/objc/config-lang.in 1966957144b ./gcc/objc/.cvsignore 588115418b ./gcc/objc/lang-options.h *************** *** 3223,3229 **** 984476649b ./gcc/params.h 3291441019b ./gcc/po/be.gmo 3594423100b ./gcc/po/be.po ! 1668679948b ./gcc/po/ChangeLog 958960227b ./gcc/po/da.gmo 473883872b ./gcc/po/da.po 389901689b ./gcc/po/de.gmo --- 3228,3234 ---- 984476649b ./gcc/params.h 3291441019b ./gcc/po/be.gmo 3594423100b ./gcc/po/be.po ! 1199822984b ./gcc/po/ChangeLog 958960227b ./gcc/po/da.gmo 473883872b ./gcc/po/da.po 389901689b ./gcc/po/de.gmo *************** *** 3273,3283 **** 1380845695b ./gcc/regmove.c 886698666b ./gcc/regrename.c 4261713084b ./gcc/regs.h ! 388866387b ./gcc/reg-stack.c 1851607546b ./gcc/reload1.c 2803735528b ./gcc/reload.c 3481272321b ./gcc/reload.h ! 4020213172b ./gcc/reorg.c 249014842b ./gcc/resource.c 2605579460b ./gcc/resource.h 3358091595b ./gcc/rtlanal.c --- 3278,3288 ---- 1380845695b ./gcc/regmove.c 886698666b ./gcc/regrename.c 4261713084b ./gcc/regs.h ! 2988316224b ./gcc/reg-stack.c 1851607546b ./gcc/reload1.c 2803735528b ./gcc/reload.c 3481272321b ./gcc/reload.h ! 926972925b ./gcc/reorg.c 249014842b ./gcc/resource.c 2605579460b ./gcc/resource.h 3358091595b ./gcc/rtlanal.c *************** *** 3288,3294 **** 1290811844b ./gcc/sbitmap.c 7124827b ./gcc/sbitmap.h 75721905b ./gcc/scan.c ! 1157934170b ./gcc/scan-decls.c 339714129b ./gcc/scan.h 3912741047b ./gcc/scan-types.sh 2704776331b ./gcc/sched-deps.c --- 3293,3299 ---- 1290811844b ./gcc/sbitmap.c 7124827b ./gcc/sbitmap.h 75721905b ./gcc/scan.c ! 1193388276b ./gcc/scan-decls.c 339714129b ./gcc/scan.h 3912741047b ./gcc/scan-types.sh 2704776331b ./gcc/sched-deps.c *************** *** 3308,3322 **** 3490823511b ./gcc/ssa.h 661640452b ./gcc/stab.def 471587796b ./gcc/stack.h ! 1990422131b ./gcc/stmt.c ! 2148442539b ./gcc/stor-layout.c 3600592812b ./gcc/stringpool.c 567176141b ./gcc/sys-protos.h 1032468258b ./gcc/system.h 482558466b ./gcc/sys-types.h 3943359312b ./gcc/target-def.h 1185210674b ./gcc/target.h ! 2810119787b ./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 --- 3313,3327 ---- 3490823511b ./gcc/ssa.h 661640452b ./gcc/stab.def 471587796b ./gcc/stack.h ! 2279062054b ./gcc/stmt.c ! 859696767b ./gcc/stor-layout.c 3600592812b ./gcc/stringpool.c 567176141b ./gcc/sys-protos.h 1032468258b ./gcc/system.h 482558466b ./gcc/sys-types.h 3943359312b ./gcc/target-def.h 1185210674b ./gcc/target.h ! 776473652b ./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 *************** *** 5363,5368 **** --- 5368,5377 ---- 139115612b ./gcc/testsuite/gcc.c-torture/compile/20030604-1.c 3168385659b ./gcc/testsuite/gcc.c-torture/compile/20030625-1.c 1844731542b ./gcc/testsuite/gcc.c-torture/compile/20030703-1.c + 421671839b ./gcc/testsuite/gcc.c-torture/compile/20030821-1.c + 144576078b ./gcc/testsuite/gcc.c-torture/compile/20030907-1.c + 3163338462b ./gcc/testsuite/gcc.c-torture/compile/20031002-1.c + 1569879978b ./gcc/testsuite/gcc.c-torture/compile/20031011-1.c 375311401b ./gcc/testsuite/gcc.c-torture/compile/900116-1.c 4181931788b ./gcc/testsuite/gcc.c-torture/compile/900216-1.c 426860692b ./gcc/testsuite/gcc.c-torture/compile/900313-1.c *************** *** 5673,5678 **** --- 5682,5688 ---- 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 + 1339023163b ./gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c 1530761060b ./gcc/testsuite/gcc.c-torture/execute/20000112-1.c 2481066019b ./gcc/testsuite/gcc.c-torture/execute/20000113-1.c 1162771092b ./gcc/testsuite/gcc.c-torture/execute/20000121-1.c *************** *** 5894,5899 **** --- 5904,5910 ---- 4701210b ./gcc/testsuite/gcc.c-torture/execute/20030613-1.c 1633117452b ./gcc/testsuite/gcc.c-torture/execute/20030714-1.c 966093144b ./gcc/testsuite/gcc.c-torture/execute/20030715-1.c + 479976333b ./gcc/testsuite/gcc.c-torture/execute/20030907-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 *************** *** 6763,6769 **** 2738421039b ./gcc/testsuite/gcc.dg/20020310-1.c 767384458b ./gcc/testsuite/gcc.dg/20020312-1.c 2062142429b ./gcc/testsuite/gcc.dg/20020312-2.c ! 3842300935b ./gcc/testsuite/gcc.dg/20020313-1.c 663674028b ./gcc/testsuite/gcc.dg/20020319-1.c 3802202669b ./gcc/testsuite/gcc.dg/20020326-1.c 575770214b ./gcc/testsuite/gcc.dg/20020411-1.c --- 6774,6780 ---- 2738421039b ./gcc/testsuite/gcc.dg/20020310-1.c 767384458b ./gcc/testsuite/gcc.dg/20020312-1.c 2062142429b ./gcc/testsuite/gcc.dg/20020312-2.c ! 353733237b ./gcc/testsuite/gcc.dg/20020313-1.c 663674028b ./gcc/testsuite/gcc.dg/20020319-1.c 3802202669b ./gcc/testsuite/gcc.dg/20020326-1.c 575770214b ./gcc/testsuite/gcc.dg/20020411-1.c *************** *** 6808,6816 **** --- 6819,6831 ---- 1058638767b ./gcc/testsuite/gcc.dg/20030414-1.c 562276436b ./gcc/testsuite/gcc.dg/20030625-1.c 234439247b ./gcc/testsuite/gcc.dg/20030627-1.c + 2034015147b ./gcc/testsuite/gcc.dg/20030702-1.c 633614653b ./gcc/testsuite/gcc.dg/20030708-1.c 432289486b ./gcc/testsuite/gcc.dg/20030717-1.c 2732676543b ./gcc/testsuite/gcc.dg/20030721-1.c + 2613783087b ./gcc/testsuite/gcc.dg/20030815-1.c + 3262950551b ./gcc/testsuite/gcc.dg/20031002-1.c + 3703962415b ./gcc/testsuite/gcc.dg/20031009-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 *************** *** 6887,6892 **** --- 6902,6908 ---- 719825537b ./gcc/testsuite/gcc.dg/bitfld-4.c 331669473b ./gcc/testsuite/gcc.dg/bitfld-5.c 2721476408b ./gcc/testsuite/gcc.dg/bitfld-6.c + 2770733918b ./gcc/testsuite/gcc.dg/builtin-apply1.c 1594168367b ./gcc/testsuite/gcc.dg/builtin-choose-expr.c 10093864b ./gcc/testsuite/gcc.dg/builtin-inf-1.c 2462561678b ./gcc/testsuite/gcc.dg/builtin-prefetch-1.c *************** *** 6897,6902 **** --- 6913,6919 ---- 4098525451b ./gcc/testsuite/gcc.dg/c90-array-lval-3.c 3655088604b ./gcc/testsuite/gcc.dg/c90-array-lval-4.c 1572913366b ./gcc/testsuite/gcc.dg/c90-array-lval-5.c + 25327060b ./gcc/testsuite/gcc.dg/c90-array-lval-6.c 4018159207b ./gcc/testsuite/gcc.dg/c90-complex-1.c 3681535923b ./gcc/testsuite/gcc.dg/c90-complit-1.c 1705314837b ./gcc/testsuite/gcc.dg/c90-const-expr-1.c *************** *** 6929,6934 **** --- 6946,6952 ---- 533861407b ./gcc/testsuite/gcc.dg/c99-array-lval-3.c 2215212813b ./gcc/testsuite/gcc.dg/c99-array-lval-4.c 3070583409b ./gcc/testsuite/gcc.dg/c99-array-lval-5.c + 144287683b ./gcc/testsuite/gcc.dg/c99-array-lval-6.c 1817213908b ./gcc/testsuite/gcc.dg/c99-array-nonobj-1.c 2980400116b ./gcc/testsuite/gcc.dg/c99-bool-1.c 2269932988b ./gcc/testsuite/gcc.dg/c99-complex-1.c *************** *** 7177,7185 **** 1107840471b ./gcc/testsuite/gcc.dg/cpp/redef1.c 1601641321b ./gcc/testsuite/gcc.dg/cpp/redef2.c 2157179075b ./gcc/testsuite/gcc.dg/cpp/redef3.c 2020720031b ./gcc/testsuite/gcc.dg/cpp/skipping2.c 3846911977b ./gcc/testsuite/gcc.dg/cpp/skipping.c ! 3873271528b ./gcc/testsuite/gcc.dg/cpp/spacing1.c 1299147601b ./gcc/testsuite/gcc.dg/cpp/spacing2.c 3081823659b ./gcc/testsuite/gcc.dg/cpp/strify1.c 3973832195b ./gcc/testsuite/gcc.dg/cpp/strify2.c --- 7195,7204 ---- 1107840471b ./gcc/testsuite/gcc.dg/cpp/redef1.c 1601641321b ./gcc/testsuite/gcc.dg/cpp/redef2.c 2157179075b ./gcc/testsuite/gcc.dg/cpp/redef3.c + 2746819393b ./gcc/testsuite/gcc.dg/cpp/separate-1.c 2020720031b ./gcc/testsuite/gcc.dg/cpp/skipping2.c 3846911977b ./gcc/testsuite/gcc.dg/cpp/skipping.c ! 3826080641b ./gcc/testsuite/gcc.dg/cpp/spacing1.c 1299147601b ./gcc/testsuite/gcc.dg/cpp/spacing2.c 3081823659b ./gcc/testsuite/gcc.dg/cpp/strify1.c 3973832195b ./gcc/testsuite/gcc.dg/cpp/strify2.c *************** *** 7287,7294 **** --- 7306,7315 ---- 2112571638b ./gcc/testsuite/gcc.dg/cpp/widestr1.c 3886684794b ./gcc/testsuite/gcc.dg/cpp/Wsignprom.c 1685485063b ./gcc/testsuite/gcc.dg/cpp/Wtrigraphs.c + 2373291318b ./gcc/testsuite/gcc.dg/cpp/Wunknown-pragmas-1.c 3786746146b ./gcc/testsuite/gcc.dg/cpp/Wunused.c 2247214341b ./gcc/testsuite/gcc.dg/cpp/Wunused.h + 966111785b ./gcc/testsuite/gcc.dg/darwin-abi-1.c 3955692120b ./gcc/testsuite/gcc.dg/darwin-ld-1.c 3377797610b ./gcc/testsuite/gcc.dg/darwin-ld-2.c 858483839b ./gcc/testsuite/gcc.dg/darwin-ld-3.c *************** *** 7438,7444 **** 2954420820b ./gcc/testsuite/gcc.dg/mmix-1.c 2663557248b ./gcc/testsuite/gcc.dg/m-un-1.c 2341407016b ./gcc/testsuite/gcc.dg/m-un-2.c ! 3356258804b ./gcc/testsuite/gcc.dg/nest.c 167742958b ./gcc/testsuite/gcc.dg/no-builtin-1.c 2208318132b ./gcc/testsuite/gcc.dg/noncompile/20000901-1.c 3562764821b ./gcc/testsuite/gcc.dg/noncompile/20001228-1.c --- 7459,7465 ---- 2954420820b ./gcc/testsuite/gcc.dg/mmix-1.c 2663557248b ./gcc/testsuite/gcc.dg/m-un-1.c 2341407016b ./gcc/testsuite/gcc.dg/m-un-2.c ! 2607910125b ./gcc/testsuite/gcc.dg/nest.c 167742958b ./gcc/testsuite/gcc.dg/no-builtin-1.c 2208318132b ./gcc/testsuite/gcc.dg/noncompile/20000901-1.c 3562764821b ./gcc/testsuite/gcc.dg/noncompile/20001228-1.c *************** *** 7449,7454 **** --- 7470,7476 ---- 3055182962b ./gcc/testsuite/gcc.dg/noncompile/20020207-1.c 3889627347b ./gcc/testsuite/gcc.dg/noncompile/20020213-1.c 1457569280b ./gcc/testsuite/gcc.dg/noncompile/20020220-1.c + 2121631552b ./gcc/testsuite/gcc.dg/noncompile/20030818-1.c 2964160251b ./gcc/testsuite/gcc.dg/noncompile/920507-1.c 2161867266b ./gcc/testsuite/gcc.dg/noncompile/920616-2.c 1066215762b ./gcc/testsuite/gcc.dg/noncompile/920721-2.c *************** *** 7509,7515 **** 2879526504b ./gcc/testsuite/gcc.dg/return-type-3.c 3862146754b ./gcc/testsuite/gcc.dg/sequence-pt-1.c 3997091992b ./gcc/testsuite/gcc.dg/setjmp-1.c ! 1999251039b ./gcc/testsuite/gcc.dg/sibcall-1.c 2394881430b ./gcc/testsuite/gcc.dg/sibcall-2.c 2328366575b ./gcc/testsuite/gcc.dg/sibcall-3.c 348731556b ./gcc/testsuite/gcc.dg/sibcall-4.c --- 7531,7537 ---- 2879526504b ./gcc/testsuite/gcc.dg/return-type-3.c 3862146754b ./gcc/testsuite/gcc.dg/sequence-pt-1.c 3997091992b ./gcc/testsuite/gcc.dg/setjmp-1.c ! 4257734656b ./gcc/testsuite/gcc.dg/sibcall-1.c 2394881430b ./gcc/testsuite/gcc.dg/sibcall-2.c 2328366575b ./gcc/testsuite/gcc.dg/sibcall-3.c 348731556b ./gcc/testsuite/gcc.dg/sibcall-4.c *************** *** 7559,7564 **** --- 7581,7587 ---- 1890682509b ./gcc/testsuite/gcc.dg/typedef-init.c 1892637986b ./gcc/testsuite/gcc.dg/typeof-1.c 2805647153b ./gcc/testsuite/gcc.dg/typespec-1.c + 2282506048b ./gcc/testsuite/gcc.dg/ultrasp10.c 1860858242b ./gcc/testsuite/gcc.dg/ultrasp1.c 789972216b ./gcc/testsuite/gcc.dg/ultrasp2.c 2708772692b ./gcc/testsuite/gcc.dg/ultrasp3.c *************** *** 7578,7584 **** 390912088b ./gcc/testsuite/gcc.dg/uninit-9.c 2047101897b ./gcc/testsuite/gcc.dg/uninit-A.c 3967573468b ./gcc/testsuite/gcc.dg/uninit-B.c ! 2467264013b ./gcc/testsuite/gcc.dg/uninit-C.c 3652858704b ./gcc/testsuite/gcc.dg/unordered-1.c 977726966b ./gcc/testsuite/gcc.dg/unused-1.c 3484455791b ./gcc/testsuite/gcc.dg/unused-2.c --- 7601,7607 ---- 390912088b ./gcc/testsuite/gcc.dg/uninit-9.c 2047101897b ./gcc/testsuite/gcc.dg/uninit-A.c 3967573468b ./gcc/testsuite/gcc.dg/uninit-B.c ! 871237670b ./gcc/testsuite/gcc.dg/uninit-C.c 3652858704b ./gcc/testsuite/gcc.dg/unordered-1.c 977726966b ./gcc/testsuite/gcc.dg/unused-1.c 3484455791b ./gcc/testsuite/gcc.dg/unused-2.c *************** *** 7630,7635 **** --- 7653,7660 ---- 2078992029b ./gcc/testsuite/gcc.dg/Wunknownprag.c 1674197654b ./gcc/testsuite/gcc.dg/Wunreachable-1.c 3581949676b ./gcc/testsuite/gcc.dg/Wunreachable-2.c + 4265013314b ./gcc/testsuite/gcc.dg/Wunreachable-6.c + 154937648b ./gcc/testsuite/gcc.dg/Wunreachable-7.c 1769759078b ./gcc/testsuite/gcc.misc-tests/acker1.c 1443030966b ./gcc/testsuite/gcc.misc-tests/acker1.exp 278378178b ./gcc/testsuite/gcc.misc-tests/arm-isr.c *************** *** 7673,7679 **** 2266643451b ./gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c 2697809529b ./gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c 2256410310b ./gcc/testsuite/gcc.misc-tests/i386-prefetch.exp ! 3414573605b ./gcc/testsuite/gcc.misc-tests/linkage.exp 2071381157b ./gcc/testsuite/gcc.misc-tests/linkage-x.c 3975807378b ./gcc/testsuite/gcc.misc-tests/linkage-y.c 2874350784b ./gcc/testsuite/gcc.misc-tests/matrix1.c --- 7698,7704 ---- 2266643451b ./gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c 2697809529b ./gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c 2256410310b ./gcc/testsuite/gcc.misc-tests/i386-prefetch.exp ! 1438262609b ./gcc/testsuite/gcc.misc-tests/linkage.exp 2071381157b ./gcc/testsuite/gcc.misc-tests/linkage-x.c 3975807378b ./gcc/testsuite/gcc.misc-tests/linkage-y.c 2874350784b ./gcc/testsuite/gcc.misc-tests/matrix1.c *************** *** 7684,7689 **** --- 7709,7716 ---- 3220093576b ./gcc/testsuite/gcc.misc-tests/sieve.exp 4235385594b ./gcc/testsuite/gcc.misc-tests/sort2.c 232815709b ./gcc/testsuite/gcc.misc-tests/sort2.exp + 3879806733b ./gcc/testsuite/g++.dg/abi/bitfield11.C + 633990831b ./gcc/testsuite/g++.dg/abi/bitfield12.C 885716516b ./gcc/testsuite/g++.dg/abi/bitfield1.C 479436735b ./gcc/testsuite/g++.dg/abi/bitfield2.C 3225280346b ./gcc/testsuite/g++.dg/abi/bitfield3.C *************** *** 7871,7876 **** --- 7898,7904 ---- 3604468645b ./gcc/testsuite/g++.dg/eh/ctor1.C 2992503335b ./gcc/testsuite/g++.dg/eh/ctor2.C 3380022165b ./gcc/testsuite/g++.dg/eh/dead1.C + 3753867915b ./gcc/testsuite/g++.dg/eh/delayslot1.C 2869281563b ./gcc/testsuite/g++.dg/eh/dtor1.C 3289569863b ./gcc/testsuite/g++.dg/eh/filter1.C 1460645953b ./gcc/testsuite/g++.dg/eh/filter2.C *************** *** 7899,7904 **** --- 7927,7933 ---- 1242918408b ./gcc/testsuite/g++.dg/expr/anew3.C 2363098696b ./gcc/testsuite/g++.dg/expr/anew4.C 3540714573b ./gcc/testsuite/g++.dg/expr/cast1.C + 1287092719b ./gcc/testsuite/g++.dg/expr/comma1.C 880147168b ./gcc/testsuite/g++.dg/expr/cond1.C 3467644215b ./gcc/testsuite/g++.dg/expr/dtor1.C 1191085278b ./gcc/testsuite/g++.dg/expr/member-of-incomplete-type-1.C *************** *** 7906,7911 **** --- 7935,7942 ---- 176841758b ./gcc/testsuite/g++.dg/expr/static_cast1.C 305119696b ./gcc/testsuite/g++.dg/expr/static_cast2.C 1996013771b ./gcc/testsuite/g++.dg/expr/static_cast3.C + 672086049b ./gcc/testsuite/g++.dg/expr/static_cast4.C + 3771989345b ./gcc/testsuite/g++.dg/expr/static_cast5.C 10818138b ./gcc/testsuite/g++.dg/ext/align1.C 161719849b ./gcc/testsuite/g++.dg/ext/alignof1.C 1838999152b ./gcc/testsuite/g++.dg/ext/anon-struct1.C *************** *** 7920,7925 **** --- 7951,7957 ---- 3822844850b ./gcc/testsuite/g++.dg/ext/attrib4.C 3467041206b ./gcc/testsuite/g++.dg/ext/attrib5.C 2936155890b ./gcc/testsuite/g++.dg/ext/attrib6.C + 1969936708b ./gcc/testsuite/g++.dg/ext/attrib8.C 2703749043b ./gcc/testsuite/g++.dg/ext/conv1.C 3998238765b ./gcc/testsuite/g++.dg/ext/desig1.C 1844149136b ./gcc/testsuite/g++.dg/ext/dllexport1.C *************** *** 7966,7972 **** --- 7998,8006 ---- 1226473169b ./gcc/testsuite/g++.dg/inherit/access5.C 3439912284b ./gcc/testsuite/g++.dg/inherit/base1.C 3472745263b ./gcc/testsuite/g++.dg/inherit/cond1.C + 2011214219b ./gcc/testsuite/g++.dg/inherit/conv1.C 3404023551b ./gcc/testsuite/g++.dg/inherit/covariant1.C + 1224112180b ./gcc/testsuite/g++.dg/inherit/error1.C 2543191854b ./gcc/testsuite/g++.dg/inherit/namespace-as-base.C 4167951109b ./gcc/testsuite/g++.dg/inherit/null1.C 2478211972b ./gcc/testsuite/g++.dg/inherit/operator1.C *************** *** 7980,7985 **** --- 8014,8020 ---- 2391219706b ./gcc/testsuite/g++.dg/inherit/using3.C 1997208530b ./gcc/testsuite/g++.dg/init/addr-const1.C 1409346264b ./gcc/testsuite/g++.dg/init/aggr1.C + 1025630251b ./gcc/testsuite/g++.dg/init/array11.C 4149172890b ./gcc/testsuite/g++.dg/init/array1.C 3157994593b ./gcc/testsuite/g++.dg/init/array2.C 3175368870b ./gcc/testsuite/g++.dg/init/array3.C *************** *** 8014,8019 **** --- 8049,8055 ---- 2065836625b ./gcc/testsuite/g++.dg/init/new5.C 3584312984b ./gcc/testsuite/g++.dg/init/new6.C 2240525756b ./gcc/testsuite/g++.dg/init/new7.C + 2021239480b ./gcc/testsuite/g++.dg/init/new9.C 1015198831b ./gcc/testsuite/g++.dg/init/pm1.C 1446834658b ./gcc/testsuite/g++.dg/init/pm2.C 3206400652b ./gcc/testsuite/g++.dg/init/ref1.C *************** *** 8022,8029 **** --- 8058,8068 ---- 327983634b ./gcc/testsuite/g++.dg/init/ref5.C 4081692652b ./gcc/testsuite/g++.dg/init/ref6.C 2855903834b ./gcc/testsuite/g++.dg/init/ref7.C + 3389778468b ./gcc/testsuite/g++.dg/init/ref8.C + 2843431707b ./gcc/testsuite/g++.dg/init/ref9.C 1760232845b ./gcc/testsuite/g++.dg/init/static1.C 710300032b ./gcc/testsuite/g++.dg/init/string1.C + 1661800402b ./gcc/testsuite/g++.dg/init/struct1.C 4082145348b ./gcc/testsuite/g++.dg/lookup/anon1.C 3674515572b ./gcc/testsuite/g++.dg/lookup/anon2.C 4033472976b ./gcc/testsuite/g++.dg/lookup/class-member-1.C *************** *** 8034,8039 **** --- 8073,8079 ---- 3013908110b ./gcc/testsuite/g++.dg/lookup/disamb1.C 1698581993b ./gcc/testsuite/g++.dg/lookup/forscope1.C 3727433793b ./gcc/testsuite/g++.dg/lookup/friend1.C + 4002587758b ./gcc/testsuite/g++.dg/lookup/koenig2.C 766167426b ./gcc/testsuite/g++.dg/lookup/pretty1.C 1562081572b ./gcc/testsuite/g++.dg/lookup/ptrmem1.C 2830406633b ./gcc/testsuite/g++.dg/lookup/scoped1.C *************** *** 8051,8057 **** --- 8091,8100 ---- 1878509122b ./gcc/testsuite/g++.dg/opt/anonunion1.C 845836056b ./gcc/testsuite/g++.dg/opt/asm1.C 4275274967b ./gcc/testsuite/g++.dg/opt/cfg1.C + 1436628306b ./gcc/testsuite/g++.dg/opt/cfg2.C + 923628046b ./gcc/testsuite/g++.dg/opt/cfg3.C 1484527337b ./gcc/testsuite/g++.dg/opt/cleanup1.C + 1343255310b ./gcc/testsuite/g++.dg/opt/cond1.C 3120356664b ./gcc/testsuite/g++.dg/opt/conj1.C 4054451892b ./gcc/testsuite/g++.dg/opt/conj2.C 2033783153b ./gcc/testsuite/g++.dg/opt/const1.C *************** *** 8060,8071 **** --- 8103,8116 ---- 1501006084b ./gcc/testsuite/g++.dg/opt/cse2.C 1685294627b ./gcc/testsuite/g++.dg/opt/dtor1.C 3659366294b ./gcc/testsuite/g++.dg/opt/emptyunion.C + 3038238314b ./gcc/testsuite/g++.dg/opt/float1.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 2860828140b ./gcc/testsuite/g++.dg/opt/inline4.C 373643534b ./gcc/testsuite/g++.dg/opt/local1.C 3146403914b ./gcc/testsuite/g++.dg/opt/longbranch1.C + 3172021311b ./gcc/testsuite/g++.dg/opt/longbranch2.C 2026702440b ./gcc/testsuite/g++.dg/opt/mmx1.C 2857034604b ./gcc/testsuite/g++.dg/opt/nrv1.C 2448700667b ./gcc/testsuite/g++.dg/opt/nrv2.C *************** *** 8078,8083 **** --- 8123,8129 ---- 1496969096b ./gcc/testsuite/g++.dg/opt/ptrintsum1.C 1663667381b ./gcc/testsuite/g++.dg/opt/ptrmem1.C 3284968679b ./gcc/testsuite/g++.dg/opt/ptrmem2.C + 3593075142b ./gcc/testsuite/g++.dg/opt/reg-stack2.C 571185401b ./gcc/testsuite/g++.dg/opt/reg-stack.C 1557651694b ./gcc/testsuite/g++.dg/opt/reload1.C 3765450094b ./gcc/testsuite/g++.dg/opt/stack1.C *************** *** 8085,8090 **** --- 8131,8137 ---- 684782459b ./gcc/testsuite/g++.dg/opt/static2.C 3942616977b ./gcc/testsuite/g++.dg/opt/strength-reduce.C 4154721541b ./gcc/testsuite/g++.dg/opt/thunk1.C + 1853312151b ./gcc/testsuite/g++.dg/opt/unroll1.C 4029726050b ./gcc/testsuite/g++.dg/opt/vt1.C 686527483b ./gcc/testsuite/g++.dg/other/access1.C 3285252373b ./gcc/testsuite/g++.dg/other/anon2.C *************** *** 8117,8123 **** 2143945221b ./gcc/testsuite/g++.dg/other/linkage1.C 1678560039b ./gcc/testsuite/g++.dg/other/new1.C 786983178b ./gcc/testsuite/g++.dg/other/offsetof1.C ! 1786437900b ./gcc/testsuite/g++.dg/other/packed1.C 1073045139b ./gcc/testsuite/g++.dg/other/pragma-ep-1.C 198088036b ./gcc/testsuite/g++.dg/other/pragma-re-1.C 1453288357b ./gcc/testsuite/g++.dg/other/ptrmem1.C --- 8164,8170 ---- 2143945221b ./gcc/testsuite/g++.dg/other/linkage1.C 1678560039b ./gcc/testsuite/g++.dg/other/new1.C 786983178b ./gcc/testsuite/g++.dg/other/offsetof1.C ! 3016873217b ./gcc/testsuite/g++.dg/other/packed1.C 1073045139b ./gcc/testsuite/g++.dg/other/pragma-ep-1.C 198088036b ./gcc/testsuite/g++.dg/other/pragma-re-1.C 1453288357b ./gcc/testsuite/g++.dg/other/ptrmem1.C *************** *** 8133,8144 **** --- 8180,8193 ---- 2421396411b ./gcc/testsuite/g++.dg/overload/ambig1.C 492684594b ./gcc/testsuite/g++.dg/overload/builtin1.C 2593583015b ./gcc/testsuite/g++.dg/overload/builtin2.C + 2392782743b ./gcc/testsuite/g++.dg/overload/builtin3.C 3775778165b ./gcc/testsuite/g++.dg/overload/cond1.C 1110519878b ./gcc/testsuite/g++.dg/overload/error1.C 1362696676b ./gcc/testsuite/g++.dg/overload/member1.C 3780752279b ./gcc/testsuite/g++.dg/overload/member2.C 4213646402b ./gcc/testsuite/g++.dg/overload/operator1.C 3588815363b ./gcc/testsuite/g++.dg/overload/pmf1.C + 3836696775b ./gcc/testsuite/g++.dg/overload/template1.C 1828032968b ./gcc/testsuite/g++.dg/parse/angle-bracket.C 3621016079b ./gcc/testsuite/g++.dg/parse/attr1.C 1209396293b ./gcc/testsuite/g++.dg/parse/class1.C *************** *** 8159,8171 **** 402996652b ./gcc/testsuite/g++.dg/parse/namespace8.C 1437124593b ./gcc/testsuite/g++.dg/parse/namespace9.C 3024323785b ./gcc/testsuite/g++.dg/parse/octal1.C ! 1189423005b ./gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2118699314b ./gcc/testsuite/g++.dg/parse/ptrmem1.C 4289007099b ./gcc/testsuite/g++.dg/parse/saved1.C 19296994b ./gcc/testsuite/g++.dg/parse/stack1.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 1537348229b ./gcc/testsuite/g++.dg/parse/template8.C 1641234101b ./gcc/testsuite/g++.dg/parse/typedef1.C 465475026b ./gcc/testsuite/g++.dg/parse/varmod1.C --- 8208,8221 ---- 402996652b ./gcc/testsuite/g++.dg/parse/namespace8.C 1437124593b ./gcc/testsuite/g++.dg/parse/namespace9.C 3024323785b ./gcc/testsuite/g++.dg/parse/octal1.C ! 2612344954b ./gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2118699314b ./gcc/testsuite/g++.dg/parse/ptrmem1.C 4289007099b ./gcc/testsuite/g++.dg/parse/saved1.C 19296994b ./gcc/testsuite/g++.dg/parse/stack1.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 + 3518048033b ./gcc/testsuite/g++.dg/parse/template12.C 1537348229b ./gcc/testsuite/g++.dg/parse/template8.C 1641234101b ./gcc/testsuite/g++.dg/parse/typedef1.C 465475026b ./gcc/testsuite/g++.dg/parse/varmod1.C *************** *** 8173,8178 **** --- 8223,8230 ---- 438642550b ./gcc/testsuite/g++.dg/rtti/crash1.C 1433046709b ./gcc/testsuite/g++.dg/rtti/cv1.C 1829490760b ./gcc/testsuite/g++.dg/rtti/dyncast1.C + 432043063b ./gcc/testsuite/g++.dg/rtti/typeid2.C + 1187117877b ./gcc/testsuite/g++.dg/rtti/typeid3.C 370035332b ./gcc/testsuite/g++.dg/special/conpr-1.C 1217683257b ./gcc/testsuite/g++.dg/special/conpr-2a.C 641456338b ./gcc/testsuite/g++.dg/special/conpr-2.C *************** *** 8204,8212 **** --- 8256,8266 ---- 41330039b ./gcc/testsuite/g++.dg/template/conv7.C 4153551346b ./gcc/testsuite/g++.dg/template/conv8.C 2083292273b ./gcc/testsuite/g++.dg/template/copy1.C + 3424550778b ./gcc/testsuite/g++.dg/template/crash11.C 611422239b ./gcc/testsuite/g++.dg/template/crash1.C 3568011765b ./gcc/testsuite/g++.dg/template/crash2.C 3886517071b ./gcc/testsuite/g++.dg/template/crash8.C + 3865899580b ./gcc/testsuite/g++.dg/template/crash9.C 3504290323b ./gcc/testsuite/g++.dg/template/ctor1.C 2330430995b ./gcc/testsuite/g++.dg/template/ctor2.C 1215391925b ./gcc/testsuite/g++.dg/template/decl1.C *************** *** 8224,8229 **** --- 8278,8284 ---- 4292587643b ./gcc/testsuite/g++.dg/template/friend17.C 4039879103b ./gcc/testsuite/g++.dg/template/friend18.C 1697588661b ./gcc/testsuite/g++.dg/template/friend20.C + 2719895390b ./gcc/testsuite/g++.dg/template/friend25.C 3302501697b ./gcc/testsuite/g++.dg/template/friend3.C 2426122237b ./gcc/testsuite/g++.dg/template/friend4.C 3560434139b ./gcc/testsuite/g++.dg/template/friend5.C *************** *** 8262,8268 **** 601175114b ./gcc/testsuite/g++.dg/template/ptrmem1.C 3748090308b ./gcc/testsuite/g++.dg/template/ptrmem2.C 1552975789b ./gcc/testsuite/g++.dg/template/ptrmem3.C ! 1140102843b ./gcc/testsuite/g++.dg/template/ptrmem4.C 1117759327b ./gcc/testsuite/g++.dg/template/qual1.C 4043559007b ./gcc/testsuite/g++.dg/template/qualttp10.C 265969049b ./gcc/testsuite/g++.dg/template/qualttp11.C --- 8317,8323 ---- 601175114b ./gcc/testsuite/g++.dg/template/ptrmem1.C 3748090308b ./gcc/testsuite/g++.dg/template/ptrmem2.C 1552975789b ./gcc/testsuite/g++.dg/template/ptrmem3.C ! 3864682907b ./gcc/testsuite/g++.dg/template/ptrmem4.C 1117759327b ./gcc/testsuite/g++.dg/template/qual1.C 4043559007b ./gcc/testsuite/g++.dg/template/qualttp10.C 265969049b ./gcc/testsuite/g++.dg/template/qualttp11.C *************** *** 8290,8296 **** 2809672487b ./gcc/testsuite/g++.dg/template/restrict1.C 1942107252b ./gcc/testsuite/g++.dg/template/sizeof1.C 1028564434b ./gcc/testsuite/g++.dg/template/sizeof2.C ! 975447277b ./gcc/testsuite/g++.dg/template/spec10.C 2914549620b ./gcc/testsuite/g++.dg/template/spec1.C 2378483146b ./gcc/testsuite/g++.dg/template/spec2.C 4044137217b ./gcc/testsuite/g++.dg/template/spec3.C --- 8345,8351 ---- 2809672487b ./gcc/testsuite/g++.dg/template/restrict1.C 1942107252b ./gcc/testsuite/g++.dg/template/sizeof1.C 1028564434b ./gcc/testsuite/g++.dg/template/sizeof2.C ! 2086014865b ./gcc/testsuite/g++.dg/template/spec10.C 2914549620b ./gcc/testsuite/g++.dg/template/spec1.C 2378483146b ./gcc/testsuite/g++.dg/template/spec2.C 4044137217b ./gcc/testsuite/g++.dg/template/spec3.C *************** *** 8326,8332 **** 1569401313b ./gcc/testsuite/g++.dg/tls/diag-1.C 2646101455b ./gcc/testsuite/g++.dg/tls/diag-2.C 2984687092b ./gcc/testsuite/g++.dg/tls/init-1.C ! 225284648b ./gcc/testsuite/g++.dg/tls/init-2.C 1820185551b ./gcc/testsuite/g++.dg/tls/tls.exp 472549683b ./gcc/testsuite/g++.dg/tls/trivial.C 3534874517b ./gcc/testsuite/g++.dg/warn/compare1.C --- 8381,8387 ---- 1569401313b ./gcc/testsuite/g++.dg/tls/diag-1.C 2646101455b ./gcc/testsuite/g++.dg/tls/diag-2.C 2984687092b ./gcc/testsuite/g++.dg/tls/init-1.C ! 3742529525b ./gcc/testsuite/g++.dg/tls/init-2.C 1820185551b ./gcc/testsuite/g++.dg/tls/tls.exp 472549683b ./gcc/testsuite/g++.dg/tls/trivial.C 3534874517b ./gcc/testsuite/g++.dg/warn/compare1.C *************** *** 8362,8368 **** 1155806507b ./gcc/testsuite/g++.old-deja/g++.abi/arraynew.C 3647855758b ./gcc/testsuite/g++.old-deja/g++.abi/bitfields.C 2026386788b ./gcc/testsuite/g++.old-deja/g++.abi/crash1.C ! 1147144784b ./gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C 4096109742b ./gcc/testsuite/g++.old-deja/g++.abi/empty2.C 1878628007b ./gcc/testsuite/g++.old-deja/g++.abi/empty3.C 2936636767b ./gcc/testsuite/g++.old-deja/g++.abi/empty.C --- 8417,8423 ---- 1155806507b ./gcc/testsuite/g++.old-deja/g++.abi/arraynew.C 3647855758b ./gcc/testsuite/g++.old-deja/g++.abi/bitfields.C 2026386788b ./gcc/testsuite/g++.old-deja/g++.abi/crash1.C ! 2856768338b ./gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C 4096109742b ./gcc/testsuite/g++.old-deja/g++.abi/empty2.C 1878628007b ./gcc/testsuite/g++.old-deja/g++.abi/empty3.C 2936636767b ./gcc/testsuite/g++.old-deja/g++.abi/empty.C *************** *** 8959,8965 **** 3350275577b ./gcc/testsuite/g++.old-deja/g++.ext/attrib2.C 1053733436b ./gcc/testsuite/g++.old-deja/g++.ext/attrib3.C 1626467181b ./gcc/testsuite/g++.old-deja/g++.ext/attrib4.C ! 3199258020b ./gcc/testsuite/g++.old-deja/g++.ext/attrib5.C 1231673353b ./gcc/testsuite/g++.old-deja/g++.ext/attrib6.C 1172027159b ./gcc/testsuite/g++.old-deja/g++.ext/bound1.C 2395600799b ./gcc/testsuite/g++.old-deja/g++.ext/constructor.C --- 9014,9020 ---- 3350275577b ./gcc/testsuite/g++.old-deja/g++.ext/attrib2.C 1053733436b ./gcc/testsuite/g++.old-deja/g++.ext/attrib3.C 1626467181b ./gcc/testsuite/g++.old-deja/g++.ext/attrib4.C ! 1442836994b ./gcc/testsuite/g++.old-deja/g++.ext/attrib5.C 1231673353b ./gcc/testsuite/g++.old-deja/g++.ext/attrib6.C 1172027159b ./gcc/testsuite/g++.old-deja/g++.ext/bound1.C 2395600799b ./gcc/testsuite/g++.old-deja/g++.ext/constructor.C *************** *** 10028,10034 **** 630939157b ./gcc/testsuite/g++.old-deja/g++.mike/thunk3.C 4259046108b ./gcc/testsuite/g++.old-deja/g++.mike/unroll1.C 1164439917b ./gcc/testsuite/g++.old-deja/g++.mike/virt1.C ! 2927817139b ./gcc/testsuite/g++.old-deja/g++.mike/virt2.C 1772591600b ./gcc/testsuite/g++.old-deja/g++.mike/virt3.C 2392194899b ./gcc/testsuite/g++.old-deja/g++.mike/virt4.C 2478016121b ./gcc/testsuite/g++.old-deja/g++.mike/virt5.C --- 10083,10089 ---- 630939157b ./gcc/testsuite/g++.old-deja/g++.mike/thunk3.C 4259046108b ./gcc/testsuite/g++.old-deja/g++.mike/unroll1.C 1164439917b ./gcc/testsuite/g++.old-deja/g++.mike/virt1.C ! 2441611493b ./gcc/testsuite/g++.old-deja/g++.mike/virt2.C 1772591600b ./gcc/testsuite/g++.old-deja/g++.mike/virt3.C 2392194899b ./gcc/testsuite/g++.old-deja/g++.mike/virt4.C 2478016121b ./gcc/testsuite/g++.old-deja/g++.mike/virt5.C *************** *** 10163,10169 **** 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 ! 3727468093b ./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 --- 10218,10224 ---- 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 ! 3363076077b ./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 *************** *** 11782,11805 **** 459055346b ./gcc/testsuite/treelang/a01gcci01.c 2293023639b ./gcc/testsuite/treelang/a01gcci01.tree 1160413650b ./gcc/testsuite/treelang/a01gcco01runpgm ! 3365937537b ./gcc/testsuite/treelang/ChangeLog 2484589993b ./gcc/testsuite/treelang/Makefile.in 1917546689b ./gcc/testsuite/treelang/treetests.exp 1194399710b ./gcc/timevar.c 2017483246b ./gcc/timevar.def 70728940b ./gcc/timevar.h ! 4177260386b ./gcc/tlink.c ! 4030870941b ./gcc/toplev.c 2285258868b ./gcc/toplev.h 3423640720b ./gcc/tracer.c ! 429462420b ./gcc/tree.c 266537813b ./gcc/tree.def 3233962690b ./gcc/tree-dump.c 3355334157b ./gcc/tree-dump.h ! 2955209321b ./gcc/tree.h 2369766666b ./gcc/tree-inline.c 3754771676b ./gcc/tree-inline.h ! 4081182088b ./gcc/treelang/ChangeLog 1636615662b ./gcc/treelang/config-lang.in 1245022634b ./gcc/treelang/.cvsignore 3755575041b ./gcc/treelang/lang-options.h --- 11837,11860 ---- 459055346b ./gcc/testsuite/treelang/a01gcci01.c 2293023639b ./gcc/testsuite/treelang/a01gcci01.tree 1160413650b ./gcc/testsuite/treelang/a01gcco01runpgm ! 937678774b ./gcc/testsuite/treelang/ChangeLog 2484589993b ./gcc/testsuite/treelang/Makefile.in 1917546689b ./gcc/testsuite/treelang/treetests.exp 1194399710b ./gcc/timevar.c 2017483246b ./gcc/timevar.def 70728940b ./gcc/timevar.h ! 2501087508b ./gcc/tlink.c ! 59174352b ./gcc/toplev.c 2285258868b ./gcc/toplev.h 3423640720b ./gcc/tracer.c ! 3323639773b ./gcc/tree.c 266537813b ./gcc/tree.def 3233962690b ./gcc/tree-dump.c 3355334157b ./gcc/tree-dump.h ! 3372102658b ./gcc/tree.h 2369766666b ./gcc/tree-inline.c 3754771676b ./gcc/tree-inline.h ! 871226491b ./gcc/treelang/ChangeLog 1636615662b ./gcc/treelang/config-lang.in 1245022634b ./gcc/treelang/.cvsignore 3755575041b ./gcc/treelang/lang-options.h *************** *** 11815,11842 **** 4292976636b ./gcc/treelang/treetree.h 2170053915b ./gcc/tsystem.h 4139263293b ./gcc/typeclass.h ! 3025263902b ./gcc/unroll.c 821072330b ./gcc/unwind-c.c ! 2177795b ./gcc/unwind-dw2.c 4197489626b ./gcc/unwind-dw2-fde.c 2891582256b ./gcc/unwind-dw2-fde-darwin.c 4043744940b ./gcc/unwind-dw2-fde-glibc.c 1040599635b ./gcc/unwind-dw2-fde.h ! 3814087766b ./gcc/unwind.h 1020619093b ./gcc/unwind.inc 703686593b ./gcc/unwind-pe.h 2302719627b ./gcc/unwind-sjlj.c ! 3016171086b ./gcc/varasm.c 2835975751b ./gcc/varray.c 1175263363b ./gcc/varray.h ! 3539879049b ./gcc/version.c 3311075015b ./gcc/version.h 1174103923b ./gcc/vmsdbg.h 3947609636b ./gcc/vmsdbgout.c 1306126748b ./gcc/xcoffout.c 1199287060b ./gcc/xcoffout.h 815071723b ./include/ansidecl.h ! 2161328101b ./include/ChangeLog 2171125041b ./include/COPYING 3196744694b ./include/demangle.h 524172850b ./include/dyn-string.h --- 11870,11898 ---- 4292976636b ./gcc/treelang/treetree.h 2170053915b ./gcc/tsystem.h 4139263293b ./gcc/typeclass.h ! 1580612335b ./gcc/unroll.c 821072330b ./gcc/unwind-c.c ! 586184029b ./gcc/unwind-dw2.c 4197489626b ./gcc/unwind-dw2-fde.c 2891582256b ./gcc/unwind-dw2-fde-darwin.c 4043744940b ./gcc/unwind-dw2-fde-glibc.c 1040599635b ./gcc/unwind-dw2-fde.h ! 2380024293b ./gcc/unwind.h 1020619093b ./gcc/unwind.inc + 2030699993b ./gcc/unwind-libunwind.c 703686593b ./gcc/unwind-pe.h 2302719627b ./gcc/unwind-sjlj.c ! 3315793682b ./gcc/varasm.c 2835975751b ./gcc/varray.c 1175263363b ./gcc/varray.h ! 1537458113b ./gcc/version.c 3311075015b ./gcc/version.h 1174103923b ./gcc/vmsdbg.h 3947609636b ./gcc/vmsdbgout.c 1306126748b ./gcc/xcoffout.c 1199287060b ./gcc/xcoffout.h 815071723b ./include/ansidecl.h ! 3047773923b ./include/ChangeLog 2171125041b ./include/COPYING 3196744694b ./include/demangle.h 524172850b ./include/dyn-string.h *************** *** 11867,11878 **** 2397948b ./INSTALL/old.html 2229468985b ./INSTALL/README 656627656b ./install-sh ! 2424715401b ./INSTALL/specific.html 1404181894b ./INSTALL/test.html 2266217259b ./libf2c/aclocal.m4 ! 3649867255b ./libf2c/ChangeLog 1973941211b ./libf2c/changes.netlib ! 1081212729b ./libf2c/configure 2026513347b ./libf2c/configure.in 2487502900b ./libf2c/disclaimer.netlib 4252437873b ./libf2c/f2cext.c --- 11923,11934 ---- 2397948b ./INSTALL/old.html 2229468985b ./INSTALL/README 656627656b ./install-sh ! 778202268b ./INSTALL/specific.html 1404181894b ./INSTALL/test.html 2266217259b ./libf2c/aclocal.m4 ! 2585465394b ./libf2c/ChangeLog 1973941211b ./libf2c/changes.netlib ! 2076327479b ./libf2c/configure 2026513347b ./libf2c/configure.in 2487502900b ./libf2c/disclaimer.netlib 4252437873b ./libf2c/f2cext.c *************** *** 12129,12139 **** 1812706554b ./libffi/acconfig.h 2067133813b ./libffi/acinclude.m4 724319761b ./libffi/aclocal.m4 ! 2856466476b ./libffi/ChangeLog 2702617959b ./libffi/ChangeLog.libgcj 1481682558b ./libffi/ChangeLog.v1 ! 1474348907b ./libffi/configure ! 530068231b ./libffi/configure.in 3275597189b ./libffi/fficonfig.h.in 3309556484b ./libffi/include/ffi_common.h 1733019211b ./libffi/include/ffi.h.in --- 12185,12195 ---- 1812706554b ./libffi/acconfig.h 2067133813b ./libffi/acinclude.m4 724319761b ./libffi/aclocal.m4 ! 1636369445b ./libffi/ChangeLog 2702617959b ./libffi/ChangeLog.libgcj 1481682558b ./libffi/ChangeLog.v1 ! 1642766366b ./libffi/configure ! 3275746772b ./libffi/configure.in 3275597189b ./libffi/fficonfig.h.in 3309556484b ./libffi/include/ffi_common.h 1733019211b ./libffi/include/ffi.h.in *************** *** 12196,12202 **** 1033916047b ./libiberty/bsearch.c 2389959529b ./libiberty/bzero.c 1591293922b ./libiberty/calloc.c ! 2200937096b ./libiberty/ChangeLog 2264262326b ./libiberty/choose-temp.c 2557767520b ./libiberty/clock.c 3170582338b ./libiberty/concat.c --- 12252,12258 ---- 1033916047b ./libiberty/bsearch.c 2389959529b ./libiberty/bzero.c 1591293922b ./libiberty/calloc.c ! 233187465b ./libiberty/ChangeLog 2264262326b ./libiberty/choose-temp.c 2557767520b ./libiberty/clock.c 3170582338b ./libiberty/concat.c *************** *** 12306,12315 **** 3744134120b ./libjava/aclocal.m4 3784840223b ./libjava/addr2name.awk 1162779077b ./libjava/boehm.cc ! 576718938b ./libjava/ChangeLog 3473562392b ./libjava/ChangeLog-1999 2385951174b ./libjava/ChangeLog-2001 ! 2705793388b ./libjava/configure 1341552609b ./libjava/configure.host 3029277452b ./libjava/configure.in 2171125041b ./libjava/COPYING --- 12362,12371 ---- 3744134120b ./libjava/aclocal.m4 3784840223b ./libjava/addr2name.awk 1162779077b ./libjava/boehm.cc ! 3199467562b ./libjava/ChangeLog 3473562392b ./libjava/ChangeLog-1999 2385951174b ./libjava/ChangeLog-2001 ! 4057856725b ./libjava/configure 1341552609b ./libjava/configure.host 3029277452b ./libjava/configure.in 2171125041b ./libjava/COPYING *************** *** 12731,12737 **** 1821380608b ./libjava/include/.cvsignore 1108817619b ./libjava/include/default-signal.h 833024369b ./libjava/include/dwarf2-signal.h ! 1300618817b ./libjava/include/i386-signal.h 590982531b ./libjava/include/java-assert.h 890969256b ./libjava/include/java-chardecomp.h 3721703006b ./libjava/include/java-chartables.h --- 12787,12793 ---- 1821380608b ./libjava/include/.cvsignore 1108817619b ./libjava/include/default-signal.h 833024369b ./libjava/include/dwarf2-signal.h ! 1608416031b ./libjava/include/i386-signal.h 590982531b ./libjava/include/java-assert.h 890969256b ./libjava/include/java-chardecomp.h 3721703006b ./libjava/include/java-chartables.h *************** *** 13130,13138 **** 2046387247b ./libjava/java/io/LineNumberInputStream.java 1977393201b ./libjava/java/io/LineNumberReader.java 873510583b ./libjava/java/io/natFileDescriptorEcos.cc ! 3852237539b ./libjava/java/io/natFileDescriptorPosix.cc 1364932101b ./libjava/java/io/natFileDescriptorWin32.cc ! 2467702739b ./libjava/java/io/natFilePosix.cc 3758140118b ./libjava/java/io/natFileWin32.cc 459733413b ./libjava/java/io/natObjectInputStream.cc 439868232b ./libjava/java/io/natVMObjectStreamClass.cc --- 13186,13194 ---- 2046387247b ./libjava/java/io/LineNumberInputStream.java 1977393201b ./libjava/java/io/LineNumberReader.java 873510583b ./libjava/java/io/natFileDescriptorEcos.cc ! 474317936b ./libjava/java/io/natFileDescriptorPosix.cc 1364932101b ./libjava/java/io/natFileDescriptorWin32.cc ! 3966839745b ./libjava/java/io/natFilePosix.cc 3758140118b ./libjava/java/io/natFileWin32.cc 459733413b ./libjava/java/io/natObjectInputStream.cc 439868232b ./libjava/java/io/natVMObjectStreamClass.cc *************** *** 14226,14232 **** 464053222b ./libjava/libltdl/acconfig.h 1486261890b ./libjava/libltdl/acinclude.m4 2748542911b ./libjava/libltdl/aclocal.m4 ! 1252505715b ./libjava/libltdl/ChangeLog 3229611250b ./libjava/libltdl/config.h.in 3663840013b ./libjava/libltdl/configure 586017012b ./libjava/libltdl/configure.in --- 14282,14288 ---- 464053222b ./libjava/libltdl/acconfig.h 1486261890b ./libjava/libltdl/acinclude.m4 2748542911b ./libjava/libltdl/aclocal.m4 ! 1352649985b ./libjava/libltdl/ChangeLog 3229611250b ./libjava/libltdl/config.h.in 3663840013b ./libjava/libltdl/configure 586017012b ./libjava/libltdl/configure.in *************** *** 14305,14311 **** 718503864b ./libjava/org/xml/sax/XMLReader.java 2522783030b ./libjava/posix.cc 1371529945b ./libjava/posix-threads.cc ! 110444835b ./libjava/prims.cc 3199155412b ./libjava/README 3770005913b ./libjava/resolve.cc 2710913388b ./libjava/scripts/classes.pl --- 14361,14367 ---- 718503864b ./libjava/org/xml/sax/XMLReader.java 2522783030b ./libjava/posix.cc 1371529945b ./libjava/posix-threads.cc ! 229817601b ./libjava/prims.cc 3199155412b ./libjava/README 3770005913b ./libjava/resolve.cc 2710913388b ./libjava/scripts/classes.pl *************** *** 14329,14335 **** 2334349943b ./libjava/sysdep/sh/locks.h 2903495760b ./libjava/sysdep/sparc/locks.h 1725741696b ./libjava/sysdep/x86-64/locks.h ! 3405146074b ./libjava/testsuite/ChangeLog 1230501773b ./libjava/testsuite/config/default.exp 3718926011b ./libjava/testsuite/libjava.compile/abstr.java 2888415448b ./libjava/testsuite/libjava.compile/abstr.xfail --- 14385,14391 ---- 2334349943b ./libjava/sysdep/sh/locks.h 2903495760b ./libjava/sysdep/sparc/locks.h 1725741696b ./libjava/sysdep/x86-64/locks.h ! 2105390128b ./libjava/testsuite/ChangeLog 1230501773b ./libjava/testsuite/config/default.exp 3718926011b ./libjava/testsuite/libjava.compile/abstr.java 2888415448b ./libjava/testsuite/libjava.compile/abstr.xfail *************** *** 14824,14833 **** 295719627b ./libjava/win32-threads.cc 3981227345b ./libobjc/aclocal.m4 2023635858b ./libobjc/archive.c ! 3854879097b ./libobjc/ChangeLog 1187612736b ./libobjc/class.c 1748737547b ./libobjc/config.h.in ! 3718287267b ./libobjc/configure 944229002b ./libobjc/configure.in 2269926719b ./libobjc/encoding.c 1957395429b ./libobjc/gc.c --- 14880,14889 ---- 295719627b ./libjava/win32-threads.cc 3981227345b ./libobjc/aclocal.m4 2023635858b ./libobjc/archive.c ! 4251769240b ./libobjc/ChangeLog 1187612736b ./libobjc/class.c 1748737547b ./libobjc/config.h.in ! 216167108b ./libobjc/configure 944229002b ./libobjc/configure.in 2269926719b ./libobjc/encoding.c 1957395429b ./libobjc/gc.c *************** *** 14878,14886 **** 2005277748b ./libobjc/thr-vxworks.c 2963027857b ./libobjc/thr-win32.c 1476631381b ./libstdc++-v3/acconfig.h ! 2367959340b ./libstdc++-v3/acinclude.m4 ! 625369417b ./libstdc++-v3/aclocal.m4 ! 512211710b ./libstdc++-v3/ChangeLog 1996982572b ./libstdc++-v3/ChangeLog-2000 3665233589b ./libstdc++-v3/ChangeLog-2001 3829016086b ./libstdc++-v3/config/abi/alpha-freebsd5/baseline_symbols.txt --- 14934,14942 ---- 2005277748b ./libobjc/thr-vxworks.c 2963027857b ./libobjc/thr-win32.c 1476631381b ./libstdc++-v3/acconfig.h ! 2565448560b ./libstdc++-v3/acinclude.m4 ! 3043939341b ./libstdc++-v3/aclocal.m4 ! 3102548050b ./libstdc++-v3/ChangeLog 1996982572b ./libstdc++-v3/ChangeLog-2000 3665233589b ./libstdc++-v3/ChangeLog-2001 3829016086b ./libstdc++-v3/config/abi/alpha-freebsd5/baseline_symbols.txt *************** *** 14902,14908 **** 4160964918b ./libstdc++-v3/config/cpu/i386/atomicity.h 1602541359b ./libstdc++-v3/config/cpu/i486/atomicity.h 193432505b ./libstdc++-v3/config/cpu/ia64/atomicity.h ! 1265572143b ./libstdc++-v3/config/cpu/m68k/atomicity.h 4070465676b ./libstdc++-v3/config/cpu/mips/atomicity.h 915792421b ./libstdc++-v3/config/cpu/powerpc/atomicity.h 3930061484b ./libstdc++-v3/config/cpu/s390/atomicity.h --- 14958,14964 ---- 4160964918b ./libstdc++-v3/config/cpu/i386/atomicity.h 1602541359b ./libstdc++-v3/config/cpu/i486/atomicity.h 193432505b ./libstdc++-v3/config/cpu/ia64/atomicity.h ! 2353535463b ./libstdc++-v3/config/cpu/m68k/atomicity.h 4070465676b ./libstdc++-v3/config/cpu/mips/atomicity.h 915792421b ./libstdc++-v3/config/cpu/powerpc/atomicity.h 3930061484b ./libstdc++-v3/config/cpu/s390/atomicity.h *************** *** 14923,14929 **** 1369267090b ./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 177225482b ./libstdc++-v3/config/locale/generic/messages_members.h 45184175b ./libstdc++-v3/config/locale/generic/monetary_members.cc --- 14979,14985 ---- 1369267090b ./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 ! 1931177604b ./libstdc++-v3/config/locale/generic/ctype_members.cc 474184383b ./libstdc++-v3/config/locale/generic/messages_members.cc 177225482b ./libstdc++-v3/config/locale/generic/messages_members.h 45184175b ./libstdc++-v3/config/locale/generic/monetary_members.cc *************** *** 14935,14941 **** 490906006b ./libstdc++-v3/config/locale/gnu/c++locale_internal.h 2712762793b ./libstdc++-v3/config/locale/gnu/codecvt_members.cc 1792931968b ./libstdc++-v3/config/locale/gnu/collate_members.cc ! 2503295949b ./libstdc++-v3/config/locale/gnu/ctype_members.cc 440357314b ./libstdc++-v3/config/locale/gnu/messages_members.cc 2781776822b ./libstdc++-v3/config/locale/gnu/messages_members.h 875064597b ./libstdc++-v3/config/locale/gnu/monetary_members.cc --- 14991,14997 ---- 490906006b ./libstdc++-v3/config/locale/gnu/c++locale_internal.h 2712762793b ./libstdc++-v3/config/locale/gnu/codecvt_members.cc 1792931968b ./libstdc++-v3/config/locale/gnu/collate_members.cc ! 429457042b ./libstdc++-v3/config/locale/gnu/ctype_members.cc 440357314b ./libstdc++-v3/config/locale/gnu/messages_members.cc 2781776822b ./libstdc++-v3/config/locale/gnu/messages_members.h 875064597b ./libstdc++-v3/config/locale/gnu/monetary_members.cc *************** *** 14965,14971 **** 2200168434b ./libstdc++-v3/config/os/djgpp/ctype_noninline.h 1128798661b ./libstdc++-v3/config/os/djgpp/os_defines.h 1770894154b ./libstdc++-v3/config/os/generic/ctype_base.h ! 2893983699b ./libstdc++-v3/config/os/generic/ctype_inline.h 2814302307b ./libstdc++-v3/config/os/generic/ctype_noninline.h 2662031339b ./libstdc++-v3/config/os/generic/os_defines.h 585502053b ./libstdc++-v3/config/os/gnu-linux/ctype_base.h --- 15021,15027 ---- 2200168434b ./libstdc++-v3/config/os/djgpp/ctype_noninline.h 1128798661b ./libstdc++-v3/config/os/djgpp/os_defines.h 1770894154b ./libstdc++-v3/config/os/generic/ctype_base.h ! 1348586866b ./libstdc++-v3/config/os/generic/ctype_inline.h 2814302307b ./libstdc++-v3/config/os/generic/ctype_noninline.h 2662031339b ./libstdc++-v3/config/os/generic/os_defines.h 585502053b ./libstdc++-v3/config/os/gnu-linux/ctype_base.h *************** *** 14975,14981 **** 2727448261b ./libstdc++-v3/config/os/hpux/ctype_base.h 577770049b ./libstdc++-v3/config/os/hpux/ctype_inline.h 3255050061b ./libstdc++-v3/config/os/hpux/ctype_noninline.h ! 621273857b ./libstdc++-v3/config/os/hpux/os_defines.h 805235121b ./libstdc++-v3/config/os/irix/irix5.2/atomicity.h 734403019b ./libstdc++-v3/config/os/irix/irix5.2/ctype_base.h 2703839638b ./libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h --- 15031,15037 ---- 2727448261b ./libstdc++-v3/config/os/hpux/ctype_base.h 577770049b ./libstdc++-v3/config/os/hpux/ctype_inline.h 3255050061b ./libstdc++-v3/config/os/hpux/ctype_noninline.h ! 1063087697b ./libstdc++-v3/config/os/hpux/os_defines.h 805235121b ./libstdc++-v3/config/os/irix/irix5.2/atomicity.h 734403019b ./libstdc++-v3/config/os/irix/irix5.2/ctype_base.h 2703839638b ./libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h *************** *** 15014,15022 **** 3459761118b ./libstdc++-v3/config/os/windiss/ctype_inline.h 273313682b ./libstdc++-v3/config/os/windiss/ctype_noninline.h 2207004934b ./libstdc++-v3/config/os/windiss/os_defines.h ! 3793167097b ./libstdc++-v3/configure 2677676702b ./libstdc++-v3/configure.in ! 2731797763b ./libstdc++-v3/configure.target 1779001880b ./libstdc++-v3/docs/doxygen/doxygroups.cc 3218460995b ./libstdc++-v3/docs/doxygen/filter 970775578b ./libstdc++-v3/docs/doxygen/filter.sed --- 15070,15078 ---- 3459761118b ./libstdc++-v3/config/os/windiss/ctype_inline.h 273313682b ./libstdc++-v3/config/os/windiss/ctype_noninline.h 2207004934b ./libstdc++-v3/config/os/windiss/os_defines.h ! 3057615828b ./libstdc++-v3/configure 2677676702b ./libstdc++-v3/configure.in ! 2975501078b ./libstdc++-v3/configure.target 1779001880b ./libstdc++-v3/docs/doxygen/doxygroups.cc 3218460995b ./libstdc++-v3/docs/doxygen/filter 970775578b ./libstdc++-v3/docs/doxygen/filter.sed *************** *** 15126,15132 **** 2377036917b ./libstdc++-v3/include/bits/basic_string.h 925690662b ./libstdc++-v3/include/bits/basic_string.tcc 3126573300b ./libstdc++-v3/include/bits/boost_concept_check.h ! 1161953688b ./libstdc++-v3/include/bits/c++config 994369839b ./libstdc++-v3/include/bits/char_traits.h 694818237b ./libstdc++-v3/include/bits/codecvt.h 4105193573b ./libstdc++-v3/include/bits/concept_check.h --- 15182,15188 ---- 2377036917b ./libstdc++-v3/include/bits/basic_string.h 925690662b ./libstdc++-v3/include/bits/basic_string.tcc 3126573300b ./libstdc++-v3/include/bits/boost_concept_check.h ! 2418149102b ./libstdc++-v3/include/bits/c++config 994369839b ./libstdc++-v3/include/bits/char_traits.h 694818237b ./libstdc++-v3/include/bits/codecvt.h 4105193573b ./libstdc++-v3/include/bits/concept_check.h *************** *** 15139,15145 **** 1117238130b ./libstdc++-v3/include/bits/gslice.h 3095889165b ./libstdc++-v3/include/bits/indirect_array.h 1700217390b ./libstdc++-v3/include/bits/ios_base.h ! 2739149156b ./libstdc++-v3/include/bits/istream.tcc 3496463763b ./libstdc++-v3/include/bits/list.tcc 837416971b ./libstdc++-v3/include/bits/locale_classes.h 1832292610b ./libstdc++-v3/include/bits/locale_facets.h --- 15195,15201 ---- 1117238130b ./libstdc++-v3/include/bits/gslice.h 3095889165b ./libstdc++-v3/include/bits/indirect_array.h 1700217390b ./libstdc++-v3/include/bits/ios_base.h ! 4218369762b ./libstdc++-v3/include/bits/istream.tcc 3496463763b ./libstdc++-v3/include/bits/list.tcc 837416971b ./libstdc++-v3/include/bits/locale_classes.h 1832292610b ./libstdc++-v3/include/bits/locale_facets.h *************** *** 15151,15157 **** 3530846268b ./libstdc++-v3/include/bits/slice_array.h 3555571522b ./libstdc++-v3/include/bits/sstream.tcc 3316800061b ./libstdc++-v3/include/bits/stl_algobase.h ! 1569010907b ./libstdc++-v3/include/bits/stl_algo.h 2417140750b ./libstdc++-v3/include/bits/stl_alloc.h 840750803b ./libstdc++-v3/include/bits/stl_bvector.h 3302543196b ./libstdc++-v3/include/bits/stl_construct.h --- 15207,15213 ---- 3530846268b ./libstdc++-v3/include/bits/slice_array.h 3555571522b ./libstdc++-v3/include/bits/sstream.tcc 3316800061b ./libstdc++-v3/include/bits/stl_algobase.h ! 1522343897b ./libstdc++-v3/include/bits/stl_algo.h 2417140750b ./libstdc++-v3/include/bits/stl_alloc.h 840750803b ./libstdc++-v3/include/bits/stl_bvector.h 3302543196b ./libstdc++-v3/include/bits/stl_construct.h *************** *** 15258,15265 **** 2805137138b ./libstdc++-v3/include/ext/stl_hash_fun.h 3897129258b ./libstdc++-v3/include/ext/stl_hashtable.h 984888269b ./libstdc++-v3/include/ext/stl_rope.h ! 261894093b ./libstdc++-v3/include/Makefile.am ! 61602503b ./libstdc++-v3/include/Makefile.in 4064711400b ./libstdc++-v3/include/std/std_algorithm.h 3911856756b ./libstdc++-v3/include/std/std_bitset.h 1807119215b ./libstdc++-v3/include/std/std_complex.h --- 15314,15321 ---- 2805137138b ./libstdc++-v3/include/ext/stl_hash_fun.h 3897129258b ./libstdc++-v3/include/ext/stl_hashtable.h 984888269b ./libstdc++-v3/include/ext/stl_rope.h ! 3252604710b ./libstdc++-v3/include/Makefile.am ! 2117932589b ./libstdc++-v3/include/Makefile.in 4064711400b ./libstdc++-v3/include/std/std_algorithm.h 3911856756b ./libstdc++-v3/include/std/std_bitset.h 1807119215b ./libstdc++-v3/include/std/std_complex.h *************** *** 15289,15295 **** 4158492065b ./libstdc++-v3/include/std/std_utility.h 2660730597b ./libstdc++-v3/include/std/std_valarray.h 3713138538b ./libstdc++-v3/include/std/std_vector.h ! 941518905b ./libstdc++-v3/libio/ChangeLog 2122576197b ./libstdc++-v3/libio/filedoalloc.c 3590060213b ./libstdc++-v3/libio/fileops.c 314955067b ./libstdc++-v3/libio/_G_config.h --- 15345,15351 ---- 4158492065b ./libstdc++-v3/include/std/std_utility.h 2660730597b ./libstdc++-v3/include/std/std_valarray.h 3713138538b ./libstdc++-v3/include/std/std_vector.h ! 702995762b ./libstdc++-v3/libio/ChangeLog 2122576197b ./libstdc++-v3/libio/filedoalloc.c 3590060213b ./libstdc++-v3/libio/fileops.c 314955067b ./libstdc++-v3/libio/_G_config.h *************** *** 15316,15322 **** 3226432156b ./libstdc++-v3/libmath/signbitf.c 706230946b ./libstdc++-v3/libmath/signbitl.c 517957737b ./libstdc++-v3/libmath/stubs.c ! 1326026004b ./libstdc++-v3/libsupc++/cxxabi.h 3887473586b ./libstdc++-v3/libsupc++/del_op.cc 2108254126b ./libstdc++-v3/libsupc++/del_opnt.cc 998297127b ./libstdc++-v3/libsupc++/del_opv.cc --- 15372,15378 ---- 3226432156b ./libstdc++-v3/libmath/signbitf.c 706230946b ./libstdc++-v3/libmath/signbitl.c 517957737b ./libstdc++-v3/libmath/stubs.c ! 1938961486b ./libstdc++-v3/libsupc++/cxxabi.h 3887473586b ./libstdc++-v3/libsupc++/del_op.cc 2108254126b ./libstdc++-v3/libsupc++/del_opnt.cc 998297127b ./libstdc++-v3/libsupc++/del_opv.cc *************** *** 15684,15700 **** 1685222676b ./libstdc++-v3/testsuite/thread/pthread4.cc 3647024336b ./libstdc++-v3/testsuite/thread/pthread5.cc 1701874201b ./libstdc++-v3/testsuite/thread/pthread6.cc ! 1879354273b ./libtool.m4 3680999751b ./ltcf-c.sh 809573867b ./ltcf-cxx.sh 2744413125b ./ltcf-gcj.sh 910615352b ./ltconfig 1562969795b ./ltmain.sh ! 255464805b ./MAINTAINERS ! 961111943b ./maintainer-scripts/ChangeLog 3655238705b ./maintainer-scripts/crontab 4171969357b ./maintainer-scripts/doc_exclude ! 3816605504b ./maintainer-scripts/gcc_release 3126840705b ./maintainer-scripts/README 449123050b ./maintainer-scripts/snapshot-index.html 865042342b ./maintainer-scripts/snapshot-README --- 15740,15756 ---- 1685222676b ./libstdc++-v3/testsuite/thread/pthread4.cc 3647024336b ./libstdc++-v3/testsuite/thread/pthread5.cc 1701874201b ./libstdc++-v3/testsuite/thread/pthread6.cc ! 3719830716b ./libtool.m4 3680999751b ./ltcf-c.sh 809573867b ./ltcf-cxx.sh 2744413125b ./ltcf-gcj.sh 910615352b ./ltconfig 1562969795b ./ltmain.sh ! 941537411b ./MAINTAINERS ! 1059991613b ./maintainer-scripts/ChangeLog 3655238705b ./maintainer-scripts/crontab 4171969357b ./maintainer-scripts/doc_exclude ! 2394357728b ./maintainer-scripts/gcc_release 3126840705b ./maintainer-scripts/README 449123050b ./maintainer-scripts/snapshot-index.html 865042342b ./maintainer-scripts/snapshot-README *************** *** 15719,15728 **** 2360440520b ./zlib/algorithm.txt 1537725969b ./zlib/amiga/Makefile.pup 3919607569b ./zlib/amiga/Makefile.sas ! 2950221985b ./zlib/ChangeLog ! 1415461458b ./zlib/ChangeLog.gcj 1397025471b ./zlib/compress.c ! 165956115b ./zlib/configure 1753606500b ./zlib/configure.in 215845136b ./zlib/contrib/asm386/gvmat32.asm 4143184108b ./zlib/contrib/asm386/gvmat32c.c --- 15775,15784 ---- 2360440520b ./zlib/algorithm.txt 1537725969b ./zlib/amiga/Makefile.pup 3919607569b ./zlib/amiga/Makefile.sas ! 3041793522b ./zlib/ChangeLog ! 642840868b ./zlib/ChangeLog.gcj 1397025471b ./zlib/compress.c ! 3790213997b ./zlib/configure 1753606500b ./zlib/configure.in 215845136b ./zlib/contrib/asm386/gvmat32.asm 4143184108b ./zlib/contrib/asm386/gvmat32c.c diff -Nrc3pad gcc-3.3.1/BUGS gcc-3.3.2/BUGS *** gcc-3.3.1/BUGS 2003-08-04 12:58:19.000000000 +0000 --- gcc-3.3.2/BUGS 2003-10-16 20:10:56.000000000 +0000 *************** Table of Contents *** 16,29 **** + [8]Detailed bug reporting instructions when using a precompiled header * [9]Frequently Reported Bugs in GCC ! + [10]General ! + [11]Fortran ! + [12]C ! + [13]C++ ! o [14]Common problems updating from G++ 2.95 to G++ 3.0 ! o [15]Non-bugs ! o [16]Missing features ! o [17]Parse errors for "simple" code _________________________________________________________________ Reporting Bugs --- 16,31 ---- + [8]Detailed bug reporting instructions when using a precompiled header * [9]Frequently Reported Bugs in GCC ! + [10]C++ ! o [11]ABI bugs ! o [12]Missing features ! o [13]Parse errors for "simple" code ! + [14]Fortran ! * [15]Non-bugs ! + [16]General ! + [17]C ! + [18]C++ ! o [19]Common problems updating from G++ 2.95 to G++ 3.0 _________________________________________________________________ Reporting Bugs *************** Table of Contents *** 32,38 **** most important prerequisite for this is that the report must be complete and self-contained, which we explain in detail below. ! Before you report a bug, please check the [18]list of well-known bugs and, if possible in any way, try a current development snapshot. If you want to report a bug with versions of GCC before 3.1 we strongly recommend upgrading to the current release first. --- 34,40 ---- most important prerequisite for this is that the report must be complete and self-contained, which we explain in detail below. ! Before you report a bug, please check the [20]list of well-known bugs and, if possible in any way, try a current development snapshot. If you want to report a bug with versions of GCC before 3.1 we strongly recommend upgrading to the current release first. *************** Summarized bug reporting instructions *** 100,116 **** Where to post it ! Please submit your bug report directly to the [19]GCC bug database. Alternatively, you can use the gccbug script that mails your bug report to the bug database. Only if all this is absolutely impossible, ! mail all information to [20]gcc-bugs@gcc.gnu.org, but note that such reports are often overlooked since they are not permanently recorded into the database for later processing. Detailed bug reporting instructions ! Please refer to the [21]next section when reporting bugs in GNAT, the ! Ada compiler, or to the [22]one after that when reporting bugs that appear when using a precompiled header. In general, all the information we need can be obtained by collecting --- 102,118 ---- Where to post it ! Please submit your bug report directly to the [21]GCC bug database. Alternatively, you can use the gccbug script that mails your bug report to the bug database. Only if all this is absolutely impossible, ! mail all information to [22]gcc-bugs@gcc.gnu.org, but note that such reports are often overlooked since they are not permanently recorded into the database for later processing. Detailed bug reporting instructions ! Please refer to the [23]next section when reporting bugs in GNAT, the ! Ada compiler, or to the [24]one after that when reporting bugs that appear when using a precompiled header. In general, all the information we need can be obtained by collecting *************** Detailed bug reporting instructions *** 170,176 **** Detailed bug reporting instructions for GNAT ! See the [23]previous section for bug reporting instructions for GCC language implementations other than Ada. Bug reports have to contain at least the following information in --- 172,178 ---- Detailed bug reporting instructions for GNAT ! See the [25]previous section for bug reporting instructions for GCC language implementations other than Ada. Bug reports have to contain at least the following information in *************** Detailed bug reporting instructions for *** 202,208 **** you have to report a bug in gnatprep). When you have checked that your report meets these criteria, please ! submit it according to our [24]generic instructions. (If you use a mailing list for reporting, please include an "[Ada]" tag in the subject.) --- 204,210 ---- you have to report a bug in gnatprep). When you have checked that your report meets these criteria, please ! submit it according to our [26]generic instructions. (If you use a mailing list for reporting, please include an "[Ada]" tag in the subject.) *************** Detailed bug reporting instructions when *** 212,222 **** first thing to do is to delete the precompiled header, and try running the same GCC command again. If the bug happens again, the bug doesn't really involve precompiled headers, please report it without using ! them by following the instructions [25]above. If you've found a bug while building a precompiled header (for instance, the compiler crashes), follow the usual instructions ! [26]above. If you've found a real precompiled header bug, what we'll need to reproduce it is the sources to build the precompiled header (as a --- 214,224 ---- first thing to do is to delete the precompiled header, and try running the same GCC command again. If the bug happens again, the bug doesn't really involve precompiled headers, please report it without using ! them by following the instructions [27]above. If you've found a bug while building a precompiled header (for instance, the compiler crashes), follow the usual instructions ! [28]above. If you've found a real precompiled header bug, what we'll need to reproduce it is the sources to build the precompiled header (as a *************** Detailed bug reporting instructions when *** 230,483 **** Frequently Reported Bugs in GCC ! Fortran ! ! Fortran bugs are documented in the G77 manual rather than explicitly ! listed here. Please see [27]Known Causes of Trouble with GNU Fortran ! in the G77 manual. ! _________________________________________________________________ ! ! C ! ! The following are not bugs in the C compiler, but are reported often ! enough to warrant a mention here. ! ! Cannot initialize a static variable with stdin. ! This has nothing to do with GCC, but people ask us about it a ! lot. Code like this: ! ! #include ! ! FILE *yyin = stdin; ! ! will not compile with GNU libc (GNU/Linux libc6), because stdin ! is not a constant. This was done deliberately, to make it ! easier to maintain binary compatibility when the type FILE ! needs to be changed. It is surprising for people used to ! traditional Unix C libraries, but it is permitted by the C ! standard. ! ! This construct commonly occurs in code generated by old ! versions of lex or yacc. We suggest you try regenerating the ! parser with a current version of flex or bison, respectively. ! In your own code, the appropriate fix is to move the ! initialization to the beginning of main. ! ! There is a common misconception that the GCC developers are ! responsible for GNU libc. These are in fact two entirely ! separate projects; please check the [28]GNU libc web pages for ! details. ! ! Cannot use preprocessor directive in macro arguments. ! Let me guess... you wrote code that looks something like this: ! ! memcpy(dest, src, ! #ifdef PLATFORM1 ! 12 ! #else ! 24 ! #endif ! ); ! ! and you got a whole pile of error messages: ! ! test.c:11: warning: preprocessing directive not recognized within ! macro arg ! test.c:11: warning: preprocessing directive not recognized within ! macro arg ! test.c:11: warning: preprocessing directive not recognized within ! macro arg ! test.c: In function `foo': ! test.c:6: undefined or invalid # directive ! test.c:8: undefined or invalid # directive ! test.c:9: parse error before `24' ! test.c:10: undefined or invalid # directive ! test.c:11: parse error before `#' ! ! Update: As of GCC 3.2 this kind of construct is always accepted ! and CPP will probably do what you expect, but see the manual ! for detailed semantics. ! ! However, versions of GCC prior to 3.2 did not allow you to put ! #ifdef (or any other directive) inside the arguments of a ! macro. Your C library's happens to define memcpy as ! a macro - this is perfectly legitimate. The code therefore ! would not compile. ! ! This kind of code is not portable. It is "undefined behavior" ! according to the C standard; that means different compilers ! will do different things with it. It is always possible to ! rewrite code which uses conditionals inside macros so that it ! doesn't. You could write the above example ! ! #ifdef PLATFORM1 ! memcpy(dest, src, 12); ! #else ! memcpy(dest, src, 24); ! #endif ! ! This is a bit more typing, but I personally think it's better ! style in addition to being more portable. ! In recent versions of glibc, printf is among the functions ! which are implemented as macros. _________________________________________________________________ C++ - This is the list of bugs (and non-bugs) in g++ (aka GNU C++) that are - reported very often, but not yet fixed. While it is certainly better - to fix bugs instead of documenting them, this document might save - people the effort of writing a bug report when the bug is already - well-known. [29]How to report bugs tells you how to report a bug. - - There are many reasons why reported bugs don't get fixed. It might be - difficult to fix, or fixing it might break compatibility. Often, - reports get a low priority when there is a simple work-around. In - particular, bugs caused by invalid C++ code have a simple work-around, - fix the code. Now that there is an agreed ISO/ANSI standard for C++, - the compiler has a definitive document to adhere to. Earlier versions - might have accepted source code that is no longer C++. This means that - code which might have `worked' in a previous version, is now rejected. - You should update your code to be C++. - - You should try to use the latest stable release of the GNU C++ - compiler. - - Common problems updating from G++ 2.95 to G++ 3.0 - - G++ 3.0 conforms much closer to the ISO C++ standard (available at - [30]http://www.ncits.org/cplusplus.htm). - - We have also implemented some of the core and library defect reports - (available at - [31]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html & - [32]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html - respectively). - * The ABI has changed. This means that both class layout and name - mangling is different. You must recompile all c++ libraries (if - you don't you will get link errors). - * The standard library is much more conformant, and uses the std:: - namespace. - * std:: is now a real namespace, not an alias for ::. - * The standard header files for the c library don't end with .h, but - begin with c (i.e. rather than ). The .h names - are still available, but are deprecated. - * is deprecated, use instead. - * streambuf::seekoff & streambuf::seekpos are private, instead use - streambuf::pubseekoff & streambuf::pubseekpos respectively. - * If std::operator << (std::ostream &, long long) doesn't exist, you - need to recompile libstdc++ with --enable-long-long. - - This means you may get lots of errors about things like strcmp not - being found. You've most likely forgotten to tell the compiler to look - in the std:: namespace. There are several ways to do this, - * Say, std::strcmp at the call. This is the most explicit way of - saying what you mean. - * Say, using std::strcmp; somewhere before the call. You will need - to do this for each function or type you wish to use from the - standard library. - * Say, using namespace std; somewhere before the call. This is the - quick-but-dirty fix. This brings the whole of the std:: namespace - into scope. Never do this in a header file, as you will be forcing - users of your header file to do the same. - ABI bugs ! 3.0 had a new ABI, which affected class layout, function mangling and ! calling conventions. We had intended it to be complete, unfortunately ! some issues came to light, too late to fix in the 3.0 series. The ABI ! should not change in dot releases, so we addressed most issues in GCC ! 3.1. Covariant return types Up to (and including) GCC 3.3 we did not implement non-trivial covariant returns. This has been addressed for GCC 3.4. - Non-bugs - - This section lists several features that have been reported as bugs, - but are not; in addition, the manual contains a section on [33]Common - Misunderstandings with GNU C++. - - Nested classes can access private types of the containing class. - G++ now implements type access control on member types. Defect - report 45 clarifies that nested classes are members of the - class they are nested in, and so are granted access to private - members of that class. - - Classes in exception specifiers must be complete types. - [15.4]/1 tells you that you cannot have an incomplete type, or - pointer to incomplete (other than cv void *) in an exception - specification. - - G++ emits two copies of constructors and destructors. - In general there are three types of constructors (and - destructors). - - 1. The complete object constructor/destructor. - 2. The base object constructor/destructor. - 3. The allocating destructor/deallocating destructor. - - The first two are different, when virtual base classes are - involved. - - Exceptions don't work in multithreaded applications. - You need to rebuild g++ and libstdc++ with --enable-threads. - Remember, c++ exceptions are not like hardware interrupts. You - cannot throw an exception in one thread and catch it in - another. You cannot throw an exception from a signal handler, - and catch it in the main thread. - - Global destructors are not run in the correct order. - Global destructors should be run in the reverse order of their - constructors completing. In most cases this is the same as the - reverse order of constructors starting, but sometimes it is - different, and that is important. You need to compile and link - your programs with --use-cxa-atexit. We have not turned this - switch on by default, as it requires a cxa aware runtime - library (libc, glibc, or equivalent). - - Problems with floating point computations. - In a number of cases, GCC appears to perform floating point - computations incorrectly. For example, the program - - #include - int main() { - double min = 0.0; - double max = 0.5; - double width = 0.01; - std::cout << (int)(((max - min) / width) - 1) << std::endl; - } - - might print 49 on some systems and optimization levels, and 48 - on others. - - The is the result of rounding: The computer cannot represent - all real numbers exactly, so it has to use approximations. When - computing with approximation, the computer needs to round to - the nearest representable number. - - This is not a bug in the compiler, but an inherent limitation - of the float and double types. Please study [34]this paper for - more information. - - Templates, scoping, and digraphs. - If you have a class in global namespace, say named X, and want - to give it as a template argument to some other class, say - std::vector, then this here fails with a parser error: - std::vector<::X>. - - The reason is that the standard mandates that the sequence <: - is treated as if it were the token [, and the parser then - reports a parse error before the character : (by which it means - the second colon). There are several such combinations of - characters, and they are called digraphs. - - The simplest way to avoid this is to write std::vector< ::X>, - i.e. place a space between the opening angle bracket and the - scope operator. - Missing features We know some things are missing from G++. --- 232,263 ---- Frequently Reported Bugs in GCC ! This is a list of bugs in GCC that are reported very often, but not ! yet fixed. While it is certainly better to fix bugs instead of ! documenting them, this document might save people the effort of ! writing a bug report when the bug is already well-known. ! There are many reasons why a reported bug doesn't get fixed. It might ! be difficult to fix, or fixing it might break compatibility. Often, ! reports get a low priority when there is a simple work-around. In ! particular, bugs caused by invalid code have a simple work-around: fix ! the code. _________________________________________________________________ C++ ABI bugs ! GCC 3.0 had a new ABI, which affected class layout, function mangling ! and calling conventions. We had intended it to be complete, but ! unfortunately some issues came to light, too late to fix in the 3.0 ! series. The ABI should not change in dot releases, so we addressed ! most issues in GCC 3.1. Covariant return types Up to (and including) GCC 3.3 we did not implement non-trivial covariant returns. This has been addressed for GCC 3.4. Missing features We know some things are missing from G++. *************** A B::f1(bool b) *** 556,561 **** --- 336,647 ---- also somewhat varies with the compiler version. The work-arounds proposed do not change the semantics of the program at all; they make them perhaps less readable. + _________________________________________________________________ + + Fortran + + Fortran bugs are documented in the G77 manual rather than explicitly + listed here. Please see [29]Known Causes of Trouble with GNU Fortran + in the G77 manual. + _________________________________________________________________ + + Non-bugs + + The following are not actually bugs, but are reported often enough to + warrant a mention here. + + It is not always a bug in the compiler, if code which "worked" in a + previous version, is now rejected. Earlier versions of GCC sometimes + were less picky about standard conformance and accepted invalid source + code. In addition, programming languages themselves change, rendering + code invalid that used to be conforming (this holds especially for + C++). In either case, you should update your code to match recent + language standards. + _________________________________________________________________ + + General + + Problems with floating point numbers - the [30]most often reported + non-bug. + In a number of cases, GCC appears to perform floating point + computations incorrectly. For example, the C++ program + + #include + + int main() + { + double a = 0.5; + double b = 0.01; + std::cout << (int)(a / b) << std::endl; + return 0; + } + + might print 50 on some systems and optimization levels, and 49 + on others. + + The is the result of rounding: The computer cannot represent + all real numbers exactly, so it has to use approximations. When + computing with approximation, the computer needs to round to + the nearest representable number. + + This is not a bug in the compiler, but an inherent limitation + of the floating point types. Please study [31]this paper for + more information. + _________________________________________________________________ + + C + + Casting does not work as expected when optimization is turned on. + This is often caused by a violation of aliasing rules, which + are part of the ISO C standard. These rules say that a program + is invalid if you try to access a variable through a pointer of + an incompatible type. This is happening in the following + example where a short is accessed through a pointer to integer + (the code assumes 16-bit shorts and 32-bit ints): + + #include + + int main() + { + short a[2]; + + a[0]=0x1111; + a[1]=0x1111; + + *(int *)a = 0x22222222; /* violation of aliasing rules */ + + printf("%x %x\n", a[0], a[1]); + return 0; + } + + The aliasing rules were designed to allow compilers more + aggressive optimization. Basically, a compiler can assume that + all changes to variables happen through pointers or references + to variables of a type compatible to the accessed variable. + Dereferencing a pointer that violates the aliasing rules + results in undefined behavior. + + In the case above, the compiler may assume that no access + through an integer pointer can change the array a, consisting + of shorts. Thus, printf may be called with the original values + of a[0] and a[1]. What really happens is up to the compiler and + may change with architecture and optimization level. + + Recent versions of GCC turn on the option -fstrict-aliasing + (which allows alias-based optimizations) by default with -O2. + And some architectures then really print "1111 1111" as result. + Without optimization the executable will generate the + "expected" output "2222 2222". + + To disable optimizations based on alias-analysis for faulty + legacy code, the option -fno-strict-aliasing can be used as a + work-around. + + The option -Wstrict-aliasing (which is included in -Wall) warns + about some - but not all - cases of violation of aliasing rules + when -fstrict-aliasing is active. + + To fix the code above, you can use a union instead of a cast + (note that this is a GCC extension which might not work with + other compilers): + + #include + + int main() + { + union + { + short a[2]; + int i; + } u; + + u.a[0]=0x1111; + u.a[1]=0x1111; + + u.i = 0x22222222; + + printf("%x %x\n", u.a[0], u.a[1]); + return 0; + } + + Now the result will always be "2222 2222". + + For some more insight into the subject, please have a look at + [32]this article. + + Cannot use preprocessor directive in macro arguments. + Let me guess... you used an older version of GCC to compile + code that looks something like this: + + memcpy(dest, src, + #ifdef PLATFORM1 + 12 + #else + 24 + #endif + ); + + and you got a whole pile of error messages: + + test.c:11: warning: preprocessing directive not recognized within macro arg + test.c:11: warning: preprocessing directive not recognized within macro arg + test.c:11: warning: preprocessing directive not recognized within macro arg + test.c: In function `foo': + test.c:6: undefined or invalid # directive + test.c:8: undefined or invalid # directive + test.c:9: parse error before `24' + test.c:10: undefined or invalid # directive + + This is because your C library's happens to define + memcpy as a macro - which is perfectly legitimate. In recent + versions of glibc, for example, printf is among those functions + which are implemented as macros. + + Versions of GCC prior to 3.3 did not allow you to put #ifdef + (or any other preprocessor directive) inside the arguments of a + macro. The code therefore would not compile. + + As of GCC 3.3 this kind of construct is always accepted and the + preprocessor will probably do what you expect, but see the + manual for detailed semantics. + + However, this kind of code is not portable. It is "undefined + behavior" according to the C standard; that means different + compilers may do different things with it. It is always + possible to rewrite code which uses conditionals inside macros + so that it doesn't. You could write the above example + + #ifdef PLATFORM1 + memcpy(dest, src, 12); + #else + memcpy(dest, src, 24); + #endif + + This is a bit more typing, but I personally think it's better + style in addition to being more portable. + + Cannot initialize a static variable with stdin. + This has nothing to do with GCC, but people ask us about it a + lot. Code like this: + + #include + + FILE *yyin = stdin; + + will not compile with GNU libc, because stdin is not a + constant. This was done deliberately, to make it easier to + maintain binary compatibility when the type FILE needs to be + changed. It is surprising for people used to traditional Unix C + libraries, but it is permitted by the C standard. + + This construct commonly occurs in code generated by old + versions of lex or yacc. We suggest you try regenerating the + parser with a current version of flex or bison, respectively. + In your own code, the appropriate fix is to move the + initialization to the beginning of main. + + There is a common misconception that the GCC developers are + responsible for GNU libc. These are in fact two entirely + separate projects; please check the [33]GNU libc web pages for + details. + _________________________________________________________________ + + C++ + + Nested classes can access private members and types of the containing + class. + Defect report 45 clarifies that nested classes are members of + the class they are nested in, and so are granted access to + private members of that class. + + G++ emits two copies of constructors and destructors. + In general there are three types of constructors (and + destructors). + + 1. The complete object constructor/destructor. + 2. The base object constructor/destructor. + 3. The allocating constructor/deallocating destructor. + + The first two are different, when virtual base classes are + involved. + + Global destructors are not run in the correct order. + Global destructors should be run in the reverse order of their + constructors completing. In most cases this is the same as the + reverse order of constructors starting, but sometimes it is + different, and that is important. You need to compile and link + your programs with --use-cxa-atexit. We have not turned this + switch on by default, as it requires a cxa aware runtime + library (libc, glibc, or equivalent). + + Classes in exception specifiers must be complete types. + [15.4]/1 tells you that you cannot have an incomplete type, or + pointer to incomplete (other than cv void *) in an exception + specification. + + Exceptions don't work in multithreaded applications. + You need to rebuild g++ and libstdc++ with --enable-threads. + Remember, C++ exceptions are not like hardware interrupts. You + cannot throw an exception in one thread and catch it in + another. You cannot throw an exception from a signal handler + and catch it in the main thread. + + Templates, scoping, and digraphs. + If you have a class in the global namespace, say named X, and + want to give it as a template argument to some other class, say + std::vector, then std::vector<::X> fails with a parser error. + + The reason is that the standard mandates that the sequence <: + is treated as if it were the token [. (There are several such + combinations of characters - they are called digraphs.) + Depending on the version, the compiler then reports a parse + error before the character : (the colon before X) or a missing + closing bracket ]. + + The simplest way to avoid this is to write std::vector< ::X>, + i.e. place a space between the opening angle bracket and the + scope operator. + + Common problems updating from G++ 2.95 to G++ 3.0 + + G++ 3.0 conforms much closer to the ISO C++ standard (available at + [34]http://www.ncits.org/cplusplus.htm). + + We have also implemented some of the core and library defect reports + (available at + [35]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html & + [36]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html + respectively). + * The ABI has changed. This means that both class layout and name + mangling is different. You must recompile all c++ libraries (if + you don't you will get link errors). + * The standard library is much more conformant, and uses the std:: + namespace. + * std:: is now a real namespace, not an alias for ::. + * The standard header files for the c library don't end with .h, but + begin with c (i.e. rather than ). The .h names + are still available, but are deprecated. + * is deprecated, use instead. + * streambuf::seekoff & streambuf::seekpos are private, instead use + streambuf::pubseekoff & streambuf::pubseekpos respectively. + * If std::operator << (std::ostream &, long long) doesn't exist, you + need to recompile libstdc++ with --enable-long-long. + + This means you may get lots of errors about things like strcmp not + being found. You've most likely forgotten to tell the compiler to look + in the std:: namespace. There are several ways to do this, + * Say, std::strcmp at the call. This is the most explicit way of + saying what you mean. + * Say, using std::strcmp; somewhere before the call. You will need + to do this for each function or type you wish to use from the + standard library. + * Say, using namespace std; somewhere before the call. This is the + quick-but-dirty fix. This brings the whole of the std:: namespace + into scope. Never do this in a header file, as you will be forcing + users of your header file to do the same. + + In addition to the problems listed above, the manual contains a + section on [37]Common Misunderstandings with GNU C++. References *************** References *** 568,595 **** 7. http://gcc.gnu.org/bugs.html#gnat 8. http://gcc.gnu.org/bugs.html#pch 9. http://gcc.gnu.org/bugs.html#known ! 10. http://gcc.gnu.org/bugs.html#general ! 11. http://gcc.gnu.org/bugs.html#fortran ! 12. http://gcc.gnu.org/bugs.html#c ! 13. http://gcc.gnu.org/bugs.html#cplusplus ! 14. http://gcc.gnu.org/bugs.html#updating 15. http://gcc.gnu.org/bugs.html#nonbugs ! 16. http://gcc.gnu.org/bugs.html#missing ! 17. http://gcc.gnu.org/bugs.html#parsing ! 18. http://gcc.gnu.org/bugs.html#known ! 19. http://gcc.gnu.org/bugzilla/ ! 20. mailto:gcc-bugs@gcc.gnu.org ! 21. http://gcc.gnu.org/bugs.html#gnat ! 22. http://gcc.gnu.org/bugs.html#pch ! 23. http://gcc.gnu.org/bugs.html#detailed ! 24. http://gcc.gnu.org/bugs.html#where 25. http://gcc.gnu.org/bugs.html#detailed ! 26. http://gcc.gnu.org/bugs.html#detailed ! 27. http://gcc.gnu.org/onlinedocs/g77/Trouble.html ! 28. http://www.gnu.org/software/glibc/ ! 29. http://gcc.gnu.org/bugs.html#report ! 30. http://www.ncits.org/cplusplus.htm ! 31. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! 32. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html ! 33. http://gcc.gnu.org/onlinedocs/gcc/C---Misunderstandings.html ! 34. http://www.validlab.com/goldberg/paper.ps --- 654,684 ---- 7. http://gcc.gnu.org/bugs.html#gnat 8. http://gcc.gnu.org/bugs.html#pch 9. http://gcc.gnu.org/bugs.html#known ! 10. http://gcc.gnu.org/bugs.html#cxx ! 11. http://gcc.gnu.org/bugs.html#cxx-abi ! 12. http://gcc.gnu.org/bugs.html#missing ! 13. http://gcc.gnu.org/bugs.html#parsing ! 14. http://gcc.gnu.org/bugs.html#fortran 15. http://gcc.gnu.org/bugs.html#nonbugs ! 16. http://gcc.gnu.org/bugs.html#nonbugs_general ! 17. http://gcc.gnu.org/bugs.html#nonbugs_c ! 18. http://gcc.gnu.org/bugs.html#nonbugs_cxx ! 19. http://gcc.gnu.org/bugs.html#updating ! 20. http://gcc.gnu.org/bugs.html#known ! 21. http://gcc.gnu.org/bugzilla/ ! 22. mailto:gcc-bugs@gcc.gnu.org ! 23. http://gcc.gnu.org/bugs.html#gnat ! 24. http://gcc.gnu.org/bugs.html#pch 25. http://gcc.gnu.org/bugs.html#detailed ! 26. http://gcc.gnu.org/bugs.html#where ! 27. http://gcc.gnu.org/bugs.html#detailed ! 28. http://gcc.gnu.org/bugs.html#detailed ! 29. http://gcc.gnu.org/onlinedocs/g77/Trouble.html ! 30. http://gcc.gnu.org/PR323 ! 31. http://www.validlab.com/goldberg/paper.ps ! 32. http://mail-index.NetBSD.org/tech-kern/2003/08/11/0001.html ! 33. http://www.gnu.org/software/glibc/ ! 34. http://www.ncits.org/cplusplus.htm ! 35. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! 36. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html ! 37. http://gcc.gnu.org/onlinedocs/gcc/C---Misunderstandings.html diff -Nrc3pad gcc-3.3.1/bugs.html gcc-3.3.2/bugs.html *** gcc-3.3.1/bugs.html 2003-08-04 12:58:16.000000000 +0000 --- gcc-3.3.2/bugs.html 2003-10-16 20:10:52.000000000 +0000 *************** *** 15,45 ****

Table of Contents


--- 15,53 ----

Table of Contents


*************** requested in this summary.

*** 69,76 ****

What we need

! Please include in your bug report all of the following items, the first ! three of which can be obtained from the output of gcc -v:
  • the exact version of GCC;
  • --- 77,84 ----

    What we need

    !

    Please include in your bug report all of the following items, the first ! three of which can be obtained from the output of gcc -v:

    • the exact version of GCC;
    • *************** that when reporting bugs that appear *** 155,162 **** collecting the command line below, as well as its output and the preprocessed file it generates.

      !
      gcc -v -save-temps all-your-options ! source-file

      Typically the preprocessed file (extension .i for C or .ii for C++, and .f if the preprocessor is used on --- 163,170 ---- collecting the command line below, as well as its output and the preprocessed file it generates.

      !

      gcc -v -save-temps all-your-options ! source-file

      Typically the preprocessed file (extension .i for C or .ii for C++, and .f if the preprocessor is used on *************** reproduce the problem.

      *** 280,285 **** --- 288,426 ----

      Frequently Reported Bugs in GCC

      +

      This is a list of bugs in GCC that are reported very often, but not + yet fixed. While it is certainly better to fix bugs instead of documenting + them, this document might save people the effort of writing a bug report + when the bug is already well-known.

      + +

      There are many reasons why a reported bug doesn't get fixed. + It might be difficult to fix, or fixing it might break compatibility. + Often, reports get a low priority when there is a simple work-around. + In particular, bugs caused by invalid code have a simple work-around: + fix the code.

      + +
      + +

      C++

      + +

      ABI bugs

      + +

      GCC 3.0 had a new ABI, which affected class layout, function mangling and + calling conventions. We had intended it to be complete, but unfortunately + some issues came to light, too late to fix in the 3.0 series. + The ABI should not change in dot releases, so we addressed most issues + in GCC 3.1.

      + +
      + +
      Covariant return types
      + +
      Up to (and including) GCC 3.3 we did not implement non-trivial + covariant returns. This has been addressed for GCC 3.4.
      + +
      + +

      Missing features

      +

      We know some things are missing from G++.

      + +
      + +
      The export keyword is not implemented.
      +

      Most C++ compilers (G++ included) do not yet implement + export, which is necessary for separate compilation of + template declarations and definitions. Without export, a + template definition must be in scope to be used. The obvious + workaround is simply to place all definitions in the header + itself. Alternatively, the compilation unit containing template + definitions may be included from the header.

      + +
      Two stage lookup in templates is not implemented.
      +

      [14.6] specifies how names are looked up inside a template. G++ + does not do this correctly, but for most templates this will not be + noticeable.

      + +
      + +

      Parse errors for "simple" code

      + +

      Up to and including GCC 3.0, the compiler will give "parse error" for + seemingly simple code, such as

      + +
      + struct A{
      +   A();
      +   A(int);
      +   void func();
      + };
      + 
      + struct B{
      +   B(A);
      +   B(A,A);
      +   void func();
      + };
      + 
      + void foo(){
      +   B b(A(),A(1));     //Variable b, initialized with two temporaries
      +   B(A(2)).func();    //B temporary, initialized with A temporary
      + }
      + 
      + +

      The problem is that GCC starts to parse the declaration of + b as a function b returning B, + taking a function returning A as an argument. When it + sees the 1, it is too late. The work-around in these cases is to add + additional parentheses around the expressions that are mistaken as + declarations:

      + +
      +   (B(A(2))).func();
      + 
      + +

      Sometimes, even that is not enough; to show the compiler that this + should be really an expression, a comma operator with a dummy argument + can be used:

      + +
      +   B b((0,A()),A(1));
      + 
      + +

      Another example is the parse error for the return + statement in

      + +
      + struct A{};
      + 
      + struct B{
      +   A a;
      +   A f1(bool);
      + };
      + 
      + A B::f1(bool b)
      + {
      +   if (b)
      +     return (A());
      +   return a;
      + }
      + 
      + +

      The problem is that the compiler interprets A() as a + function (taking no arguments, returning A), and + (A()) as a cast - with a missing expression, hence the + parse error. The work-around is to omit the parentheses:

      + +
      +   if (b)
      +     return A();
      + 
      + +

      This problem occurs in a number of variants; in throw + statements, people also frequently put the object in parentheses. The + exact error also somewhat varies with the compiler version. The + work-arounds proposed do not change the semantics of the program at + all; they make them perhaps less readable.

      + +
      +

      Fortran

      Fortran bugs are documented in the G77 manual rather than *************** Trouble with GNU Fortran in the G77 *** 289,331 ****


      !

      C

      !

      The following are not bugs in the C compiler, but are reported ! often enough to warrant a mention here.

      !
      Cannot initialize a static variable with stdin.
      !

      This has nothing to do with GCC, but people ask us about it a ! lot. Code like this:

        #include <stdio.h>
        
      ! FILE *yyin = stdin;
        
      !

      will not compile with GNU libc (GNU/Linux libc6), because ! stdin is not a constant. This was done deliberately, to make ! it easier to maintain binary compatibility when the type FILE ! needs to be changed. It is surprising for people used to traditional Unix ! C libraries, but it is permitted by the C standard.

      !

      This construct commonly occurs in code generated by old versions of ! lex or yacc. We suggest you try regenerating the parser with a ! current version of flex or bison, respectively. In your own code, the ! appropriate fix is to move the initialization to the beginning of ! main.

      -

      There is a common misconception that the GCC developers are - responsible for GNU libc. These are in fact two entirely separate - projects; please check the - GNU libc web pages - for details. -

      Cannot use preprocessor directive in macro arguments.
      !

      Let me guess... you wrote code that looks something like this:

          memcpy(dest, src,
        #ifdef PLATFORM1
      --- 430,569 ----
        
        
      !

      Non-bugs

      !

      The following are not actually bugs, but are reported often ! enough to warrant a mention here.

      ! !

      It is not always a bug in the compiler, if code which "worked" in a ! previous version, is now rejected. Earlier versions of GCC sometimes were ! less picky about standard conformance and accepted invalid source code. ! In addition, programming languages themselves change, rendering code ! invalid that used to be conforming (this holds especially for C++). ! In either case, you should update your code to match recent language ! standards.

      ! !
      ! !

      General

      !
      Problems with floating point numbers - the ! most often reported non-bug.
      !

      In a number of cases, GCC appears to perform floating point ! computations incorrectly. For example, the C++ program

      !
      ! #include <iostream>
        
      + int main()
      + {
      +   double a = 0.5;
      +   double b = 0.01;
      +   std::cout << (int)(a / b) << std::endl;
      +   return 0;
      + }
      + 
      +

      might print 50 on some systems and optimization levels, and 49 on + others.

      + +

      The is the result of rounding: The computer cannot + represent all real numbers exactly, so it has to use + approximations. When computing with approximation, the computer needs + to round to the nearest representable number.

      + +

      This is not a bug in the compiler, but an inherent limitation of + the floating point types. Please study + this paper + for more information.

      +
      + +
      + +

      C

      + +
      +
      Casting does not work as expected when optimization is turned on.
      + +

      This is often caused by a violation of aliasing rules, which are part + of the ISO C standard. These rules say that a program is invalid if you try + to access a variable through a pointer of an incompatible type. This is + happening in the following example where a short is accessed through a + pointer to integer (the code assumes 16-bit shorts and 32-bit + ints):

        #include <stdio.h>
        
      ! int main()
      ! {
      !   short a[2];
      ! 
      !   a[0]=0x1111;
      !   a[1]=0x1111;
      ! 
      !   *(int *)a = 0x22222222; /* violation of aliasing rules */
      ! 
      !   printf("%x %x\n", a[0], a[1]);
      !   return 0;
      ! }
        
      +

      The aliasing rules were designed to allow compilers more aggressive + optimization. Basically, a compiler can assume that all changes to variables + happen through pointers or references to variables of a type compatible to + the accessed variable. Dereferencing a pointer that violates the aliasing + rules results in undefined behavior.

      !

      In the case above, the compiler may assume that no access through an ! integer pointer can change the array a, consisting of shorts. ! Thus, printf may be called with the original values of ! a[0] and a[1]. What really happens is up to ! the compiler and may change with architecture and optimization level.

      !

      Recent versions of GCC turn on the option -fstrict-aliasing ! (which allows alias-based optimizations) by default with -O2. ! And some architectures then really print "1111 1111" as result. Without ! optimization the executable will generate the "expected" output ! "2222 2222".

      ! !

      To disable optimizations based on alias-analysis for faulty legacy code, ! the option -fno-strict-aliasing can be used as a work-around.

      ! !

      The option -Wstrict-aliasing (which is included in ! -Wall) warns about some - but not all - cases of violation ! of aliasing rules when -fstrict-aliasing is active.

      ! !

      To fix the code above, you can use a union instead of a ! cast (note that this is a GCC extension which might not work with other ! compilers):

      !
      ! #include <stdio.h>
      ! 
      ! int main()
      ! {
      !   union
      !   {
      !     short a[2];
      !     int i;
      !   } u;
      ! 
      !   u.a[0]=0x1111;
      !   u.a[1]=0x1111;
      ! 
      !   u.i = 0x22222222;
      ! 
      !   printf("%x %x\n", u.a[0], u.a[1]);
      !   return 0;
      ! }
      ! 
      !

      Now the result will always be "2222 2222".

      ! !

      For some more insight into the subject, please have a look at ! this ! article.

      Cannot use preprocessor directive in macro arguments.
      !

      Let me guess... you used an older version of GCC to compile code ! that looks something like this:

          memcpy(dest, src,
        #ifdef PLATFORM1
      *************** for details.
      *** 336,369 ****
        	);
        

      and you got a whole pile of error messages:

      !
      ! test.c:11: warning: preprocessing directive not recognized within ! macro arg
      ! test.c:11: warning: preprocessing directive not recognized within ! macro arg
      ! test.c:11: warning: preprocessing directive not recognized within ! macro arg
      ! test.c: In function `foo':
      ! test.c:6: undefined or invalid # directive
      ! test.c:8: undefined or invalid # directive
      ! test.c:9: parse error before `24'
      ! test.c:10: undefined or invalid # directive
      ! test.c:11: parse error before `#'
      !
      !

      Update: As of GCC 3.2 this kind of construct is ! always accepted and CPP will probably do what you expect, but see the ! manual for detailed semantics.

      !

      However, versions of GCC prior to 3.2 did not allow you to put ! #ifdef (or any other directive) inside the arguments of a ! macro. Your C library's <string.h> happens to ! define memcpy as a macro - this is perfectly legitimate. ! The code therefore would not compile.

      !

      This kind of code is not portable. It is "undefined behavior" ! according to the C standard; that means different compilers will do different things with it. It is always possible to rewrite code which uses conditionals inside macros so that it doesn't. You could write the above example

      --- 574,605 ---- );

      and you got a whole pile of error messages:

      !
      ! test.c:11: warning: preprocessing directive not recognized within macro arg
      ! test.c:11: warning: preprocessing directive not recognized within macro arg
      ! test.c:11: warning: preprocessing directive not recognized within macro arg
      ! test.c: In function `foo':
      ! test.c:6: undefined or invalid # directive
      ! test.c:8: undefined or invalid # directive
      ! test.c:9: parse error before `24'
      ! test.c:10: undefined or invalid # directive
      ! 
      !

      This is because your C library's <string.h> happens ! to define memcpy as a macro - which is perfectly legitimate. ! In recent versions of glibc, for example, printf is among those ! functions which are implemented as macros.

      !

      Versions of GCC prior to 3.3 did not allow you to put #ifdef ! (or any other preprocessor directive) inside the arguments of a macro. The ! code therefore would not compile.

      !

      As of GCC 3.3 this kind of construct is always accepted and the ! preprocessor will probably do what you expect, but see the manual for ! detailed semantics.

      !

      However, this kind of code is not portable. It is "undefined behavior" ! according to the C standard; that means different compilers may do different things with it. It is always possible to rewrite code which uses conditionals inside macros so that it doesn't. You could write the above example

      *************** the above example

      *** 375,409 **** #endif

      This is a bit more typing, but I personally think it's better style ! in addition to being more portable.

      !

      In recent versions of glibc, printf is among the ! functions which are implemented as macros.


      !

      C++

      !

      This is the list of bugs (and non-bugs) in g++ (aka GNU C++) that ! are reported very often, but not yet fixed. While it is certainly ! better to fix bugs instead of documenting them, this document might ! save people the effort of writing a bug report when the bug is already ! well-known. How to report bugs tells you how to ! report a bug.

      !

      There are many reasons why reported bugs don't get fixed. It might ! be difficult to fix, or fixing it might break compatibility. Often, ! reports get a low priority when there is a simple work-around. In ! particular, bugs caused by invalid C++ code have a simple work-around, ! fix the code. Now that there is an agreed ISO/ANSI standard ! for C++, the compiler has a definitive document to adhere to. Earlier ! versions might have accepted source code that is no longer ! C++. This means that code which might have `worked' in a previous ! version, is now rejected. You should update your code to be C++.

      !

      You should try to use the latest stable release of the GNU C++ ! compiler.

      Common problems updating from G++ 2.95 to G++ 3.0

      --- 611,715 ---- #endif

      This is a bit more typing, but I personally think it's better style ! in addition to being more portable.

      ! !
      Cannot initialize a static variable with stdin.
      !

      This has nothing to do with GCC, but people ask us about it a ! lot. Code like this:

      ! !
      ! #include <stdio.h>
      ! 
      ! FILE *yyin = stdin;
      ! 
      ! !

      will not compile with GNU libc, because stdin is not a ! constant. This was done deliberately, to make it easier to maintain ! binary compatibility when the type FILE needs to be changed. ! It is surprising for people used to traditional Unix C libraries, but it ! is permitted by the C standard.

      ! !

      This construct commonly occurs in code generated by old versions of ! lex or yacc. We suggest you try regenerating the parser with a ! current version of flex or bison, respectively. In your own code, the ! appropriate fix is to move the initialization to the beginning of ! main.

      ! !

      There is a common misconception that the GCC developers are ! responsible for GNU libc. These are in fact two entirely separate ! projects; please check the ! GNU libc web pages ! for details. !


      !

      C++

      !
      !
      Nested classes can access private members and types of the containing ! class.
      !

      Defect report 45 clarifies that nested classes are members of the ! class they are nested in, and so are granted access to private members of ! that class.

      !
      G++ emits two copies of constructors and destructors.
      ! !

      In general there are three types of constructors (and ! destructors).

      !
        !
      1. The complete object constructor/destructor.
      2. !
      3. The base object constructor/destructor.
      4. !
      5. The allocating constructor/deallocating destructor.
      6. !
      !

      The first two are different, when virtual base classes are involved. !

      ! !
      Global destructors are not run in the correct order.
      ! !

      Global destructors should be run in the reverse order of their ! constructors completing. In most cases this is the same as ! the reverse order of constructors starting, but sometimes it ! is different, and that is important. You need to compile and link your ! programs with --use-cxa-atexit. We have not turned this ! switch on by default, as it requires a cxa aware runtime ! library (libc, glibc, or equivalent).

      ! !
      Classes in exception specifiers must be complete types.
      ! !

      [15.4]/1 tells you that you cannot have an incomplete type, or ! pointer to incomplete (other than cv void *) in ! an exception specification.

      ! !
      Exceptions don't work in multithreaded applications.
      ! !

      You need to rebuild g++ and libstdc++ with ! --enable-threads. Remember, C++ exceptions are not like ! hardware interrupts. You cannot throw an exception in one thread and ! catch it in another. You cannot throw an exception from a signal ! handler and catch it in the main thread.

      ! !
      Templates, scoping, and digraphs.
      ! !

      If you have a class in the global namespace, say named X, ! and want to give it as a template argument to some other class, say ! std::vector, then std::vector<::X> ! fails with a parser error.

      ! !

      The reason is that the standard mandates that the sequence ! <: is treated as if it were the token [. ! (There are several such combinations of characters - they are called ! digraphs.) Depending on the version, the compiler then reports ! a parse error before the character : (the colon before ! X) or a missing closing bracket ].

      ! !

      The simplest way to avoid this is to write std::vector< ! ::X>, i.e. place a space between the opening angle bracket ! and the scope operator.

      !

      Common problems updating from G++ 2.95 to G++ 3.0

      *************** compiler.

      *** 414,422 ****

      We have also implemented some of the core and library defect reports (available at http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! & ! http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html respectively).

        --- 720,728 ----

        We have also implemented some of the core and library defect reports (available at http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html ! & ! http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html respectively).

          *************** doesn't exist, you need to recompile lib *** 450,459 ****
        ! This means you may get lots of errors about things like strcmp not being found. You've most likely forgotten to tell the compiler to look in the std:: namespace. There are ! several ways to do this,
          --- 756,765 ----
        !

        This means you may get lots of errors about things like strcmp not being found. You've most likely forgotten to tell the compiler to look in the std:: namespace. There are ! several ways to do this,

          *************** same. *** 472,692 ****
        -

        ABI bugs

        - -

        3.0 had a new ABI, which affected class layout, function mangling and - calling conventions. We had intended it to be complete, unfortunately - some issues came to light, too late to fix in the 3.0 series. - The ABI should not change in dot releases, so we addressed most issues - in GCC 3.1. -

        - -
        - -
        Covariant return types
        - -
        Up to (and including) GCC 3.3 we did not implement non-trivial - covariant returns. This has been addressed for GCC 3.4.
        - -
        - -

        Non-bugs

        !

        This section lists several features that have been reported as bugs, but ! are not; in addition, the manual contains a section on Common Misunderstandings with GNU C++.

        -
        - -
        Nested classes can access private types of the containing - class.
        -

        G++ now implements type access control on member types. Defect - report 45 clarifies that nested classes are members of the class they - are nested in, and so are granted access to private members of that - class.

        - -
        Classes in exception specifiers must be complete types.
        -

        [15.4]/1 tells you that you cannot have an incomplete type, or - pointer to incomplete (other than cv void *) in - an exception specification.

        - -
        G++ emits two copies of constructors and destructors.
        - -

        In general there are three types of constructors (and - destructors).

        -
          -
        1. The complete object constructor/destructor.
        2. -
        3. The base object constructor/destructor.
        4. -
        5. The allocating destructor/deallocating destructor.
        6. -
        -

        The first two are different, when virtual base classes are involved. -

        - -
        Exceptions don't work in multithreaded applications.
        - -

        You need to rebuild g++ and libstdc++ with - --enable-threads. Remember, c++ exceptions are not like - hardware interrupts. You cannot throw an exception in one thread and - catch it in another. You cannot throw an exception from a signal - handler, and catch it in the main thread.

        - -
        Global destructors are not run in the correct order.
        - -

        Global destructors should be run in the reverse order of their - constructors completing. In most cases this is the same as - the reverse order of constructors starting, but sometimes it - is different, and that is important. You need to compile and link your - programs with --use-cxa-atexit. We have not turned this - switch on by default, as it requires a cxa aware runtime - library (libc, glibc, or - equivalent).

        - -
        Problems with floating point computations.
        -

        In a number of cases, GCC appears to perform floating point - computations incorrectly. For example, the program

        -
        - #include <iostream>
        -
        - int main() {
        -
        - double min = 0.0;
        - double max = 0.5;
        - double width = 0.01;
        - std::cout << (int)(((max - min) / width) - 1) << - std::endl;
        -
        - }
        -
        -

        might print 49 on some systems and optimization levels, and 48 on - others.

        - -

        The is the result of rounding: The computer cannot - represent all real numbers exactly, so it has to use - approximations. When computing with approximation, the computer needs - to round to the nearest representable number.

        - -

        This is not a bug in the compiler, but an inherent limitation of - the float and double types. Please study - this paper - for more information.

        - -
        Templates, scoping, and digraphs.
        - -

        If you have a class in global namespace, say named - X, and want to give it as a template argument to some - other class, say std::vector, then this here fails with a - parser error: std::vector<::X>. -

        - -

        - The reason is that the standard mandates that the sequence - <: is treated as if it were the token - [, and the parser then reports a parse error before the - character : (by which it means the second - colon). There are several such combinations of characters, and - they are called digraphs. -

        - -

        - The simplest way to avoid this is to write std::vector< - ::X>, i.e. place a space between the opening angle bracket - and the scope operator. -

        - - -
        - -

        Missing features

        -

        We know some things are missing from G++.

        - -
        - -
        The export keyword is not implemented.
        -

        Most C++ compilers (G++ included) do not yet implement - export, which is necessary for separate compilation of - template declarations and definitions. Without export, a - template definition must be in scope to be used. The obvious - workaround is simply to place all definitions in the header - itself. Alternatively, the compilation unit containing template - definitions may be included from the header.

        - -
        Two stage lookup in templates is not implemented.
        -

        [14.6] specifies how names are looked up inside a template. G++ - does not do this correctly, but for most templates this will not be - noticeable.

        - -
        - -

        Parse errors for "simple" code

        - - Up to and including GCC 3.0, the compiler will give "parse error" for - seemingly simple code, such as - -
        - struct A{
        -   A();
        -   A(int);
        -   void func();
        - };
        - 
        - struct B{
        -   B(A);
        -   B(A,A);
        -   void func();
        - };
        - 
        - void foo(){
        -   B b(A(),A(1));     //Variable b, initialized with two temporaries
        -   B(A(2)).func();    //B temporary, initialized with A temporary
        - }
        - 
        - The problem is that GCC starts to parse the declaration of - b as a function b returning B, - taking a function returning A as an argument. When it - sees the 1, it is too late. The work-around in these cases is to add - additional parentheses around the expressions that are mistaken as - declarations: -
        -   (B(A(2))).func();
        - 
        - Sometimes, even that is not enough; to show the compiler that this - should be really an expression, a comma operator with a dummy argument - can be used: -
        -   B b((0,A()),A(1));
        - 
        -

        - Another example is the parse error for the return - statement in

        -
        - struct A{};
        - 
        - struct B{
        -   A a;
        -   A f1(bool);
        - };
        - 
        - A B::f1(bool b)
        - {
        -   if (b)
        -     return (A()); 
        -   return a;
        - }
        - 
        -

        The problem is that the compiler interprets A() as a - function (taking no arguments, returning A), and - (A()) as a cast - with a missing expression, hence the - parse error. The work-around is to omit the parentheses:

        -
        -   if (b)
        -     return A(); 
        - 
        -

        This problem occurs in a number of variants; in throw - statements, people also frequently put the object in parentheses. The - exact error also somewhat varies with the compiler version. The - work-arounds proposed do not change the semantics of the program at - all; they make them perhaps less readable.

        - --- 778,787 ----
      !

      In addition to the problems listed above, the manual contains a section on Common Misunderstandings with GNU C++.

      diff -Nrc3pad gcc-3.3.1/ChangeLog gcc-3.3.2/ChangeLog *** gcc-3.3.1/ChangeLog 2003-08-04 12:47:35.000000000 +0000 --- gcc-3.3.2/ChangeLog 2003-10-16 19:42:40.000000000 +0000 *************** *** 1,3 **** --- 1,27 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-09-09 Alan Modra + + * libtool.m4 (LD): Correct powerpc64 host match. + + 2003-08-30 Gerald Pfeifer + + * MAINTAINERS: Update my e-mail address. + + 2003-08-20 Bernardo Innocenti + + * MAINTAINERS (Write After Approval): Add myself. + + 2003-08-15 Andrew Pinski + + * MAINTAINERS (Write After Approval): Add myself. + + 2003-08-08 Kean Johnston + + * configure.in (sco3.2v5*): Enable building of libgcj + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/config/ChangeLog gcc-3.3.2/config/ChangeLog *** gcc-3.3.1/config/ChangeLog 2003-08-04 12:47:43.000000000 +0000 --- gcc-3.3.2/config/ChangeLog 2003-10-16 19:42:47.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/config/mh-sco gcc-3.3.2/config/mh-sco *** gcc-3.3.1/config/mh-sco 2002-04-30 03:30:22.000000000 +0000 --- gcc-3.3.2/config/mh-sco 2003-08-09 06:57:21.000000000 +0000 *************** RANLIB = true *** 2,5 **** # You may need this if you don't have bison. # BISON = yacc -Sm10400 ! X11_EXTRA_LIBS = -lsocket -lm -lintl -lmalloc --- 2,5 ---- # You may need this if you don't have bison. # BISON = yacc -Sm10400 ! X11_EXTRA_LIBS = -lsocket diff -Nrc3pad gcc-3.3.1/configure.in gcc-3.3.2/configure.in *** gcc-3.3.1/configure.in 2003-06-27 11:44:14.000000000 +0000 --- gcc-3.3.2/configure.in 2003-08-09 06:57:21.000000000 +0000 *************** case "${target}" in *** 473,479 **** i[3456]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. ! noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" ;; i[3456]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" --- 473,479 ---- i[3456]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. ! noconfigdirs="$noconfigdirs ld target-libgloss" ;; i[3456]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" diff -Nrc3pad gcc-3.3.1/contrib/ChangeLog gcc-3.3.2/contrib/ChangeLog *** gcc-3.3.1/contrib/ChangeLog 2003-08-04 12:47:46.000000000 +0000 --- gcc-3.3.2/contrib/ChangeLog 2003-10-16 19:42:51.000000000 +0000 *************** *** 1,3 **** --- 1,15 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-10-16 Mark Mitchell + + * gennews (files): Add GCC 3.3 files. + + 2003-08-21 Mark Mitchell + + * gcc_build: Fix handling of -t option. Add -x option. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/contrib/gcc_build gcc-3.3.2/contrib/gcc_build *** gcc-3.3.1/contrib/gcc_build 2001-06-11 21:13:36.000000000 +0000 --- gcc-3.3.2/contrib/gcc_build 2003-08-21 18:59:23.000000000 +0000 *************** gcc_build [-c configure_options] *** 66,71 **** --- 66,72 ---- [-u username] [-p protocol] [-t tarfile] + [-x make_check_options] [bootstrap] [build] [checkout] *************** test_gcc() { *** 174,180 **** changedir ${OBJDIR} echo "Running tests... This will take a while." ! ${MAKE} -k check ${DESTINATION}/contrib/test_summary } --- 175,181 ---- changedir ${OBJDIR} echo "Running tests... This will take a while." ! eval \${MAKE} -k ${MAKE_CHECK_OPTIONS} check ${DESTINATION}/contrib/test_summary } *************** TARFILE="${HOME}/dev/gcc.tgz" *** 231,238 **** CONFIGURE_OPTIONS= # The `make' program. MAKE=${MAKE:-make} ! # Options to pass to make. MAKE_BOOTSTRAP_OPTIONS= # Modes of operation BOOTSTRAP=0 --- 232,241 ---- CONFIGURE_OPTIONS= # The `make' program. MAKE=${MAKE:-make} ! # Options to pass to "make bootstrap". MAKE_BOOTSTRAP_OPTIONS= + # Options to pass to "make check". + MAKE_CHECK_OPTIONS= # Modes of operation BOOTSTRAP=0 *************** UPDATE=0 *** 248,261 **** ######################################################################## # Parse the options. ! while getopts "c:d:m:o:p:t:u:" ARG; do case $ARG in c) CONFIGURE_OPTIONS="${OPTARG}";; d) DESTINATION="${OPTARG}";; m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; o) OBJDIR="${OPTARG}";; p) CVS_PROTOCOL="${OPTARG}";; ! t) CVS_TARGFILE="${OPTARG}";; u) CVS_USERNAME="${OPTARG}";; \?) usage;; esac --- 251,265 ---- ######################################################################## # Parse the options. ! while getopts "c:d:m:o:p:t:u:x:" ARG; do case $ARG in c) CONFIGURE_OPTIONS="${OPTARG}";; d) DESTINATION="${OPTARG}";; m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; o) OBJDIR="${OPTARG}";; p) CVS_PROTOCOL="${OPTARG}";; ! t) TARFILE="${OPTARG}";; ! x) MAKE_CHECK_OPTIONS="${OPTARG}";; u) CVS_USERNAME="${OPTARG}";; \?) usage;; esac diff -Nrc3pad gcc-3.3.1/contrib/gennews gcc-3.3.2/contrib/gennews *** gcc-3.3.1/contrib/gennews 2002-08-14 08:35:37.000000000 +0000 --- gcc-3.3.2/contrib/gennews 2003-10-16 19:18:28.000000000 +0000 *************** *** 22,28 **** # Boston, MA 02111-1307, USA. website=http://gcc.gnu.org/ ! files="gcc-3.2/index.html gcc-3.2/changes.html gcc-3.1/index.html gcc-3.1/changes.html gcc-3.0/gcc-3.0.html gcc-3.0/features.html gcc-3.0/caveats.html gcc-2.95/index.html gcc-2.95/features.html gcc-2.95/caveats.html --- 22,29 ---- # Boston, MA 02111-1307, USA. website=http://gcc.gnu.org/ ! files="gcc-3.3/index.html gcc-3.3/changes.html ! gcc-3.2/index.html gcc-3.2/changes.html gcc-3.1/index.html gcc-3.1/changes.html gcc-3.0/gcc-3.0.html gcc-3.0/features.html gcc-3.0/caveats.html gcc-2.95/index.html gcc-2.95/features.html gcc-2.95/caveats.html diff -Nrc3pad gcc-3.3.1/contrib/regression/ChangeLog gcc-3.3.2/contrib/regression/ChangeLog *** gcc-3.3.1/contrib/regression/ChangeLog 2003-08-04 12:47:49.000000000 +0000 --- gcc-3.3.2/contrib/regression/ChangeLog 2003-10-16 19:42:54.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/FAQ gcc-3.3.2/FAQ *** gcc-3.3.1/FAQ 2003-08-04 12:58:19.000000000 +0000 --- gcc-3.3.2/FAQ 2003-10-16 20:10:56.000000000 +0000 *************** *** 28,48 **** 6. [18]Optimizing the compiler itself 7. [19]Why does libiconv get linked into jc1 on Solaris? 3. [20]Testsuite problems ! 1. [21]Unable to run the testsuite ! 2. [22]How do I pass flags like -fnew-abi to the testsuite? ! 3. [23]How can I run the test suite with multiple options? ! 4. [24]Older versions of GCC ! 1. [25]Is there a stringstream / sstream for GCC 2.95.2? ! 5. [26]Miscellaneous ! 1. [27]Friend Templates ! 2. [28]dynamic_cast, throw, typeid don't work with shared libraries ! 3. [29]Why do I need autoconf, bison, xgettext, automake, etc? ! 4. [30]Why can't I build a shared library? ! 5. [31]When building C++, the linker says my constructors, destructors or virtual tables are undefined, but I defined them ! 6. [32]Will GCC someday include an incremental linker? _________________________________________________________________ General information --- 28,47 ---- 6. [18]Optimizing the compiler itself 7. [19]Why does libiconv get linked into jc1 on Solaris? 3. [20]Testsuite problems ! 1. [21]How do I pass flags like -fnew-abi to the testsuite? ! 2. [22]How can I run the test suite with multiple options? ! 4. [23]Older versions of GCC ! 1. [24]Is there a stringstream / sstream for GCC 2.95.2? ! 5. [25]Miscellaneous ! 1. [26]Friend Templates ! 2. [27]dynamic_cast, throw, typeid don't work with shared libraries ! 3. [28]Why do I need autoconf, bison, xgettext, automake, etc? ! 4. [29]Why can't I build a shared library? ! 5. [30]When building C++, the linker says my constructors, destructors or virtual tables are undefined, but I defined them ! 6. [31]Will GCC someday include an incremental linker? _________________________________________________________________ General information *************** What is the relationship between GCC and *** 64,75 **** development on the gcc2 compiler and appointed the EGCS project as the official GCC maintainers. The net result was a single project which carries forward GCC development under the ultimate control of the ! [33]GCC Steering Committee. _________________________________________________________________ What is an open development model? ! We are using a bazaar style [34][1] approach to GCC development: we make snapshots publicly available to anyone who wants to try them; we welcome anyone to join the development mailing list. All of the discussions on the development mailing list are available via the web. --- 63,74 ---- development on the gcc2 compiler and appointed the EGCS project as the official GCC maintainers. The net result was a single project which carries forward GCC development under the ultimate control of the ! [32]GCC Steering Committee. _________________________________________________________________ What is an open development model? ! We are using a bazaar style [33][1] approach to GCC development: we make snapshots publicly available to anyone who wants to try them; we welcome anyone to join the development mailing list. All of the discussions on the development mailing list are available via the web. *************** How do I get a bug fixed or a feature ad *** 125,131 **** depending on the quality of your work and the perceived benefits of your changes, your code may or may not ever make it into an official release of GCC. ! * [35]Report the problem to the GCC bug tracking system and hope that someone will be kind enough to fix it for you. While this is certainly possible, and often happens, there is no guarantee that it will. You should not expect the same response from this method --- 124,130 ---- depending on the quality of your work and the perceived benefits of your changes, your code may or may not ever make it into an official release of GCC. ! * [34]Report the problem to the GCC bug tracking system and hope that someone will be kind enough to fix it for you. While this is certainly possible, and often happens, there is no guarantee that it will. You should not expect the same response from this method *************** Does GCC work on my platform? *** 142,149 **** The host/target specific installation notes for GCC include 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 [36]latest version is always ! available at the GCC web site. Reports of [37]successful builds for several versions of GCC are also available at the web site. _________________________________________________________________ --- 141,148 ---- The host/target specific installation notes for GCC include 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 [35]latest version is always ! available at the GCC web site. Reports of [36]successful builds for several versions of GCC are also available at the web site. _________________________________________________________________ *************** How to install multiple versions of GCC *** 190,196 **** 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, [38]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 --- 189,195 ---- 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, [37]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 *** 256,262 **** versions of those programs. To ensure that GCC finds the GNU assembler (the GNU loader), which are ! required by [39]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. --- 255,261 ---- versions of those programs. To ensure that GCC finds the GNU assembler (the GNU loader), which are ! required by [38]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. *************** How can I run the test suite with multip *** 356,362 **** Is there a stringstream / sstream for GCC 2.95.2? Yes, it's at: ! [40]http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream. _________________________________________________________________ Miscellaneous --- 355,361 ---- Is there a stringstream / sstream for GCC 2.95.2? Yes, it's at: ! [39]http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream. _________________________________________________________________ Miscellaneous *************** dynamic_cast, throw, typeid don't work w *** 455,461 **** [basic.def.odr]. For more details about the way that GCC implements these and other C++ ! features, please read the [41]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. --- 454,460 ---- [basic.def.odr]. For more details about the way that GCC implements these and other C++ ! features, please read the [40]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, *** 486,495 **** rebuild GCC. In general, the current versions of these tools from ! [42]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 ! [43]ftp://gcc.gnu.org/pub/gcc/infrastructure/ for any special versions of packages. _________________________________________________________________ --- 485,494 ---- rebuild GCC. In general, the current versions of these tools from ! [41]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 ! [42]ftp://gcc.gnu.org/pub/gcc/infrastructure/ for any special versions of packages. _________________________________________________________________ *************** References *** 565,590 **** 18. http://gcc.gnu.org/faq.html#optimizing 19. http://gcc.gnu.org/faq.html#iconv 20. http://gcc.gnu.org/faq.html#testsuite ! 21. http://gcc.gnu.org/faq.html#dejagnu ! 22. http://gcc.gnu.org/faq.html#testoptions ! 23. http://gcc.gnu.org/faq.html#multipletests ! 24. http://gcc.gnu.org/faq.html#old ! 25. http://gcc.gnu.org/faq.html#2.95sstream ! 26. http://gcc.gnu.org/faq.html#misc ! 27. http://gcc.gnu.org/faq.html#friend ! 28. http://gcc.gnu.org/faq.html#dso ! 29. http://gcc.gnu.org/faq.html#generated_files ! 30. http://gcc.gnu.org/faq.html#picflag-needed ! 31. http://gcc.gnu.org/faq.html#vtables ! 32. http://gcc.gnu.org/faq.html#incremental ! 33. http://gcc.gnu.org/steering.html ! 34. http://gcc.gnu.org/faq.html#cathedral-vs-bazaar ! 35. http://gcc.gnu.org/bugs.html ! 36. http://gcc.gnu.org/install/specific.html ! 37. http://gcc.gnu.org/buildstat.html ! 38. http://gcc.gnu.org/faq.html#gas ! 39. http://gcc.gnu.org/install/specific.html ! 40. http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream ! 41. http://www.codesourcery.com/cxx-abi/ ! 42. ftp://ftp.gnu.org/gnu/ ! 43. ftp://gcc.gnu.org/pub/gcc/infrastructure/ --- 564,588 ---- 18. http://gcc.gnu.org/faq.html#optimizing 19. http://gcc.gnu.org/faq.html#iconv 20. http://gcc.gnu.org/faq.html#testsuite ! 21. http://gcc.gnu.org/faq.html#testoptions ! 22. http://gcc.gnu.org/faq.html#multipletests ! 23. http://gcc.gnu.org/faq.html#old ! 24. http://gcc.gnu.org/faq.html#2.95sstream ! 25. http://gcc.gnu.org/faq.html#misc ! 26. http://gcc.gnu.org/faq.html#friend ! 27. http://gcc.gnu.org/faq.html#dso ! 28. http://gcc.gnu.org/faq.html#generated_files ! 29. http://gcc.gnu.org/faq.html#picflag-needed ! 30. http://gcc.gnu.org/faq.html#vtables ! 31. http://gcc.gnu.org/faq.html#incremental ! 32. http://gcc.gnu.org/steering.html ! 33. http://gcc.gnu.org/faq.html#cathedral-vs-bazaar ! 34. http://gcc.gnu.org/bugs.html ! 35. http://gcc.gnu.org/install/specific.html ! 36. http://gcc.gnu.org/buildstat.html ! 37. http://gcc.gnu.org/faq.html#gas ! 38. http://gcc.gnu.org/install/specific.html ! 39. http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00700/sstream ! 40. http://www.codesourcery.com/cxx-abi/ ! 41. ftp://ftp.gnu.org/gnu/ ! 42. ftp://gcc.gnu.org/pub/gcc/infrastructure/ diff -Nrc3pad gcc-3.3.1/faq.html gcc-3.3.2/faq.html *** gcc-3.3.1/faq.html 2003-08-04 12:58:19.000000000 +0000 --- gcc-3.3.2/faq.html 2003-10-16 20:10:55.000000000 +0000 *************** Information page.

      *** 48,54 ****
    • Testsuite problems
        -
      1. Unable to run the testsuite
      2. How do I pass flags like -fnew-abi to the testsuite?
      3. How can I run the test suite with multiple options?
      4. --- 48,53 ---- diff -Nrc3pad gcc-3.3.1/gcc/aclocal.m4 gcc-3.3.2/gcc/aclocal.m4 *** gcc-3.3.1/gcc/aclocal.m4 2003-06-25 23:14:53.000000000 +0000 --- gcc-3.3.2/gcc/aclocal.m4 2003-10-01 21:56:34.000000000 +0000 *************** else *** 431,437 **** # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin*) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; --- 431,437 ---- # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; diff -Nrc3pad gcc-3.3.1/gcc/alias.c gcc-3.3.2/gcc/alias.c *** gcc-3.3.1/gcc/alias.c 2003-07-07 07:31:42.000000000 +0000 --- gcc-3.3.2/gcc/alias.c 2003-08-12 05:26:11.000000000 +0000 *************** find_base_value (src) *** 796,802 **** return reg_base_value[regno]; } ! return src; case MEM: /* Check for an argument passed in memory. Only record in the --- 796,802 ---- return reg_base_value[regno]; } ! return 0; case MEM: /* Check for an argument passed in memory. Only record in the diff -Nrc3pad gcc-3.3.1/gcc/builtins.c gcc-3.3.2/gcc/builtins.c *** gcc-3.3.1/gcc/builtins.c 2003-06-25 22:48:25.000000000 +0000 --- gcc-3.3.2/gcc/builtins.c 2003-09-18 21:18:05.000000000 +0000 *************** expand_builtin_apply (function, argument *** 1344,1350 **** OK_DEFER_POP; /* Return the address of the result block. */ ! return copy_addr_to_reg (XEXP (result, 0)); } /* Perform an untyped return. */ --- 1344,1355 ---- OK_DEFER_POP; /* Return the address of the result block. */ ! result = copy_addr_to_reg (XEXP (result, 0)); ! #ifdef POINTERS_EXTEND_UNSIGNED ! if (GET_MODE (result) != ptr_mode) ! result = convert_memory_address (ptr_mode, result); ! #endif ! return result; } /* Perform an untyped return. */ diff -Nrc3pad gcc-3.3.1/gcc/calls.c gcc-3.3.2/gcc/calls.c *** gcc-3.3.1/gcc/calls.c 2003-07-18 02:58:25.000000000 +0000 --- gcc-3.3.2/gcc/calls.c 2003-09-06 21:26:46.000000000 +0000 *************** emit_call_1 (funexp, fndecl, funtype, st *** 641,646 **** --- 641,650 ---- if the context of the call as a whole permits. */ inhibit_defer_pop = old_inhibit_defer_pop; + /* Don't bother cleaning up after a noreturn function. */ + if (ecf_flags & (ECF_NORETURN | ECF_LONGJMP)) + return; + if (n_popped > 0) { if (!already_popped) *************** expand_call (exp, target, ignore) *** 3101,3106 **** --- 3105,3111 ---- /* Verify that we've deallocated all the stack we used. */ if (pass + && ! (flags & (ECF_NORETURN | ECF_LONGJMP)) && old_stack_allocated != stack_pointer_delta - pending_stack_adjust) abort (); *************** expand_call (exp, target, ignore) *** 3194,3199 **** --- 3199,3208 ---- } emit_barrier_after (last); + + /* Stack adjustments after a noreturn call are dead code. */ + stack_pointer_delta = old_stack_allocated; + pending_stack_adjust = 0; } if (flags & ECF_LONGJMP) *************** emit_library_call_value_1 (retval, orgfu *** 4017,4025 **** (save_mode, plus_constant (argblock, argvec[argnum].offset.constant))); ! argvec[argnum].save_area = gen_reg_rtx (save_mode); ! emit_move_insn (argvec[argnum].save_area, stack_area); } } --- 4026,4048 ---- (save_mode, plus_constant (argblock, argvec[argnum].offset.constant))); ! if (save_mode == BLKmode) ! { ! argvec[argnum].save_area ! = assign_stack_temp (BLKmode, ! argvec[argnum].size.constant, 0); ! emit_block_move (validize_mem (argvec[argnum].save_area), ! stack_area, ! GEN_INT (argvec[argnum].size.constant), ! BLOCK_OP_CALL_PARM); ! } ! else ! { ! argvec[argnum].save_area = gen_reg_rtx (save_mode); ! ! emit_move_insn (argvec[argnum].save_area, stack_area); ! } } } *************** emit_library_call_value_1 (retval, orgfu *** 4259,4265 **** plus_constant (argblock, argvec[count].offset.constant))); ! emit_move_insn (stack_area, argvec[count].save_area); } highest_outgoing_arg_in_use = initial_highest_arg_in_use; --- 4282,4294 ---- plus_constant (argblock, argvec[count].offset.constant))); ! if (save_mode == BLKmode) ! emit_block_move (stack_area, ! validize_mem (argvec[count].save_area), ! GEN_INT (argvec[count].size.constant), ! BLOCK_OP_CALL_PARM); ! else ! emit_move_insn (stack_area, argvec[count].save_area); } highest_outgoing_arg_in_use = initial_highest_arg_in_use; diff -Nrc3pad gcc-3.3.1/gcc/c-decl.c gcc-3.3.2/gcc/c-decl.c *** gcc-3.3.1/gcc/c-decl.c 2003-07-11 11:54:26.000000000 +0000 --- gcc-3.3.2/gcc/c-decl.c 2003-09-06 14:44:14.000000000 +0000 *************** static tree c_make_fname_decl *** 285,290 **** --- 285,291 ---- static void c_expand_body PARAMS ((tree, int, int)); static void warn_if_shadowing PARAMS ((tree, tree)); static bool flexible_array_type_p PARAMS ((tree)); + static int field_decl_cmp PARAMS ((const PTR, const PTR)); static tree set_save_expr_context PARAMS ((tree *, int *, void *)); /* States indicating how grokdeclarator() should handle declspecs marked *************** pushdecl (x) *** 2011,2018 **** while (TREE_CODE (element) == ARRAY_TYPE) element = TREE_TYPE (element); ! if (TREE_CODE (element) == RECORD_TYPE ! || TREE_CODE (element) == UNION_TYPE) b->incomplete_list = tree_cons (NULL_TREE, x, b->incomplete_list); } } --- 2012,2021 ---- while (TREE_CODE (element) == ARRAY_TYPE) element = TREE_TYPE (element); ! if ((TREE_CODE (element) == RECORD_TYPE ! || TREE_CODE (element) == UNION_TYPE) ! && (TREE_CODE (x) != TYPE_DECL ! || TREE_CODE (TREE_TYPE (x)) == ARRAY_TYPE)) b->incomplete_list = tree_cons (NULL_TREE, x, b->incomplete_list); } } *************** grokfield (filename, line, declarator, d *** 5114,5119 **** --- 5117,5144 ---- return value; } + /* Function to help qsort sort FIELD_DECLs by name order. */ + + + static int + field_decl_cmp (xp, yp) + const PTR xp; + const PTR yp; + { + tree *x = (tree *)xp, *y = (tree *)yp; + + if (DECL_NAME (*x) == DECL_NAME (*y)) + return 0; + if (DECL_NAME (*x) == NULL) + return -1; + if (DECL_NAME (*y) == NULL) + return 1; + if (DECL_NAME (*x) < DECL_NAME (*y)) + return -1; + return 1; + } + + /* Fill in the fields of a RECORD_TYPE or UNION_TYPE node, T. FIELDLIST is a chain of FIELD_DECL nodes for the fields. ATTRIBUTES are attributes to be applied to the structure. */ *************** finish_struct (t, fieldlist, attributes) *** 5358,5363 **** --- 5383,5435 ---- TYPE_FIELDS (t) = fieldlist; + /* If there are lots of fields, sort so we can look through them fast. + We arbitrarily consider 16 or more elts to be "a lot". */ + + { + int len = 0; + + for (x = fieldlist; x; x = TREE_CHAIN (x)) + { + if (len > 15 || DECL_NAME (x) == NULL) + break; + len += 1; + } + + if (len > 15) + { + tree *field_array; + char *space; + + len += list_length (x); + + /* Use the same allocation policy here that make_node uses, to + ensure that this lives as long as the rest of the struct decl. + All decls in an inline function need to be saved. */ + + space = ggc_alloc (sizeof (struct lang_type) + len * sizeof (tree)); + + len = 0; + field_array = &(((struct lang_type *) space)->elts[0]); + for (x = fieldlist; x; x = TREE_CHAIN (x)) + { + field_array[len++] = x; + + /* if there is anonymous struct or unoin break out of the loop */ + if (DECL_NAME (x) == NULL) + break; + } + /* found no anonymous struct/union add the TYPE_LANG_SPECIFIC. */ + if (x == NULL) + { + TYPE_LANG_SPECIFIC (t) = (struct lang_type *) space; + TYPE_LANG_SPECIFIC (t)->len = len; + field_array = &TYPE_LANG_SPECIFIC (t)->elts[0]; + qsort (field_array, len, sizeof (tree), field_decl_cmp); + } + } + } + for (x = TYPE_MAIN_VARIANT (t); x; x = TYPE_NEXT_VARIANT (x)) { TYPE_FIELDS (x) = TYPE_FIELDS (t); *************** finish_struct (t, fieldlist, attributes) *** 5391,5397 **** && TREE_CODE (decl) != TYPE_DECL) { layout_decl (decl, 0); ! /* This is a no-op in c-lang.c or something real in objc-act.c. */ if (flag_objc) objc_check_decl (decl); rest_of_decl_compilation (decl, NULL, toplevel, 0); --- 5463,5470 ---- && TREE_CODE (decl) != TYPE_DECL) { layout_decl (decl, 0); ! /* This is a no-op in c-lang.c or something real in ! objc-act.c. */ if (flag_objc) objc_check_decl (decl); rest_of_decl_compilation (decl, NULL, toplevel, 0); *************** finish_struct (t, fieldlist, attributes) *** 5427,5433 **** --- 5500,5510 ---- else current_binding_level->incomplete_list = TREE_CHAIN (x); } + else + prev = x; } + else + prev = x; } } *************** finish_function (nested, can_defer_p) *** 6440,6445 **** --- 6517,6529 ---- && DECL_INLINE (fndecl)) warning ("no return statement in function returning non-void"); + /* With just -W, complain only if function returns both with + and without a value. */ + if (extra_warnings + && current_function_returns_value + && current_function_returns_null) + warning ("this function may return with or without a value"); + /* Clear out memory we no longer need. */ free_after_parsing (cfun); /* Since we never call rest_of_compilation, we never clear *************** c_expand_body (fndecl, nested_p, can_def *** 6624,6636 **** if (nested_p) ggc_pop_context (); - /* With just -W, complain only if function returns both with - and without a value. */ - if (extra_warnings - && current_function_returns_value - && current_function_returns_null) - warning ("this function may return with or without a value"); - /* If requested, warn about function definitions where the function will return a value (usually of some struct or union type) which itself will take up a lot of stack space. */ --- 6708,6713 ---- diff -Nrc3pad gcc-3.3.1/gcc/cfgcleanup.c gcc-3.3.2/gcc/cfgcleanup.c *** gcc-3.3.1/gcc/cfgcleanup.c 2003-07-03 18:04:24.000000000 +0000 --- gcc-3.3.2/gcc/cfgcleanup.c 2003-09-07 12:54:30.000000000 +0000 *************** try_simplify_condjump (cbranch_block) *** 125,130 **** --- 125,132 ---- basic_block jump_block, jump_dest_block, cbranch_dest_block; edge cbranch_jump_edge, cbranch_fallthru_edge; rtx cbranch_insn; + rtx insn, next; + rtx end; /* Verify that there are exactly two successors. */ if (!cbranch_block->succ *************** try_simplify_condjump (cbranch_block) *** 177,182 **** --- 179,204 ---- cbranch_fallthru_edge->flags &= ~EDGE_FALLTHRU; update_br_prob_note (cbranch_block); + end = jump_block->end; + /* Deleting a block may produce unreachable code warning even when we are + not deleting anything live. Supress it by moving all the line number + notes out of the block. */ + for (insn = jump_block->head; insn != NEXT_INSN (jump_block->end); + insn = next) + { + next = NEXT_INSN (insn); + if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0) + { + if (insn == jump_block->end) + { + jump_block->end = PREV_INSN (insn); + if (insn == end) + break; + } + reorder_insns_nobb (insn, insn, end); + end = insn; + } + } /* Delete the block with the unconditional jump, and clean up the mess. */ flow_delete_block (jump_block); tidy_fallthru_edge (cbranch_jump_edge, cbranch_block, cbranch_dest_block); diff -Nrc3pad gcc-3.3.1/gcc/cfgloop.c gcc-3.3.2/gcc/cfgloop.c *** gcc-3.3.1/gcc/cfgloop.c 2002-09-22 02:03:15.000000000 +0000 --- gcc-3.3.2/gcc/cfgloop.c 2003-10-03 21:23:21.000000000 +0000 *************** flow_loops_find (loops, flags) *** 804,822 **** header->loop_depth = 0; for (e = header->pred; e; e = e->pred_next) { basic_block latch = e->src; if (e->flags & EDGE_ABNORMAL) ! { ! if (more_latches) ! { ! RESET_BIT (headers, header->index); ! num_loops--; ! } ! break; ! } /* Look for back edges where a predecessor is dominated by this block. A natural loop has a single entry --- 804,823 ---- header->loop_depth = 0; + /* If we have an abnormal predecessor, do not consider the + loop (not worth the problems). */ + for (e = header->pred; e; e = e->pred_next) + if (e->flags & EDGE_ABNORMAL) + break; + if (e) + continue; + for (e = header->pred; e; e = e->pred_next) { basic_block latch = e->src; if (e->flags & EDGE_ABNORMAL) ! abort (); /* Look for back edges where a predecessor is dominated by this block. A natural loop has a single entry diff -Nrc3pad gcc-3.3.1/gcc/cfgrtl.c gcc-3.3.2/gcc/cfgrtl.c *** gcc-3.3.1/gcc/cfgrtl.c 2003-04-22 23:08:15.000000000 +0000 --- gcc-3.3.2/gcc/cfgrtl.c 2003-09-17 07:17:08.000000000 +0000 *************** purge_dead_edges (bb) *** 2261,2268 **** continue; else if ((e->flags & EDGE_EH) && can_throw_internal (insn)) /* Keep the edges that correspond to exceptions thrown by ! this instruction. */ ! continue; /* We do not need this edge. */ bb->flags |= BB_DIRTY; --- 2261,2272 ---- continue; else if ((e->flags & EDGE_EH) && can_throw_internal (insn)) /* Keep the edges that correspond to exceptions thrown by ! this instruction and rematerialize the EDGE_ABNORMAL flag ! we just cleared above. */ ! { ! e->flags |= EDGE_ABNORMAL; ! continue; ! } /* We do not need this edge. */ bb->flags |= BB_DIRTY; diff -Nrc3pad gcc-3.3.1/gcc/ChangeLog gcc-3.3.2/gcc/ChangeLog *** gcc-3.3.1/gcc/ChangeLog 2003-08-04 12:48:12.000000000 +0000 --- gcc-3.3.2/gcc/ChangeLog 2003-10-16 19:43:18.000000000 +0000 *************** *** 1,3 **** --- 1,653 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-10-14 Jason Merrill + + PR c/11885 + * stor-layout.c (update_alignment_for_field): Packed non-bit-fields + get byte alignment. + + 2003-10-14 Rainer Orth + + * fixinc/inclhack.def (alpha_pthread_gcc): New fix. + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New + testcase. + Fixes PR bootstrap/9330. + + 2003-10-14 Steven Bosscher + + PR target/11087 + Backport from gcc-3_3-rhl-branch and mainline. + + 2003-07-17 Jakub Jelinek + + * loop.c (basic_induction_var): Check if convert_modes + emitted any instructions. Remove them and return 0 if so. + + 2003-10-13 Matt Kraai + + PR target/11949 + Backport from mainline: + + 2003-05-05 Aldy Hernandez + + * testsuite/gcc.c-torture/compile/simd-6.c: New. + * c-typeck.c (digest_init): Handle arrays of vector constants. + + 2003-10-11 Eric Botcazou + + PR optimization/12544 + * function.c (put_var_into_stack): Don't generate ADDRESSOFs + for DECL_NONLOCAL decls. + + 2003-10-09 Eric Botcazou + + PR optimization/12510 + Backport from mainline: + + 2003-09-08 Jakub Jelinek + + * toplev.c (rest_of_compilation): Call split_all_insns before + regstack if optimizing but not scheduling after reload. + + 2003-10-09 Rainer Orth + + * fixinc/inclhack.def (stdio_va_list): Removed _ap fix. + (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21 + introduced some multi-line prototypes. + * fixinc/fixincl.x: Regenerate. + Fixes PR libf2c/12263. + + 2003-10-08 Timo Kokkonen + Eric Botcazou + + PR bootstrap/12490 + * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant + to define the size of the extern_C_braces array. Set it to 200. + (scan_decls): Abort when extern_C_braces_length is out-of-bounds. + + 2003-10-06 Eric Botcazou + + PR optimization/12215 + * cse.c (cse_set_around_loop): Emit the move at the beginning + of the next basic block for trapping sets. + + 2003-10-06 Eric Botcazou + + PR optimization/11637 + * combine.c (adjust_for_new_dest): New function to adjust the + notes and LOG_LINKS when the dest of an insn has changed. + (try_combine): Use it when deleting the first insn of a two-insn + parallel or splitting a two-load parallel. + + 2003-10-04 Stephane Carrez + + * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is + identical to m68hc12 as far as libraries are concerned. + + 2003-10-04 Eric Botcazou + + PR c/12446 + * c-typeck.c (convert_for_assignment): Issue an error for + array to pointer assignment after default conversion. + (digest_init): Likewise. + + 2003-10-03 Gerald Pfeifer + + * doc/extend.texi (Function Attributes): Fix title of GNU C + Preprocessor manual. + (C++ Extensions): Fix reference to "Predefined Macros" in the + GNU C Preprocessor manual. + + 2003-10-03 Zdenek Dvorak + + PR/11883 + * cfgloop.c (flow_loops_find): Fix handling of abnormal edges. + + 2003-10-02 Mark Mitchell + + PR optimization/12180 + * c-objc-common.c (inline_forbidden_p): Do not permit inlining of + functions containing calls to __builtin_next_arg. + + 2003-10-02 Josef Zlomek + + PR/12292 + * combine.c (make_field_assignment): Check whether rtx's code + is CONST_INT before using INTVAL. + + 2003-10-02 Josef Zlomek + + Waldek Hebisch + PR/12072 + * varasm.c (compare_constant): Fix thinko. + + 2003-10-01 John David Anglin + + * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist. + * configure: Rebuilt. + + 2003-10-01 John David Anglin + + * aclocal.m4: Add ultrix* to /dev/zero blacklist. + * configure: Rebuilt. + + 2003-10-01 Rainer Orth + + * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like + Solaris 7-9. + + * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by + wildcards which explicitly match micro versions. + * fixinc/fixincl.x: Regenerate. + + 2003-10-01 Richard Henderson + + * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor + DWARF_ALT_FRAME_RETURN_COLUMN. + * unwind-dw2.c (dwarf_reg_size_table): Expand by one. + (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column. + (uw_frame_state_for): Return end-of-stack for null return address. + + * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return. + (alpha_expand_prologue): Store a zero for it. + (alpha_expand_epilogue): Don't reload it. + * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New. + * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64 + for the sigframe return address. + + 2003-10-01 Nick Clifton + + * Import this patch from mainline: + + 2003-02-01 John David Anglin + + * collect2.c (pexecute_pid): Rename to pid. + (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use + pid. + + 2003-09-23 David S. Miller + + * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine + before redefining. + * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. + + 2003-10-01 Eric Botcazou + + PR optimization/11753 + * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to + the length in the non-V9 case. + + 2003-09-27 Eric Botcazou + + PR optimization/12340 + * loop.h (struct induction): Document the new semantics + of the 'same' field for bivs. + * unroll.c (biv_total_increment): Don't count the same + biv increment several times. + (loop_iterations) [GENERAL_INDUCT]: Likewise. + + 2003-09-26 John David Anglin + + PR bootstrap/12358 + * pa.c (output_bvb): Fix typo. + + 2003-09-24 Alexandre Oliva + + * cpplib.c (do_pragma): Reintroduce cb_line_change call in the + code path that calls a handler. + + 2003-09-23 Geoffrey Keating + + * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies. + + * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't + pass zero-size arrays by reference. + (rs6000_va_arg): Likewise. + + 2003-09-22 Joel Sherrill + + * combine.c, config/mips/t-elf, config/c4x/rtems.h: Revert patches + which should not have been committed with other RTEMS changes. + + 2003-09-22 Olivier Hainque + + PR target/9786 + * reg-stack.c (convert_regs_1): Purge possible dead eh edges + after potential deletion of trapping insn. Avoids later ICE + from call to fixup_abnormal_edges. + (convert_regs_2): Stack the current block successors before + processing this block, that is, before the potential deletion of + dead edges by convert_regs_1, because these edges have been used + to initialize the predecessors count. + + 2003-09-21 Eric Botcazou + + PR target/12301 + * reorg.c (stop_search_p): Return 1 for insns that can + throw internally. + + 2003-09-19 Joel Sherrill + + * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to + 68881. + + 2003-09-19 Ralf Corsepius + + * config/m68k/t-rtems (m68k-*-rtems*): New. + * config.gcc: Use config/m68k/t-rtems. + + 2003-09-19 Ralf Corsepius + + * config/mips/t-rtems: New. + * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems. + + 2003-09-19 T. Papadopoulo + Eric Botcazou + + PR target/12166 + * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1. + + 2003-09-18 Mark Mitchell + + PR target/11184 + * builtins.c (expand_builtin_apply): Use convert_memory_address + before returning the value. + + 2003-09-17 Rainer Orth + + * configure.in (gcc_cv_as_hidden): Only disable if no GNU ld + detected. + * configure: Regenerate. + Fixes PR target/12248. + + 2003-09-17 Richard Henderson + + * config/alpha/alpha.c (alpha_expand_mov): Do gen_movdi_er_maybe_g + always during initial code generation. + * config/alpha/alpha.md (movdi_er_maybe_g): Don't conditionalize + on flag_inline_functions. + + 2003-09-17 Eric Botcazou + + PR optimization/11646 + * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the + EDGE_ABNORMAL flag for EH edges. + * toplev.c (rest_of_compilation): Delete unreachable blocks + if dead edges were purged after the first CSE pass. + + 2003-09-16 Jakub Jelinek + + * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + + 2003-09-15 Alexandre Oliva + + * cpplib.c (do_pragma): Remove unnecessary cb_line_change. + + 2003-09-14 Alexandre Oliva + + * cppmain.c (cb_line_change): Revert 2003-08-04's change. + * c-lex.c (cb_line_change): Skip line changing whenever + cppmain.c would. + + 2003-09-11 Alexandre Oliva + + PR fortran/11522 + * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function + for ultimate origin even if block is abstract. + + 2003-09-10 Martin Husemann + + PR target/11965 + * config/sparc/sparc.c (sparc_v8plus_shift): Protect against + constants greater than 63. + * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect + against constants greater than 31. + (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against + constants greater than 63. + + 2003-09-09 Richard Henderson + + PR target/12224: + * config/ia64/ia64.c (ia64_expand_move): Properly truncate + result when op0 is SImode. + + 2003-09-09 Rainer Orth + + * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if + assembler supports Sun syntax for cmov. + * configure: Regenerate. + * config.in: Li{ewise. + * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to + HAVE_AS_IX86_CMOV_SUN_SYNTAX. + * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove. + Fixes PR target/12101. + + 2003-09-09 Rainer Orth + + * configure.in (gcc_cv_as_hidden): Disable unless using GNU ld. + * configure: Regenerate. + + 2003-09-08 Mark Mitchell + + * mklibgcc.in (libcc.a): Depend on stmp-dirs. + (libgov.a): Likewise. + (libgcc_eh.a): Likewise. + + 2003-09-07 Eric Botcazou + + PR target/11689 + * config/i386/i386.c (memory_address_length): Fix computation when + the base is esp or ebp. + + 2003-09-07 Mark Mitchell + + PR c++/11852 + * varasm.c (initializer_constant_valid_p): Correct logic for + CONSTRUCTORs. + + Sun Sep 7 14:53:36 CEST 2003 Jan Hubicka + + * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch. + + 2003-09-07 Christian Ehrhardt + + PR optimization/11662 + Backport from mainline: + + 2003-07-10 Denis Chertykov + Richard Kenner + + * combine.c (gen_binary): Handle the CLOBBER rtx and + don't build a binary operation with it. + + Sat Sep 6 23:16:35 CEST 2003 Jan Hubicka + + * cfgcleanup.c (try_simplify_condjump): Fix my previous patch. + + PR target/12070 + * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments. + + PR opt/12082 + * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning. + + 2003-09-06 Steven Bosscher + + PR c/9862 + * c-decl.c (c_expand_body): Move return warning from here... + (finish_function): ...to here. + + 2003-09-05 Jan Hubicka + + PR target/8869 + * expr.c (convert_modes): Deal properly with integer to vector + constant conversion. + + 2003-09-05 Andrew Pinski + + PR c/10962 + * c-decl.c (field_decl_cmp): Add back function. + (finish_struct): Sort fields if number greater than 15 + and no anymous structs/unions. + + 2003-09-04 Jakub Jelinek + + * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2. + * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function. + * unwind.h (_Unwind_GetBSP): New prototype. + * libgcc-std.ver: Add empty GCC_3.3.2 version. + * mkmap-symver.awk: For symbol versions with no exported symbols, + don't put anything into version script, just change all symbol + versions which inherit from it to inherit from its ancestor. + + 2003-09-02 Kazuhiro Inaoka + + This is a fix for PR 10988: + * m32r.c (m32r_print_operand): Correct comment. + (m32r_expand_block_move): Correct the handling of leftover/small + blocks. + (m32r_block_small_immediate_operand): New predicate. + * m32r.md (movstrsi_small_internal): New pattern. + * m32r.h (PREDICATE_CODES): Add m32r_block_small_immediate_operand. + * m32r-protos.h: Add prototype for m32r_block_small_immediate_operand. + + 2003-08-25 Richard Henderson + + * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true + for 16-byte vector modes if sse not enabled; warn for abi change. + (ix86_value_regno): Only return xmm0 for 16-byte vector types. + + 2003-08-25 Zack Weinberg + + * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove + commented-out logic to use DCE threads (if present), add + support for POSIX threads. + * config/ia64/hpux.h: Define CPP_SPEC to set appropriate + #defines for -pthread. Add -lpthread to LIB_SPEC when + -pthread. In both cases take -mt as a synonym for -pthread + for acc compatibility. + Define GTHREAD_USE_WEAK to 0. + * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC. + Remove old logic for DCE threads from LIB_SPEC. + * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0. + + 2003-08-25 Ulrich Weigand + + * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN. + + 2003-08-23 Jakub Jelinek + + * c-decl.c (pushdecl): Only put decls which finish_struct will do + something about onto incomplete chain. + (finish_struct): If not removing type from incomplete + list, update prev. + + 2003-08-23 Alexandre Oliva + + * cppmain.c (cb_line_change): Don't skip line changing while + parsing macro arguments in the top-level context. + + 2003-08-22 Mark Mitchell + + * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0. + + * config/ia64/ia64.c (ia64_output_mi_thunk): Support ILP32 mode. + + 2003-08-21 Kazu Hirata + + PR target/11805 + * config/h8300/h8300.md (two anonymous patterns): Remove. + + 2003-08-20 Kaveh R. Ghazi + + * stmt.c (expand_asm_operands): Avoid string concatenation. + * tree.c (default_flag_random_seed): Avoid ISO C definition. + * varasm.c (output_constant_def): Delete unused variable. + + 2003-08-18 Matt Kraai + + PR c/11207 + * c-typeck.c (set_init_index): Check for negative index. + + 2003-08-14 Mark Mitchell + + * version.c (version_string): Use "prerelease" not "experimental". + + 2003-08-11 James E Wilson + + PR optimization/11319 + PR target/10021 + * alias.c (find_base_value, case REG): Return 0 not src if no base + found. + + 2003-08-11 Kean Johnston + + * fixinc/inclhack.def (sco_math): Updated test text and select trigger + according to bkorb's review. + * fixinc/inclhack.def (sco_regset): Ditto. + * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Remove all mach + lines so that this file is unconditionally replaced. + * fixinc/inclhack.def (sco_string): Use ansi/string.h as the first file + to check so that the Ultrix string.h check doesnt overwrite the test + case with its replacement text. + * fixinc/fixincl.x: Regenerated + * fixinc/tests/base/math.h: Updated sco_math result text + * fixinc/tests/base/ansi/string.h: New file. + * fixinc/tests/base/sys/regset.h: Compacted result text to fewer lines. + + 2003-08-11 Dale Johannesen + * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable handling of + decrement-and-branch farther away than 32 bits. + + 2003-08-10 Zack Weinberg + + Backport the following changes from mainline: + + 2003-05-08 David Mosberger + + * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New. + + 2003-04-03 Richard Henderson + + * unwind-libunwind.c (_Unwind_GetCFA): New. + + 2003-03-27 David Mosberger + + * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind + v0.9 API change: replace read of UNW_REG_HANDLER with + unw_get_proc_info(). + (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA + with unw_get_proc_info(). + (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with + unw_get_proc_info(). + + 2003-03-13 Nathanael Nerode + + * unwind-libunwind.c: Replace "GNU CC" with "GCC". + + 2002-10-02 David Mosberger-Tang + + * config/t-libunwind: Mention unwind-sjlj.c. + * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__ + to #ifndef __USING_SJLJ_EXCEPTIONS__. + + * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions + before inclusion of config.gcc, but after configuring the compiler etc. + Determine default value for --enable-libunwind-exceptions based on + whether the host has a libunwind library (not guaranteed to be correct, + but it's a reasonable first guess and can always be overridden with an + explicit --enable/disable-libunwind-exceptions. + * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a + tmake_file when $use_libunwind_exceptions is enabled. + * Makefile.in: Update comment: LIB2ADDEH is updated not just by + ia64 (e.g., config/t-linux also updates it). + * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind + along with the shared version of libgcc since the latter requires + the former. + + * unwind-libunwind.c: New file. + * config/t-libunwind: Ditto. + + 2003-08-10 Richard Henderson + + PR target/11693 + * config/ia64/ia64.c (ia64_emit_nops): Skip L slots when + padding before inline assembly. + + 2003-08-10 John David Anglin + + PR c++/11712 + * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define + __STDC_EXT__ when using C++ dialect. + + 2003-08-08 Kean Johnston + + PR target/9877 + PR target/8336 + * config.gcc (sco3.2v5*): Use elfos.h and dbxelf.h in tm_file; + Eliminate need for t-sco5gas target fragment. + No longer build crt{begin,end}S.o, that were used for COFF support. + * tlink.c (recompile_files): Add missing = in putenv() calls. + * unwind-dw2.c (_Unwind_GetCFA): Correct return cast. + * config/i386/sco5.h: Major overhaul to remove all COFF support + * config/i386/t-sco5: Multilib for PIC support + * config/i386/t-sco5gas: Remove + * config/i386/i386.c: Check value as well as presence of + SUPPORTS_ONE_ONLY + * doc/install.texi: Update for modern SCO instructions + * fixinc/check.tpl: Allow user to specify diff program for make check + * fixinc/inclhack.def: Fix several SCO header files, namely string.h, + math.h, sys/byteorder.h and sys/regset.h. + * fixinc/fixincl.x: Regenerate + * fixinc/tests/base/math.h: Update + * fixinc/tests/base/sys/byteorder.h: Update + * fixinc/tests/base/string.h: Added + * fixinc/tests/base/sys/regset.h: Added + * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported) + + 2003-08-08 Roger Sayle + + PR c/11370 + * calls.c (emit_call_1): Don't bother popping the arguments off of + the stack after a noreturn function call; The adjustment is dead. + (expand_call): Likewise. + + 2003-08-08 SUGIOKA Toshinobu + + * config.gcc: Do not override sh/t-linux with sh/t-le. + + 2003-08-08 Kaz Kojima + + * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath. + (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee + when -mieee-fp set and -shared not set. + + 2003-08-08 Richard Henderson + + PR target/11535 + * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove + RETURN_ADDRESS_POINTER_REGNUM. + (ia64_expand_prologue): Don't frob it. + (ia64_output_function_epilogue): Likewise. + (ia64_return_addr_rtx): New. + (ia64_split_return_addr_rtx): New. + * config/ia64/ia64-protos.h: Update. + * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement. + (RETURN_ADDRESS_POINTER_REGNUM): Remove. + (GENERAL_REGNO_P): Don't check it. + (AR_*_REGNUM): Renumber. + (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM. + (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise. + (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise. + (ELIMINABLE_REGS, REGISTER_NAMES): Likewise. + (RETURN_ADDR_RTX): Use ia64_return_addr_rtx. + * config/ia64/ia64.md (UNSPEC_RET_ADDR): New. + (movdi_ret_addr): New. + + 2003-08-03 Geoffrey Keating + + PR 11709 + * varasm.c (output_constant_def_contents): Use + ASM_DECLARE_CONSTANT_NAME if defined. + * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME. + * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized + objects get at least one byte to prevent assembler problems. + (ASM_DECLARE_CONSTANT_NAME): New. + + 2003-08-07 Mark Mitchell + + * version.c (version_string): Reset to prerelease. + * doc/include/gcc-common.texi: Update version. + 2003-08-04 Release Manager * GCC 3.3.1 Released. *************** *** 8,30 **** 2003-08-03 Neil Booth ! PR preprocessor/11534 ! * cppexp.c (parse_defined): Warn only if -pedantic. 2003-08-03 Mark Mitchell * Makefile.in (ORDINARY_FLAGS_TO_PASS): Pass AR. ! * Makefile.in (STAGE2_FLAGS_TO_PASS): Pass AR_FOR_TARGET and RANLIB_FOR_TARGET. (stage1_build): Likewise. 2003-08-03 Jan Hubicka ! PR 10510 ! * config/pa/pa.h (MAYBE_FP_REG_CLASS_P): New. ! (SECONDARY_MEMORY_NEEDED): Use it. ! 2003-08-01 Geoffrey Keating PR 11709 (partial fix) --- 658,680 ---- 2003-08-03 Neil Booth ! PR preprocessor/11534 ! * cppexp.c (parse_defined): Warn only if -pedantic. 2003-08-03 Mark Mitchell * Makefile.in (ORDINARY_FLAGS_TO_PASS): Pass AR. ! * Makefile.in (STAGE2_FLAGS_TO_PASS): Pass AR_FOR_TARGET and RANLIB_FOR_TARGET. (stage1_build): Likewise. 2003-08-03 Jan Hubicka ! PR 10510 ! * config/pa/pa.h (MAYBE_FP_REG_CLASS_P): New. ! (SECONDARY_MEMORY_NEEDED): Use it. ! 2003-08-01 Geoffrey Keating PR 11709 (partial fix) *************** *** 40,57 **** PR target/10681 2003-06-27 J"orn Rennecke ! * flow.c (propagate_one_insn): Use proper test for a register ! being part of the return value. 2003-06-26 Richard Henderson ! * flow.c (propagate_one_insn): Preserve live-at-end registers ! across tail calls. 2003-06-26 Richard Henderson ! * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls. ! (ia64_split_call): Only load descriptor for GP register inputs. ! (ia64_expand_epilogue): Check current_frame_info.mask not ! current_function_is_leaf to restore ar.pfs. 2003-07-26 Gerald Pfeifer --- 690,707 ---- PR target/10681 2003-06-27 J"orn Rennecke ! * flow.c (propagate_one_insn): Use proper test for a register ! being part of the return value. 2003-06-26 Richard Henderson ! * flow.c (propagate_one_insn): Preserve live-at-end registers ! across tail calls. 2003-06-26 Richard Henderson ! * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls. ! (ia64_split_call): Only load descriptor for GP register inputs. ! (ia64_expand_epilogue): Check current_frame_info.mask not ! current_function_is_leaf to restore ar.pfs. 2003-07-26 Gerald Pfeifer *************** *** 62,76 **** Backport the folling patch. 2003-04-01 Aldy Hernandez ! ! PR/8878 ! * expr.c (expand_expr): Handle VECTOR_CST. ! (const_vector_from_tree): New. ! ! * varasm.c (output_constant): Handle VECTOR_CST. ! ! * c-typeck.c (digest_init): Build a vector constant from a ! VECTOR_TYPE. 2003-07-23 John David Anglin --- 712,726 ---- Backport the folling patch. 2003-04-01 Aldy Hernandez ! ! PR/8878 ! * expr.c (expand_expr): Handle VECTOR_CST. ! (const_vector_from_tree): New. ! ! * varasm.c (output_constant): Handle VECTOR_CST. ! ! * c-typeck.c (digest_init): Build a vector constant from a ! VECTOR_TYPE. 2003-07-23 John David Anglin *************** *** 81,91 **** PR optimization/10679 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS. ! 2003-07-22 Bob Wilson ! * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define. ! 2003-07-23 Dave Fluri * doc/extend.texi: Fixes to spelling, grammar, and diction. --- 731,741 ---- PR optimization/10679 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS. ! 2003-07-22 Bob Wilson ! * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define. ! 2003-07-23 Dave Fluri * doc/extend.texi: Fixes to spelling, grammar, and diction. *************** *** 97,111 **** 2003-07-17 Eric Botcazou ! PR optimization/11536 * unroll.c (loop_iterations): Do not replace a register holding the final value by its equivalent before the loop if it is not invariant. - 2003-07-17 Eric Botcazou - - * gcc.c-torture/execute/loop-16.c: New test. - 2003-07-21 Ben Elliston * doc/invoke.texi (V850 Options): Spelling fixes. --- 747,757 ---- 2003-07-17 Eric Botcazou ! PR optimization/11536 * unroll.c (loop_iterations): Do not replace a register holding the final value by its equivalent before the loop if it is not invariant. 2003-07-21 Ben Elliston * doc/invoke.texi (V850 Options): Spelling fixes. *************** *** 152,158 **** if the predicate doesn't satisfy. (gen_cond_trap): Allow prepare_operand to fail. Pass correct opnum argument to prepare_operand. ! 2003-07-18 Eric Botcazou PR optimization/11083 --- 798,804 ---- if the predicate doesn't satisfy. (gen_cond_trap): Allow prepare_operand to fail. Pass correct opnum argument to prepare_operand. ! 2003-07-18 Eric Botcazou PR optimization/11083 *************** *** 168,174 **** 2003-07-17 Nathanael Nerode PR bootstrap/11043 ! * config/arc/t-arc: Replace bogus references to "x-crtinit.o", "x-crtfini.o" with "crtinit.o", "crtfini.o". 2003-07-17 Eric Botcazou --- 814,820 ---- 2003-07-17 Nathanael Nerode PR bootstrap/11043 ! * config/arc/t-arc: Replace bogus references to "x-crtinit.o", "x-crtfini.o" with "crtinit.o", "crtfini.o". 2003-07-17 Eric Botcazou *************** *** 183,189 **** * doc/invoke.texi (SPARC Options): Document "-mimpure-text". 2003-07-17 Eric Botcazou ! Phil Edwards * doc/install.texi (*-*-solaris2*): Document the step-by-step procedure to bootstrap and install. --- 829,835 ---- * doc/invoke.texi (SPARC Options): Document "-mimpure-text". 2003-07-17 Eric Botcazou ! Phil Edwards * doc/install.texi (*-*-solaris2*): Document the step-by-step procedure to bootstrap and install. *************** *** 193,201 **** 2003-07-16 Richard Henderson PR target/10907 ! * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end ! even with !TARGET_CONST_GP. ! (ia64_function_ok_for_sibcall): Reject non-local functions. 2003-07-15 Geoffrey Keating --- 839,847 ---- 2003-07-16 Richard Henderson PR target/10907 ! * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end ! even with !TARGET_CONST_GP. ! (ia64_function_ok_for_sibcall): Reject non-local functions. 2003-07-15 Geoffrey Keating *************** *** 297,303 **** * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if the old decl had instantiated DECL_RTL. ! 2003-05-21 Danny Smith PR c++/9738 * config/i386/winnt.c (i386_pe_encode_section_info): Enable --- 943,949 ---- * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if the old decl had instantiated DECL_RTL. ! 2003-05-21 Danny Smith PR c++/9738 * config/i386/winnt.c (i386_pe_encode_section_info): Enable *************** *** 329,335 **** * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before loop_insn_emit_before. (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. ! 2003-07-10 Dara Hazeghi PR bootstrap/10758 --- 975,981 ---- * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before loop_insn_emit_before. (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. ! 2003-07-10 Dara Hazeghi PR bootstrap/10758 *************** *** 385,392 **** 2003-07-07 Dale Johannesen ! PR 10900 ! * config/rs6000/darwin-tramp.asm: Fix trampolines. 2003-07-07 Andrew Pinski --- 1031,1038 ---- 2003-07-07 Dale Johannesen ! PR 10900 ! * config/rs6000/darwin-tramp.asm: Fix trampolines. 2003-07-07 Andrew Pinski *************** *** 400,406 **** (-falign-jumps): Likewise. 2003-07-07 Richard Kenner ! Eric Botcazou PR optimization/11198 * alias.c (objects_must_conflict_p): Return 1 if the types have --- 1046,1052 ---- (-falign-jumps): Likewise. 2003-07-07 Richard Kenner ! Eric Botcazou PR optimization/11198 * alias.c (objects_must_conflict_p): Return 1 if the types have *************** Sun Apr 20 18:23:18 CEST 2003 Richard H *** 1567,1573 **** 2003-04-21 Mark Mitchell ! * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL have the same form as the old RTL. 2003-04-18 Mark Mitchell --- 2213,2219 ---- 2003-04-21 Mark Mitchell ! * config/i386/winnt.c (i386_pe_}ark_dllimport): Make the new RTL have the same form as the old RTL. 2003-04-18 Mark Mitchell *************** Mon Apr 7 15:56:30 CEST 2003 Jan Hubic *** 4172,4178 **** * df.c (df_uses_record): Handle CC0. 2003-01-25 Jan Hubicka ! Eric Botcazou PR opt/8492 * gcse.c (one_cprop_pass): Delete unreachable blocks. --- 4818,4824 ---- * df.c (df_uses_record): Handle CC0. 2003-01-25 Jan Hubicka ! Eric Botcazou PR opt/8492 * gcse.c (one_cprop_pass): Delete unreachable blocks. *************** Mon Apr 7 15:56:30 CEST 2003 Jan Hubic *** 4445,4451 **** 2003-01-16 Stephane Carrez ! * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC11. (expand_epilogue): Likewise. (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers. --- 5091,5097 ---- 2003-01-16 Stephane Carrez ! * config/m68hs11/m68hc11.c (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC11. (expand_epilogue): Likewise. (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers. *************** cp: *** 16996,16998 **** --- 17642,17645 ---- * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses. See ChangeLog.7 for earlier changes. + diff -Nrc3pad gcc-3.3.1/gcc/c-lex.c gcc-3.3.2/gcc/c-lex.c *** gcc-3.3.1/gcc/c-lex.c 2003-02-11 22:49:52.000000000 +0000 --- gcc-3.3.2/gcc/c-lex.c 2003-09-14 13:26:35.000000000 +0000 *************** static void *** 245,252 **** cb_line_change (pfile, token, parsing_args) cpp_reader *pfile ATTRIBUTE_UNUSED; const cpp_token *token; ! int parsing_args ATTRIBUTE_UNUSED; { src_lineno = SOURCE_LINE (map, token->line); } --- 245,255 ---- cb_line_change (pfile, token, parsing_args) cpp_reader *pfile ATTRIBUTE_UNUSED; const cpp_token *token; ! int parsing_args; { + if (token->type == CPP_EOF || parsing_args) + return; + src_lineno = SOURCE_LINE (map, token->line); } diff -Nrc3pad gcc-3.3.1/gcc/c-objc-common.c gcc-3.3.2/gcc/c-objc-common.c *** gcc-3.3.1/gcc/c-objc-common.c 2003-05-02 19:52:02.000000000 +0000 --- gcc-3.3.2/gcc/c-objc-common.c 2003-10-03 00:36:55.000000000 +0000 *************** inline_forbidden_p (nodep, walk_subtrees *** 94,99 **** --- 94,101 ---- arguments. */ case BUILT_IN_VA_START: case BUILT_IN_STDARG_START: + case BUILT_IN_NEXT_ARG: + case BUILT_IN_VA_END: #if 0 /* Functions that need information about the address of the caller can't (shouldn't?) be inlined. */ diff -Nrc3pad gcc-3.3.1/gcc/collect2.c gcc-3.3.2/gcc/collect2.c *** gcc-3.3.1/gcc/collect2.c 2003-03-31 01:12:20.000000000 +0000 --- gcc-3.3.2/gcc/collect2.c 2003-10-01 14:08:34.000000000 +0000 *************** struct obstack temporary_obstack; *** 234,240 **** char * temporary_firstobj; /* Holds the return value of pexecute. */ ! int pexecute_pid; /* Structure to hold all the directories in which to search for files to execute. */ --- 234,240 ---- char * temporary_firstobj; /* Holds the return value of pexecute. */ ! int pid; /* Structure to hold all the directories in which to search for files to execute. */ *************** collect_wait (prog) *** 1499,1505 **** { int status; ! pwait (pexecute_pid, &status, 0); if (status) { if (WIFSIGNALED (status)) --- 1499,1505 ---- { int status; ! pwait (pid, &status, 0); if (status) { if (WIFSIGNALED (status)) *************** collect_execute (prog, argv, redir) *** 1588,1596 **** dup2 (redir_handle, STDERR_FILENO); } ! pexecute_pid = pexecute (argv[0], argv, argv[0], NULL, ! &errmsg_fmt, &errmsg_arg, ! (PEXECUTE_FIRST | PEXECUTE_LAST | PEXECUTE_SEARCH)); if (redir) { --- 1588,1596 ---- dup2 (redir_handle, STDERR_FILENO); } ! pid = pexecute (argv[0], argv, argv[0], NULL, ! &errmsg_fmt, &errmsg_arg, ! (PEXECUTE_FIRST | PEXECUTE_LAST | PEXECUTE_SEARCH)); if (redir) { *************** collect_execute (prog, argv, redir) *** 1602,1608 **** close (redir_handle); } ! if (pexecute_pid == -1) fatal_perror (errmsg_fmt, errmsg_arg); } --- 1602,1608 ---- close (redir_handle); } ! if (pid == -1) fatal_perror (errmsg_fmt, errmsg_arg); } *************** scan_prog_file (prog_name, which_pass) *** 2069,2075 **** void (*quit_handler) PARAMS ((int)); char *real_nm_argv[4]; const char **nm_argv = (const char **) real_nm_argv; - int pid; int argc = 0; int pipe_fd[2]; char *p, buf[1024]; --- 2069,2074 ---- *************** scan_libraries (prog_name) *** 2514,2520 **** void (*quit_handler) PARAMS ((int)); char *real_ldd_argv[4]; const char **ldd_argv = (const char **) real_ldd_argv; - int pid; int argc = 0; int pipe_fd[2]; char buf[1024]; --- 2513,2518 ---- diff -Nrc3pad gcc-3.3.1/gcc/combine.c gcc-3.3.2/gcc/combine.c *** gcc-3.3.1/gcc/combine.c 2003-03-24 11:37:32.000000000 +0000 --- gcc-3.3.2/gcc/combine.c 2003-10-06 08:58:54.000000000 +0000 *************** static int insn_cuid PARAMS ((rtx)); *** 424,429 **** --- 424,430 ---- static void record_promoted_value PARAMS ((rtx, rtx)); static rtx reversed_comparison PARAMS ((rtx, enum machine_mode, rtx, rtx)); static enum rtx_code combine_reversed_comparison_code PARAMS ((rtx)); + static void adjust_for_new_dest PARAMS ((rtx)); /* Substitute NEWVAL, an rtx expression, into INTO, a place in some insn. The substitution can be undone by undo_all. If INTO is already *************** cant_combine_insn_p (insn) *** 1502,1507 **** --- 1503,1536 ---- return 0; } + /* Adjust INSN after we made a change to its destination. + + Changing the destination can invalidate notes that say something about + the results of the insn and a LOG_LINK pointing to the insn. */ + + static void + adjust_for_new_dest (insn) + rtx insn; + { + rtx *loc; + + /* For notes, be conservative and simply remove them. */ + loc = ®_NOTES (insn); + while (*loc) + { + enum reg_note kind = REG_NOTE_KIND (*loc); + if (kind == REG_EQUAL || kind == REG_EQUIV) + *loc = XEXP (*loc, 1); + else + loc = &XEXP (*loc, 1); + } + + /* The new insn will have a destination that was previously the destination + of an insn just above it. Call distribute_links to make a LOG_LINK from + the next use of that destination. */ + distribute_links (gen_rtx_INSN_LIST (VOIDmode, insn, NULL_RTX)); + } + /* Try to combine the insns I1 and I2 into I3. Here I1 and I2 appear earlier than I3. I1 can be zero; then we combine just I2 into I3. *************** try_combine (i3, i2, i1, new_direct_jump *** 2124,2129 **** --- 2153,2166 ---- { newpat = XVECEXP (newpat, 0, 1); insn_code_number = recog_for_combine (&newpat, i3, &new_i3_notes); + + if (insn_code_number >= 0) + { + /* If we will be able to accept this, we have made a change to the + destination of I3. This requires us to do a few adjustments. */ + PATTERN (i3) = newpat; + adjust_for_new_dest (i3); + } } /* If we were combining three insns and the result is a simple SET *************** try_combine (i3, i2, i1, new_direct_jump *** 2394,2409 **** rtx link; /* If we will be able to accept this, we have made a change to the ! destination of I3. This can invalidate a LOG_LINKS pointing ! to I3. No other part of combine.c makes such a transformation. ! ! The new I3 will have a destination that was previously the ! destination of I1 or I2 and which was used in i2 or I3. Call ! distribute_links to make a LOG_LINK from the next use of ! that destination. */ ! PATTERN (i3) = newpat; ! distribute_links (gen_rtx_INSN_LIST (VOIDmode, i3, NULL_RTX)); /* I3 now uses what used to be its destination and which is now I2's destination. That means we need a LOG_LINK from --- 2431,2439 ---- rtx link; /* If we will be able to accept this, we have made a change to the ! destination of I3. This requires us to do a few adjustments. */ PATTERN (i3) = newpat; ! adjust_for_new_dest (i3); /* I3 now uses what used to be its destination and which is now I2's destination. That means we need a LOG_LINK from *************** make_field_assignment (x) *** 7812,7817 **** --- 7842,7848 ---- && (GET_MODE_SIZE (GET_MODE (XEXP (src, 0))) < GET_MODE_SIZE (GET_MODE (SUBREG_REG (XEXP (src, 0))))) && GET_CODE (SUBREG_REG (XEXP (src, 0))) == ROTATE + && GET_CODE (XEXP (SUBREG_REG (XEXP (src, 0)), 0)) == CONST_INT && INTVAL (XEXP (SUBREG_REG (XEXP (src, 0)), 0)) == -2 && rtx_equal_for_field_assignment_p (dest, XEXP (src, 1))) { *************** gen_binary (code, mode, op0, op1) *** 10209,10214 **** --- 10240,10250 ---- rtx result; rtx tem; + if (GET_CODE (op0) == CLOBBER) + return op0; + else if (GET_CODE (op1) == CLOBBER) + return op1; + if (GET_RTX_CLASS (code) == 'c' && swap_commutative_operands_p (op0, op1)) tem = op0, op0 = op1, op1 = tem; *************** distribute_notes (notes, from_insn, i3, *** 12569,12574 **** --- 12605,12611 ---- abort (); break; + case REG_ALWAYS_RETURN: case REG_NORETURN: case REG_SETJMP: /* These notes must remain with the call. It should not be *************** distribute_notes (notes, from_insn, i3, *** 13070,13077 **** } /* Similarly to above, distribute the LOG_LINKS that used to be present on ! I3, I2, and I1 to new locations. This is also called in one case to ! add a link pointing at I3 when I3's destination is changed. */ static void distribute_links (links) --- 13107,13114 ---- } /* Similarly to above, distribute the LOG_LINKS that used to be present on ! I3, I2, and I1 to new locations. This is also called to add a link ! pointing at I3 when I3's destination is changed. */ static void distribute_links (links) diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/alpha.c gcc-3.3.2/gcc/config/alpha/alpha.c *** gcc-3.3.1/gcc/config/alpha/alpha.c 2003-03-24 17:59:37.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/alpha.c 2003-10-01 16:58:38.000000000 +0000 *************** alpha_expand_mov (mode, operands) *** 2949,2960 **** compiled at the end of compilation. In the meantime, someone can re-encode-section-info on some symbol changing it e.g. from global to local-not-small. If this happens, we'd have emitted a plain ! load rather than a high+losum load and not recognize the insn. ! ! So if rtl inlining is in effect, we delay the global/not-global ! decision until rest_of_compilation by wrapping it in an ! UNSPEC_SYMBOL. */ ! if (TARGET_EXPLICIT_RELOCS && flag_inline_functions && rtx_equal_function_value_matters && global_symbolic_operand (operands[1], mode)) { --- 2949,2956 ---- compiled at the end of compilation. In the meantime, someone can re-encode-section-info on some symbol changing it e.g. from global to local-not-small. If this happens, we'd have emitted a plain ! load rather than a high+losum load and not recognize the insn. */ ! if (TARGET_EXPLICIT_RELOCS && rtx_equal_function_value_matters && global_symbolic_operand (operands[1], mode)) { *************** alpha_sa_mask (imaskP, fmaskP) *** 6748,6761 **** /* We need to restore these for the handler. */ if (current_function_calls_eh_return) ! for (i = 0; ; ++i) ! { ! unsigned regno = EH_RETURN_DATA_REGNO (i); ! if (regno == INVALID_REGNUM) ! break; ! imask |= 1L << regno; ! } ! /* If any register spilled, then spill the return address also. */ /* ??? This is required by the Digital stack unwind specification and isn't needed if we're doing Dwarf2 unwinding. */ --- 6744,6764 ---- /* We need to restore these for the handler. */ if (current_function_calls_eh_return) ! { ! for (i = 0; ; ++i) ! { ! unsigned regno = EH_RETURN_DATA_REGNO (i); ! if (regno == INVALID_REGNUM) ! break; ! imask |= 1L << regno; ! } ! ! /* Glibc likes to use $31 as an unwind stopper for crt0. To ! avoid hackery in unwind-dw2.c, we need to actively store a ! zero in the prologue of _Unwind_RaiseException et al. */ ! imask |= 1UL << 31; ! } ! /* If any register spilled, then spill the return address also. */ /* ??? This is required by the Digital stack unwind specification and isn't needed if we're doing Dwarf2 unwinding. */ *************** alpha_expand_prologue () *** 7210,7216 **** } /* Now save any other registers required to be saved. */ ! for (i = 0; i < 32; i++) if (imask & (1L << i)) { mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, reg_offset)); --- 7213,7219 ---- } /* Now save any other registers required to be saved. */ ! for (i = 0; i < 31; i++) if (imask & (1L << i)) { mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, reg_offset)); *************** alpha_expand_prologue () *** 7219,7225 **** reg_offset += 8; } ! for (i = 0; i < 32; i++) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant (sa_reg, reg_offset)); --- 7222,7246 ---- reg_offset += 8; } ! /* Store a zero if requested for unwinding. */ ! if (imask & (1UL << 31)) ! { ! rtx insn, t; ! ! mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, reg_offset)); ! set_mem_alias_set (mem, alpha_sr_alias_set); ! insn = emit_move_insn (mem, const0_rtx); ! ! RTX_FRAME_RELATED_P (insn) = 1; ! t = gen_rtx_REG (Pmode, 31); ! t = gen_rtx_SET (VOIDmode, mem, t); ! t = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, t, REG_NOTES (insn)); ! REG_NOTES (insn) = t; ! ! reg_offset += 8; ! } ! ! for (i = 0; i < 31; i++) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant (sa_reg, reg_offset)); *************** alpha_expand_epilogue () *** 7625,7631 **** reg_offset += 8; imask &= ~(1L << REG_RA); ! for (i = 0; i < 32; ++i) if (imask & (1L << i)) { if (i == HARD_FRAME_POINTER_REGNUM && fp_is_frame_pointer) --- 7646,7652 ---- reg_offset += 8; imask &= ~(1L << REG_RA); ! for (i = 0; i < 31; ++i) if (imask & (1L << i)) { if (i == HARD_FRAME_POINTER_REGNUM && fp_is_frame_pointer) *************** alpha_expand_epilogue () *** 7639,7645 **** reg_offset += 8; } ! for (i = 0; i < 32; ++i) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant(sa_reg, reg_offset)); --- 7660,7669 ---- reg_offset += 8; } ! if (imask & (1UL << 31)) ! reg_offset += 8; ! ! for (i = 0; i < 31; ++i) if (fmask & (1L << i)) { mem = gen_rtx_MEM (DFmode, plus_constant(sa_reg, reg_offset)); diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/alpha.h gcc-3.3.2/gcc/config/alpha/alpha.h *** gcc-3.3.1/gcc/config/alpha/alpha.h 2003-01-31 23:51:22.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/alpha.h 2003-10-01 16:58:39.000000000 +0000 *************** do { \ *** 1276,1281 **** --- 1276,1282 ---- /* Before the prologue, RA lives in $26. */ #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, 26) #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (26) + #define DWARF_ALT_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (64) /* Describe how we implement __builtin_eh_return. */ #define EH_RETURN_DATA_REGNO(N) ((N) < 4 ? (N) + 16 : INVALID_REGNUM) diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/alpha.md gcc-3.3.2/gcc/config/alpha/alpha.md *** gcc-3.3.1/gcc/config/alpha/alpha.md 2003-06-24 17:49:25.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/alpha.md 2003-09-17 23:29:20.000000000 +0000 *************** fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi *** 5399,5405 **** [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(match_operand:DI 1 "symbolic_operand" "")] UNSPEC_SYMBOL))] ! "TARGET_EXPLICIT_RELOCS && flag_inline_functions" "#" "" [(set (match_dup 0) (match_dup 1))] --- 5399,5405 ---- [(set (match_operand:DI 0 "register_operand" "=r") (unspec:DI [(match_operand:DI 1 "symbolic_operand" "")] UNSPEC_SYMBOL))] ! "TARGET_EXPLICIT_RELOCS" "#" "" [(set (match_dup 0) (match_dup 1))] diff -Nrc3pad gcc-3.3.1/gcc/config/alpha/linux.h gcc-3.3.2/gcc/config/alpha/linux.h *** gcc-3.3.1/gcc/config/alpha/linux.h 2003-02-22 18:35:00.000000000 +0000 --- gcc-3.3.2/gcc/config/alpha/linux.h 2003-10-01 16:58:40.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 61,66 **** --- 61,69 ---- #define TARGET_HAS_F_SETLKW + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ *************** Boston, MA 02111-1307, USA. */ *** 78,83 **** --- 81,88 ---- if (pc_[0] != 0x47fe0410 /* mov $30,$16 */ \ || pc_[2] != 0x00000083 /* callsys */) \ break; \ + if ((CONTEXT)->cfa == 0) \ + break; \ if (pc_[1] == 0x201f0067) /* lda $0,NR_sigreturn */ \ sc_ = (CONTEXT)->cfa; \ else if (pc_[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */ \ *************** Boston, MA 02111-1307, USA. */ *** 106,113 **** (FS)->regs.reg[i_+32].loc.offset \ = (long)&sc_->sc_fpregs[i_] - new_cfa_; \ } \ ! (FS)->regs.reg[31].how = REG_SAVED_OFFSET; \ ! (FS)->regs.reg[31].loc.offset = (long)&sc_->sc_pc - new_cfa_; \ ! (FS)->retaddr_column = 31; \ goto SUCCESS; \ } while (0) --- 111,118 ---- (FS)->regs.reg[i_+32].loc.offset \ = (long)&sc_->sc_fpregs[i_] - new_cfa_; \ } \ ! (FS)->regs.reg[64].how = REG_SAVED_OFFSET; \ ! (FS)->regs.reg[64].loc.offset = (long)&sc_->sc_pc - new_cfa_; \ ! (FS)->retaddr_column = 64; \ goto SUCCESS; \ } while (0) diff -Nrc3pad gcc-3.3.1/gcc/config/arm/linux-elf.h gcc-3.3.2/gcc/config/arm/linux-elf.h *** gcc-3.3.1/gcc/config/arm/linux-elf.h 2002-12-10 10:55:31.000000000 +0000 --- gcc-3.3.2/gcc/config/arm/linux-elf.h 2003-09-16 15:39:23.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 123,125 **** --- 123,128 ---- #undef CC1_SPEC #define CC1_SPEC "%{profile:-p}" + + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" diff -Nrc3pad gcc-3.3.1/gcc/config/darwin.h gcc-3.3.2/gcc/config/darwin.h *** gcc-3.3.1/gcc/config/darwin.h 2002-12-20 01:49:57.000000000 +0000 --- gcc-3.3.2/gcc/config/darwin.h 2003-08-08 21:17:57.000000000 +0000 *************** do { text_section (); \ *** 380,385 **** --- 380,389 ---- || DECL_INITIAL (DECL)) \ (* targetm.encode_section_info) (DECL, false); \ ASM_OUTPUT_LABEL (FILE, xname); \ + /* Darwin doesn't support zero-size objects, so give them a \ + byte. */ \ + if (tree_low_cst (DECL_SIZE_UNIT (DECL), 1) == 0) \ + assemble_zeros (1); \ } while (0) #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ *************** do { text_section (); \ *** 401,406 **** --- 405,419 ---- machopic_output_possible_stub_label (FILE, xname); \ } while (0) + #define ASM_DECLARE_CONSTANT_NAME(FILE, NAME, EXP, SIZE) \ + do { \ + ASM_OUTPUT_LABEL (FILE, NAME); \ + /* Darwin doesn't support zero-size objects, so give them a \ + byte. */ \ + if ((SIZE) == 0) \ + assemble_zeros (1); \ + } while (0) + /* Wrap new method names in quotes so the assembler doesn't gag. Make Objective-C internal symbols local. */ diff -Nrc3pad gcc-3.3.1/gcc/config/h8300/h8300.md gcc-3.3.2/gcc/config/h8300/h8300.md *** gcc-3.3.1/gcc/config/h8300/h8300.md 2003-02-18 19:17:56.000000000 +0000 --- gcc-3.3.2/gcc/config/h8300/h8300.md 2003-08-21 13:08:48.000000000 +0000 *************** *** 621,663 **** [(set_attr "length" "2") (set_attr "cc" "set_zn")]) - (define_insn "" - [(set (cc0) - (and:HI (match_operand:HI 0 "register_operand" "r") - (match_operand:HI 1 "single_one_operand" "n")))] - "" - "* - { - operands[1] = GEN_INT (INTVAL (operands[1]) & 0xffff); - if (INTVAL (operands[1]) > 128) - { - operands[1] = GEN_INT (INTVAL (operands[1]) >> 8); - return \"btst\\t%V1,%t0\"; - } - return \"btst\\t%V1,%s0\"; - }" - [(set_attr "length" "2") - (set_attr "cc" "set_zn")]) - - (define_insn "" - [(set (cc0) - (and:SI (match_operand:SI 0 "register_operand" "r") - (match_operand:SI 1 "single_one_operand" "n")))] - "(TARGET_H8300H || TARGET_H8300S) - && (INTVAL (operands[1]) & 0xffff) != 0" - "* - { - operands[1] = GEN_INT (INTVAL (operands[1]) & 0xffff); - if (INTVAL (operands[1]) > 128) - { - operands[1] = GEN_INT (INTVAL (operands[1]) >> 8); - return \"btst\\t%V1,%x0\"; - } - return \"btst\\t%V1,%w0\"; - }" - [(set_attr "length" "2") - (set_attr "cc" "set_zn")]) - (define_insn "tstqi" [(set (cc0) (match_operand:QI 0 "register_operand" "r"))] "" --- 621,626 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/i386/i386.c gcc-3.3.2/gcc/config/i386/i386.c *** gcc-3.3.1/gcc/config/i386/i386.c 2003-07-08 19:16:44.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/i386.c 2003-09-09 19:51:59.000000000 +0000 *************** int *** 2463,2485 **** ix86_return_in_memory (type) tree type; { ! int needed_intregs, needed_sseregs; if (TARGET_64BIT) { ! return !examine_argument (TYPE_MODE (type), type, 1, ! &needed_intregs, &needed_sseregs); ! } ! else ! { ! if (TYPE_MODE (type) == BLKmode ! || (VECTOR_MODE_P (TYPE_MODE (type)) ! && int_size_in_bytes (type) == 8) ! || (int_size_in_bytes (type) > 12 && TYPE_MODE (type) != TImode ! && TYPE_MODE (type) != TFmode ! && !VECTOR_MODE_P (TYPE_MODE (type)))) return 1; ! return 0; } } /* Define how to find the value returned by a library function --- 2463,2517 ---- ix86_return_in_memory (type) tree type; { ! int needed_intregs, needed_sseregs, size; ! enum machine_mode mode = TYPE_MODE (type); ! if (TARGET_64BIT) + return !examine_argument (mode, type, 1, &needed_intregs, &needed_sseregs); + + if (mode == BLKmode) + return 1; + + size = int_size_in_bytes (type); + + if (VECTOR_MODE_P (mode) || mode == TImode) { ! /* User-created vectors small enough to fit in EAX. */ ! if (size < 8) ! return 0; ! ! /* MMX/3dNow values are returned on the stack, since we've ! got to EMMS/FEMMS before returning. */ ! if (size == 8) return 1; ! ! /* SSE values are returned in XMM0. */ ! /* ??? Except when it doesn't exist? We have a choice of ! either (1) being abi incompatible with a -march switch, ! or (2) generating an error here. Given no good solution, ! I think the safest thing is one warning. The user won't ! be able to use -Werror, but... */ ! if (size == 16) ! { ! static bool warned; ! ! if (TARGET_SSE) ! return 0; ! ! if (!warned) ! { ! warned = true; ! warning ("SSE vector return without SSE enabled changes the ABI"); ! } ! return 1; ! } } + + if (mode == TFmode) + return 0; + if (size > 12) + return 1; + return 0; } /* Define how to find the value returned by a library function *************** static int *** 2514,2523 **** ix86_value_regno (mode) enum machine_mode mode; { if (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_FLOAT_RETURNS_IN_80387) return FIRST_FLOAT_REG; ! if (mode == TImode || VECTOR_MODE_P (mode)) return FIRST_SSE_REG; return 0; } --- 2546,2559 ---- ix86_value_regno (mode) enum machine_mode mode; { + /* Floating point return values in %st(0). */ if (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_FLOAT_RETURNS_IN_80387) return FIRST_FLOAT_REG; ! /* 16-byte vector modes in %xmm0. See ix86_return_in_memory for where ! we prevent this case when sse is not available. */ ! if (mode == TImode || (VECTOR_MODE_P (mode) && GET_MODE_SIZE (mode) == 16)) return FIRST_SSE_REG; + /* Everything else in %eax. */ return 0; } *************** ix86_setup_frame_addresses () *** 4230,4236 **** cfun->machine->accesses_prev_frame = 1; } ! #if defined(HAVE_GAS_HIDDEN) && defined(SUPPORTS_ONE_ONLY) # define USE_HIDDEN_LINKONCE 1 #else # define USE_HIDDEN_LINKONCE 0 --- 4266,4272 ---- cfun->machine->accesses_prev_frame = 1; } ! #if defined(HAVE_GAS_HIDDEN) && (defined(SUPPORTS_ONE_ONLY) && SUPPORTS_ONE_ONLY) # define USE_HIDDEN_LINKONCE 1 #else # define USE_HIDDEN_LINKONCE 0 *************** get_some_local_dynamic_name_1 (px, data) *** 6701,6708 **** C -- print opcode suffix for set/cmov insn. c -- like C, but print reversed condition F,f -- likewise, but for floating-point. ! O -- if CMOV_SUN_AS_SYNTAX, expand to "w.", "l." or "q.", otherwise ! nothing R -- print the prefix for register names. z -- print the opcode suffix for the size of the current operand. * -- print a star (in certain assembler syntax) --- 6737,6744 ---- C -- print opcode suffix for set/cmov insn. c -- like C, but print reversed condition F,f -- likewise, but for floating-point. ! O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.", ! otherwise nothing R -- print the prefix for register names. z -- print the opcode suffix for the size of the current operand. * -- print a star (in certain assembler syntax) *************** print_operand (file, x, code) *** 6906,6912 **** } return; case 'O': ! #ifdef CMOV_SUN_AS_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) { switch (GET_MODE (x)) --- 6942,6948 ---- } return; case 'O': ! #ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) { switch (GET_MODE (x)) *************** print_operand (file, x, code) *** 6926,6932 **** put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 0, 0, file); return; case 'F': ! #ifdef CMOV_SUN_AS_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif --- 6962,6968 ---- put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 0, 0, file); return; case 'F': ! #ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif *************** print_operand (file, x, code) *** 6945,6951 **** put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 0, file); return; case 'f': ! #ifdef CMOV_SUN_AS_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif --- 6981,6987 ---- put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 0, file); return; case 'f': ! #ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX if (ASSEMBLER_DIALECT == ASM_ATT) putc ('.', file); #endif *************** memory_address_length (addr) *** 11147,11156 **** disp = parts.disp; len = 0; /* Register Indirect. */ if (base && !index && !disp) { ! /* Special cases: ebp and esp need the two-byte modrm form. */ if (addr == stack_pointer_rtx || addr == arg_pointer_rtx || addr == frame_pointer_rtx --- 11183,11197 ---- disp = parts.disp; len = 0; + /* Rule of thumb: + - esp as the base always wants an index, + - ebp as the base always wants a displacement. */ + /* Register Indirect. */ if (base && !index && !disp) { ! /* esp (for its index) and ebp (for its displacement) need ! the two-byte modrm form. */ if (addr == stack_pointer_rtx || addr == arg_pointer_rtx || addr == frame_pointer_rtx *************** memory_address_length (addr) *** 11174,11182 **** else len = 4; } ! /* An index requires the two-byte modrm form. */ ! if (index) len += 1; } --- 11215,11230 ---- else len = 4; } + /* ebp always wants a displacement. */ + else if (base == hard_frame_pointer_rtx) + len = 1; ! /* An index requires the two-byte modrm form... */ ! if (index ! /* ...like esp, which always wants an index. */ ! || base == stack_pointer_rtx ! || base == arg_pointer_rtx ! || base == frame_pointer_rtx) len += 1; } diff -Nrc3pad gcc-3.3.1/gcc/config/i386/sco5.h gcc-3.3.2/gcc/config/i386/sco5.h *** gcc-3.3.1/gcc/config/i386/sco5.h 2002-11-26 04:54:48.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/sco5.h 2003-08-09 06:51:10.000000000 +0000 *************** *** 1,7 **** /* Definitions for Intel 386 running SCO Unix System V 3.2 Version 5. ! Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. ! Contributed by Kean Johnston (hug@netcom.com) This file is part of GNU CC. --- 1,7 ---- /* Definitions for Intel 386 running SCO Unix System V 3.2 Version 5. ! Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. ! Contributed by Kean Johnston (jkj@sco.com) This file is part of GNU CC. *************** along with GNU CC; see the file COPYING. *** 20,249 **** the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TARGET_VERSION fprintf (stderr, " (i386, SCO OpenServer 5 Syntax)"); ! #undef LPREFIX ! #define LPREFIX ".L" ! ! #undef ALIGN_ASM_OP ! #define ALIGN_ASM_OP "\t.align\t" ! ! #undef ASCII_DATA_ASM_OP ! #define ASCII_DATA_ASM_OP "\t.ascii\t" ! ! #undef IDENT_ASM_OP ! #define IDENT_ASM_OP "\t.ident\t" ! ! #undef COMMON_ASM_OP ! #define COMMON_ASM_OP "\t.comm\t" ! ! #undef SET_ASM_OP ! #define SET_ASM_OP "\t.set\t" ! ! #undef LOCAL_ASM_OP ! #define LOCAL_ASM_OP "\t.local\t" ! ! #undef ASM_SHORT ! #define ASM_SHORT "\t.value\t" ! ! #undef ASM_LONG ! #define ASM_LONG "\t.long\t" #undef ASM_QUAD - #undef TYPE_ASM_OP - #define TYPE_ASM_OP "\t.type\t" - - #undef SIZE_ASM_OP - #define SIZE_ASM_OP "\t.size\t" - - #undef STRING_ASM_OP - #define STRING_ASM_OP "\t.string\t" - - #undef SKIP_ASM_OP - #define SKIP_ASM_OP "\t.zero\t" - #undef GLOBAL_ASM_OP #define GLOBAL_ASM_OP "\t.globl\t" - #undef EH_FRAME_SECTION_ASM_OP - #define EH_FRAME_SECTION_NAME_COFF ".ehfram" - #define EH_FRAME_SECTION_NAME_ELF ".eh_frame" - #define EH_FRAME_SECTION_NAME \ - ((TARGET_ELF) ? EH_FRAME_SECTION_NAME_ELF : EH_FRAME_SECTION_NAME_COFF) - - /* Avoid problems (long sectino names, forward assembler refs) with DWARF - exception unwinding when we're generating COFF */ - #define DWARF2_UNWIND_INFO \ - ((TARGET_ELF) ? 1 : 0 ) - - #undef READONLY_DATA_SECTION_ASM_OP - #define READONLY_DATA_SECTION_ASM_OP_COFF "\t.section\t.rodata, \"x\"" - #define READONLY_DATA_SECTION_ASM_OP_ELF "\t.section\t.rodata" - #define READONLY_DATA_SECTION_ASM_OP \ - ((TARGET_ELF) \ - ? READONLY_DATA_SECTION_ASM_OP_ELF \ - : READONLY_DATA_SECTION_ASM_OP_COFF) - - #undef INIT_SECTION_ASM_OP - #define INIT_SECTION_ASM_OP_ELF "\t.section\t.init" - /* Rename these for COFF because crt1.o will try to run them. */ - #define INIT_SECTION_ASM_OP_COFF "\t.section\t.ctor ,\"x\"" - #define INIT_SECTION_ASM_OP \ - ((TARGET_ELF) ? INIT_SECTION_ASM_OP_ELF : INIT_SECTION_ASM_OP_COFF) - - #undef CTORS_SECTION_ASM_OP - #define CTORS_SECTION_ASM_OP_ELF "\t.section\t.ctors,\"aw\"" - #define CTORS_SECTION_ASM_OP_COFF INIT_SECTION_ASM_OP_COFF - #define CTORS_SECTION_ASM_OP \ - ((TARGET_ELF) ? CTORS_SECTION_ASM_OP_ELF : CTORS_SECTION_ASM_OP_COFF) - - #undef DTORS_SECTION_ASM_OP - #define DTORS_SECTION_ASM_OP_ELF "\t.section\t.dtors, \"aw\"" - #define DTORS_SECTION_ASM_OP_COFF FINI_SECTION_ASM_OP_COFF - #define DTORS_SECTION_ASM_OP \ - ((TARGET_ELF) ? DTORS_SECTION_ASM_OP_ELF : DTORS_SECTION_ASM_OP_COFF) - - #undef FINI_SECTION_ASM_OP - #define FINI_SECTION_ASM_OP_ELF "\t.section\t.fini" - #define FINI_SECTION_ASM_OP_COFF "\t.section\t.dtor, \"x\"" - #define FINI_SECTION_ASM_OP \ - ((TARGET_ELF) ? FINI_SECTION_ASM_OP_ELF : FINI_SECTION_ASM_OP_COFF) - #undef BSS_SECTION_ASM_OP ! #define BSS_SECTION_ASM_OP "\t.data" ! ! #undef TEXT_SECTION_ASM_OP ! #define TEXT_SECTION_ASM_OP "\t.text" ! ! #undef DATA_SECTION_ASM_OP ! #define DATA_SECTION_ASM_OP "\t.data" ! ! #undef TYPE_OPERAND_FMT ! #define TYPE_OPERAND_FMT "@%s" ! ! #undef APPLY_RESULT_SIZE ! #define APPLY_RESULT_SIZE \ ! (TARGET_ELF) ? size : 116 ! ! #ifndef ASM_DECLARE_RESULT ! #define ASM_DECLARE_RESULT(FILE, RESULT) ! #endif ! ! #define SCO_DEFAULT_ASM_COFF(FILE,NAME) \ ! do { \ ! ASM_OUTPUT_LABEL (FILE, NAME); \ ! } while (0) ! ! #undef ASM_DECLARE_FUNCTION_NAME ! #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ ! do { \ ! if (TARGET_ELF) { \ ! ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \ ! ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ ! ASM_OUTPUT_LABEL (FILE, NAME); \ ! } else \ ! SCO_DEFAULT_ASM_COFF(FILE, NAME); \ ! } while (0) ! ! #undef ASM_DECLARE_FUNCTION_SIZE ! #define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ ! do { \ ! if (TARGET_ELF && !flag_inhibit_size_directive) \ ! ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \ ! } while (0) ! ! #undef ASM_DECLARE_OBJECT_NAME ! #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ ! do { \ ! if (TARGET_ELF) { \ ! HOST_WIDE_INT size; \ ! \ ! ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \ ! \ ! size_directive_output = 0; \ ! if (!flag_inhibit_size_directive \ ! && (DECL) && DECL_SIZE (DECL)) \ ! { \ ! size_directive_output = 1; \ ! size = int_size_in_bytes (TREE_TYPE (DECL)); \ ! ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \ ! } \ ! \ ! ASM_OUTPUT_LABEL (FILE, NAME); \ ! } else \ ! SCO_DEFAULT_ASM_COFF(FILE, NAME); \ ! } while (0) ! ! #undef ASM_FILE_START_1 ! #define ASM_FILE_START_1(FILE) ! ! #undef ASM_FILE_START ! #define ASM_FILE_START(FILE) \ ! do { \ ! output_file_directive((FILE),main_input_filename); \ ! fprintf ((FILE), "\t.version\t\"01.01\"\n"); \ ! } while (0) ! ! #undef ASM_FINISH_DECLARE_OBJECT ! #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \ ! do { \ ! if (TARGET_ELF) { \ ! const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ ! HOST_WIDE_INT size; \ ! if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \ ! && ! AT_END && TOP_LEVEL \ ! && DECL_INITIAL (DECL) == error_mark_node \ ! && !size_directive_output) \ ! { \ ! size_directive_output = 1; \ ! size = int_size_in_bytes (TREE_TYPE (DECL)); \ ! ASM_OUTPUT_SIZE_DIRECTIVE (FILE, name, size); \ ! } \ ! } \ ! } while (0) ! ! #undef ASM_GENERATE_INTERNAL_LABEL ! #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \ ! do { \ ! if (TARGET_ELF) \ ! sprintf (LABEL, "*.%s%ld", (PREFIX), (long)(NUM)); \ ! else \ ! sprintf (LABEL, ".%s%ld", (PREFIX), (long)(NUM)); \ ! } while (0) ! ! #undef ASM_OUTPUT_ALIGNED_COMMON ! #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ ! do { \ ! fprintf ((FILE), "%s", COMMON_ASM_OP); \ ! assemble_name ((FILE), (NAME)); \ ! if (TARGET_ELF) \ ! fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); \ ! else \ ! fprintf ((FILE), ",%u\n", (SIZE)); \ ! } while (0) ! #undef ASM_OUTPUT_ALIGNED_LOCAL ! #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ ! do { \ ! if (TARGET_ELF) { \ ! fprintf ((FILE), "%s", LOCAL_ASM_OP); \ ! assemble_name ((FILE), (NAME)); \ ! fprintf ((FILE), "\n"); \ ! ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN); \ ! } else { \ ! int align = exact_log2 (ALIGN); \ ! if (align > 2) align = 2; \ ! if (TARGET_SVR3_SHLIB) \ ! data_section (); \ ! else \ ! bss_section (); \ ! ASM_OUTPUT_ALIGN ((FILE), align == -1 ? 2 : align); \ ! fprintf ((FILE), "%s\t", "\t.lcomm"); \ ! assemble_name ((FILE), (NAME)); \ ! fprintf ((FILE), ",%u\n", (SIZE)); \ ! } \ ! } while (0) /* A C statement (sans semicolon) to output to the stdio stream FILE the assembler definition of uninitialized global DECL named --- 20,55 ---- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (i386, SCO OpenServer 5 Syntax)"); ! /* The native link editor does not support linkonce stuff */ ! #define SUPPORTS_ONE_ONLY 0 #undef ASM_QUAD #undef GLOBAL_ASM_OP #define GLOBAL_ASM_OP "\t.globl\t" #undef BSS_SECTION_ASM_OP ! #define BSS_SECTION_ASM_OP "\t.section\t.bss, \"aw\", @nobits" ! ! /* ! * NOTE: We really do want CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP. ! * Here's the reason why. If we dont define them, and we dont define them ! * to always emit to the same section, the default is to emit to "named" ! * ctors and dtors sections. This would be great if we could use GNU ld, ! * but we can't. The native linker could possibly be trained to coalesce ! * named ctors sections, but that hasn't been done either. So if we don't ! * define these, many C++ ctors and dtors dont get run, because they never ! * wind up in the ctors/dtors arrays. ! */ ! #define CTORS_SECTION_ASM_OP "\t.section\t.ctors, \"aw\"" ! #define DTORS_SECTION_ASM_OP "\t.section\t.dtors, \"aw\"" ! #define TARGET_ASM_FILE_START_FILE_DIRECTIVE true ! #undef X86_FILE_START_VERSION_DIRECTIVE ! #define X86_FILE_START_VERSION_DIRECTIVE true /* A C statement (sans semicolon) to output to the stdio stream FILE the assembler definition of uninitialized global DECL named *************** do { \ *** 251,498 **** Try to use asm_output_aligned_bss to implement this macro. */ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ ! asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) ! ! #undef ESCAPES ! #define ESCAPES \ ! "\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ ! \0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ ! \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\ ! \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\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\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\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1" ! ! #undef STRING_LIMIT ! #define STRING_LIMIT ((unsigned) 256) ! ! #undef ASM_OUTPUT_LIMITED_STRING ! #define ASM_OUTPUT_LIMITED_STRING(FILE, STR) \ ! do \ ! { \ ! register const unsigned char *_limited_str = \ ! (const unsigned char *) (STR); \ ! register unsigned ch; \ ! fprintf ((FILE), "%s\"", STRING_ASM_OP); \ ! for (; (ch = *_limited_str); _limited_str++) \ ! { \ ! register int escape; \ ! switch (escape = ESCAPES[ch]) \ ! { \ ! case 0: \ ! putc (ch, (FILE)); \ ! break; \ ! case 1: \ ! fprintf ((FILE), "\\%03o", ch); \ ! break; \ ! default: \ ! putc ('\\', (FILE)); \ ! putc (escape, (FILE)); \ ! break; \ ! } \ ! } \ ! fprintf ((FILE), "\"\n"); \ ! } \ ! while (0) ! ! ! #undef ASM_OUTPUT_ASCII ! #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \ ! do { \ ! register const unsigned char *_ascii_bytes = \ ! (const unsigned char *) (STR); \ ! register const unsigned char *limit = _ascii_bytes + (LENGTH); \ ! register unsigned bytes_in_chunk = 0; \ ! for (; _ascii_bytes < limit; _ascii_bytes++) \ ! { \ ! register unsigned const char *p; \ ! if (bytes_in_chunk >= 64) \ ! { \ ! fputc ('\n', (FILE)); \ ! bytes_in_chunk = 0; \ ! } \ ! for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \ ! continue; \ ! if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT) \ ! { \ ! if (bytes_in_chunk > 0) \ ! { \ ! fputc ('\n', (FILE)); \ ! bytes_in_chunk = 0; \ ! } \ ! ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes); \ ! _ascii_bytes = p; \ ! } \ ! else \ ! { \ ! if (bytes_in_chunk == 0) \ ! fputs ("\t.byte\t", (FILE)); \ ! else \ ! fputc (',', (FILE)); \ ! fprintf ((FILE), "0x%02x", *_ascii_bytes); \ ! bytes_in_chunk += 5; \ ! } \ ! } \ ! if (bytes_in_chunk > 0) \ ! fprintf ((FILE), "\n"); \ ! } while (0) ! ! #undef ASM_OUTPUT_CASE_LABEL ! #define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,JUMPTABLE) \ ! do { \ ! if (TARGET_ELF) \ ! ASM_OUTPUT_ALIGN ((FILE), 2); \ ! ASM_OUTPUT_INTERNAL_LABEL((FILE),(PREFIX),(NUM)); \ ! } while (0) ! ! #undef ASM_OUTPUT_IDENT ! #define ASM_OUTPUT_IDENT(FILE, NAME) \ ! fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME); ! ! #undef ASM_OUTPUT_EXTERNAL_LIBCALL ! #define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ ! if (TARGET_ELF) (*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0)) ! ! #undef ASM_OUTPUT_INTERNAL_LABEL ! #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ ! fprintf (FILE, ".%s%d:\n", PREFIX, NUM) ! ! /* The prefix to add to user-visible assembler symbols. */ ! ! #undef USER_LABEL_PREFIX ! #define USER_LABEL_PREFIX "" ! ! /* ! * We rename 'gcc_except_table' to the shorter name in preparation ! * for the day when we're ready to do DWARF2 eh unwinding under COFF. ! */ ! /* #define EXCEPTION_SECTION() named_section (NULL, ".gccexc", 1) */ ! ! /* Switch into a generic section. */ ! #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section ! ! #undef ASM_OUTPUT_SKIP ! #define ASM_OUTPUT_SKIP(FILE,SIZE) \ ! do { \ ! if (TARGET_ELF) \ ! fprintf (FILE, "%s%u\n", SKIP_ASM_OP, (SIZE)); \ ! else \ ! fprintf ((FILE), "%s.,.+%u\n", SET_ASM_OP, (SIZE)); \ ! } while (0) ! ! ! #undef CTOR_LIST_BEGIN ! #define CTOR_LIST_BEGIN \ ! do { \ ! asm (CTORS_SECTION_ASM_OP); \ ! if (TARGET_ELF) \ ! STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (-1) }; \ ! else \ ! asm ("pushl $0"); \ ! } while (0) ! ! #undef CTOR_LIST_END ! #define CTOR_LIST_END \ ! do { \ ! if (TARGET_ELF) { \ ! asm (CTORS_SECTION_ASM_OP); \ ! STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (0) }; \ ! } else { \ ! CTOR_LIST_BEGIN; \ ! } \ ! } while (0) ! ! #undef DBX_BLOCKS_FUNCTION_RELATIVE ! #define DBX_BLOCKS_FUNCTION_RELATIVE 1 ! ! #undef DBX_FUNCTION_FIRST ! #define DBX_FUNCTION_FIRST 1 #undef DBX_REGISTER_NUMBER ! #define DBX_REGISTER_NUMBER(n) \ ! ((TARGET_ELF) ? svr4_dbx_register_map[n] : dbx_register_map[n]) ! #define DWARF2_DEBUGGING_INFO 1 ! #define DWARF_DEBUGGING_INFO 1 ! #define SDB_DEBUGGING_INFO 1 ! #define DBX_DEBUGGING_INFO 1 #undef PREFERRED_DEBUGGING_TYPE ! #define PREFERRED_DEBUGGING_TYPE \ ! ((TARGET_ELF) ? DWARF2_DEBUG: SDB_DEBUG) ! ! #undef EXTRA_SECTIONS ! #define EXTRA_SECTIONS in_init, in_fini ! ! #undef EXTRA_SECTION_FUNCTIONS ! #define EXTRA_SECTION_FUNCTIONS \ ! INIT_SECTION_FUNCTION \ ! FINI_SECTION_FUNCTION ! ! #undef FINI_SECTION_FUNCTION ! #define FINI_SECTION_FUNCTION \ ! void \ ! fini_section () \ ! { \ ! if ((!TARGET_ELF) && in_section != in_fini) \ ! { \ ! fprintf (asm_out_file, "%s\n", FINI_SECTION_ASM_OP); \ ! in_section = in_fini; \ ! } \ ! } ! ! #undef INIT_SECTION_FUNCTION ! #define INIT_SECTION_FUNCTION \ ! void \ ! init_section () \ ! { \ ! if ((!TARGET_ELF) && in_section != in_init) \ ! { \ ! fprintf (asm_out_file, "%s\n", INIT_SECTION_ASM_OP); \ ! in_section = in_init; \ ! } \ ! } ! ! #undef SUBTARGET_FRAME_POINTER_REQUIRED ! #define SUBTARGET_FRAME_POINTER_REQUIRED \ ! ((TARGET_ELF) ? 0 : \ ! (current_function_calls_setjmp || current_function_calls_longjmp)) ! ! #undef LOCAL_LABEL_PREFIX ! #define LOCAL_LABEL_PREFIX \ ! ((TARGET_ELF) ? "" : ".") ! ! #undef MD_EXEC_PREFIX ! #undef MD_STARTFILE_PREFIX ! #define MD_EXEC_PREFIX "/usr/ccs/bin/" ! #define MD_STARTFILE_PREFIX "/usr/ccs/lib/" ! #undef NON_SAVING_SETJMP ! #define NON_SAVING_SETJMP \ ! ((TARGET_ELF) ? 0 : \ ! (current_function_calls_setjmp && current_function_calls_longjmp)) #undef NO_IMPLICIT_EXTERN_C ! #define NO_IMPLICIT_EXTERN_C 1 ! ! /* JKJ FIXME - examine the ramifications of RETURN_IN_MEMORY and ! RETURN_POPS_ARGS */ ! ! #undef RETURN_POPS_ARGS ! #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ ! ((TARGET_ELF) ? \ ! (ix86_return_pops_args (FUNDECL, FUNTYPE, SIZE)) : \ ! (((FUNDECL) && (TREE_CODE (FUNDECL) == IDENTIFIER_NODE)) ? 0 \ ! : (TARGET_RTD \ ! && (TYPE_ARG_TYPES (FUNTYPE) == 0 \ ! || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ ! == void_type_node))) ? (SIZE) \ ! : 0)) ! ! /* ??? Ignore coff. */ ! #undef TARGET_ASM_SELECT_SECTION ! #define TARGET_ASM_SELECT_SECTION default_elf_select_section #undef SWITCH_TAKES_ARG #define SWITCH_TAKES_ARG(CHAR) \ --- 57,79 ---- Try to use asm_output_aligned_bss to implement this macro. */ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ ! asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) #undef DBX_REGISTER_NUMBER ! #define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n] ! #define DWARF2_DEBUGGING_INFO 1 ! #define DWARF_DEBUGGING_INFO 1 ! #define DBX_DEBUGGING_INFO 1 #undef PREFERRED_DEBUGGING_TYPE ! #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG ! #undef DWARF2_UNWIND_INFO ! #define DWARF2_UNWIND_INFO 1 #undef NO_IMPLICIT_EXTERN_C ! #define NO_IMPLICIT_EXTERN_C 1 #undef SWITCH_TAKES_ARG #define SWITCH_TAKES_ARG(CHAR) \ *************** init_section () \ *** 511,527 **** #undef TARGET_SUBTARGET_DEFAULT #define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS) - #define HANDLE_SYSV_PRAGMA 1 - - /* Though OpenServer supports .weak in COFF, we don't use it. - * G++ will frequently emit a symol as .weak and then (in the same .s - * file) declare it global. The COFF assembler finds this unamusing. - */ - #define SUPPORTS_WEAK (TARGET_ELF) - #define ASM_WEAKEN_LABEL(FILE,NAME) \ - do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ - fputc ('\n', FILE); } while (0) - /* * Define sizes and types */ --- 92,97 ---- *************** init_section () \ *** 529,540 **** #undef PTRDIFF_TYPE #undef WCHAR_TYPE #undef WCHAR_TYPE_SIZE #undef LONG_DOUBLE_TYPE_SIZE - #define LONG_DOUBLE_TYPE_SIZE 96 #define SIZE_TYPE "unsigned int" #define PTRDIFF_TYPE "int" #define WCHAR_TYPE "long int" #define WCHAR_TYPE_SIZE BITS_PER_WORD /* * New for multilib support. Set the default switches for multilib, --- 99,112 ---- #undef PTRDIFF_TYPE #undef WCHAR_TYPE #undef WCHAR_TYPE_SIZE + #undef WINT_TYPE #undef LONG_DOUBLE_TYPE_SIZE #define SIZE_TYPE "unsigned int" #define PTRDIFF_TYPE "int" #define WCHAR_TYPE "long int" #define WCHAR_TYPE_SIZE BITS_PER_WORD + #define WINT_TYPE "long int" + #define LONG_DOUBLE_TYPE_SIZE 96 /* * New for multilib support. Set the default switches for multilib, *************** init_section () \ *** 548,554 **** With SCO Open Server 5.0, you now get the linker and assembler free, so that is what these specs are targeted for. These utilities are very argument sensitive: a space in the wrong place breaks everything. ! So RMS, please forgive this mess. It works. Parameters which can be passed to gcc, and their SCO equivalents: GCC Parameter SCO Equivalent --- 120,126 ---- With SCO Open Server 5.0, you now get the linker and assembler free, so that is what these specs are targeted for. These utilities are very argument sensitive: a space in the wrong place breaks everything. ! So please forgive this mess. It works. Parameters which can be passed to gcc, and their SCO equivalents: GCC Parameter SCO Equivalent *************** init_section () \ *** 564,640 **** does. SCO also allows you to compile, link and generate either ELF or COFF ! binaries. With gcc, unlike the SCO compiler, the default is ELF. ! Specify -mcoff to gcc to produce COFF binaries. -fpic will get the ! assembler and linker to produce PIC code. */ /* Set up assembler flags for PIC and ELF compilations */ #undef ASM_SPEC #if USE_GAS ! /* Leave ASM_SPEC undefined so we pick up the master copy from gcc.c ! * Undef MD_EXEC_PREFIX because we don't know where GAS is, but it's not ! * likely in /usr/ccs/bin/ ! */ ! #undef MD_EXEC_PREFIX #else - #define ASM_SPEC \ ! "-b %{!mcoff:elf}%{mcoff:coff \ ! %{static:%e-static not valid with -mcoff} \ ! %{shared:%e-shared not valid with -mcoff} \ ! %{symbolic:%e-symbolic not valid with -mcoff}} \ ! %{Ym,*} %{Yd,*} %{Wa,*:%*} \ ! %{!mcoff:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}}" #endif ! /* Use crt1.o as a startup file and crtn.o as a closing file. */ #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{shared: %{!mcoff: crti.o%s}} \ ! %{!shared:\ %{!symbolic: \ ! %{pg:gcrt.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}}} \ %{ansi:values-Xc.o%s} \ %{!ansi: \ ! %{Xa:values-Xa.o%s} \ ! %{!Xa:%{Xc:values-Xc.o%s} \ ! %{!Xc:%{Xk:values-Xk.o%s} \ ! %{!Xk:%{Xt:values-Xt.o%s} \ ! %{!Xt:values-Xa.o%s}}}}} \ ! %{mcoff:crtbeginS.o%s} %{!mcoff:crtbegin.o%s}" #undef ENDFILE_SPEC #define ENDFILE_SPEC \ ! "%{!mcoff:crtend.o%s} \ ! %{mcoff:crtendS.o%s} \ ! %{pg:gcrtn.o%s}%{!pg:crtn.o%s}" ! #define TARGET_OS_CPP_BUILTINS() \ ! do \ ! { \ ! builtin_define ("__unix"); \ ! builtin_define ("_SCO_DS"); \ ! builtin_define ("_M_I386"); \ ! builtin_define ("_M_XENIX"); \ ! builtin_define ("_M_UNIX"); \ ! builtin_assert ("system=svr3"); \ ! if (flag_iso) \ ! cpp_define (pfile, "_STRICT_ANSI"); \ ! if (flag_pic) \ ! { \ ! builtin_define ("__PIC__"); \ ! builtin_define ("__pic__"); \ ! } \ ! } \ while (0) #undef CPP_SPEC #define CPP_SPEC "\ ! %{fpic:%{mcoff:%e-fpic is not valid with -mcoff}} \ ! %{fPIC:%{mcoff:%e-fPIC is not valid with -mcoff}} \ %{!Xods30:-D_STRICT_NAMES} \ %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \ %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \ --- 136,244 ---- does. SCO also allows you to compile, link and generate either ELF or COFF ! binaries. With gcc, we now only support ELF mode. ! ! GCC also requires that the user has installed OSS646, the Execution ! Environment Update, or is running release 5.0.7 or later. This has ! many fixes to the ELF link editor and assembler, and a considerably ! improved libc and RTLD. ! ! In terms of tool usage, we want to use the standard link editor always, ! and either the GNU assembler or the native assembler. With OSS646 the ! native assembler has grown up quite a bit. Some of the specs below ! assume that /usr/gnu is the prefix for the GNU tools, because thats ! where the SCO provided ones go. This is especially important for ! include and library search path ordering. We want to look in /usr/gnu ! first, becuase frequently people are linking against -lintl, and they ! MEAN to link with gettext. What they get is the SCO intl library. Its ! a REAL pity that GNU gettext chose that name; perhaps in a future ! version they can be persuaded to change it to -lgnuintl and have a ! link so that -lintl will work for other systems. The same goes for ! header files. We want /usr/gnu/include searched for before the system ! header files. Hence the -isystem /usr/gnu/include in the CPP_SPEC. ! We get /usr/gnu/lib first by virtue of the MD_STARTFILE_PREFIX below. */ + #define MD_STARTFILE_PREFIX "/usr/gnu/lib/" + #define MD_STARTFILE_PREFIX_1 "/usr/ccs/lib/" + + #if USE_GAS + # define MD_EXEC_PREFIX "/usr/gnu/bin/" + #else + # define MD_EXEC_PREFIX "/usr/ccs/bin/elf/" + #endif + + /* Always use the system linker, please. */ + #ifndef DEFAULT_LINKER + # define DEFAULT_LINKER "/usr/ccs/bin/elf/ld" + #endif + /* Set up assembler flags for PIC and ELF compilations */ #undef ASM_SPEC #if USE_GAS ! /* Leave ASM_SPEC undefined so we pick up the master copy from gcc.c */ #else #define ASM_SPEC \ ! "%{Ym,*} %{Yd,*} %{Wa,*:%*} \ ! -E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}" #endif ! /* ! * Use crti.o for shared objects, crt1.o for normal executables. Make sure ! * to recognize both -G and -shared as a valid way of introducing shared ! * library generation. This is important for backwards compatibility. ! */ #undef STARTFILE_SPEC #define STARTFILE_SPEC \ ! "%{pg:%e-pg not supported on this platform} \ ! %{p:%{pp:%e-p and -pp specified - pick one}} \ ! %{!shared:\ %{!symbolic: \ ! %{!G: \ ! %{pp:pcrt1elf.o%s}%{p:mcrt1.o%s}%{!p:%{!pp:crt1.o%s}}}}} \ ! crti.o%s \ %{ansi:values-Xc.o%s} \ %{!ansi: \ ! %{traditional:values-Xt.o%s} \ ! %{!traditional: \ ! %{Xa:values-Xa.o%s} \ ! %{!Xa:%{Xc:values-Xc.o%s} \ ! %{!Xc:%{Xk:values-Xk.o%s} \ ! %{!Xk:%{Xt:values-Xt.o%s} \ ! %{!Xt:values-Xa.o%s}}}}}} \ ! crtbegin.o%s" #undef ENDFILE_SPEC #define ENDFILE_SPEC \ ! "crtend.o%s crtn.o%s" ! #define TARGET_OS_CPP_BUILTINS() \ ! do \ ! { \ ! builtin_define ("__unix"); \ ! builtin_define ("_SCO_DS"); \ ! builtin_define ("_SCO_DS_LL"); \ ! builtin_define ("_SCO_ELF"); \ ! builtin_define ("_M_I386"); \ ! builtin_define ("_M_XENIX"); \ ! builtin_define ("_M_UNIX"); \ ! builtin_assert ("system=svr3"); \ ! if (flag_iso) \ ! cpp_define (pfile, "_STRICT_ANSI"); \ ! if (flag_pic) \ ! { \ ! builtin_define ("__PIC__"); \ ! builtin_define ("__pic__"); \ ! } \ ! } \ while (0) #undef CPP_SPEC #define CPP_SPEC "\ ! -isystem /usr/gnu/include \ ! %{pthread:-D_REENTRANT} \ %{!Xods30:-D_STRICT_NAMES} \ %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \ %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \ *************** init_section () \ *** 652,659 **** -DM_BITFIELDS -DM_SYS5 -DM_SYSV -DM_INTERNAT -DM_SYSIII \ -DM_WORDSWAP}}}} \ %{scointl:-DM_INTERNAT -D_M_INTERNAT} \ - %{!mcoff:-D_SCO_ELF} \ - %{mcoff:-D_M_COFF -D_SCO_COFF} \ %{Xa:-D_SCO_C_DIALECT=1} \ %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \ %{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \ --- 256,261 ---- *************** init_section () \ *** 662,770 **** #undef LINK_SPEC #define LINK_SPEC \ ! "-b %{!mcoff:elf}%{mcoff:coff \ ! %{static:%e-static not valid with -mcoff} \ ! %{shared:%e-shared not valid with -mcoff} \ ! %{symbolic:%e-symbolic not valid with -mcoff} \ ! %{fpic:%e-fpic not valid with -mcoff} \ ! %{fPIC:%e-fPIC not valid with -mcoff}} \ ! -R%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},%{mcoff:COFF}%{!mcoff:ELF} \ ! %{Wl,*%*} %{YP,*} %{YL,*} %{YU,*} \ %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \ %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \ ! %{h*} %{static:-dn -Bstatic} %{shared:-G -dy %{!z*:-z text}} \ ! %{symbolic:-Bsymbolic -G -dy %{!z*:-z text}} %{z*} %{R*} %{Y*} \ ! %{G:-G} %{!mcoff:%{Qn:} %{!Qy:-Qn}}" ! ! /* The SCO COFF linker gets confused on the difference between "-ofoo" ! and "-o foo". So we just always force a single space. */ ! ! #define SWITCHES_NEED_SPACES "o" /* Library spec. If we are not building a shared library, provide the standard libraries, as per the SCO compiler. */ #undef LIB_SPEC #define LIB_SPEC \ ! "%{shared:pic/libgcc.a%s}%{!shared:%{!symbolic:-lcrypt -lgen -lc}}" #undef LIBGCC_SPEC #define LIBGCC_SPEC \ ! "%{!shared:-lgcc}" ! #define MASK_COFF 010000000000 /* Mask for elf generation */ ! #define TARGET_ELF (1) /* (!(target_flags & MASK_COFF)) */ #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ { "elf", -MASK_COFF, N_("Generate ELF output") }, - #define NO_DOLLAR_IN_LABEL - - /* Implicit library calls should use memcpy, not bcopy, etc. They are - faster on OpenServer libraries. */ - - #define TARGET_MEM_FUNCTIONS - - /* Biggest alignment supported by the object file format of this - machine. Use this macro to limit the alignment which can be - specified using the `__attribute__ ((aligned (N)))' construct. If - not defined, the default value is `BIGGEST_ALIGNMENT'. */ - - #define MAX_OFILE_ALIGNMENT (32768*8) - - /* Define the `__builtin_va_list' type for the ABI. On OpenServer, this - type is `char *'. */ - #undef BUILD_VA_LIST_TYPE - #define BUILD_VA_LIST_TYPE(VALIST) \ - (VALIST) = build_pointer_type (char_type_node) - - - /* - Here comes some major hackery to get the crt stuff to compile properly. - Since we can (and do) compile for both COFF and ELF environments, we - set things up accordingly, based on the pre-processor defines for ELF - and COFF. This is insane, but then I guess having one compiler with a - single back-end supporting two vastly different file format types is - a little insane too. But it is not impossible and we get a useful - compiler at the end of the day. Onward we go ... - */ - - #if defined(CRT_BEGIN) || defined(CRT_END) || defined(IN_LIBGCC2) - # undef OBJECT_FORMAT_ELF - # undef INIT_SECTION_ASM_OP - # undef FINI_SECTION_ASM_OP - # undef CTORS_SECTION_ASM_OP - # undef DTORS_SECTION_ASM_OP - # undef EH_FRAME_SECTION_NAME - # undef CTOR_LIST_BEGIN - # undef CTOR_LIST_END - # undef DO_GLOBAL_CTORS_BODY - - # if defined (_SCO_ELF) - # define OBJECT_FORMAT_ELF - # define INIT_SECTION_ASM_OP INIT_SECTION_ASM_OP_ELF - # define FINI_SECTION_ASM_OP FINI_SECTION_ASM_OP_ELF - # define DTORS_SECTION_ASM_OP DTORS_SECTION_ASM_OP_ELF - # define CTORS_SECTION_ASM_OP CTORS_SECTION_ASM_OP_ELF - # define EH_FRAME_SECTION_NAME EH_FRAME_SECTION_NAME_ELF - # else /* ! _SCO_ELF */ - # define INIT_SECTION_ASM_OP INIT_SECTION_ASM_OP_COFF - # define FINI_SECTION_ASM_OP FINI_SECTION_ASM_OP_COFF - # define DTORS_SECTION_ASM_OP DTORS_SECTION_ASM_OP_COFF - # define CTORS_SECTION_ASM_OP CTORS_SECTION_ASM_OP_COFF - # define EH_FRAME_SECTION_NAME EH_FRAME_SECTION_NAME_COFF - # define CTOR_LIST_BEGIN asm (INIT_SECTION_ASM_OP); asm ("pushl $0") - # define CTOR_LIST_END CTOR_LIST_BEGIN - # define DO_GLOBAL_CTORS_BODY \ - do { \ - func_ptr *p, *beg = alloca(0); \ - for (p = beg; *p;) \ - (*p++) (); \ - } while (0) - # endif /* ! _SCO_ELF */ - #endif /* CRT_BEGIN !! CRT_END */ - /* Handle special EH pointer encodings. Absolute, pc-relative, and indirect are handled automatically. */ #define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \ --- 264,301 ---- #undef LINK_SPEC #define LINK_SPEC \ ! "%{!shared:%{!symbolic:%{!G:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF}}} \ ! %{Wl,*:%*} %{YP,*} %{YL,*} %{YU,*} \ %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \ %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \ ! %{h*} %{static:-dn -Bstatic %{G:%e-G and -static are mutually exclusive}} \ ! %{shared:%{!G:-G}} %{G:%{!shared:-G}} %{shared:%{G:-G}} \ ! %{shared:-dy %{symbolic:-Bsymbolic -G} %{z*}} %{R*} %{Y*} \ ! %{Qn:} %{!Qy:-Qn} -z alt_resolve" /* Library spec. If we are not building a shared library, provide the standard libraries, as per the SCO compiler. */ #undef LIB_SPEC #define LIB_SPEC \ ! "%{shared:%{!G:pic/libgcc.a%s}} \ ! %{G:%{!shared:pic/libgcc.a%s}} \ ! %{shared:%{G:pic/libgcc.a%s}} \ ! %{p:%{!pp:-lelfprof -lelf}} %{pp:%{!p:-lelfprof -lelf}} \ ! %{!shared:%{!symbolic:%{!G:-lcrypt -lgen -lc %{pthread:-lpthread}}}}" #undef LIBGCC_SPEC #define LIBGCC_SPEC \ ! "%{!shared:%{!G:-lgcc}}" ! /* Here for legacy support only so we still accept -melf flag */ ! #define MASK_COFF 010000000000 /* Mask for COFF generation */ ! #define TARGET_ELF (1) #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES \ { "elf", -MASK_COFF, N_("Generate ELF output") }, /* Handle special EH pointer encodings. Absolute, pc-relative, and indirect are handled automatically. */ #define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \ *************** do { \ *** 798,807 **** : "=d"(BASE)) #endif - /* 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) \ - (flag_pic ? (GLOBAL ? DW_EH_PE_indirect : 0) | DW_EH_PE_datarel \ - : DW_EH_PE_absptr) --- 329,331 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/i386/sol2.h gcc-3.3.2/gcc/config/i386/sol2.h *** gcc-3.3.1/gcc/config/i386/sol2.h 2002-06-20 11:03:34.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/sol2.h 2003-09-09 19:52:00.000000000 +0000 *************** *** 1,5 **** /* Target definitions for GNU compiler for Intel 80386 running Solaris 2 ! Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by Fred Fish (fnf@cygnus.com). --- 1,5 ---- /* Target definitions for GNU compiler for Intel 80386 running Solaris 2 ! Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Fred Fish (fnf@cygnus.com). *************** along with GNU CC; see the file COPYING. *** 20,27 **** the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - #define CMOV_SUN_AS_SYNTAX 1 - /* The Solaris 2.0 x86 linker botches alignment of code sections. It tries to align to a 16 byte boundary by padding with 0x00000090 ints, rather than 0x90 bytes (nop). This generates trash in the --- 20,25 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/i386/t-sco5 gcc-3.3.2/gcc/config/i386/t-sco5 *** gcc-3.3.1/gcc/config/i386/t-sco5 2001-11-15 13:05:53.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/t-sco5 2003-08-09 06:51:10.000000000 +0000 *************** *** 1,18 **** ! # We need to use -fPIC when we are using gcc to compile the routines in ! # crtstuff.c. This is only really needed when we are going to use gcc/g++ ! # to produce a shared library, but since we don't know ahead of time when ! # we will be doing that, we just always use -fPIC when compiling the ! # routines in crtstuff.c. Likewise for libgcc2.c. This is less painful ! # than multilibbing everything with PIC and PIC-not variants. ! ! # The pushl in CTOR initialization interferes with frame pointer elimination. ! CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer - TARGET_LIBGCC2_CFLAGS = -fPIC ! crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) ! sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s ! $(GCC_FOR_TARGET) -c -o crti.o crti.s # See all the declarations. FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 --- 1,16 ---- ! # We multilib libgcc for -fPIC, to get real PIC code in it. ! # NOTE: We must use -fPIC on crt{begi,end}.o else we get an RTLD error ! # "cant set protections on segment of length blah at 0x8048000". CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer ! MULTILIB_OPTIONS = fPIC ! MULTILIB_DIRNAMES = pic ! MUTLILIB_EXCEPTIONS = ! MULTILIB_MATCHES = fPIC=fpic ! MULTILIB_EXTRA_OPTS = ! ! LIBGCC=stmp-multilib ! INSTALL_LIBGCC=install-multilib # See all the declarations. FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 diff -Nrc3pad gcc-3.3.1/gcc/config/i386/t-sco5gas gcc-3.3.2/gcc/config/i386/t-sco5gas *** gcc-3.3.1/gcc/config/i386/t-sco5gas 2003-01-25 18:09:15.000000000 +0000 --- gcc-3.3.2/gcc/config/i386/t-sco5gas 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,23 **** - # The pushl in CTOR initialization interferes with frame pointer elimination. - CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer - CRTSTUFF_T_CFLAGS_S = -fno-omit-frame-pointer - - # - # I am still a little unsure of the multilib architecture. The following - # 4 lines are based on advice from meissner@cygnus.com. - # - MULTILIB_OPTIONS = fPIC - MULTILIB_DIRNAMES = pic - MULTILIB_EXCEPTIONS = *fPIC* - MULTILIB_MATCHES = fPIC=fpic - MULTILIB_EXTRA_OPTS = - - LIBGCC=stmp-multilib - INSTALL_LIBGCC=install-multilib - - crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) - sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s - $(GCC_FOR_TARGET) -c -o crti.o crti.s - - # See all the declarations. - FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 --- 0 ---- diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/hpux.h gcc-3.3.2/gcc/config/ia64/hpux.h *** gcc-3.3.1/gcc/config/ia64/hpux.h 2003-02-27 16:24:18.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/hpux.h 2003-08-26 06:50:30.000000000 +0000 *************** do { \ *** 49,54 **** --- 49,61 ---- } \ } while (0) + #undef CPP_SPEC + #define CPP_SPEC \ + "%{mt|pthread:-D_REENTRANT -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L}" + /* aCC defines also -DRWSTD_MULTI_THREAD, -DRW_MULTI_THREAD. These + affect only aCC's C++ library (Rogue Wave-derived) which we do not + use, and they violate the user's name space. */ + #undef ASM_EXTRA_SPEC #define ASM_EXTRA_SPEC "%{milp32:-milp32} %{mlp64:-mlp64}" *************** do { \ *** 68,73 **** --- 75,81 ---- #undef LIB_SPEC #define LIB_SPEC \ "%{!shared: \ + %{mt|pthread:-lpthread} \ %{p:%{!mlp64:-L/usr/lib/hpux32/libp} \ %{mlp64:-L/usr/lib/hpux64/libp} -lprof} \ %{pg:%{!mlp64:-L/usr/lib/hpux32/libp} \ *************** do { \ *** 134,139 **** --- 142,151 ---- #undef TARGET_HPUX_LD #define TARGET_HPUX_LD 1 + /* The HPUX dynamic linker objects to weak symbols with no + definitions, so do not use them in gthr-posix.h. */ + #define GTHREAD_USE_WEAK 0 + /* Put out the needed function declarations at the end. */ #define ASM_FILE_END(STREAM) ia64_hpux_asm_file_end(STREAM) *************** do { \ *** 144,149 **** --- 156,165 ---- #undef DTORS_SECTION_ASM_OP #define DTORS_SECTION_ASM_OP "\t.section\t.fini_array,\t\"aw\",\"fini_array\"" + /* The init_array/fini_array technique does not permit the use of + initialization priorities. */ + #define SUPPORTS_INIT_PRIORITY 0 + #undef READONLY_DATA_SECTION_ASM_OP #define READONLY_DATA_SECTION_ASM_OP "\t.section\t.rodata,\t\"a\",\t\"progbits\"" diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64.c gcc-3.3.2/gcc/config/ia64/ia64.c *** gcc-3.3.1/gcc/config/ia64/ia64.c 2003-07-30 00:57:29.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64.c 2003-09-10 04:06:03.000000000 +0000 *************** ia64_expand_move (op0, op1) *** 1154,1159 **** --- 1154,1160 ---- if ((tls_kind = tls_symbolic_operand (op1, Pmode))) { rtx tga_op1, tga_op2, tga_ret, tga_eqv, tmp, insns; + rtx orig_op0 = op0; switch (tls_kind) { *************** ia64_expand_move (op0, op1) *** 1177,1184 **** insns = get_insns (); end_sequence (); emit_libcall_block (insns, op0, tga_ret, op1); ! return NULL_RTX; case TLS_MODEL_LOCAL_DYNAMIC: /* ??? This isn't the completely proper way to do local-dynamic --- 1178,1187 ---- insns = get_insns (); end_sequence (); + if (GET_MODE (op0) != Pmode) + op0 = tga_ret; emit_libcall_block (insns, op0, tga_ret, op1); ! break; case TLS_MODEL_LOCAL_DYNAMIC: /* ??? This isn't the completely proper way to do local-dynamic *************** ia64_expand_move (op0, op1) *** 1206,1225 **** tmp = gen_reg_rtx (Pmode); emit_libcall_block (insns, tmp, tga_ret, tga_eqv); ! if (register_operand (op0, Pmode)) ! tga_ret = op0; ! else ! tga_ret = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_dtprel (tga_ret, op1)); ! emit_insn (gen_adddi3 (tga_ret, tmp, tga_ret)); } else ! emit_insn (gen_add_dtprel (tga_ret, tmp, op1)); ! if (tga_ret == op0) ! return NULL_RTX; ! op1 = tga_ret; break; case TLS_MODEL_INITIAL_EXEC: --- 1209,1223 ---- tmp = gen_reg_rtx (Pmode); emit_libcall_block (insns, tmp, tga_ret, tga_eqv); ! if (!register_operand (op0, Pmode)) ! op0 = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_dtprel (op0, op1)); ! emit_insn (gen_adddi3 (op0, tmp, op0)); } else ! emit_insn (gen_add_dtprel (op0, tmp, op1)); break; case TLS_MODEL_INITIAL_EXEC: *************** ia64_expand_move (op0, op1) *** 1229,1263 **** RTX_UNCHANGING_P (tmp) = 1; tmp = force_reg (Pmode, tmp); ! if (register_operand (op0, Pmode)) ! op1 = op0; ! else ! op1 = gen_reg_rtx (Pmode); ! emit_insn (gen_adddi3 (op1, tmp, gen_thread_pointer ())); ! if (op1 == op0) ! return NULL_RTX; break; case TLS_MODEL_LOCAL_EXEC: ! if (register_operand (op0, Pmode)) ! tmp = op0; ! else ! tmp = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_tprel (tmp, op1)); ! emit_insn (gen_adddi3 (tmp, gen_thread_pointer (), tmp)); } else ! emit_insn (gen_add_tprel (tmp, gen_thread_pointer (), op1)); ! if (tmp == op0) ! return NULL_RTX; ! op1 = tmp; break; default: abort (); } } else if (!TARGET_NO_PIC && (symbolic_operand (op1, Pmode) || --- 1227,1258 ---- RTX_UNCHANGING_P (tmp) = 1; tmp = force_reg (Pmode, tmp); ! if (!register_operand (op0, Pmode)) ! op0 = gen_reg_rtx (Pmode); ! emit_insn (gen_adddi3 (op0, tmp, gen_thread_pointer ())); break; case TLS_MODEL_LOCAL_EXEC: ! if (!register_operand (op0, Pmode)) ! op0 = gen_reg_rtx (Pmode); if (TARGET_TLS64) { ! emit_insn (gen_load_tprel (op0, op1)); ! emit_insn (gen_adddi3 (op0, gen_thread_pointer (), op0)); } else ! emit_insn (gen_add_tprel (op0, gen_thread_pointer (), op1)); break; default: abort (); } + + if (orig_op0 == op0) + return NULL_RTX; + if (GET_MODE (orig_op0) == Pmode) + return op0; + return gen_lowpart (GET_MODE (orig_op0), op0); } else if (!TARGET_NO_PIC && (symbolic_operand (op1, Pmode) || *************** ia64_initial_elimination_offset (from, t *** 2015,2024 **** abort (); break; - case RETURN_ADDRESS_POINTER_REGNUM: - offset = 0; - break; - default: abort (); } --- 2010,2015 ---- *************** ia64_expand_prologue () *** 2369,2385 **** reg_names[current_frame_info.reg_fp] = tmp; } - /* Fix up the return address placeholder. */ - /* ??? We can fail if __builtin_return_address is used, and we didn't - allocate a register in which to save b0. I can't think of a way to - eliminate RETURN_ADDRESS_POINTER_REGNUM to a local register and - then be sure that I got the right one. Further, reload doesn't seem - to care if an eliminable register isn't used, and "eliminates" it - anyway. */ - if (regs_ever_live[RETURN_ADDRESS_POINTER_REGNUM] - && current_frame_info.reg_save_b0 != 0) - XINT (return_address_pointer_rtx, 0) = current_frame_info.reg_save_b0; - /* We don't need an alloc instruction if we've used no outputs or locals. */ if (current_frame_info.n_local_regs == 0 && current_frame_info.n_output_regs == 0 --- 2360,2365 ---- *************** ia64_direct_return () *** 2936,2941 **** --- 2916,2987 ---- return 0; } + /* Return the magic cookie that we use to hold the return address + during early compilation. */ + + rtx + ia64_return_addr_rtx (count, frame) + HOST_WIDE_INT count; + rtx frame ATTRIBUTE_UNUSED; + { + if (count != 0) + return NULL; + return gen_rtx_UNSPEC (Pmode, gen_rtvec (1, const0_rtx), UNSPEC_RET_ADDR); + } + + /* Split this value after reload, now that we know where the return + address is saved. */ + + void + ia64_split_return_addr_rtx (dest) + rtx dest; + { + rtx src; + + if (TEST_HARD_REG_BIT (current_frame_info.mask, BR_REG (0))) + { + if (current_frame_info.reg_save_b0 != 0) + src = gen_rtx_REG (DImode, current_frame_info.reg_save_b0); + else + { + HOST_WIDE_INT off; + unsigned int regno; + + /* Compute offset from CFA for BR0. */ + /* ??? Must be kept in sync with ia64_expand_prologue. */ + off = (current_frame_info.spill_cfa_off + + current_frame_info.spill_size); + for (regno = GR_REG (1); regno <= GR_REG (31); ++regno) + if (TEST_HARD_REG_BIT (current_frame_info.mask, regno)) + off -= 8; + + /* Convert CFA offset to a register based offset. */ + if (frame_pointer_needed) + src = hard_frame_pointer_rtx; + else + { + src = stack_pointer_rtx; + off += current_frame_info.total_size; + } + + /* Load address into scratch register. */ + if (CONST_OK_FOR_I (off)) + emit_insn (gen_adddi3 (dest, src, GEN_INT (off))); + else + { + emit_move_insn (dest, GEN_INT (off)); + emit_insn (gen_adddi3 (dest, src, dest)); + } + + src = gen_rtx_MEM (Pmode, dest); + } + } + else + src = gen_rtx_REG (DImode, BR_REG (0)); + + emit_move_insn (dest, src); + } + int ia64_hard_regno_rename_ok (from, to) int from; *************** ia64_output_function_epilogue (file, siz *** 3085,3093 **** { int i; - /* Reset from the function's potential modifications. */ - XINT (return_address_pointer_rtx, 0) = RETURN_ADDRESS_POINTER_REGNUM; - if (current_frame_info.reg_fp) { const char *tmp = reg_names[HARD_FRAME_POINTER_REGNUM]; --- 3131,3136 ---- *************** ia64_emit_nops () *** 7060,7066 **** { while (bundle_pos < 3) { ! emit_insn_before (gen_nop_type (b->t[bundle_pos]), insn); bundle_pos++; } continue; --- 7103,7110 ---- { while (bundle_pos < 3) { ! if (b->t[bundle_pos] != TYPE_L) ! emit_insn_before (gen_nop_type (b->t[bundle_pos]), insn); bundle_pos++; } continue; *************** ia64_output_mi_thunk (file, thunk, delta *** 8368,8373 **** --- 8412,8420 ---- emit_note (NULL, NOTE_INSN_PROLOGUE_END); this = gen_rtx_REG (Pmode, IN_REG (0)); + if (TARGET_ILP32) + emit_insn (gen_ptr_extend (this, + gen_rtx_REG (ptr_mode, IN_REG (0)))); /* Apply the constant offset, if required. */ if (delta) *************** ia64_output_mi_thunk (file, thunk, delta *** 8389,8395 **** rtx vcall_offset_rtx = GEN_INT (vcall_offset); rtx tmp = gen_rtx_REG (Pmode, 2); ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, this)); if (!CONST_OK_FOR_J (vcall_offset)) { --- 8436,8449 ---- rtx vcall_offset_rtx = GEN_INT (vcall_offset); rtx tmp = gen_rtx_REG (Pmode, 2); ! if (TARGET_ILP32) ! { ! rtx t = gen_rtx_REG (ptr_mode, 2); ! emit_move_insn (t, gen_rtx_MEM (ptr_mode, this)); ! emit_insn (gen_ptr_extend (tmp, t)); ! } ! else ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, this)); if (!CONST_OK_FOR_J (vcall_offset)) { *************** ia64_output_mi_thunk (file, thunk, delta *** 8399,8405 **** } emit_insn (gen_adddi3 (tmp, tmp, vcall_offset_rtx)); ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, tmp)); emit_insn (gen_adddi3 (this, this, tmp)); } --- 8453,8463 ---- } emit_insn (gen_adddi3 (tmp, tmp, vcall_offset_rtx)); ! if (TARGET_ILP32) ! emit_move_insn (gen_rtx_REG (ptr_mode, 2), ! gen_rtx_MEM (ptr_mode, tmp)); ! else ! emit_move_insn (tmp, gen_rtx_MEM (Pmode, tmp)); emit_insn (gen_adddi3 (this, this, tmp)); } diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64.h gcc-3.3.2/gcc/config/ia64/ia64.h *** gcc-3.3.1/gcc/config/ia64/ia64.h 2003-04-25 13:45:41.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64.h 2003-08-08 22:07:14.000000000 +0000 *************** while (0) *** 436,442 **** 64 predicate registers, 8 branch registers, one frame pointer, and several "application" registers. */ ! #define FIRST_PSEUDO_REGISTER 335 /* Ranges for the various kinds of registers. */ #define ADDL_REGNO_P(REGNO) ((unsigned HOST_WIDE_INT) (REGNO) <= 3) --- 436,442 ---- 64 predicate registers, 8 branch registers, one frame pointer, and several "application" registers. */ ! #define FIRST_PSEUDO_REGISTER 334 /* Ranges for the various kinds of registers. */ #define ADDL_REGNO_P(REGNO) ((unsigned HOST_WIDE_INT) (REGNO) <= 3) *************** while (0) *** 445,453 **** #define PR_REGNO_P(REGNO) ((REGNO) >= 256 && (REGNO) <= 319) #define BR_REGNO_P(REGNO) ((REGNO) >= 320 && (REGNO) <= 327) #define GENERAL_REGNO_P(REGNO) \ ! (GR_REGNO_P (REGNO) \ ! || (REGNO) == FRAME_POINTER_REGNUM \ ! || (REGNO) == RETURN_ADDRESS_POINTER_REGNUM) #define GR_REG(REGNO) ((REGNO) + 0) #define FR_REG(REGNO) ((REGNO) + 128) --- 445,451 ---- #define PR_REGNO_P(REGNO) ((REGNO) >= 256 && (REGNO) <= 319) #define BR_REGNO_P(REGNO) ((REGNO) >= 320 && (REGNO) <= 327) #define GENERAL_REGNO_P(REGNO) \ ! (GR_REGNO_P (REGNO) || (REGNO) == FRAME_POINTER_REGNUM) #define GR_REG(REGNO) ((REGNO) + 0) #define FR_REG(REGNO) ((REGNO) + 128) *************** while (0) *** 457,467 **** #define IN_REG(REGNO) ((REGNO) + 112) #define LOC_REG(REGNO) ((REGNO) + 32) ! #define AR_CCV_REGNUM 330 ! #define AR_UNAT_REGNUM 331 ! #define AR_PFS_REGNUM 332 ! #define AR_LC_REGNUM 333 ! #define AR_EC_REGNUM 334 #define IN_REGNO_P(REGNO) ((REGNO) >= IN_REG (0) && (REGNO) <= IN_REG (7)) #define LOC_REGNO_P(REGNO) ((REGNO) >= LOC_REG (0) && (REGNO) <= LOC_REG (79)) --- 455,465 ---- #define IN_REG(REGNO) ((REGNO) + 112) #define LOC_REG(REGNO) ((REGNO) + 32) ! #define AR_CCV_REGNUM 329 ! #define AR_UNAT_REGNUM 330 ! #define AR_PFS_REGNUM 331 ! #define AR_LC_REGNUM 332 ! #define AR_EC_REGNUM 333 #define IN_REGNO_P(REGNO) ((REGNO) >= IN_REG (0) && (REGNO) <= IN_REG (7)) #define LOC_REGNO_P(REGNO) ((REGNO) >= LOC_REG (0) && (REGNO) <= LOC_REG (79)) *************** while (0) *** 524,531 **** 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 0, 0, 0, 0, 0, 0, 0, 0, \ ! /*FP RA CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 1, 0, 1 \ } /* Like `FIXED_REGISTERS' but has 1 for each register that is clobbered --- 522,529 ---- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 0, 0, 0, 0, 0, 0, 0, 0, \ ! /*FP CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 0, 1 \ } /* Like `FIXED_REGISTERS' but has 1 for each register that is clobbered *************** while (0) *** 559,566 **** 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP RA CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 1, 0, 1 \ } /* Like `CALL_USED_REGISTERS' but used to overcome a historical --- 557,564 ---- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP CCV UNAT PFS LC EC */ \ ! 1, 1, 1, 1, 0, 1 \ } /* Like `CALL_USED_REGISTERS' but used to overcome a historical *************** while (0) *** 597,604 **** 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP RA CCV UNAT PFS LC EC */ \ ! 0, 0, 1, 0, 1, 0, 0 \ } --- 595,602 ---- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* Branch registers. */ \ 1, 0, 0, 0, 0, 0, 1, 1, \ ! /*FP CCV UNAT PFS LC EC */ \ ! 0, 1, 0, 1, 0, 0 \ } *************** while (0) *** 744,750 **** /* Special branch registers. */ \ R_BR (0), \ /* Other fixed registers. */ \ ! FRAME_POINTER_REGNUM, RETURN_ADDRESS_POINTER_REGNUM, \ AR_CCV_REGNUM, AR_UNAT_REGNUM, AR_PFS_REGNUM, AR_LC_REGNUM, \ AR_EC_REGNUM \ } --- 742,748 ---- /* Special branch registers. */ \ R_BR (0), \ /* Other fixed registers. */ \ ! FRAME_POINTER_REGNUM, \ AR_CCV_REGNUM, AR_UNAT_REGNUM, AR_PFS_REGNUM, AR_LC_REGNUM, \ AR_EC_REGNUM \ } *************** enum reg_class *** 873,883 **** /* AR_M_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0C00 }, \ /* AR_I_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x7000 }, \ /* ADDL_REGS. */ \ { 0x0000000F, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ --- 871,881 ---- /* AR_M_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0600 }, \ /* AR_I_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x3800 }, \ /* ADDL_REGS. */ \ { 0x0000000F, 0x00000000, 0x00000000, 0x00000000, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ *************** enum reg_class *** 885,891 **** /* GR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0300 }, \ /* FR_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ --- 883,889 ---- /* GR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x0100 }, \ /* FR_REGS. */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ *************** enum reg_class *** 893,907 **** /* GR_AND_BR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x03FF }, \ /* GR_AND_FR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0x00000000, 0x00000000, 0x0300 }, \ /* ALL_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFF }, \ } /* A C expression whose value is a register class containing hard register --- 891,905 ---- /* GR_AND_BR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, \ ! 0x00000000, 0x00000000, 0x01FF }, \ /* GR_AND_FR_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0x00000000, 0x00000000, 0x0100 }, \ /* ALL_REGS. */ \ { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, \ ! 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFF }, \ } /* A C expression whose value is a register class containing hard register *************** enum reg_class *** 1119,1125 **** DYNAMIC_CHAIN_ADDRESS and SETUP_FRAME_ADDRESS (for the reg stack flush). */ #define RETURN_ADDR_RTX(COUNT, FRAME) \ ! ((COUNT) == 0 ? return_address_pointer_rtx : const0_rtx) /* A C expression whose value is RTL representing the location of the incoming return address at the beginning of any function, before the prologue. This --- 1117,1123 ---- DYNAMIC_CHAIN_ADDRESS and SETUP_FRAME_ADDRESS (for the reg stack flush). */ #define RETURN_ADDR_RTX(COUNT, FRAME) \ ! ia64_return_addr_rtx (COUNT, FRAME) /* A C expression whose value is RTL representing the location of the incoming return address at the beginning of any function, before the prologue. This *************** enum reg_class *** 1180,1192 **** REGNO_POINTER_ALIGN (ARG_POINTER_REGNUM) = 64; \ } while (0) - /* The register number for the return address register. For IA-64, this - is not actually a pointer as the name suggests, but that's a name that - gen_rtx_REG already takes care to keep unique. We modify - return_address_pointer_rtx in ia64_expand_prologue to reference the - final output regnum. */ - #define RETURN_ADDRESS_POINTER_REGNUM 329 - /* Register numbers used for passing a function's static chain pointer. */ /* ??? The ABI sez the static chain should be passed as a normal parameter. */ #define STATIC_CHAIN_REGNUM 15 --- 1178,1183 ---- *************** enum reg_class *** 1210,1216 **** {ARG_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ {FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}, \ - {RETURN_ADDRESS_POINTER_REGNUM, BR_REG (0)}, \ } /* A C expression that returns nonzero if the compiler is allowed to try to --- 1201,1206 ---- *************** do { \ *** 1934,1941 **** "p60", "p61", "p62", "p63", \ /* Branch registers. */ \ "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", \ ! /* Frame pointer. Return address. */ \ ! "sfp", "retaddr", "ar.ccv", "ar.unat", "ar.pfs", "ar.lc", "ar.ec", \ } /* If defined, a C initializer for an array of structures containing a name and --- 1924,1931 ---- "p60", "p61", "p62", "p63", \ /* Branch registers. */ \ "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", \ ! /* Frame pointer. Application registers. */ \ ! "sfp", "ar.ccv", "ar.unat", "ar.pfs", "ar.lc", "ar.ec", \ } /* If defined, a C initializer for an array of structures containing a name and diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64.md gcc-3.3.2/gcc/config/ia64/ia64.md *** gcc-3.3.1/gcc/config/ia64/ia64.md 2003-07-21 17:56:10.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64.md 2003-08-08 22:07:14.000000000 +0000 *************** *** 73,78 **** --- 73,79 ---- (UNSPEC_BUNDLE_SELECTOR 23) (UNSPEC_ADDP4 24) (UNSPEC_PROLOGUE_USE 25) + (UNSPEC_RET_ADDR 26) ]) (define_constants *************** *** 416,421 **** --- 417,441 ---- DONE; }) + ;; This is used as a placeholder for the return address during early + ;; compilation. We won't know where we've placed this until during + ;; reload, at which point it can wind up in b0, a general register, + ;; or memory. The only safe destination under these conditions is a + ;; general register. + + (define_insn_and_split "*movdi_ret_addr" + [(set (match_operand:DI 0 "register_operand" "=r") + (unspec:DI [(const_int 0)] UNSPEC_RET_ADDR))] + "" + "#" + "reload_completed" + [(const_int 0)] + { + ia64_split_return_addr_rtx (operands[0]); + DONE; + } + [(set_attr "itanium_class" "ialu")]) + (define_insn "*movdi_internal" [(set (match_operand:DI 0 "destination_operand" "=r,r,r,r, m, r,*f,*f,*f, Q, r,*b, r,*e, r,*d, r,*c") diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/ia64-protos.h gcc-3.3.2/gcc/config/ia64/ia64-protos.h *** gcc-3.3.1/gcc/config/ia64/ia64-protos.h 2003-04-25 13:45:41.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/ia64-protos.h 2003-08-08 22:07:14.000000000 +0000 *************** extern void ia64_override_options PARAMS *** 135,140 **** --- 135,143 ---- extern int ia64_dbx_register_number PARAMS((int)); extern bool ia64_function_ok_for_sibcall PARAMS ((tree)); + extern rtx ia64_return_addr_rtx PARAMS ((HOST_WIDE_INT, rtx)); + extern void ia64_split_return_addr_rtx PARAMS ((rtx)); + #ifdef SDATA_SECTION_ASM_OP extern void sdata_section PARAMS ((void)); #endif diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/libgcc-ia64.ver gcc-3.3.2/gcc/config/ia64/libgcc-ia64.ver *** gcc-3.3.1/gcc/config/ia64/libgcc-ia64.ver 2001-03-19 16:02:02.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/libgcc-ia64.ver 2003-09-04 09:39:46.000000000 +0000 *************** GCC_3.0 { *** 7,9 **** --- 7,12 ---- __ia64_trampoline __ia64_backtrace } + GCC_3.3.2 { + _Unwind_GetBSP + } diff -Nrc3pad gcc-3.3.1/gcc/config/ia64/unwind-ia64.c gcc-3.3.2/gcc/config/ia64/unwind-ia64.c *** gcc-3.3.1/gcc/config/ia64/unwind-ia64.c 2003-06-18 22:52:28.000000000 +0000 --- gcc-3.3.2/gcc/config/ia64/unwind-ia64.c 2003-09-04 09:39:47.000000000 +0000 *************** _Unwind_GetCFA (struct _Unwind_Context * *** 1665,1670 **** --- 1665,1678 ---- return (_Unwind_Ptr) context->psp; } + /* Get the value of the Backing Store Pointer as saved in CONTEXT. */ + + _Unwind_Word + _Unwind_GetBSP (struct _Unwind_Context *context) + { + return (_Unwind_Ptr) context->bsp; + } + static _Unwind_Reason_Code uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs) diff -Nrc3pad gcc-3.3.1/gcc/config/linux.h gcc-3.3.2/gcc/config/linux.h *** gcc-3.3.1/gcc/config/linux.h 2003-02-22 18:35:00.000000000 +0000 --- gcc-3.3.2/gcc/config/linux.h 2003-09-16 15:39:22.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 108,113 **** --- 108,116 ---- #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Define this so we can compile MS code for use with WINE. */ #define HANDLE_PRAGMA_PACK_PUSH_POP diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r.c gcc-3.3.2/gcc/config/m32r/m32r.c *** gcc-3.3.1/gcc/config/m32r/m32r.c 2002-10-16 00:40:32.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r.c 2003-09-02 11:02:15.000000000 +0000 *************** *** 1,21 **** /* Subroutines used for code generation on the Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ! This file is part of GNU CC. ! GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ --- 1,21 ---- /* Subroutines used for code generation on the Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! This file is part of GCC. ! GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ *************** m32r_print_operand (file, x, code) *** 2248,2254 **** switch (code) { /* The 's' and 'p' codes are used by output_block_move() to ! indicate post-increment 's'tores and 'p're-increment loads. */ case 's': if (GET_CODE (x) == REG) fprintf (file, "@+%s", reg_names [REGNO (x)]); --- 2248,2254 ---- switch (code) { /* The 's' and 'p' codes are used by output_block_move() to ! indicate pre-increment 's'tores and 'p'ost-increment loads. */ case 's': if (GET_CODE (x) == REG) fprintf (file, "@+%s", reg_names [REGNO (x)]); *************** m32r_expand_block_move (operands) *** 2833,2839 **** } if (leftover) ! emit_insn (gen_movstrsi_internal (dst_reg, src_reg, GEN_INT (leftover))); } --- 2833,2853 ---- } if (leftover) ! { ! HOST_WIDE_INT bytes = leftover; ! ! leftover = bytes % 4; ! bytes -= leftover; ! ! if (bytes) ! { ! emit_insn (gen_movstrsi_internal (dst_reg, src_reg, GEN_INT (bytes))); ! emit_insn (gen_addsi3 (dst_reg, dst_reg, GEN_INT (4))); ! } ! ! if (leftover) ! emit_insn (gen_movstrsi_small_internal (dst_reg, src_reg, GEN_INT (leftover))); ! } } *************** m32r_output_block_move (insn, operands) *** 2963,2968 **** --- 2977,2983 ---- /* Return true if op is an integer constant, less than or equal to MAX_MOVE_BYTES. */ + int m32r_block_immediate_operand (op, mode) rtx op; *************** m32r_block_immediate_operand (op, mode) *** 2975,2977 **** --- 2990,3005 ---- return 1; } + + int + m32r_block_small_immediate_operand (op, mode) + rtx op; + enum machine_mode mode ATTRIBUTE_UNUSED; + { + if (GET_CODE (op) != CONST_INT + || INTVAL (op) > 4 + || INTVAL (op) <= 0) + return 0; + + return 1; + } diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r.h gcc-3.3.2/gcc/config/m32r/m32r.h *** gcc-3.3.1/gcc/config/m32r/m32r.h 2002-09-24 12:48:57.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r.h 2003-09-02 11:02:16.000000000 +0000 *************** *** 1,21 **** /* Definitions of target machine for GNU compiler, Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ! This file is part of GNU CC. ! GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ --- 1,21 ---- /* Definitions of target machine for GNU compiler, Mitsubishi M32R cpu. ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! This file is part of GCC. ! GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ *************** enum m32r_function_type *** 1970,1975 **** --- 1970,1976 ---- { "extend_operand", { REG, SUBREG, MEM }}, \ { "small_insn_p", { INSN, CALL_INSN, JUMP_INSN }}, \ { "m32r_block_immediate_operand",{ CONST_INT }}, \ + { "m32r_block_small_immediate_operand",{ CONST_INT }}, \ { "large_insn_p", { INSN, CALL_INSN, JUMP_INSN }}, \ { "seth_add3_operand", { SYMBOL_REF, LABEL_REF, CONST }}, diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r.md gcc-3.3.2/gcc/config/m32r/m32r.md *** gcc-3.3.1/gcc/config/m32r/m32r.md 2002-09-20 23:46:54.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r.md 2003-09-02 11:02:16.000000000 +0000 *************** *** 1,20 **** ;; Machine description of the Mitsubishi M32R cpu for GNU C compiler ! ;; Copyright (C) 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc. ! ;; This file is part of GNU CC. ! ;; GNU CC is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ! ;; GNU CC is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ! ;; along with GNU CC; see the file COPYING. If not, write to ;; the Free Software Foundation, 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. --- 1,20 ---- ;; Machine description of the Mitsubishi M32R cpu for GNU C compiler ! ;; Copyright (C) 1996, 1997, 1998, 1999, 2001, 2003 Free Software Foundation, Inc. ! ;; This file is part of GCC. ! ;; GCC is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ! ;; GCC is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ! ;; along with GCC; see the file COPYING. If not, write to ;; the Free Software Foundation, 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. *************** *** 1238,1243 **** --- 1238,1253 ---- [(set_attr "type" "int2,int4") (set_attr "length" "2,4")]) + (define_insn "movstrsi_small_internal" + [(set (mem:BLK (match_operand:SI 0 "register_operand" "r")) ;; destination + (mem:BLK (match_operand:SI 1 "register_operand" "r"))) ;; source + (use (match_operand:SI 2 "m32r_block_small_immediate_operand" "J"));; # bytes to move + (clobber (match_scratch:SI 3 "=&r")) ;; temp 1 + (clobber (match_scratch:SI 4 "=&r"))] ;; temp 2 + "" + "* m32r_output_block_move (insn, operands); return \"\"; " + [(set_attr "type" "store8") + (set_attr "length" "20")]) ;; Maximum ;; reg == small constant comparisons are best handled by putting the result ;; of the comparison in a tmp reg and then using beqz/bnez. diff -Nrc3pad gcc-3.3.1/gcc/config/m32r/m32r-protos.h gcc-3.3.2/gcc/config/m32r/m32r-protos.h *** gcc-3.3.1/gcc/config/m32r/m32r-protos.h 2002-06-10 22:20:47.000000000 +0000 --- gcc-3.3.2/gcc/config/m32r/m32r-protos.h 2003-09-02 11:02:15.000000000 +0000 *************** *** 1,20 **** /* Prototypes for m32r.c functions used in the md file & elsewhere. ! Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ! This file is part of GNU CC. ! GNU CC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ --- 1,20 ---- /* Prototypes for m32r.c functions used in the md file & elsewhere. ! Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! This file is part of GCC. ! GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ! GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ *************** extern int large_insn_p PARAMS ((rt *** 83,88 **** --- 83,89 ---- extern int conditional_move_operand PARAMS ((rtx, Mmode)); extern int carry_compare_operand PARAMS ((rtx, Mmode)); extern int m32r_block_immediate_operand PARAMS ((rtx, Mmode)); + extern int m32r_block_small_immediate_operand PARAMS ((rtx, Mmode)); extern int extend_operand PARAMS ((rtx, Mmode)); extern int reg_or_eq_int16_operand PARAMS ((rtx, Mmode)); extern int int8_operand PARAMS ((rtx, Mmode)); diff -Nrc3pad gcc-3.3.1/gcc/config/m68hc11/t-m68hc11-gas gcc-3.3.2/gcc/config/m68hc11/t-m68hc11-gas *** gcc-3.3.1/gcc/config/m68hc11/t-m68hc11-gas 2003-03-24 22:27:36.000000000 +0000 --- gcc-3.3.2/gcc/config/m68hc11/t-m68hc11-gas 2003-10-04 19:45:57.000000000 +0000 *************** LIBGCC2_CFLAGS = -Os -mrelax $(LIBGCC2_I *** 39,45 **** MULTILIB_OPTIONS = m68hc11/m68hc12 mshort fshort-double MULTILIB_DIRNAMES = ! MULTILIB_MATCHES = m68hc11=m6811 m68hc12=m6812 MULTILIB_EXCEPTIONS = -mnoshort -mno68hc11 LIBGCC = stmp-multilib --- 39,45 ---- MULTILIB_OPTIONS = m68hc11/m68hc12 mshort fshort-double MULTILIB_DIRNAMES = ! MULTILIB_MATCHES = m68hc11=m6811 m68hc12=m6812 m68hc12=m68hcs12 MULTILIB_EXCEPTIONS = -mnoshort -mno68hc11 LIBGCC = stmp-multilib diff -Nrc3pad gcc-3.3.1/gcc/config/m68k/t-m68kbare gcc-3.3.2/gcc/config/m68k/t-m68kbare *** gcc-3.3.1/gcc/config/m68k/t-m68kbare 2002-02-13 22:48:57.000000000 +0000 --- gcc-3.3.2/gcc/config/m68k/t-m68kbare 2003-09-19 16:42:14.000000000 +0000 *************** xfgnulib.c: $(srcdir)/config/m68k/fpgnul *** 15,21 **** MULTILIB_OPTIONS = m68000/m68020/m5200/mcpu32/m68040/m68060 m68881/msoft-float MULTILIB_DIRNAMES = MULTILIB_MATCHES = m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 ! MULTILIB_EXCEPTIONS = m68000/msoft-float m5200/m68881 m5200/msoft-float mcpu32/m68881 mcpu32/msoft-float m68040/m68681 m68060/m68681 LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib --- 15,21 ---- MULTILIB_OPTIONS = m68000/m68020/m5200/mcpu32/m68040/m68060 m68881/msoft-float MULTILIB_DIRNAMES = MULTILIB_MATCHES = m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 ! MULTILIB_EXCEPTIONS = m68000/msoft-float m5200/m68881 m5200/msoft-float mcpu32/m68881 mcpu32/msoft-float m68040/m68881 m68060/m68881 LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib diff -Nrc3pad gcc-3.3.1/gcc/config/m68k/t-rtems gcc-3.3.2/gcc/config/m68k/t-rtems *** gcc-3.3.1/gcc/config/m68k/t-rtems 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/config/m68k/t-rtems 2003-09-19 16:42:14.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + # Custom multilibs for RTEMS + + MULTILIB_OPTIONS = m68000/m68020/m5200/mcpu32/m68030/m68040/m68060 m68881/msoft-float + MULTILIB_DIRNAMES = + MULTILIB_MATCHES = m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 m68030=mc68030 + MULTILIB_EXCEPTIONS = m68000/msoft-float m5200/m68881 m5200/msoft-float mcpu32/m68881 mcpu32/msoft-float m68040/m68881 m68060/m68881 diff -Nrc3pad gcc-3.3.1/gcc/config/mips/t-rtems gcc-3.3.2/gcc/config/mips/t-rtems *** gcc-3.3.1/gcc/config/mips/t-rtems 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/config/mips/t-rtems 2003-09-19 13:20:42.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + # Custom multilibs for RTEMS + + MULTILIB_OPTIONS = mips1/mips3 msoft-float/msingle-float EL/EB + MULTILIB_DIRNAMES = mips1 mips3 soft-float single el eb + MULTILIB_MATCHES = msingle-float=m4650 diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa64-hpux.h gcc-3.3.2/gcc/config/pa/pa64-hpux.h *** gcc-3.3.1/gcc/config/pa/pa64-hpux.h 2003-04-11 18:57:56.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa64-hpux.h 2003-08-26 06:50:30.000000000 +0000 *************** PA_INIT_FINI_HACK *** 408,410 **** --- 408,414 ---- and returns 0. /bin/true cannot be used because it is a script without an interpreter. */ #define INIT_ENVIRONMENT "LD_PXDB=/usr/ccs/bin/size" + + /* The HPUX dynamic linker objects to weak symbols with no + definitions, so do not use them in gthr-posix.h. */ + #define GTHREAD_USE_WEAK 0 diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa.c gcc-3.3.2/gcc/config/pa/pa.c *** gcc-3.3.1/gcc/config/pa/pa.c 2003-04-16 17:33:39.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa.c 2003-09-26 20:22:16.000000000 +0000 *************** output_bvb (operands, nullify, length, n *** 5925,5931 **** else strcpy (buf, "{bvb,|bb,}"); if (useskip && GET_MODE (operands[0]) == DImode) ! strcpy (buf, "extrd,s,*}"); else if (GET_MODE (operands[0]) == DImode) strcpy (buf, "bb,*"); if ((which == 0 && negated) --- 5925,5931 ---- else strcpy (buf, "{bvb,|bb,}"); if (useskip && GET_MODE (operands[0]) == DImode) ! strcpy (buf, "extrd,s,*"); else if (GET_MODE (operands[0]) == DImode) strcpy (buf, "bb,*"); if ((which == 0 && negated) diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa-hpux10.h gcc-3.3.2/gcc/config/pa/pa-hpux10.h *** gcc-3.3.1/gcc/config/pa/pa-hpux10.h 2003-04-11 18:57:56.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa-hpux10.h 2003-08-10 18:37:25.000000000 +0000 *************** along with GNU CC; see the file COPYING. *** 20,25 **** --- 20,31 ---- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + /* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ *************** Boston, MA 02111-1307, USA. */ *** 36,41 **** --- 42,48 ---- { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else if (!flag_iso) \ { \ diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa-hpux11.h gcc-3.3.2/gcc/config/pa/pa-hpux11.h *** gcc-3.3.1/gcc/config/pa/pa-hpux11.h 2003-04-11 18:57:56.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa-hpux11.h 2003-08-26 06:50:30.000000000 +0000 *************** along with GNU CC; see the file COPYING. *** 18,23 **** --- 18,29 ---- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + /* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ *************** Boston, MA 02111-1307, USA. */ *** 34,39 **** --- 40,46 ---- { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else \ { \ *************** Boston, MA 02111-1307, USA. */ *** 67,72 **** --- 74,86 ---- } \ while (0) + #undef CPP_SPEC + #define CPP_SPEC \ + "%{mt|pthread:-D_REENTRANT -D_THREAD_SAFE -D_POSIX_C_SOURCE=199506L}" + /* aCC defines also -DRWSTD_MULTI_THREAD, -DRW_MULTI_THREAD. These + affect only aCC's C++ library (Rogue Wave-derived) which we do not + use, and they violate the user's name space. */ + /* We can debug dynamically linked executables on hpux11; we also want dereferencing of a NULL pointer to cause a SEGV. */ #undef LINK_SPEC *************** Boston, MA 02111-1307, USA. */ *** 81,97 **** %{static:-a archive} %{shared:-b}" #endif ! /* Like the default, except no -lg. */ #undef LIB_SPEC #define LIB_SPEC \ "%{!shared:\ ! %{!p:%{!pg:\ ! %{!threads:-lc %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ ! %{threads:-lcma -lc_r}}}\ ! %{p: -L/lib/libp/ -lc\ ! %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}\ ! %{pg: -L/lib/libp/ -lc\ ! %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}}" /* Under hpux11, the normal location of the `ld' and `as' programs is the /usr/ccs/bin directory. */ --- 95,107 ---- %{static:-a archive} %{shared:-b}" #endif ! /* hpux 11 has posix threads. */ #undef LIB_SPEC #define LIB_SPEC \ "%{!shared:\ ! %{mt|pthread:-lpthread} \ ! %{p|pg:-L/usr/lib/libp} -lc \ ! %{static:%{!nolibdld:-a shared -ldld -a archive -lc}}}" /* Under hpux11, the normal location of the `ld' and `as' programs is the /usr/ccs/bin directory. */ diff -Nrc3pad gcc-3.3.1/gcc/config/pa/pa-hpux.h gcc-3.3.2/gcc/config/pa/pa-hpux.h *** gcc-3.3.1/gcc/config/pa/pa-hpux.h 2003-03-19 05:07:26.000000000 +0000 --- gcc-3.3.2/gcc/config/pa/pa-hpux.h 2003-08-10 18:37:25.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 28,33 **** --- 28,39 ---- #define SIZE_TYPE "unsigned int" #define PTRDIFF_TYPE "int" + /* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ *************** Boston, MA 02111-1307, USA. */ *** 46,51 **** --- 52,58 ---- { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else if (!flag_iso) \ { \ diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/linux64.h gcc-3.3.2/gcc/config/rs6000/linux64.h *** gcc-3.3.1/gcc/config/rs6000/linux64.h 2003-06-07 06:21:30.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/linux64.h 2003-09-16 15:39:23.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 137,142 **** --- 137,145 ---- #undef LINK_SHLIB_SPEC #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}" + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + #undef LIB_DEFAULT_SPEC #define LIB_DEFAULT_SPEC "%(lib_linux)" diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/linux.h gcc-3.3.2/gcc/config/rs6000/linux.h *** gcc-3.3.1/gcc/config/rs6000/linux.h 2003-06-17 15:59:10.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/linux.h 2003-09-16 15:39:23.000000000 +0000 *************** Boston, MA 02111-1307, USA. */ *** 48,53 **** --- 48,56 ---- #undef LINK_SHLIB_SPEC #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}" + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + #undef LIB_DEFAULT_SPEC #define LIB_DEFAULT_SPEC "%(lib_linux)" diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/rs6000.c gcc-3.3.2/gcc/config/rs6000/rs6000.c *** gcc-3.3.1/gcc/config/rs6000/rs6000.c 2003-08-01 21:02:32.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/rs6000.c 2003-09-24 02:55:49.000000000 +0000 *************** function_arg_pass_by_reference (cum, mod *** 3310,3316 **** return 1; } ! return type && int_size_in_bytes (type) <= 0; } /* Perform any needed actions needed for a function that is receiving a --- 3310,3316 ---- return 1; } ! return type && int_size_in_bytes (type) < 0; } /* Perform any needed actions needed for a function that is receiving a *************** rs6000_va_arg (valist, type) *** 3551,3557 **** if (DEFAULT_ABI != ABI_V4) { /* Variable sized types are passed by reference. */ ! if (int_size_in_bytes (type) <= 0) { u = build_pointer_type (type); --- 3551,3557 ---- if (DEFAULT_ABI != ABI_V4) { /* Variable sized types are passed by reference. */ ! if (int_size_in_bytes (type) < 0) { u = build_pointer_type (type); diff -Nrc3pad gcc-3.3.1/gcc/config/rs6000/rs6000.md gcc-3.3.2/gcc/config/rs6000/rs6000.md *** gcc-3.3.1/gcc/config/rs6000/rs6000.md 2003-06-09 21:37:52.000000000 +0000 --- gcc-3.3.2/gcc/config/rs6000/rs6000.md 2003-08-11 19:43:58.000000000 +0000 *************** *** 14308,14314 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrsi_internal2" [(set (pc) --- 14308,14314 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrsi_internal2" [(set (pc) *************** *** 14332,14338 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal1" [(set (pc) --- 14332,14338 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal1" [(set (pc) *************** *** 14356,14362 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal2" [(set (pc) --- 14356,14362 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal2" [(set (pc) *************** *** 14380,14386 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) ;; Similar, but we can use GE since we have a REG_NONNEG. --- 14380,14386 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) ;; Similar, but we can use GE since we have a REG_NONNEG. *************** *** 14406,14412 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrsi_internal4" [(set (pc) --- 14406,14412 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrsi_internal4" [(set (pc) *************** *** 14430,14436 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal3" [(set (pc) --- 14430,14436 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal3" [(set (pc) *************** *** 14454,14460 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal4" [(set (pc) --- 14454,14460 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal4" [(set (pc) *************** *** 14478,14484 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) ;; Similar but use EQ --- 14478,14484 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) ;; Similar but use EQ *************** *** 14504,14510 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrsi_internal6" [(set (pc) --- 14504,14510 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrsi_internal6" [(set (pc) *************** *** 14528,14534 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal5" [(set (pc) --- 14528,14534 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal5" [(set (pc) *************** *** 14552,14558 **** return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) (define_insn "*ctrdi_internal6" [(set (pc) --- 14552,14558 ---- return \"{bdn|bdnz} $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) (define_insn "*ctrdi_internal6" [(set (pc) *************** *** 14576,14582 **** return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,12,16")]) ;; Now the splitters if we could not allocate the CTR register --- 14576,14582 ---- return \"bdz $+8\;b %l0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "*,12,16")]) ;; Now the splitters if we could not allocate the CTR register diff -Nrc3pad gcc-3.3.1/gcc/config/sh/linux.h gcc-3.3.2/gcc/config/sh/linux.h *** gcc-3.3.1/gcc/config/sh/linux.h 2003-06-06 02:30:59.000000000 +0000 --- gcc-3.3.2/gcc/config/sh/linux.h 2003-09-16 15:39:23.000000000 +0000 *************** do { \ *** 48,55 **** "%{shared:-shared} \ %{!static: \ %{rdynamic:-export-dynamic} \ ! %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \ ! %{!rpath:-rpath /lib}} \ %{static:-static}" /* The GNU C++ standard library requires that these macros be defined. */ --- 48,54 ---- "%{shared:-shared} \ %{!static: \ %{rdynamic:-export-dynamic} \ ! %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ %{static:-static}" /* The GNU C++ standard library requires that these macros be defined. */ *************** do { \ *** 58,65 **** #undef LIB_SPEC #define LIB_SPEC \ ! "%{shared: -lc} \ ! %{!shared: %{pthread:-lthread} \ %{profile:-lc_p} %{!profile: -lc}}" #undef STARTFILE_SPEC --- 57,66 ---- #undef LIB_SPEC #define LIB_SPEC \ ! "%{pthread:-lpthread} \ ! %{shared: -lc} \ ! %{!shared: \ ! %{mieee-fp:-lieee} \ %{profile:-lc_p} %{!profile: -lc}}" #undef STARTFILE_SPEC *************** do { \ *** 69,71 **** --- 70,75 ---- %{!p:%{profile:gcrt1.o%s} \ %{!profile:crt1.o%s}}}} \ crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" + + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/linux64.h gcc-3.3.2/gcc/config/sparc/linux64.h *** gcc-3.3.1/gcc/config/sparc/linux64.h 2002-12-10 10:55:32.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/linux64.h 2003-10-01 12:57:26.000000000 +0000 *************** do { \ *** 319,324 **** --- 319,328 ---- #undef CTORS_SECTION_ASM_OP #undef DTORS_SECTION_ASM_OP + #undef LINK_GCC_C_SEQUENCE_SPEC + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/linux.h gcc-3.3.2/gcc/config/sparc/linux.h *** gcc-3.3.1/gcc/config/sparc/linux.h 2002-12-10 10:55:32.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/linux.h 2003-10-01 12:57:24.000000000 +0000 *************** do { \ *** 256,261 **** --- 256,265 ---- #undef CTORS_SECTION_ASM_OP #undef DTORS_SECTION_ASM_OP + #undef LINK_GCC_C_SEQUENCE_SPEC + #define LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" + /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/sol2-c1.asm gcc-3.3.2/gcc/config/sparc/sol2-c1.asm *** gcc-3.3.1/gcc/config/sparc/sol2-c1.asm 1998-12-16 21:13:21.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/sol2-c1.asm 2003-09-19 06:27:33.000000000 +0000 *************** _start: *** 92,97 **** --- 92,101 ---- ! access those data anyway. Instead, go straight to main: mov %l0, %o0 ! argc mov %l1, %o1 ! argv + #ifdef GCRT1 + setn(___Argv, %o4, %o3) + stn %o1, [%o3] ! *___Argv + #endif ! Skip argc words past argv, to env: sll %l0, CPTRSHIFT, %o2 add %o2, CPTRSIZE, %o2 diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/sparc.c gcc-3.3.2/gcc/config/sparc/sparc.c *** gcc-3.3.1/gcc/config/sparc/sparc.c 2003-07-16 05:19:33.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/sparc.c 2003-09-10 13:03:56.000000000 +0000 *************** sparc_v8plus_shift (operands, insn, opco *** 8028,8033 **** --- 8028,8037 ---- if (which_alternative != 2) operands[3] = operands[0]; + /* We can only shift by constants <= 63. */ + if (GET_CODE (operands[2]) == CONST_INT) + operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); + if (GET_CODE (operands[1]) == CONST_INT) { output_asm_insn ("mov\t%1, %3", operands); diff -Nrc3pad gcc-3.3.1/gcc/config/sparc/sparc.md gcc-3.3.2/gcc/config/sparc/sparc.md *** gcc-3.3.1/gcc/config/sparc/sparc.md 2003-06-04 07:05:02.000000000 +0000 --- gcc-3.3.2/gcc/config/sparc/sparc.md 2003-10-01 06:15:02.000000000 +0000 *************** *** 148,155 **** (eq_attr "branch_type" "fcc") (if_then_else (match_operand 0 "fcc0_reg_operand" "") (if_then_else (eq_attr "empty_delay_slot" "true") ! (const_int 2) ! (const_int 1)) (if_then_else (lt (pc) (match_dup 2)) (if_then_else (lt (minus (match_dup 2) (pc)) (const_int 260000)) (if_then_else (eq_attr "empty_delay_slot" "true") --- 148,159 ---- (eq_attr "branch_type" "fcc") (if_then_else (match_operand 0 "fcc0_reg_operand" "") (if_then_else (eq_attr "empty_delay_slot" "true") ! (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0)) ! (const_int 3) ! (const_int 2)) ! (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0)) ! (const_int 2) ! (const_int 1))) (if_then_else (lt (pc) (match_dup 2)) (if_then_else (lt (minus (match_dup 2) (pc)) (const_int 260000)) (if_then_else (eq_attr "empty_delay_slot" "true") *************** *** 6881,6886 **** --- 6885,6892 ---- { if (operands[2] == const1_rtx) return "add\t%1, %1, %0"; + if (GET_CODE (operands[2]) == CONST_INT) + operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f); return "sll\t%1, %2, %0"; } [(set (attr "type") *************** *** 6910,6915 **** --- 6916,6923 ---- { if (operands[2] == const1_rtx) return "add\t%1, %1, %0"; + if (GET_CODE (operands[2]) == CONST_INT) + operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); return "sllx\t%1, %2, %0"; } [(set (attr "type") *************** *** 6969,6975 **** (ashiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! "sra\t%1, %2, %0" [(set_attr "type" "shift")]) (define_insn "*ashrsi3_extend" --- 6977,6987 ---- (ashiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f); ! return "sra\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) (define_insn "*ashrsi3_extend" *************** *** 7016,7027 **** } }) ! (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") (ashiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! "srax\t%1, %2, %0" [(set_attr "type" "shift")]) ;; XXX --- 7028,7044 ---- } }) ! (define_insn "*ashrdi3_sp64" [(set (match_operand:DI 0 "register_operand" "=r") (ashiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); ! return "srax\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) ;; XXX *************** *** 7040,7046 **** (lshiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! "srl\t%1, %2, %0" [(set_attr "type" "shift")]) ;; This handles the case where --- 7057,7067 ---- (lshiftrt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "" ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f); ! return "srl\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) ;; This handles the case where *************** *** 7097,7108 **** } }) ! (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r") (lshiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! "srlx\t%1, %2, %0" [(set_attr "type" "shift")]) ;; XXX --- 7118,7133 ---- } }) ! (define_insn "*lshrdi3_sp64" [(set (match_operand:DI 0 "register_operand" "=r") (lshiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] "TARGET_ARCH64" ! { ! if (GET_CODE (operands[2]) == CONST_INT) ! operands[2] = GEN_INT (INTVAL (operands[2]) & 0x3f); ! return "srlx\t%1, %2, %0"; ! } [(set_attr "type" "shift")]) ;; XXX diff -Nrc3pad gcc-3.3.1/gcc/config/t-darwin gcc-3.3.2/gcc/config/t-darwin *** gcc-3.3.1/gcc/config/t-darwin 2003-06-04 16:56:11.000000000 +0000 --- gcc-3.3.2/gcc/config/t-darwin 2003-09-24 02:58:48.000000000 +0000 *************** gt-darwin.h : s-gtype ; @true *** 12,18 **** # Explain how to build crt2.o $(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \ ! $(TCONFIG_H) tsystem.h $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \ -c $(srcdir)/config/darwin-crt2.c -o $(T)crt2$(objext) --- 12,18 ---- # Explain how to build crt2.o $(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \ ! $(TCONFIG_H) stmp-int-hdrs tsystem.h $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \ -c $(srcdir)/config/darwin-crt2.c -o $(T)crt2$(objext) diff -Nrc3pad gcc-3.3.1/gcc/config/t-libunwind gcc-3.3.2/gcc/config/t-libunwind *** gcc-3.3.1/gcc/config/t-libunwind 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/config/t-libunwind 2003-08-10 23:11:27.000000000 +0000 *************** *** 0 **** --- 1 ---- + LIB2ADDEH = $(srcdir)/unwind-libunwind.c $(srcdir)/unwind-sjlj.c diff -Nrc3pad gcc-3.3.1/gcc/config.gcc gcc-3.3.2/gcc/config.gcc *** gcc-3.3.1/gcc/config.gcc 2003-06-27 11:44:22.000000000 +0000 --- gcc-3.3.2/gcc/config.gcc 2003-10-01 19:07:01.000000000 +0000 *************** hppa*64*-*-hpux11*) *** 961,973 **** then target_cpu_default="${target_cpu_default}|MASK_GNU_LD" fi ! # if [ x$enable_threads = x ]; then ! # enable_threads=$have_pthread_h ! # fi ! # if [ x$enable_threads = xyes ]; then ! # thread_file='dce' ! # tmake_file="${tmake_file} pa/t-dce-thr" ! # fi install_headers_dir=install-headers-cpio ;; hppa1.1-*-hpux11* | hppa2*-*-hpux11*) --- 961,971 ---- then target_cpu_default="${target_cpu_default}|MASK_GNU_LD" fi ! case x${enable_threads} in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac install_headers_dir=install-headers-cpio ;; hppa1.1-*-hpux11* | hppa2*-*-hpux11*) *************** hppa1.1-*-hpux11* | hppa2*-*-hpux11*) *** 976,988 **** xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! # if test x$enable_threads = x; then ! # enable_threads=$have_pthread_h ! # fi ! # if test x$enable_threads = xyes; then ! # thread_file='dce' ! # tmake_file="${tmake_file} pa/t-dce-thr" ! # fi install_headers_dir=install-headers-cpio use_collect2=yes ;; --- 974,984 ---- xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! case x${enable_threads} in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac install_headers_dir=install-headers-cpio use_collect2=yes ;; *************** hppa1.0-*-hpux11*) *** 991,1003 **** xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! # if test x$enable_threads = x; then ! # enable_threads=$have_pthread_h ! # fi ! # if test x$enable_threads = xyes; then ! # thread_file='dce' ! # tmake_file="${tmake_file} pa/t-dce-thr" ! # fi install_headers_dir=install-headers-cpio use_collect2=yes ;; --- 987,997 ---- xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" ! case x${enable_threads} in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac install_headers_dir=install-headers-cpio use_collect2=yes ;; *************** i[34567]86-*-rtems*) *** 1244,1258 **** 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/unix.h i386/att.h i386/sco5.h" if test x$gas = xyes then tm_file="usegas.h ${tm_file}" - tmake_file=i386/t-sco5gas - else - tmake_file=i386/t-sco5 fi ! extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o" ;; i[34567]86-*-solaris2*) xm_defines="POSIX SMALL_ARG_MAX" --- 1238,1250 ---- 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/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h" if test x$gas = xyes then tm_file="usegas.h ${tm_file}" fi ! tmake_file=i386/t-sco5 ! extra_parts="crtbegin.o crtend.o" ;; i[34567]86-*-solaris2*) xm_defines="POSIX SMALL_ARG_MAX" *************** ia64*-*-linux*) *** 1486,1499 **** tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" ;; ia64*-*-hpux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h" tmake_file="ia64/t-ia64 ia64/t-hpux" target_cpu_default="MASK_GNU_AS" ! if test x$enable_threads = xyes; then ! thread_file='posix' ! fi use_collect2=no c_target_objs="ia64-c.o" cxx_target_objs="ia64-c.o" --- 1478,1496 ---- tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" + if test x"$use_libunwind_exceptions" = xyes; then + tmake_file="$tmake_file t-libunwind" + fi ;; ia64*-*-hpux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h" tmake_file="ia64/t-ia64 ia64/t-hpux" target_cpu_default="MASK_GNU_AS" ! case x$enable_threads in ! xyes | xposix ) ! thread_file=posix ! ;; ! esac use_collect2=no c_target_objs="ia64-c.o" cxx_target_objs="ia64-c.o" *************** m68k-*-rtemscoff*) # would otherwise be *** 1751,1757 **** ;; m68k-*-rtems*) xm_defines=POSIX ! tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff" tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h" extra_parts="crtbegin.o crtend.o" if test x$enable_threads = xyes; then --- 1748,1754 ---- ;; m68k-*-rtems*) xm_defines=POSIX ! tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems" tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h" extra_parts="crtbegin.o crtend.o" if test x$enable_threads = xyes; then *************** mips64orion-*-rtems*) *** 1968,1974 **** mips*-*-rtems*) xm_defines=POSIX tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h" ! tmake_file="mips/t-elf t-rtems" if test x$enable_threads = xyes; then thread_file='rtems' fi --- 1965,1971 ---- mips*-*-rtems*) xm_defines=POSIX tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h" ! tmake_file="mips/t-elf t-rtems mips/t-rtems" if test x$enable_threads = xyes; then thread_file='rtems' fi *************** sh-*-rtems*) *** 2308,2314 **** fi ;; sh-*-linux* | sh[2346lbe]*-*-linux*) ! tmake_file="sh/t-sh sh/t-elf sh/t-linux" case $machine in sh*be-*-* | sh*eb-*-*) ;; *) --- 2305,2311 ---- fi ;; sh-*-linux* | sh[2346lbe]*-*-linux*) ! tmake_file="sh/t-sh sh/t-elf" case $machine in sh*be-*-* | sh*eb-*-*) ;; *) *************** sh-*-linux* | sh[2346lbe]*-*-linux*) *** 2316,2321 **** --- 2313,2319 ---- tmake_file="${tmake_file} sh/t-le" ;; esac + tmake_file="${tmake_file} sh/t-linux" tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h" gas=yes gnu_ld=yes case $machine in *************** sparc-*-solaris2*) *** 2525,2531 **** tm_file="${tm_file} sparc/sol26-sld.h" fi ;; ! *-*-solaris2.[789]) tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h" if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld-bi.h" --- 2523,2529 ---- tm_file="${tm_file} sparc/sol26-sld.h" fi ;; ! *-*-solaris2.[789] | *-*-solaris2.1[0-9]) tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h" if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld-bi.h" diff -Nrc3pad gcc-3.3.1/gcc/config.in gcc-3.3.2/gcc/config.in *** gcc-3.3.1/gcc/config.in 2003-08-04 12:58:11.000000000 +0000 --- gcc-3.3.2/gcc/config.in 2003-10-16 20:10:47.000000000 +0000 *************** *** 1,4 **** ! /* config.in. Generated automatically from configure.in by autoheader 2.13. */ /* Define if using alloca.c. */ #undef C_ALLOCA --- 1,4 ---- ! /* config.in. Generated automatically from configure.in by autoheader. */ /* Define if using alloca.c. */ #undef C_ALLOCA *************** *** 501,506 **** --- 501,512 ---- /* Define if host mkdir takes a single argument. */ #undef MKDIR_TAKES_ONE_ARG + /* Define 0/1 to force the choice for exception handling model. */ + #undef CONFIG_SJLJ_EXCEPTIONS + + /* Define if gcc should use -lunwind. */ + #undef USE_LIBUNWIND_EXCEPTIONS + /* Define to the name of a file containing a list of extra machine modes for this architecture. */ #undef EXTRA_MODES_FILE *************** *** 582,587 **** --- 588,596 ---- /* Define if your assembler supports offsetable %lo(). */ #undef HAVE_AS_OFFSETABLE_LO10 + /* Define if your assembler supports the Sun syntax for cmov. */ + #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX + /* Define true if the assembler supports '.long foo@GOTOFF'. */ #undef HAVE_AS_GOTOFF_IN_DATA *************** *** 608,619 **** /* Define if your MIPS libgloss linker scripts consistently include STARTUP directives. */ #undef HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES - /* Define 0/1 to force the choice for exception handling model. */ - #undef CONFIG_SJLJ_EXCEPTIONS - - /* Define if gcc should use -lunwind. */ - #undef USE_LIBUNWIND_EXCEPTIONS - /* Bison unconditionally undefines `const' if neither `__STDC__' nor __cplusplus are defined. That's a problem since we use `const' in --- 617,622 ---- diff -Nrc3pad gcc-3.3.1/gcc/configure gcc-3.3.2/gcc/configure *** gcc-3.3.1/gcc/configure 2003-08-04 12:58:11.000000000 +0000 --- gcc-3.3.2/gcc/configure 2003-10-01 21:56:37.000000000 +0000 *************** ac_help="$ac_help *** 66,71 **** --- 66,76 ---- ac_help="$ac_help --enable-initfini-array use .init_array/.fini_array sections" ac_help="$ac_help + --enable-sjlj-exceptions + arrange to use setjmp/longjmp exception handling" + ac_help="$ac_help + --enable-libunwind-exceptions force use libunwind for exceptions" + ac_help="$ac_help --enable-nls use Native Language Support (default)" ac_help="$ac_help --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib" *************** ac_help="$ac_help *** 91,101 **** enable make rules and dependencies not useful (and sometimes confusing) to the casual installer" ac_help="$ac_help - --enable-sjlj-exceptions - arrange to use setjmp/longjmp exception handling" - ac_help="$ac_help - --enable-libunwind-exceptions force use libunwind for exceptions" - ac_help="$ac_help --enable-version-specific-runtime-libs specify that runtime libraries should be installed in a compiler-specific directory" --- 96,101 ---- *************** else *** 3928,3934 **** # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin*) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; --- 3928,3934 ---- # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in ! vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; *************** objext='.o' *** 4856,4861 **** --- 4856,4926 ---- + # With Setjmp/Longjmp based exception handling. + # Check whether --enable-sjlj-exceptions or --disable-sjlj-exceptions was given. + if test "${enable_sjlj_exceptions+set}" = set; then + enableval="$enable_sjlj_exceptions" + sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` + cat >> confdefs.h <&6 + echo "configure:4873: checking for main in -lunwind" >&5 + ac_lib_var=`echo unwind'_'main | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_save_LIBS="$LIBS" + LIBS="-lunwind $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" + fi + rm -f conftest* + LIBS="$ac_save_LIBS" + + fi + if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + use_libunwind_default=yes + else + echo "$ac_t""no" 1>&6 + use_libunwind_default=no + fi + + # Use libunwind based exception handling. + # Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given. + if test "${enable_libunwind_exceptions+set}" = set; then + enableval="$enable_libunwind_exceptions" + use_libunwind_exceptions=$enableval + else + use_libunwind_exceptions=$use_libunwind_default + fi + + if test x"$use_libunwind_exceptions" = xyes; then + cat >> confdefs.h <<\EOF + #define USE_LIBUNWIND_EXCEPTIONS 1 + EOF + + fi + target_gtfiles= build_xm_file= build_xm_defines= *************** fi *** 5097,5110 **** echo $ac_n "checking for library containing strerror""... $ac_c" 1>&6 ! echo "configure:5101: checking for library containing strerror" >&5 if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_strerror="no" cat > conftest.$ac_ext <&6 ! echo "configure:5166: checking for library containing strerror" >&5 if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_strerror="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="none required" else --- 5180,5186 ---- strerror() ; return 0; } EOF ! if { (eval echo configure:5184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="none required" else *************** rm -f conftest* *** 5126,5132 **** test "$ac_cv_search_strerror" = "no" && for i in cposix; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="-l$i" break --- 5202,5208 ---- strerror() ; return 0; } EOF ! if { (eval echo configure:5206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="-l$i" break *************** fi *** 5160,5171 **** echo $ac_n "checking for working const""... $ac_c" 1>&6 ! echo "configure:5164: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5229: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else --- 5279,5285 ---- ; return 0; } EOF ! if { (eval echo configure:5283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else *************** EOF *** 5235,5246 **** fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:5239: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 5300,5311 ---- fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:5304: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** EOF *** 5268,5279 **** fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:5272: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 5333,5344 ---- fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:5337: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** fi *** 5303,5321 **** # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:5307: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF ! if { (eval echo configure:5319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else --- 5368,5386 ---- # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:5372: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF ! if { (eval echo configure:5384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else *************** EOF *** 5336,5347 **** fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 ! echo "configure:5340: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5405: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else --- 5434,5440 ---- char *p = (char *) alloca(1); ; return 0; } EOF ! if { (eval echo configure:5438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else *************** EOF *** 5401,5412 **** echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 ! echo "configure:5405: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5470: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 *** 5431,5442 **** if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5435: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5500: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 5524,5530 ---- ; return 0; } EOF ! if { (eval echo configure:5528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 5486,5492 **** fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:5490: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5551,5557 ---- fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:5555: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 5494,5500 **** ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else --- 5578,5584 ---- exit (find_stack_direction() < 0); } EOF ! if { (eval echo configure:5582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else *************** fi *** 5536,5547 **** echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 ! echo "configure:5540: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5601,5612 ---- echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 ! echo "configure:5605: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** stdlib.h string.h unistd.h sys/param.h *** 5577,5593 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5581: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5591: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 5642,5658 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5646: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5656: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** getgid getuid mempcpy munmap putenv sete *** 5618,5629 **** strdup strtoul tsearch __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5622: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5687: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 5711,5717 ---- ; return 0; } EOF ! if { (eval echo configure:5715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** fi *** 5687,5693 **** echo $ac_n "checking for iconv""... $ac_c" 1>&6 ! echo "configure:5691: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5752,5758 ---- echo $ac_n "checking for iconv""... $ac_c" 1>&6 ! echo "configure:5756: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** else *** 5695,5701 **** am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext < #include --- 5760,5766 ---- am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext < #include *************** iconv_t cd = iconv_open("",""); *** 5705,5711 **** iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else --- 5770,5776 ---- iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else *************** rm -f conftest* *** 5717,5723 **** am_save_LIBS="$LIBS" LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" cat > conftest.$ac_ext < #include --- 5782,5788 ---- am_save_LIBS="$LIBS" LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" cat > conftest.$ac_ext < #include *************** iconv_t cd = iconv_open("",""); *** 5727,5733 **** iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes --- 5792,5798 ---- iconv_close(cd); ; return 0; } EOF ! if { (eval echo configure:5796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes *************** echo "$ac_t""$am_cv_func_iconv" 1>&6 *** 5748,5760 **** EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 ! echo "configure:5752: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5813,5825 ---- EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 ! echo "configure:5817: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** int main() { *** 5773,5779 **** ; return 0; } EOF ! if { (eval echo configure:5777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else --- 5838,5844 ---- ; return 0; } EOF ! if { (eval echo configure:5842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else *************** EOF *** 5802,5820 **** echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 ! echo "configure:5806: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF ! if { (eval echo configure:5818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else --- 5867,5885 ---- echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 ! echo "configure:5871: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF ! if { (eval echo configure:5883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else *************** EOF *** 5837,5855 **** if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:5841: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF ! if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else --- 5902,5920 ---- if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 ! echo "configure:5906: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF ! if { (eval echo configure:5918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else *************** EOF *** 5870,5876 **** fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 ! echo "configure:5874: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" --- 5935,5941 ---- fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 ! echo "configure:5939: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" *************** fi *** 5893,5899 **** EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 ! echo "configure:5897: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" --- 5958,5964 ---- EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 ! echo "configure:5962: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" *************** fi *** 5913,5929 **** ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 ! echo "configure:5917: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* --- 5978,5994 ---- ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 ! echo "configure:5982: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5992: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* *************** if eval "test \"`echo '$ac_cv_header_'$a *** 5944,5955 **** EOF echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 ! echo "configure:5948: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; --- 6009,6020 ---- EOF echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 ! echo "configure:6013: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; *************** bindtextdomain ("", ""); *** 5958,5964 **** return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:5962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else --- 6023,6029 ---- return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:6027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else *************** echo "$ac_t""$gt_cv_func_gnugettext1_lib *** 5974,5987 **** if test "$gt_cv_func_gnugettext1_libc" != "yes"; then echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 ! echo "configure:5978: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -lintl $LIBICONV" cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; --- 6039,6052 ---- if test "$gt_cv_func_gnugettext1_libc" != "yes"; then echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 ! echo "configure:6043: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -lintl $LIBICONV" cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; *************** bindtextdomain ("", ""); *** 5990,5996 **** return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:5994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else --- 6055,6061 ---- return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF ! if { (eval echo configure:6059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else *************** EOF *** 6023,6034 **** for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:6027: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:6092: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 6116,6122 ---- ; return 0; } EOF ! if { (eval echo configure:6120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** done *** 6080,6086 **** # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6084: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6145,6151 ---- # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6149: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6114,6120 **** # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6118: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6179,6185 ---- # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6183: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6151,6157 **** # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6155: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6216,6222 ---- # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6220: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6201,6207 **** # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6205: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6266,6272 ---- # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6270: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6235,6241 **** # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6239: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6300,6306 ---- # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6304: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** fi *** 6271,6277 **** # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6275: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6336,6342 ---- # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6340: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** do *** 6343,6349 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6347: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 6408,6414 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:6412: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** done *** 6376,6382 **** ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 ! echo "configure:6380: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; --- 6441,6447 ---- ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 ! echo "configure:6445: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; *************** EOF *** 6421,6427 **** if test "x$CATOBJEXT" != x; then echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 ! echo "configure:6425: checking for catalogs to be installed" >&5 # Look for .po and .gmo files in the source directory. CATALOGS= XLINGUAS= --- 6486,6492 ---- if test "x$CATOBJEXT" != x; then echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 ! echo "configure:6490: checking for catalogs to be installed" >&5 # Look for .po and .gmo files in the source directory. CATALOGS= XLINGUAS= *************** fi *** 6479,6485 **** case $host_os in win32 | pe | cygwin* | mingw32* | uwin*) echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6 ! echo "configure:6483: checking whether windows registry support is requested" >&5 if test "x$enable_win32_registry" != xno; then cat >> confdefs.h <<\EOF #define ENABLE_WIN32_REGISTRY 1 --- 6544,6550 ---- case $host_os in win32 | pe | cygwin* | mingw32* | uwin*) echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6 ! echo "configure:6548: checking whether windows registry support is requested" >&5 if test "x$enable_win32_registry" != xno; then cat >> confdefs.h <<\EOF #define ENABLE_WIN32_REGISTRY 1 *************** EOF *** 6488,6501 **** echo "$ac_t""yes" 1>&6 echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6 ! echo "configure:6492: checking for library containing RegOpenKeyExA" >&5 if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_RegOpenKeyExA="no" cat > conftest.$ac_ext <&6 echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6 ! echo "configure:6557: checking for library containing RegOpenKeyExA" >&5 if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_RegOpenKeyExA="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="none required" else --- 6571,6577 ---- RegOpenKeyExA() ; return 0; } EOF ! if { (eval echo configure:6575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="none required" else *************** rm -f conftest* *** 6517,6523 **** test "$ac_cv_search_RegOpenKeyExA" = "no" && for i in advapi32; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="-l$i" break --- 6593,6599 ---- RegOpenKeyExA() ; return 0; } EOF ! if { (eval echo configure:6597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="-l$i" break *************** esac *** 6570,6576 **** if test "x$enable_win32_registry" != xno; then echo $ac_n "checking registry key on windows hosts""... $ac_c" 1>&6 ! echo "configure:6574: checking registry key on windows hosts" >&5 cat >> confdefs.h <&6 ! echo "configure:6639: checking registry key on windows hosts" >&5 cat >> confdefs.h <&6 ! echo "configure:6788: checking what assembler to use" >&5 gcc_cv_as= gcc_cv_gas_major_version= gcc_cv_gas_minor_version= --- 6849,6855 ---- # Figure out what assembler we will be using. echo $ac_n "checking what assembler to use""... $ac_c" 1>&6 ! echo "configure:6853: checking what assembler to use" >&5 gcc_cv_as= gcc_cv_gas_major_version= gcc_cv_gas_minor_version= *************** fi *** 6878,6884 **** # Figure out what linker we will be using. echo $ac_n "checking what linker to use""... $ac_c" 1>&6 ! echo "configure:6882: checking what linker to use" >&5 gcc_cv_ld= gcc_cv_gld_major_version= gcc_cv_gld_minor_version= --- 6943,6949 ---- # Figure out what linker we will be using. echo $ac_n "checking what linker to use""... $ac_c" 1>&6 ! echo "configure:6947: checking what linker to use" >&5 gcc_cv_ld= gcc_cv_gld_major_version= gcc_cv_gld_minor_version= *************** fi *** 6971,6977 **** # Figure out what nm we will be using. echo $ac_n "checking what nm to use""... $ac_c" 1>&6 ! echo "configure:6975: checking what nm to use" >&5 if test -x nm$host_exeext; then gcc_cv_nm=./nm$host_exeext elif test "x$program_prefix" != xNONE; then --- 7036,7042 ---- # Figure out what nm we will be using. echo $ac_n "checking what nm to use""... $ac_c" 1>&6 ! echo "configure:7040: checking what nm to use" >&5 if test -x nm$host_exeext; then gcc_cv_nm=./nm$host_exeext elif test "x$program_prefix" != xNONE; then *************** echo "$ac_t""$gcc_cv_nm" 1>&6 *** 6983,6989 **** # Figure out what objdump we will be using. echo $ac_n "checking what objdump to use""... $ac_c" 1>&6 ! echo "configure:6987: checking what objdump to use" >&5 if test -x objdump$host_exeext; then gcc_cv_objdump=./objdump$host_exeext elif test "x$program_prefix" != xNONE; then --- 7048,7054 ---- # Figure out what objdump we will be using. echo $ac_n "checking what objdump to use""... $ac_c" 1>&6 ! echo "configure:7052: checking what objdump to use" >&5 if test -x objdump$host_exeext; then gcc_cv_objdump=./objdump$host_exeext elif test "x$program_prefix" != xNONE; then *************** echo "$ac_t""$gcc_cv_objdump" 1>&6 *** 6995,7001 **** # Figure out what assembler alignment features are present. echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6 ! echo "configure:6999: checking assembler alignment features" >&5 gcc_cv_as_alignment_features=none if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then # Gas version 2.6 and later support for .balign and .p2align. --- 7060,7066 ---- # Figure out what assembler alignment features are present. echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6 ! echo "configure:7064: checking assembler alignment features" >&5 gcc_cv_as_alignment_features=none if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then # Gas version 2.6 and later support for .balign and .p2align. *************** fi *** 7043,7049 **** echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6 echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6 ! echo "configure:7047: checking assembler subsection support" >&5 gcc_cv_as_subsections=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7108,7114 ---- echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6 echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6 ! echo "configure:7112: checking assembler subsection support" >&5 gcc_cv_as_subsections=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7083,7089 **** echo "$ac_t""$gcc_cv_as_subsections" 1>&6 echo $ac_n "checking assembler weak support""... $ac_c" 1>&6 ! echo "configure:7087: checking assembler weak support" >&5 gcc_cv_as_weak=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then --- 7148,7154 ---- echo "$ac_t""$gcc_cv_as_subsections" 1>&6 echo $ac_n "checking assembler weak support""... $ac_c" 1>&6 ! echo "configure:7152: checking assembler weak support" >&5 gcc_cv_as_weak=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then *************** fi *** 7106,7112 **** echo "$ac_t""$gcc_cv_as_weak" 1>&6 echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6 ! echo "configure:7110: checking assembler hidden support" >&5 gcc_cv_as_hidden=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 \ --- 7171,7177 ---- echo "$ac_t""$gcc_cv_as_weak" 1>&6 echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6 ! echo "configure:7175: checking assembler hidden support" >&5 gcc_cv_as_hidden=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 \ *************** elif test x$gcc_cv_as != x; then *** 7156,7161 **** --- 7221,7229 ---- fi fi fi + else + # non-GNU linkers don't seem to support .hidden yet + gcc_cv_as_hidden=no fi fi if test x"$gcc_cv_as_hidden" = xyes; then *************** EOF *** 7166,7188 **** fi echo "$ac_t""$gcc_cv_as_hidden" 1>&6 libgcc_visibility=$gcc_cv_as_hidden - case "$target" in - mips-sgi-irix6*) - if test x"$gnu_ld_flag" = x"no"; then - # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. With the N32 and - # N64 linkers, the problem is that the linker refuses to accept - # -call_shared (passed by default to the linker) and -r (used to - # link the object file generated without .hidden directives with - # one that hides symbols), so we also lose. - libgcc_visibility=no - fi - ;; - esac echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6 ! echo "configure:7186: checking assembler leb128 support" >&5 gcc_cv_as_leb128=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7234,7243 ---- fi echo "$ac_t""$gcc_cv_as_hidden" 1>&6 libgcc_visibility=$gcc_cv_as_hidden echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6 ! echo "configure:7241: checking assembler leb128 support" >&5 gcc_cv_as_leb128=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7227,7233 **** echo "$ac_t""$gcc_cv_as_leb128" 1>&6 echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6 ! echo "configure:7231: checking assembler eh_frame optimization" >&5 gcc_cv_as_eh_frame=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7282,7288 ---- echo "$ac_t""$gcc_cv_as_leb128" 1>&6 echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6 ! echo "configure:7286: checking assembler eh_frame optimization" >&5 gcc_cv_as_eh_frame=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7308,7314 **** echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6 echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6 ! echo "configure:7312: checking assembler section merging support" >&5 gcc_cv_as_shf_merge=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then --- 7363,7369 ---- echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6 echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6 ! echo "configure:7367: checking assembler section merging support" >&5 gcc_cv_as_shf_merge=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then *************** fi *** 7331,7337 **** echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6 echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6 ! echo "configure:7335: checking assembler thread-local storage support" >&5 gcc_cv_as_tls=no conftest_s= tls_first_major= --- 7386,7392 ---- echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6 echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6 ! echo "configure:7390: checking assembler thread-local storage support" >&5 gcc_cv_as_tls=no conftest_s= tls_first_major= *************** case "$target" in *** 7474,7480 **** # All TARGET_ABI_OSF targets. alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*) echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6 ! echo "configure:7478: checking assembler supports explicit relocations" >&5 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7529,7535 ---- # All TARGET_ABI_OSF targets. alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*) echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6 ! echo "configure:7533: checking assembler supports explicit relocations" >&5 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7524,7530 **** ;; sparc*-*-*) echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6 ! echo "configure:7528: checking assembler .register pseudo-op support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7579,7585 ---- ;; sparc*-*-*) echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6 ! echo "configure:7583: checking assembler .register pseudo-op support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7552,7558 **** fi echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6 ! echo "configure:7556: checking assembler supports -relax" >&5 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7607,7613 ---- fi echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6 ! echo "configure:7611: checking assembler supports -relax" >&5 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7580,7586 **** fi echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6 ! echo "configure:7584: checking assembler and linker support unaligned pc related relocs" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7635,7641 ---- fi echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6 ! echo "configure:7639: checking assembler and linker support unaligned pc related relocs" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7607,7613 **** fi echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6 ! echo "configure:7611: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7662,7668 ---- fi echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6 ! echo "configure:7666: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7647,7653 **** fi echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 ! echo "configure:7651: 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 --- 7702,7708 ---- fi echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 ! echo "configure:7706: 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 *************** EOF *** 7686,7692 **** i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 ! echo "configure:7690: checking assembler instructions" >&5 gcc_cv_as_instructions= if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then --- 7741,7747 ---- i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 ! echo "configure:7745: checking assembler instructions" >&5 gcc_cv_as_instructions= if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then *************** EOF *** 7712,7719 **** fi echo "$ac_t""$gcc_cv_as_instructions" 1>&6 echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 ! echo "configure:7717: checking assembler GOTOFF in data directives" >&5 gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x then --- 7767,7792 ---- fi echo "$ac_t""$gcc_cv_as_instructions" 1>&6 + echo $ac_n "checking cmov syntax""... $ac_c" 1>&6 + echo "configure:7772: checking cmov syntax" >&5 + gcc_cv_as_ix86_cmov_sun_syntax=no + if test x$gcc_cv_as != x; then + echo 'cmovl.l %edx, %eax' > conftest.s + if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_ix86_cmov_sun_syntax=yes + fi + rm -f conftest.s conftest.o + fi + if test "x$gcc_cv_as_ix86_cmov_sun_syntax" = xyes; then + cat >> confdefs.h <<\EOF + #define HAVE_AS_IX86_CMOV_SUN_SYNTAX 1 + EOF + + fi + echo "$ac_t""$gcc_cv_as_ix86_cmov_sun_syntax" 1>&6 + echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 ! echo "configure:7790: checking assembler GOTOFF in data directives" >&5 gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x then *************** EOF *** 7743,7749 **** ia64*-*-*) echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6 ! echo "configure:7747: checking assembler supports ltoffx and ldxmov" >&5 if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 7816,7822 ---- ia64*-*-*) echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6 ! echo "configure:7820: checking assembler supports ltoffx and ldxmov" >&5 if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** EOF *** 7785,7791 **** esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 ! echo "configure:7789: checking assembler dwarf2 debug_line support" >&5 gcc_cv_as_dwarf2_debug_line=no # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any --- 7858,7864 ---- esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 ! echo "configure:7862: checking assembler dwarf2 debug_line support" >&5 gcc_cv_as_dwarf2_debug_line=no # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any *************** fi *** 7842,7848 **** echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 ! echo "configure:7846: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then --- 7915,7921 ---- echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 ! echo "configure:7919: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then *************** fi *** 7871,7877 **** echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 ! echo "configure:7875: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then --- 7944,7950 ---- echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 ! echo "configure:7948: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then *************** fi *** 7906,7912 **** echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6 ! echo "configure:7910: checking linker read-only and read-write section mixing" >&5 gcc_cv_ld_ro_rw_mix=unknown if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then --- 7979,7985 ---- echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6 ! echo "configure:7983: checking linker read-only and read-write section mixing" >&5 gcc_cv_ld_ro_rw_mix=unknown if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then *************** fi *** 7944,7950 **** echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 ! echo "configure:7948: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then --- 8017,8023 ---- echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 ! echo "configure:8021: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then *************** echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1> *** 7968,7974 **** case "$target" in mips*-*-*) echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6 ! echo "configure:7972: checking whether libgloss uses STARTUP directives consistently" >&5 gcc_cv_mips_libgloss_startup=no gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss if test "x$exec_prefix" = xNONE; then --- 8041,8047 ---- case "$target" in mips*-*-*) echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6 ! echo "configure:8045: checking whether libgloss uses STARTUP directives consistently" >&5 gcc_cv_mips_libgloss_startup=no gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss if test "x$exec_prefix" = xNONE; then *************** fi *** 8172,8178 **** echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:8176: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" --- 8245,8251 ---- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:8249: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" *************** else *** 8190,8223 **** MAINT='#' fi - # With Setjmp/Longjmp based exception handling. - # Check whether --enable-sjlj-exceptions or --disable-sjlj-exceptions was given. - if test "${enable_sjlj_exceptions+set}" = set; then - enableval="$enable_sjlj_exceptions" - sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` - cat >> confdefs.h <> confdefs.h <<\EOF - #define USE_LIBUNWIND_EXCEPTIONS 1 - EOF - - fi - # Make empty files to contain the specs and options for each language. # Then add #include lines to for a compiler that has specs and/or options. --- 8263,8268 ---- diff -Nrc3pad gcc-3.3.1/gcc/configure.in gcc-3.3.2/gcc/configure.in *** gcc-3.3.1/gcc/configure.in 2003-06-25 23:14:55.000000000 +0000 --- gcc-3.3.2/gcc/configure.in 2003-09-17 23:37:52.000000000 +0000 *************** objext='.o' *** 797,802 **** --- 797,821 ---- AC_SUBST(manext) AC_SUBST(objext) + # With Setjmp/Longjmp based exception handling. + AC_ARG_ENABLE(sjlj-exceptions, + [ --enable-sjlj-exceptions + arrange to use setjmp/longjmp exception handling], + [sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` + AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj, + [Define 0/1 to force the choice for exception handling model.])]) + + AC_CHECK_LIB(unwind, main, use_libunwind_default=yes, use_libunwind_default=no) + # Use libunwind based exception handling. + AC_ARG_ENABLE(libunwind-exceptions, + [ --enable-libunwind-exceptions force use libunwind for exceptions], + use_libunwind_exceptions=$enableval, + use_libunwind_exceptions=$use_libunwind_default) + if test x"$use_libunwind_exceptions" = xyes; then + AC_DEFINE(USE_LIBUNWIND_EXCEPTIONS, 1, + [Define if gcc should use -lunwind.]) + fi + target_gtfiles= build_xm_file= build_xm_defines= *************** changequote(,)dnl *** 1641,1646 **** --- 1660,1668 ---- fi fi changequote([,])dnl + else + # non-GNU linkers don't seem to support .hidden yet + gcc_cv_as_hidden=no fi fi if test x"$gcc_cv_as_hidden" = xyes; then *************** if test x"$gcc_cv_as_hidden" = xyes; the *** 1649,1667 **** fi AC_MSG_RESULT($gcc_cv_as_hidden) libgcc_visibility=$gcc_cv_as_hidden - case "$target" in - mips-sgi-irix6*) - if test x"$gnu_ld_flag" = x"no"; then - # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. With the N32 and - # N64 linkers, the problem is that the linker refuses to accept - # -call_shared (passed by default to the linker) and -r (used to - # link the object file generated without .hidden directives with - # one that hides symbols), so we also lose. - libgcc_visibility=no - fi - ;; - esac AC_SUBST(libgcc_visibility) AC_MSG_CHECKING(assembler leb128 support) --- 1671,1676 ---- *************** changequote([,])dnl *** 2131,2136 **** --- 2140,2160 ---- fi AC_MSG_RESULT($gcc_cv_as_instructions) + AC_MSG_CHECKING(cmov syntax) + gcc_cv_as_ix86_cmov_sun_syntax=no + if test x$gcc_cv_as != x; then + echo 'cmovl.l %edx, %eax' > conftest.s + if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_ix86_cmov_sun_syntax=yes + fi + rm -f conftest.s conftest.o + fi + if test "x$gcc_cv_as_ix86_cmov_sun_syntax" = xyes; then + AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1, + [Define if your assembler supports the Sun syntax for cmov.]) + fi + AC_MSG_RESULT($gcc_cv_as_ix86_cmov_sun_syntax) + AC_MSG_CHECKING(assembler GOTOFF in data directives) gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x *************** else *** 2581,2604 **** fi AC_SUBST(MAINT)dnl - # With Setjmp/Longjmp based exception handling. - AC_ARG_ENABLE(sjlj-exceptions, - [ --enable-sjlj-exceptions - arrange to use setjmp/longjmp exception handling], - [sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` - AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj, - [Define 0/1 to force the choice for exception handling model.])]) - - # Use libunwind based exception handling. - AC_ARG_ENABLE(libunwind-exceptions, - [ --enable-libunwind-exceptions force use libunwind for exceptions], - use_libunwind_exceptions=$enableval, - use_libunwind_exceptions=no) - if test x"$use_libunwind_exceptions" = xyes; then - AC_DEFINE(USE_LIBUNWIND_EXCEPTIONS, 1, - [Define if gcc should use -lunwind.]) - fi - # Make empty files to contain the specs and options for each language. # Then add #include lines to for a compiler that has specs and/or options. --- 2605,2610 ---- diff -Nrc3pad gcc-3.3.1/gcc/cpplib.c gcc-3.3.2/gcc/cpplib.c *** gcc-3.3.1/gcc/cpplib.c 2003-02-21 18:14:10.000000000 +0000 --- gcc-3.3.2/gcc/cpplib.c 2003-09-24 23:52:31.000000000 +0000 *************** *** 1,6 **** /* CPP Library. (Directive handling.) Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 --- 1,6 ---- /* CPP Library. (Directive handling.) Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 *************** do_pragma (pfile) *** 1094,1100 **** cpp_reader *pfile; { const struct pragma_entry *p = NULL; ! const cpp_token *token; unsigned int count = 1; pfile->state.prevent_expansion++; --- 1094,1100 ---- cpp_reader *pfile; { const struct pragma_entry *p = NULL; ! const cpp_token *token, *pragma_token = pfile->cur_token; unsigned int count = 1; pfile->state.prevent_expansion++; *************** do_pragma (pfile) *** 1114,1129 **** } } - /* FIXME. This is an awful kludge to get the front ends to update - their notion of line number for diagnostic purposes. The line - number should be passed to the handler and they should do it - themselves. Stand-alone CPP must ignore us, otherwise it will - prefix the directive with spaces, hence the 1. Ugh. */ - if (pfile->cb.line_change) - (*pfile->cb.line_change)(pfile, token, 1); - if (p) ! (*p->u.handler) (pfile); else if (pfile->cb.def_pragma) { _cpp_backup_tokens (pfile, count); --- 1114,1131 ---- } } if (p) ! { ! /* Since the handler below doesn't get the line number, that it ! might need for diagnostics, make sure it has the right ! numbers in place. */ ! if (pfile->cb.line_change) ! (*pfile->cb.line_change) (pfile, pragma_token, false); ! (*p->u.handler) (pfile); ! if (pfile->cb.line_change) ! (*pfile->cb.line_change) (pfile, pfile->cur_token, false); ! ! } else if (pfile->cb.def_pragma) { _cpp_backup_tokens (pfile, count); diff -Nrc3pad gcc-3.3.1/gcc/cppmain.c gcc-3.3.2/gcc/cppmain.c *** gcc-3.3.1/gcc/cppmain.c 2002-11-08 20:15:05.000000000 +0000 --- gcc-3.3.2/gcc/cppmain.c 2003-09-14 13:26:36.000000000 +0000 *************** *** 1,5 **** /* Preprocess only, using cpplib. ! Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Written by Per Bothner, 1994-95. --- 1,5 ---- /* Preprocess only, using cpplib. ! Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Written by Per Bothner, 1994-95. diff -Nrc3pad gcc-3.3.1/gcc/cse.c gcc-3.3.2/gcc/cse.c *** gcc-3.3.1/gcc/cse.c 2003-04-29 19:16:40.000000000 +0000 --- gcc-3.3.2/gcc/cse.c 2003-10-06 09:24:11.000000000 +0000 *************** cse_set_around_loop (x, insn, loop_start *** 6844,6850 **** abort (); } else ! emit_insn_after (move, p); } break; } --- 6844,6858 ---- abort (); } else ! { ! if (control_flow_insn_p (p)) ! /* p can cause a control flow transfer so it ! is the last insn of a basic block. We can't ! therefore use emit_insn_after. */ ! emit_insn_before (move, next_nonnote_insn (p)); ! else ! emit_insn_after (move, p); ! } } break; } diff -Nrc3pad gcc-3.3.1/gcc/c-typeck.c gcc-3.3.2/gcc/c-typeck.c *** gcc-3.3.1/gcc/c-typeck.c 2003-07-24 19:11:26.000000000 +0000 --- gcc-3.3.2/gcc/c-typeck.c 2003-10-13 21:18:33.000000000 +0000 *************** convert_for_assignment (type, rhs, errty *** 4247,4252 **** --- 4247,4257 ---- errtype, funname, parmnum); return convert (type, rhs); } + else if (codel == POINTER_TYPE && coder == ARRAY_TYPE) + { + error ("invalid use of non-lvalue array"); + return error_mark_node; + } else if (codel == POINTER_TYPE && coder == INTEGER_TYPE) { /* An explicit constant 0 can convert to a pointer, *************** digest_init (type, init, require_constan *** 4765,4772 **** if (code == VECTOR_TYPE && comptypes (TREE_TYPE (inside_init), type) && TREE_CONSTANT (inside_init)) ! return build_vector (type, TREE_OPERAND (inside_init, 1)); ! /* Any type can be initialized from an expression of the same type, optionally with braces. */ --- 4770,4783 ---- if (code == VECTOR_TYPE && comptypes (TREE_TYPE (inside_init), type) && TREE_CONSTANT (inside_init)) ! { ! if (TREE_CODE (inside_init) == VECTOR_CST ! && comptypes (TYPE_MAIN_VARIANT (TREE_TYPE (inside_init)), ! TYPE_MAIN_VARIANT (type))) ! return inside_init; ! else ! return build_vector (type, CONSTRUCTOR_ELTS (inside_init)); ! } /* Any type can be initialized from an expression of the same type, optionally with braces. */ *************** digest_init (type, init, require_constan *** 4785,4792 **** TREE_TYPE (type))))) { if (code == POINTER_TYPE) ! inside_init = default_function_array_conversion (inside_init); if (require_constant && !flag_isoc99 && TREE_CODE (inside_init) == COMPOUND_LITERAL_EXPR) { --- 4796,4811 ---- TREE_TYPE (type))))) { if (code == POINTER_TYPE) ! { ! inside_init = default_function_array_conversion (inside_init); + if (TREE_CODE (TREE_TYPE (inside_init)) == ARRAY_TYPE) + { + error_init ("invalid use of non-lvalue array"); + return error_mark_node; + } + } + if (require_constant && !flag_isoc99 && TREE_CODE (inside_init) == COMPOUND_LITERAL_EXPR) { *************** set_init_index (first, last) *** 5742,5747 **** --- 5761,5768 ---- error_init ("nonconstant array index in initializer"); else if (TREE_CODE (constructor_type) != ARRAY_TYPE) error_init ("array index in non-array initializer"); + else if (tree_int_cst_sgn (first) == -1) + error_init ("array index in initializer exceeds array bounds"); else if (constructor_max_index && tree_int_cst_lt (constructor_max_index, first)) error_init ("array index in initializer exceeds array bounds"); diff -Nrc3pad gcc-3.3.1/gcc/doc/cpp.1 gcc-3.3.2/gcc/doc/cpp.1 *** gcc-3.3.1/gcc/doc/cpp.1 2003-08-04 13:10:35.000000000 +0000 --- gcc-3.3.2/gcc/doc/cpp.1 2003-10-16 20:24:05.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" cpp \- The C Preprocessor .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" cpp \- The C Preprocessor .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/doc/extend.texi gcc-3.3.2/gcc/doc/extend.texi *** gcc-3.3.1/gcc/doc/extend.texi 2003-07-22 23:03:09.000000000 +0000 --- gcc-3.3.2/gcc/doc/extend.texi 2003-10-04 11:08:27.000000000 +0000 *************** found convenient to use @code{__attribut *** 2636,2642 **** attachment of attributes to their corresponding declarations, whereas @code{#pragma GCC} is of use for constructs that do not naturally form part of the grammar. @xref{Other Directives,,Miscellaneous ! Preprocessing Directives, cpp, The C Preprocessor}. @node Attribute Syntax @section Attribute Syntax --- 2636,2642 ---- attachment of attributes to their corresponding declarations, whereas @code{#pragma GCC} is of use for constructs that do not naturally form part of the grammar. @xref{Other Directives,,Miscellaneous ! Preprocessing Directives, cpp, The GNU C Preprocessor}. @node Attribute Syntax @section Attribute Syntax *************** can also use most of the C language exte *** 6895,6902 **** want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to ! test specifically for GNU C++ (@pxref{Standard Predefined,,Standard ! Predefined Macros,cpp.info,The C Preprocessor}). @menu * Min and Max:: C++ Minimum and maximum operators. --- 6895,6902 ---- want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to ! test specifically for GNU C++ (@pxref{Common Predefined Macros,, ! Predefined Macros,cpp,The GNU C Preprocessor}). @menu * Min and Max:: C++ Minimum and maximum operators. diff -Nrc3pad gcc-3.3.1/gcc/doc/fsf-funding.7 gcc-3.3.2/gcc/doc/fsf-funding.7 *** gcc-3.3.1/gcc/doc/fsf-funding.7 2003-08-04 13:10:50.000000000 +0000 --- gcc-3.3.2/gcc/doc/fsf-funding.7 2003-10-16 20:24:20.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" fsf\-funding \- Funding Free Software .SH "DESCRIPTION" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" fsf\-funding \- Funding Free Software .SH "DESCRIPTION" diff -Nrc3pad gcc-3.3.1/gcc/doc/gcc.1 gcc-3.3.2/gcc/doc/gcc.1 *** gcc-3.3.1/gcc/doc/gcc.1 2003-08-04 13:10:48.000000000 +0000 --- gcc-3.3.2/gcc/doc/gcc.1 2003-10-16 20:24:18.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gcc \- GNU project C and C++ compiler .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcc \- GNU project C and C++ compiler .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/doc/gcc.info gcc-3.3.2/gcc/doc/gcc.info *** gcc-3.3.1/gcc/doc/gcc.info 2003-08-04 13:10:20.000000000 +0000 --- gcc-3.3.2/gcc/doc/gcc.info 2003-10-16 20:23:50.000000000 +0000 *************** Introduction *** 60,66 **** This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to GCC version 3.3.1. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. *Note Introduction: (gccint)Top. --- 60,66 ---- This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to GCC version 3.3.2. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. *Note Introduction: (gccint)Top. *************** you can also use most of the C language *** 18055,18062 **** programs). If you want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro `__GNUC__'. You can ! also use `__GNUG__' to test specifically for GNU C++ (*note Standard ! Predefined Macros: (cpp.info)Standard Predefined.). * Menu: --- 18055,18062 ---- programs). If you want to write code that checks whether these features are available, you can test for the GNU compiler the same way as for C programs: check for a predefined macro `__GNUC__'. You can ! also use `__GNUG__' to test specifically for GNU C++ (*note Predefined ! Macros: (cpp)Common Predefined Macros.). * Menu: *************** Node: Thread-Local729522 *** 24851,24908 **** Node: C99 Thread-Local Edits731613 Node: C++98 Thread-Local Edits733614 Node: C++ Extensions737048 ! Node: Min and Max738609 ! Node: Volatiles739993 ! Node: Restricted Pointers743363 ! Node: Vague Linkage744945 ! Node: C++ Interface748603 ! Ref: C++ Interface-Footnote-1753691 ! Node: Template Instantiation753830 ! Node: Bound member functions760967 ! Node: C++ Attributes762518 ! Node: Java Exceptions764122 ! Node: Deprecated Features765519 ! Node: Backwards Compatibility767485 ! Node: Objective-C768833 ! Node: Executing code before main769412 ! Node: What you can and what you cannot do in +load772050 ! Node: Type encoding774216 ! Node: Garbage Collection777468 ! Node: Constant string objects780132 ! Node: compatibility_alias782645 ! Node: Compatibility783524 ! Node: Gcov790111 ! Node: Gcov Intro790580 ! Node: Invoking Gcov793302 ! Node: Gcov and Optimization801750 ! Node: Gcov Data Files803187 ! Node: Trouble807894 ! Node: Actual Bugs809488 ! Node: Cross-Compiler Problems810396 ! Node: Interoperation811906 ! Node: External Bugs822048 ! Node: Incompatibilities823484 ! Node: Fixed Headers831931 ! Node: Standard Libraries834240 ! Node: Disappointments835610 ! Node: C++ Misunderstandings840104 ! Node: Static Definitions840830 ! Node: Temporaries841877 ! Node: Copy Assignment843854 ! Node: Protoize Caveats845676 ! Node: Non-bugs849631 ! Node: Warnings and Errors859499 ! Node: Bugs861259 ! Node: Bug Criteria861822 ! Node: Bug Reporting864013 ! Node: Service864394 ! Node: Contributing865212 ! Node: Funding865955 ! Node: GNU Project868459 ! Node: Copying869110 ! Node: GNU Free Documentation License888318 ! Node: Contributors910727 ! Node: Option Index937121 ! Node: Keyword Index1013126  End Tag Table --- 24851,24908 ---- Node: C99 Thread-Local Edits731613 Node: C++98 Thread-Local Edits733614 Node: C++ Extensions737048 ! Node: Min and Max738600 ! Node: Volatiles739984 ! Node: Restricted Pointers743354 ! Node: Vague Linkage744936 ! Node: C++ Interface748594 ! Ref: C++ Interface-Footnote-1753682 ! Node: Template Instantiation753821 ! Node: Bound member functions760958 ! Node: C++ Attributes762509 ! Node: Java Exceptions764113 ! Node: Deprecated Features765510 ! Node: Backwards Compatibility767476 ! Node: Objective-C768824 ! Node: Executing code before main769403 ! Node: What you can and what you cannot do in +load772041 ! Node: Type encoding774207 ! Node: Garbage Collection777459 ! Node: Constant string objects780123 ! Node: compatibility_alias782636 ! Node: Compatibility783515 ! Node: Gcov790102 ! Node: Gcov Intro790571 ! Node: Invoking Gcov793293 ! Node: Gcov and Optimization801741 ! Node: Gcov Data Files803178 ! Node: Trouble807885 ! Node: Actual Bugs809479 ! Node: Cross-Compiler Problems810387 ! Node: Interoperation811897 ! Node: External Bugs822039 ! Node: Incompatibilities823475 ! Node: Fixed Headers831922 ! Node: Standard Libraries834231 ! Node: Disappointments835601 ! Node: C++ Misunderstandings840095 ! Node: Static Definitions840821 ! Node: Temporaries841868 ! Node: Copy Assignment843845 ! Node: Protoize Caveats845667 ! Node: Non-bugs849622 ! Node: Warnings and Errors859490 ! Node: Bugs861250 ! Node: Bug Criteria861813 ! Node: Bug Reporting864004 ! Node: Service864385 ! Node: Contributing865203 ! Node: Funding865946 ! Node: GNU Project868450 ! Node: Copying869101 ! Node: GNU Free Documentation License888309 ! Node: Contributors910718 ! Node: Option Index937112 ! Node: Keyword Index1013117  End Tag Table diff -Nrc3pad gcc-3.3.1/gcc/doc/gccinstall.info gcc-3.3.2/gcc/doc/gccinstall.info *** gcc-3.3.1/gcc/doc/gccinstall.info 2003-08-04 13:10:21.000000000 +0000 --- gcc-3.3.2/gcc/doc/gccinstall.info 2003-10-16 20:23:51.000000000 +0000 *************** i?86-*-sco *** 1782,1792 **** 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* ================ --- 1782,1787 ---- *************** maintain. GCC now emits only DWARF 2 fo *** 1802,1858 **** may use either the UDK debugger or GDB to debug programs built by this version of GCC. ! Use of the `-march=pentiumpro' flag can result in unrecognized ! opcodes when using the native assembler on OS versions before 5.0.6. ! (Support for P6 opcodes was added to the native ELF assembler in that ! version.) While it's rather rare to see these emitted by GCC yet, ! errors of the basic form: ! ! /usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip ! /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip ! ! are symptoms of this problem. You may work around this by not ! building affected files with that flag, by using the GNU assembler, or ! by using the assembler provided with the current version of the OS. ! Users of GNU assembler should see the note below for hazards on doing ! so. ! ! The native SCO assembler that is provided with the OS at no charge ! is normally required. If, however, you must be able to use the GNU ! assembler (perhaps you're compiling code with asms that require GAS ! syntax) you may configure this package using the flags `--with-gnu-as'. ! You must use a recent version of GNU binutils; versions past 2.9.1 ! seem to work well. ! ! In general, the `--with-gnu-as' option isn't as well tested as the ! native assembler. ! ! Look in `gcc/config/i386/sco5.h' (search for "messy") for additional ! OpenServer-specific flags. ! ! Systems based on OpenServer before 5.0.4 (`uname -X' will tell you ! what you're running) require TLS597 from ftp://stage.caldera.com/TLS/ ! for C++ constructors and destructors to work right. ! ! The system linker in (at least) 5.0.4 and 5.0.5 will sometimes do ! the wrong thing for a construct that GCC will emit for PIC code. This ! can be seen as execution testsuite failures when using `-fPIC' on ! `921215-1.c', `931002-1.c', `nestfunc-1.c', and `gcov-1.c'. For 5.0.5, ! an updated linker that will cure this problem is available. You must ! install both ftp://ftp.sco.com/pub/openserver5/rs505a and OSS499A. ! The dynamic linker in OpenServer 5.0.5 (earlier versions may show ! the same problem) aborts on certain G77-compiled programs. It's ! particularly likely to be triggered by building Fortran code with the ! `-fPIC' flag. Although it's conceivable that the error could be ! triggered by other code, only G77-compiled code has been observed to ! cause this abort. If you are getting core dumps immediately upon ! execution of your G77 program--and especially if it's compiled with ! `-fPIC'--try applying `sco_osr5_g77.patch' to your `libf2c' and ! rebuilding GCC. Affected faults, when analyzed in a debugger, will ! show a stack backtrace with a fault occurring in `rtld()' and the ! program 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 ========== --- 1797,1829 ---- may use either the UDK debugger or GDB to debug programs built by this version of GCC. ! GCC is now only supported on releases 5.0.4 and later, and requires ! that you install Support Level Supplement OSS646B or later, and the ! latest version of the Supplement Graphics, Web and X11 Libraries ! (GWXLIBS) package. If you are using release 5.0.7 of OpenServer, you ! must have at least the first maintenance pack installed (this includes ! the relevant portions of OSS646 and GWXLIBS). OSS646, also known as ! the "Execution Environment Update", provides updated link editors and ! assemblers, as well as updated standard C and math libraries. The C ! startup modules are also updated to support the System V gABI draft, ! and GCC relies on that behavior. GWXLIBS provides a collection of ! commonly used open source libraries, some of which GCC depends on (such ! as GNU gettext and zlib). SCO OpenServer Release 5.0.7 has all of this ! built in by default, but GWXLIBS is significantly updated in ! Maintenance Pack 1. Please visit ftp://ftp.sco.com/pub/openserver5 and ! ftp://ftp.sco.com/pub/openserver5/opensrc for the latest versions of ! these (and other potentially useful) supplements. ! Although there is support for using the native assembler, it is ! recommended that you configure GCC to use the GNU assembler. You do ! this by using the flags `--with-gnu-as'. You should use a modern ! version of GNU binutils. Version 2.14 was used for all testing. In ! general, only the `--with-gnu-as' option is tested. A modern bintuils ! (as well as a plethora of other development related GNU utilities) can ! be found in the GNU Development Tools package. See the SCO web and ftp ! sites for details. That package also contains the currently ! "officially supported" version of GCC, version 2.95.3. It is useful ! for bootstrapping this version. i?86-*-udk ========== *************** Ref: *-*-linux-gnu73900 *** 3824,3889 **** Ref: ix86-*-linux*aout74892 Ref: ix86-*-linux*75105 Ref: ix86-*-sco75422 ! Ref: ix86-*-sco3.2v475589 ! Ref: ix86-*-sco3.2v5*75680 ! Ref: ix86-*-udk78866 ! Ref: ia64-*-linux80233 ! Ref: ia64-*-hpux*81224 ! Ref: *-lynx-lynxos81656 ! Ref: *-ibm-aix*82136 ! Ref: ip2k-*-elf87164 ! Ref: m32r-*-elf87398 ! Ref: m68000-hp-bsd87503 ! Ref: m6811-elf87762 ! Ref: m6812-elf87915 ! Ref: m68k-att-sysv88068 ! Ref: m68k-crds-unos88431 ! Ref: m68k-hp-hpux89895 ! Ref: m68k-ncr-*91911 ! Ref: m68k-sun92309 ! Ref: m68k-sun-sunos4.1.192573 ! Ref: mips-*-*92740 ! Ref: mips-sgi-irix593604 ! Ref: mips-sgi-irix695588 ! Ref: powerpc*-*-*99377 ! Ref: powerpc-*-darwin*99525 ! Ref: powerpc-*-elf100473 ! Ref: powerpc-*-linux-gnu*100595 ! Ref: powerpc-*-netbsd*100706 ! Ref: powerpc-*-eabiaix100905 ! Ref: powerpc-*-eabisim101032 ! Ref: powerpc-*-eabi101161 ! Ref: powerpcle-*-elf101240 ! Ref: powerpcle-*-eabisim101373 ! Ref: powerpcle-*-eabi101509 ! Ref: s390-*-linux*101595 ! Ref: s390x-*-linux*101666 ! Ref: *-*-solaris2*101752 ! Ref: sparc-sun-solaris2*104210 ! Ref: sparc-sun-solaris2.7105546 ! Ref: sparc-sun-sunos4*107619 ! Ref: sparc-unknown-linux-gnulibc1108286 ! Ref: sparc-*-linux*108487 ! Ref: sparc64-*-solaris2*108715 ! Ref: sparcv9-*-solaris2*109094 ! Ref: #*-*-sysv*109182 ! Ref: vax-dec-ultrix110146 ! Ref: xtensa-*-elf110301 ! Ref: xtensa-*-linux*110983 ! Ref: windows111324 ! Ref: os2111651 ! Ref: older111977 ! Ref: elf_targets114105 ! Node: Old114366 ! Node: Configurations117741 ! Node: Cross-Compiler121941 ! Node: Steps of Cross123698 ! Node: Configure Cross124823 ! Node: Tools and Libraries125467 ! Node: Cross Headers127913 ! Node: Build Cross129928 ! Node: VMS Install130895 ! Node: GNU Free Documentation License140435 ! Node: Concept Index162848  End Tag Table --- 3795,3859 ---- Ref: ix86-*-linux*aout74892 Ref: ix86-*-linux*75105 Ref: ix86-*-sco75422 ! Ref: ix86-*-sco3.2v5*75589 ! Ref: ix86-*-udk77837 ! Ref: ia64-*-linux79204 ! Ref: ia64-*-hpux*80195 ! Ref: *-lynx-lynxos80627 ! Ref: *-ibm-aix*81107 ! Ref: ip2k-*-elf86135 ! Ref: m32r-*-elf86369 ! Ref: m68000-hp-bsd86474 ! Ref: m6811-elf86733 ! Ref: m6812-elf86886 ! Ref: m68k-att-sysv87039 ! Ref: m68k-crds-unos87402 ! Ref: m68k-hp-hpux88866 ! Ref: m68k-ncr-*90882 ! Ref: m68k-sun91280 ! Ref: m68k-sun-sunos4.1.191544 ! Ref: mips-*-*91711 ! Ref: mips-sgi-irix592575 ! Ref: mips-sgi-irix694559 ! Ref: powerpc*-*-*98348 ! Ref: powerpc-*-darwin*98496 ! Ref: powerpc-*-elf99444 ! Ref: powerpc-*-linux-gnu*99566 ! Ref: powerpc-*-netbsd*99677 ! Ref: powerpc-*-eabiaix99876 ! Ref: powerpc-*-eabisim100003 ! Ref: powerpc-*-eabi100132 ! Ref: powerpcle-*-elf100211 ! Ref: powerpcle-*-eabisim100344 ! Ref: powerpcle-*-eabi100480 ! Ref: s390-*-linux*100566 ! Ref: s390x-*-linux*100637 ! Ref: *-*-solaris2*100723 ! Ref: sparc-sun-solaris2*103181 ! Ref: sparc-sun-solaris2.7104517 ! Ref: sparc-sun-sunos4*106590 ! Ref: sparc-unknown-linux-gnulibc1107257 ! Ref: sparc-*-linux*107458 ! Ref: sparc64-*-solaris2*107686 ! Ref: sparcv9-*-solaris2*108065 ! Ref: #*-*-sysv*108153 ! Ref: vax-dec-ultrix109117 ! Ref: xtensa-*-elf109272 ! Ref: xtensa-*-linux*109954 ! Ref: windows110295 ! Ref: os2110622 ! Ref: older110948 ! Ref: elf_targets113076 ! Node: Old113337 ! Node: Configurations116712 ! Node: Cross-Compiler120912 ! Node: Steps of Cross122669 ! Node: Configure Cross123794 ! Node: Tools and Libraries124438 ! Node: Cross Headers126884 ! Node: Build Cross128899 ! Node: VMS Install129866 ! Node: GNU Free Documentation License139406 ! Node: Concept Index161819  End Tag Table diff -Nrc3pad gcc-3.3.1/gcc/doc/gccint.info gcc-3.3.2/gcc/doc/gccint.info *** gcc-3.3.1/gcc/doc/gccint.info 2003-08-04 13:10:21.000000000 +0000 --- gcc-3.3.2/gcc/doc/gccint.info 2003-10-16 20:23:51.000000000 +0000 *************** Introduction *** 59,65 **** This manual documents the internals of the GNU compilers, including how to port them to new targets and some information about how to write ! front ends for new languages. It corresponds to GCC version 3.3.1. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. --- 59,65 ---- This manual documents the internals of the GNU compilers, including how to port them to new targets and some information about how to write ! front ends for new languages. It corresponds to GCC version 3.3.2. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. *************** Output and Generation of Labels *** 18358,18363 **** --- 18358,18378 ---- You may wish to use `ASM_OUTPUT_TYPE_DIRECTIVE' and/or `ASM_OUTPUT_SIZE_DIRECTIVE' in the definition of this macro. + `ASM_DECLARE_CONSTANT_NAME (STREAM, NAME, EXP, SIZE)' + A C statement (sans semicolon) to output to the stdio stream + STREAM any text necessary for declaring the name NAME of a + constant which is being defined. This macro is responsible for + outputting the label definition (perhaps using + `ASM_OUTPUT_LABEL'). The argument EXP is the value of the + constant, and SIZE is the size of the constant in bytes. NAME + will be an internal label. + + If this macro is not defined, then the NAME is defined in the + usual manner as a label (by means of `ASM_OUTPUT_LABEL'). + + You may wish to use `ASM_OUTPUT_TYPE_DIRECTIVE' in the definition + of this macro. + `ASM_DECLARE_REGISTER_GLOBAL (STREAM, DECL, REGNO, NAME)' A C statement (sans semicolon) to output to the stdio stream STREAM any text necessary for claiming a register REGNO for a *************** Index *** 23185,23190 **** --- 23200,23206 ---- * ASM_COMMENT_START: File Framework. * ASM_CV_QUAL: Function Bodies. * ASM_DECLARE_CLASS_REFERENCE: Label Output. + * ASM_DECLARE_CONSTANT_NAME: Label Output. * ASM_DECLARE_FUNCTION_NAME: Label Output. * ASM_DECLARE_FUNCTION_SIZE: Label Output. * ASM_DECLARE_OBJECT_NAME: Label Output. *************** Node: File Framework780256 *** 25443,25482 **** Node: Data Output785116 Node: Uninitialized Data792711 Node: Label Output798111 ! Node: Initialization816207 ! Node: Macros for Initialization822188 ! Node: Instruction Output828357 ! Node: Dispatch Tables837403 ! Node: Exception Region Output839958 ! Node: Alignment Output843620 ! Node: Debugging Info847641 ! Node: All Debuggers848302 ! Node: DBX Options851185 ! Node: DBX Hooks856560 ! Node: File Names and DBX860383 ! Node: SDB and DWARF862359 ! Node: VMS Debug866405 ! Node: Floating Point866953 ! Node: Mode Switching871756 ! Node: Target Attributes875006 ! Node: MIPS Coprocessors878856 ! Node: Misc880419 ! Node: Host Config911520 ! Node: Fragments917556 ! Node: Target Fragment918699 ! Node: Host Fragment924150 ! Node: Collect2925586 ! Node: Header Dirs928140 ! Node: Type Information929567 ! Node: GTY Options930588 ! Node: GGC Roots937178 ! Node: Files937879 ! Node: Funding940725 ! Node: GNU Project943236 ! Node: Copying943890 ! Node: GNU Free Documentation License963101 ! Node: Contributors985513 ! Node: Option Index1011910 ! Node: Index1013710  End Tag Table --- 25459,25498 ---- Node: Data Output785116 Node: Uninitialized Data792711 Node: Label Output798111 ! Node: Initialization816900 ! Node: Macros for Initialization822881 ! Node: Instruction Output829050 ! Node: Dispatch Tables838096 ! Node: Exception Region Output840651 ! Node: Alignment Output844313 ! Node: Debugging Info848334 ! Node: All Debuggers848995 ! Node: DBX Options851878 ! Node: DBX Hooks857253 ! Node: File Names and DBX861076 ! Node: SDB and DWARF863052 ! Node: VMS Debug867098 ! Node: Floating Point867646 ! Node: Mode Switching872449 ! Node: Target Attributes875699 ! Node: MIPS Coprocessors879549 ! Node: Misc881112 ! Node: Host Config912213 ! Node: Fragments918249 ! Node: Target Fragment919392 ! Node: Host Fragment924843 ! Node: Collect2926279 ! Node: Header Dirs928833 ! Node: Type Information930260 ! Node: GTY Options931281 ! Node: GGC Roots937871 ! Node: Files938572 ! Node: Funding941418 ! Node: GNU Project943929 ! Node: Copying944583 ! Node: GNU Free Documentation License963794 ! Node: Contributors986206 ! Node: Option Index1012603 ! Node: Index1014403  End Tag Table diff -Nrc3pad gcc-3.3.1/gcc/doc/gcov.1 gcc-3.3.2/gcc/doc/gcov.1 *** gcc-3.3.1/gcc/doc/gcov.1 2003-08-04 13:10:34.000000000 +0000 --- gcc-3.3.2/gcc/doc/gcov.1 2003-10-16 20:24:04.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gcov \- coverage testing tool .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcov \- coverage testing tool .SH "SYNOPSIS" diff -Nrc3pad gcc-3.3.1/gcc/doc/gfdl.7 gcc-3.3.2/gcc/doc/gfdl.7 *** gcc-3.3.1/gcc/doc/gfdl.7 2003-08-04 13:10:49.000000000 +0000 --- gcc-3.3.2/gcc/doc/gfdl.7 2003-10-16 20:24:18.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gfdl \- GNU Free Documentation License .SH "DESCRIPTION" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gfdl \- GNU Free Documentation License .SH "DESCRIPTION" diff -Nrc3pad gcc-3.3.1/gcc/doc/gpl.7 gcc-3.3.2/gcc/doc/gpl.7 *** gcc-3.3.1/gcc/doc/gpl.7 2003-08-04 13:10:49.000000000 +0000 --- gcc-3.3.2/gcc/doc/gpl.7 2003-10-16 20:24:19.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2003-08-04" "gcc-3.3.1" "GNU" .SH "NAME" gpl \- GNU General Public License .SH "DESCRIPTION" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gpl \- GNU General Public License .SH "DESCRIPTION" diff -Nrc3pad gcc-3.3.1/gcc/doc/include/gcc-common.texi gcc-3.3.2/gcc/doc/include/gcc-common.texi *** gcc-3.3.1/gcc/doc/include/gcc-common.texi 2003-05-14 23:28:56.000000000 +0000 --- gcc-3.3.2/gcc/doc/include/gcc-common.texi 2003-08-07 20:12:35.000000000 +0000 *************** *** 4,10 **** @c Common values used in the GCC manuals: ! @set version-GCC 3.3.1 @c DEVELOPMENT is set to indicate an in-development version, @c as compared to a release version. When making a release --- 4,10 ---- @c Common values used in the GCC manuals: ! @set version-GCC 3.3.2 @c DEVELOPMENT is set to indicate an in-development version, @c as compared to a release version. When making a release diff -Nrc3pad gcc-3.3.1/gcc/doc/install.texi gcc-3.3.2/gcc/doc/install.texi *** gcc-3.3.1/gcc/doc/install.texi 2003-07-26 16:06:12.000000000 +0000 --- gcc-3.3.2/gcc/doc/install.texi 2003-08-09 06:51:10.000000000 +0000 *************** link with GNU malloc instead of the mall *** 2331,2342 **** @html
        @end html - @heading @anchor{ix86-*-sco3.2v4}i?86-*-sco3.2v4 - Use this configuration for SCO release 3.2 version 4. - - @html -
        - @end html @heading @anchor{ix86-*-sco3.2v5*}i?86-*-sco3.2v5* Use this for the SCO OpenServer Release 5 family of operating systems. --- 2331,2336 ---- *************** maintain. GCC now emits only DWARF 2 fo *** 2349,2412 **** may use either the UDK debugger or GDB to debug programs built by this version of GCC@. ! Use of the @option{-march=pentiumpro} flag can result in ! unrecognized opcodes when using the native assembler on OS versions before ! 5.0.6. (Support for P6 opcodes was added to the native ELF assembler in ! that version.) While it's rather rare to see these emitted by GCC yet, ! errors of the basic form: ! ! @example ! /usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip ! /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip ! @end example ! ! are symptoms of this problem. You may work around this by not ! building affected files with that flag, by using the GNU assembler, or ! by using the assembler provided with the current version of the OS@. ! Users of GNU assembler should see the note below for hazards on doing ! so. ! ! The native SCO assembler that is provided with the OS at no ! charge is normally required. If, however, you must be able to use ! the GNU assembler (perhaps you're compiling code with asms that ! require GAS syntax) you may configure this package using the flags ! @uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}}. You must ! use a recent version of GNU binutils; versions past 2.9.1 seem to work ! well. ! ! In general, the @option{--with-gnu-as} option isn't as well tested ! as the native assembler. ! ! Look in @file{gcc/config/i386/sco5.h} (search for ``messy'') for ! additional OpenServer-specific flags. ! ! Systems based on OpenServer before 5.0.4 (@samp{uname -X} ! will tell you what you're running) require TLS597 from ! @uref{ftp://stage.caldera.com/TLS/,,ftp://stage.caldera.com/TLS/} ! for C++ constructors and destructors to work right. ! ! The system linker in (at least) 5.0.4 and 5.0.5 will sometimes ! do the wrong thing for a construct that GCC will emit for PIC ! code. This can be seen as execution testsuite failures when using ! @option{-fPIC} on @file{921215-1.c}, @file{931002-1.c}, @file{nestfunc-1.c}, and @file{gcov-1.c}. ! For 5.0.5, an updated linker that will cure this problem is ! available. You must install both ! @uref{ftp://ftp.sco.com/pub/openserver5/rs505a,,ftp://ftp.sco.com/pub/openserver5/rs505a} ! and @uref{ftp://ftp.sco.com/pub/openserver5,,OSS499A}. ! The dynamic linker in OpenServer 5.0.5 (earlier versions may show ! the same problem) aborts on certain G77-compiled programs. It's particularly ! likely to be triggered by building Fortran code with the @option{-fPIC} flag. ! Although it's conceivable that the error could be triggered by other ! code, only G77-compiled code has been observed to cause this abort. ! If you are getting core dumps immediately upon execution of your ! G77 program---and especially if it's compiled with @option{-fPIC}---try applying ! @uref{sco_osr5_g77.patch,,@file{sco_osr5_g77.patch}} to your @samp{libf2c} and ! rebuilding GCC@. ! Affected faults, when analyzed in a debugger, will show a stack ! backtrace with a fault occurring in @code{rtld()} and the program ! running as @file{/usr/lib/ld.so.1}. This problem has been reported to SCO ! engineering and will hopefully be addressed in later releases. @html --- 2343,2376 ---- may use either the UDK debugger or GDB to debug programs built by this version of GCC@. ! GCC is now only supported on releases 5.0.4 and later, and requires that ! you install Support Level Supplement OSS646B or later, and the latest ! version of the Supplement Graphics, Web and X11 Libraries (GWXLIBS) ! package. If you are using release 5.0.7 of OpenServer, you must have at ! least the first maintenance pack installed (this includes the relevant ! portions of OSS646 and GWXLIBS). OSS646, also known as the "Execution ! Environment Update", provides updated link editors and assemblers, as well ! as updated standard C and math libraries. The C startup modules are also ! updated to support the System V gABI draft, and GCC relies on that ! behavior. GWXLIBS provides a collection of commonly used open source ! libraries, some of which GCC depends on (such as GNU gettext and zlib). ! SCO OpenServer Release 5.0.7 has all of this built in by default, but ! GWXLIBS is significantly updated in Maintenance Pack 1. Please visit ! @uref{ftp://ftp.sco.com/pub/openserver5,,ftp://ftp.sco.com/pub/openserver5} ! and ! @uref{ftp://ftp.sco.com/pub/openserver5/opensrc,,ftp://ftp.sco.com/pub/openserver5/opensrc} ! for the latest versions of these (and other potentially useful) supplements. ! Although there is support for using the native assembler, it is recommended ! that you configure GCC to use the GNU assembler. You do this by using the ! flags @uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}}. You ! should use a modern version of GNU binutils. Version 2.14 was used for all ! testing. In general, only the @option{--with-gnu-as} option is tested. A ! modern bintuils (as well as a plethora of other development related GNU ! utilities) can be found in the GNU Development Tools package. See the ! SCO web and ftp sites for details. That package also contains the ! currently "officially supported" version of GCC, version 2.95.3. It is ! useful for bootstrapping this version. @html diff -Nrc3pad gcc-3.3.1/gcc/doc/tm.texi gcc-3.3.2/gcc/doc/tm.texi *** gcc-3.3.1/gcc/doc/tm.texi 2003-06-09 21:37:53.000000000 +0000 --- gcc-3.3.2/gcc/doc/tm.texi 2003-08-08 21:17:57.000000000 +0000 *************** usual manner as a label (by means of @co *** 6589,6594 **** --- 6589,6610 ---- You may wish to use @code{ASM_OUTPUT_TYPE_DIRECTIVE} and/or @code{ASM_OUTPUT_SIZE_DIRECTIVE} in the definition of this macro. + @findex ASM_DECLARE_CONSTANT_NAME + @item ASM_DECLARE_CONSTANT_NAME (@var{stream}, @var{name}, @var{exp}, @var{size}) + A C statement (sans semicolon) to output to the stdio stream + @var{stream} any text necessary for declaring the name @var{name} of a + constant which is being defined. This macro is responsible for + outputting the label definition (perhaps using + @code{ASM_OUTPUT_LABEL}). The argument @var{exp} is the + value of the constant, and @var{size} is the size of the constant + in bytes. @var{name} will be an internal label. + + If this macro is not defined, then the @var{name} is defined in the + usual manner as a label (by means of @code{ASM_OUTPUT_LABEL}). + + You may wish to use @code{ASM_OUTPUT_TYPE_DIRECTIVE} in the definition + of this macro. + @findex ASM_DECLARE_REGISTER_GLOBAL @item ASM_DECLARE_REGISTER_GLOBAL (@var{stream}, @var{decl}, @var{regno}, @var{name}) A C statement (sans semicolon) to output to the stdio stream diff -Nrc3pad gcc-3.3.1/gcc/dwarf2out.c gcc-3.3.2/gcc/dwarf2out.c *** gcc-3.3.1/gcc/dwarf2out.c 2003-07-20 07:22:55.000000000 +0000 --- gcc-3.3.2/gcc/dwarf2out.c 2003-10-01 16:58:30.000000000 +0000 *************** expand_builtin_init_dwarf_reg_sizes (add *** 432,437 **** --- 432,446 ---- emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size)); } + + #ifdef DWARF_ALT_FRAME_RETURN_COLUMN + { + enum machine_mode save_mode = Pmode; + HOST_WIDE_INT offset = DWARF_ALT_FRAME_RETURN_COLUMN * GET_MODE_SIZE (mode); + HOST_WIDE_INT size = GET_MODE_SIZE (save_mode); + emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size)); + } + #endif } /* Convert a DWARF call frame info. operation to its string name */ *************** gen_inlined_subroutine_die (stmt, contex *** 11051,11066 **** dw_die_ref context_die; int depth; { if (! BLOCK_ABSTRACT (stmt)) { dw_die_ref subr_die = new_die (DW_TAG_inlined_subroutine, context_die, stmt); - tree decl = block_ultimate_origin (stmt); char label[MAX_ARTIFICIAL_LABEL_BYTES]; - /* Emit info for the abstract instance first, if we haven't yet. */ - dwarf2out_abstract_function (decl); - add_abstract_origin_attribute (subr_die, decl); ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_BEGIN_LABEL, BLOCK_NUMBER (stmt)); --- 11060,11079 ---- dw_die_ref context_die; int depth; { + tree decl = block_ultimate_origin (stmt); + + /* Emit info for the abstract instance first, if we haven't yet. We + must emit this even if the block is abstract, otherwise when we + emit the block below (or elsewhere), we may end up trying to emit + a die whose origin die hasn't been emitted, and crashing. */ + dwarf2out_abstract_function (decl); + if (! BLOCK_ABSTRACT (stmt)) { dw_die_ref subr_die = new_die (DW_TAG_inlined_subroutine, context_die, stmt); char label[MAX_ARTIFICIAL_LABEL_BYTES]; add_abstract_origin_attribute (subr_die, decl); ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_BEGIN_LABEL, BLOCK_NUMBER (stmt)); diff -Nrc3pad gcc-3.3.1/gcc/expr.c gcc-3.3.2/gcc/expr.c *** gcc-3.3.1/gcc/expr.c 2003-07-24 19:11:20.000000000 +0000 --- gcc-3.3.2/gcc/expr.c 2003-09-06 08:06:00.000000000 +0000 *************** convert_modes (mode, oldmode, x, unsigne *** 1425,1430 **** --- 1425,1439 ---- return gen_lowpart (mode, x); } + /* Converting from integer constant into mode is always equivalent to an + subreg operation. */ + if (VECTOR_MODE_P (mode) && GET_MODE (x) == VOIDmode) + { + if (GET_MODE_BITSIZE (mode) != GET_MODE_BITSIZE (oldmode)) + abort (); + return simplify_gen_subreg (mode, x, oldmode, 0); + } + temp = gen_reg_rtx (mode); convert_move (temp, x, unsignedp); return temp; diff -Nrc3pad gcc-3.3.1/gcc/fixinc/check.tpl gcc-3.3.2/gcc/fixinc/check.tpl *** gcc-3.3.1/gcc/fixinc/check.tpl 2002-05-16 17:42:32.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/check.tpl 2003-08-09 06:51:10.000000000 +0000 *************** do *** 135,141 **** : else ! diff -u $f ${TESTBASE}/$f >&2 || : exitok=false fi done --- 135,141 ---- : else ! ${DIFF:-diff} -u $f ${TESTBASE}/$f >&2 || : exitok=false fi done diff -Nrc3pad gcc-3.3.1/gcc/fixinc/fixincl.x gcc-3.3.2/gcc/fixinc/fixincl.x *** gcc-3.3.1/gcc/fixinc/fixincl.x 2003-07-02 06:47:05.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/fixincl.x 2003-10-16 20:10:47.000000000 +0000 *************** *** 5,11 **** * files which are fixed to work correctly with ANSI C and placed in a * directory that GNU C will search. * ! * This file contains 157 fixup descriptions. * * See README for more information. * --- 5,11 ---- * files which are fixed to work correctly with ANSI C and placed in a * directory that GNU C will search. * ! * This file contains 162 fixup descriptions. * * See README for more information. * *************** tSCC zAab_Svr4_Replace_ByteorderList[] = *** 342,355 **** /* * Machine/OS name selection pattern */ ! tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = { ! "*-*-sysv4*", ! "i[34567]86-*-sysv5*", ! "i[34567]86-*-udk*", ! "i[34567]86-*-solaris2.[0-4]", ! "powerpcle-*-solaris2.[0-4]", ! "sparc-*-solaris2.[0-4]", ! (const char*)NULL }; #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT 0 #define aAab_Svr4_Replace_ByteorderTests (tTestDesc*)NULL --- 342,348 ---- /* * Machine/OS name selection pattern */ ! #define apzAab_Svr4_Replace_ByteorderMachs (const char**)NULL #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT 0 #define aAab_Svr4_Replace_ByteorderTests (tTestDesc*)NULL *************** static __inline__ unsigned long\n\ *** 393,401 **** htonl (unsigned long __arg)\n\ {\n\ register unsigned long __result;\n\n\ ! __asm__ (\"xchg%B0 %b0,%h0\n\ ! \tror%L0 $16,%0\n\ ! \txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\ return __result;\n\ }\n\n\ /* Convert a host short to a network short. */\n\n\ --- 386,392 ---- htonl (unsigned long __arg)\n\ {\n\ register unsigned long __result;\n\n\ ! __asm__ (\"xchg%B0 %b0,%h0 ; ror%L0 $16,%0 ; xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\ return __result;\n\ }\n\n\ /* Convert a host short to a network short. */\n\n\ *************** static const char* apzAlpha_ParensPatch[ *** 918,923 **** --- 909,954 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Alpha_Pthread_Gcc fix + */ + tSCC zAlpha_Pthread_GccName[] = + "alpha_pthread_gcc"; + + /* + * File name selection pattern + */ + tSCC zAlpha_Pthread_GccList[] = + "|pthread.h|"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzAlpha_Pthread_GccMachs[] = { + "alpha*-dec-osf*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zAlpha_Pthread_GccSelect0[] = + "#else\n\ + # error : unrecognized compiler."; + + #define ALPHA_PTHREAD_GCC_TEST_CT 1 + static tTestDesc aAlpha_Pthread_GccTests[] = { + { TT_EGREP, zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Alpha_Pthread_Gcc + */ + static const char* apzAlpha_Pthread_GccPatch[] = { + "format", + "#elif defined (__GNUC__)\n\ + # define _PTHREAD_ENV_GCC\n\ + %0", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Alpha_Sbrk fix */ tSCC zAlpha_SbrkName[] = *************** tSCC zIrix_Stdio_Va_ListList[] = *** 2731,2737 **** * content selection pattern - do fix if pattern found */ tSCC zIrix_Stdio_Va_ListSelect0[] = ! "(printf\\(.*), /\\* va_list \\*/ char \\*"; #define IRIX_STDIO_VA_LIST_TEST_CT 1 static tTestDesc aIrix_Stdio_Va_ListTests[] = { --- 2762,2768 ---- * content selection pattern - do fix if pattern found */ tSCC zIrix_Stdio_Va_ListSelect0[] = ! "/\\* va_list \\*/ char \\*"; #define IRIX_STDIO_VA_LIST_TEST_CT 1 static tTestDesc aIrix_Stdio_Va_ListTests[] = { *************** static tTestDesc aIrix_Stdio_Va_ListTest *** 2742,2748 **** */ static const char* apzIrix_Stdio_Va_ListPatch[] = { "format", ! "%1, __gnuc_va_list", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * --- 2773,2779 ---- */ static const char* apzIrix_Stdio_Va_ListPatch[] = { "format", ! "__gnuc_va_list", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * *************** static const char* apzRs6000_ParamPatch[ *** 4012,4017 **** --- 4043,4171 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Sco_Math fix + */ + tSCC zSco_MathName[] = + "sco_math"; + + /* + * File name selection pattern + */ + tSCC zSco_MathList[] = + "|math.h|posix/math.h|ansi/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|"; + /* + * Machine/OS name selection pattern + */ + #define apzSco_MathMachs (const char**)NULL + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSco_MathSelect0[] = + "__builtin_generic"; + + #define SCO_MATH_TEST_CT 1 + static tTestDesc aSco_MathTests[] = { + { TT_EGREP, zSco_MathSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Sco_Math + */ + static const char* apzSco_MathPatch[] = { "sed", + "-e", "/#define.*__fp_class(a) \\\\/i\\\n\ + #ifndef __GNUC__\n", + "-e", "/.*__builtin_generic/a\\\n\ + #else\\\n\ + #define __fp_class(a) \\\\\\\n\ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\ + __fpclassifyl(a), \\\\\\\n\ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\ + __fpclassifyf(a),__fpclassify(a)))\\\n\ + #endif", + "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\ + #ifndef __GNUC__\n", + "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\ + #endif /* ! __GNUC__ */", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sco_Regset fix + */ + tSCC zSco_RegsetName[] = + "sco_regset"; + + /* + * File name selection pattern + */ + tSCC zSco_RegsetList[] = + "|sys/regset.h|"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzSco_RegsetMachs[] = { + "*-*-sco3.2v5*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSco_RegsetSelect0[] = + "(struct[ \t]+_*)fpstate"; + + #define SCO_REGSET_TEST_CT 1 + static tTestDesc aSco_RegsetTests[] = { + { TT_EGREP, zSco_RegsetSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Sco_Regset + */ + static const char* apzSco_RegsetPatch[] = { + "format", + "%1rsfpstate", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Sco_String fix + */ + tSCC zSco_StringName[] = + "sco_string"; + + /* + * File name selection pattern + */ + tSCC zSco_StringList[] = + "|ansi/string.h|posix/string.h|xpg4/string.h|xpg4v2/string.h|xpg4plus/string.h|ods_30_compat/string.h|oldstyle/string.h|string.h|"; + /* + * Machine/OS name selection pattern + */ + tSCC* apzSco_StringMachs[] = { + "*-*-sco3.2v5*", + (const char*)NULL }; + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSco_StringSelect0[] = + "inline char"; + + #define SCO_STRING_TEST_CT 1 + static tTestDesc aSco_StringTests[] = { + { TT_EGREP, zSco_StringSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Sco_String + */ + static const char* apzSco_StringPatch[] = { "sed", + "-e", "/extern \"C\\+\\+\"/N;/inline void.*memchr/i\\\n\ + #ifndef __GNUC__\n", + "-e", "/return.*strstr/N;/return.*strstr.*}/a\\\n\ + #endif /* ! __GNUC__ */", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Sco_Static_Func fix */ tSCC zSco_Static_FuncName[] = *************** tSCC zSolaris_WidecList[] = *** 4215,4221 **** * Machine/OS name selection pattern */ tSCC* apzSolaris_WidecMachs[] = { ! "*-*-solaris2.[0-5]*", (const char*)NULL }; /* --- 4369,4376 ---- * Machine/OS name selection pattern */ tSCC* apzSolaris_WidecMachs[] = { ! "*-*-solaris2.[0-5]", ! "*-*-solaris2.[0-5].*", (const char*)NULL }; /* *************** static tTestDesc aStdio_Va_ListTests[] = *** 4348,4354 **** static const char* apzStdio_Va_ListPatch[] = { "sed", "-e", "s@ va_list @ __gnuc_va_list @\n\ s@ va_list)@ __gnuc_va_list)@\n\ - s@va_list _ap;@__gnuc_va_list _ap;@\n\ s@(va_list)&@(__gnuc_va_list)\\&@\n\ s@ _VA_LIST_));@ __gnuc_va_list));@\n\ s@ __VA_LIST__));@ __gnuc_va_list));@\n\ --- 4503,4508 ---- *************** static const char* apzSvr4__PPatch[] = { *** 4906,4911 **** --- 5060,5099 ---- /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Svr4_Disable_Opt fix + */ + tSCC zSvr4_Disable_OptName[] = + "svr4_disable_opt"; + + /* + * File name selection pattern + */ + tSCC zSvr4_Disable_OptList[] = + "|string.h|"; + /* + * Machine/OS name selection pattern + */ + #define apzSvr4_Disable_OptMachs (const char**)NULL + + /* + * content selection pattern - do fix if pattern found + */ + tSCC zSvr4_Disable_OptSelect0[] = + "#define.*__std_hdr_"; + + #define SVR4_DISABLE_OPT_TEST_CT 1 + static tTestDesc aSvr4_Disable_OptTests[] = { + { TT_EGREP, zSvr4_Disable_OptSelect0, (regex_t*)NULL }, }; + + /* + * Fix Command Arguments for Svr4_Disable_Opt + */ + static const char* apzSvr4_Disable_OptPatch[] = { "sed", + "-e", "/#define.*__std_hdr_/d", + (char*)NULL }; + + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Svr4_Getcwd fix */ tSCC zSvr4_GetcwdName[] = *************** static const char* apzX11_SprintfPatch[] *** 6186,6194 **** * * List of all fixes */ ! #define REGEX_COUNT 171 ! #define MACH_LIST_SIZE_LIMIT 279 ! #define FIX_COUNT 157 /* * Enumerate the fixes --- 6374,6382 ---- * * List of all fixes */ ! #define REGEX_COUNT 176 ! #define MACH_LIST_SIZE_LIMIT 261 ! #define FIX_COUNT 162 /* * Enumerate the fixes *************** typedef enum { *** 6214,6219 **** --- 6402,6408 ---- ALPHA_ASSERT_FIXIDX, ALPHA_GETOPT_FIXIDX, ALPHA_PARENS_FIXIDX, + ALPHA_PTHREAD_GCC_FIXIDX, ALPHA_SBRK_FIXIDX, ARM_NORCROFT_HINT_FIXIDX, ARM_WCHAR_FIXIDX, *************** typedef enum { *** 6294,6299 **** --- 6483,6491 ---- RS6000_DOUBLE_FIXIDX, RS6000_FCHMOD_FIXIDX, RS6000_PARAM_FIXIDX, + SCO_MATH_FIXIDX, + SCO_REGSET_FIXIDX, + SCO_STRING_FIXIDX, SCO_STATIC_FUNC_FIXIDX, SCO_UTIME_FIXIDX, SOLARIS_MUTEX_INIT_1_FIXIDX, *************** typedef enum { *** 6317,6322 **** --- 6509,6515 ---- SUNOS_MATHERR_DECL_FIXIDX, SUNOS_STRLEN_FIXIDX, SVR4__P_FIXIDX, + SVR4_DISABLE_OPT_FIXIDX, SVR4_GETCWD_FIXIDX, SVR4_PROFIL_FIXIDX, SYSV68_STRING_FIXIDX, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 6454,6459 **** --- 6647,6657 ---- ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aAlpha_ParensTests, apzAlpha_ParensPatch, 0 }, + { zAlpha_Pthread_GccName, zAlpha_Pthread_GccList, + apzAlpha_Pthread_GccMachs, + ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAlpha_Pthread_GccTests, apzAlpha_Pthread_GccPatch, 0 }, + { zAlpha_SbrkName, zAlpha_SbrkList, apzAlpha_SbrkMachs, ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 6854,6859 **** --- 7052,7072 ---- RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aRs6000_ParamTests, apzRs6000_ParamPatch, 0 }, + { zSco_MathName, zSco_MathList, + apzSco_MathMachs, + SCO_MATH_TEST_CT, FD_MACH_ONLY, + aSco_MathTests, apzSco_MathPatch, 0 }, + + { zSco_RegsetName, zSco_RegsetList, + apzSco_RegsetMachs, + SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSco_RegsetTests, apzSco_RegsetPatch, 0 }, + + { zSco_StringName, zSco_StringList, + apzSco_StringMachs, + SCO_STRING_TEST_CT, FD_MACH_ONLY, + aSco_StringTests, apzSco_StringPatch, 0 }, + { zSco_Static_FuncName, zSco_Static_FuncList, apzSco_Static_FuncMachs, SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY, *************** tFixDesc fixDescList[ FIX_COUNT ] = { *** 6969,6974 **** --- 7182,7192 ---- SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSvr4__PTests, apzSvr4__PPatch, 0 }, + { zSvr4_Disable_OptName, zSvr4_Disable_OptList, + apzSvr4_Disable_OptMachs, + SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY, + aSvr4_Disable_OptTests, apzSvr4_Disable_OptPatch, 0 }, + { zSvr4_GetcwdName, zSvr4_GetcwdList, apzSvr4_GetcwdMachs, SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff -Nrc3pad gcc-3.3.1/gcc/fixinc/inclhack.def gcc-3.3.2/gcc/fixinc/inclhack.def *** gcc-3.3.1/gcc/fixinc/inclhack.def 2003-07-02 06:47:05.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/inclhack.def 2003-10-14 11:42:40.000000000 +0000 *************** fix = { *** 297,315 **** /* * Completely replace ; with a file that implements gcc's ! * optimized byteswapping. Restricted to "SVR4" machines until either ! * it is shown to be safe to replace this file always, or we get bolder ;-) */ fix = { hackname = AAB_svr4_replace_byteorder; - #ifndef SVR5 - mach = "*-*-sysv4*"; - mach = "i[34567]86-*-sysv5*"; - mach = "i[34567]86-*-udk*"; - mach = "i[34567]86-*-solaris2.[0-4]"; - mach = "powerpcle-*-solaris2.[0-4]"; - mach = "sparc-*-solaris2.[0-4]"; - #endif /* SVR5 */ files = sys/byteorder.h; replace = '#ifndef _SYS_BYTEORDER_H \#define _SYS_BYTEORDER_H --- 297,306 ---- /* * Completely replace ; with a file that implements gcc's ! * optimized byteswapping. */ fix = { hackname = AAB_svr4_replace_byteorder; files = sys/byteorder.h; replace = '#ifndef _SYS_BYTEORDER_H \#define _SYS_BYTEORDER_H *************** htonl (unsigned long __arg) *** 360,368 **** { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ! ror%L0 $16,%0 ! xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg)); return __result; } --- 351,358 ---- { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ; ror%L0 $16,%0 ; xchg%B0 %b0,%h0" \ ! : "=q" (__result) : "0" (__arg)); return __result; } *************** fix = { *** 656,661 **** --- 646,672 ---- /* + * Recognize GCC in Tru64 UNIX V5.1B . + */ + fix = { + hackname = alpha_pthread_gcc; + files = pthread.h; + select = "#else\n# error : unrecognized compiler."; + + mach = "alpha*-dec-osf*"; + c_fix = format; + c_fix_arg = "#elif defined (__GNUC__)\n" + "# define _PTHREAD_ENV_GCC\n" + "%0"; + + test_text = "# define _PTHREAD_ENV_INTELC\n" + "#else\n" + "# error : unrecognized compiler.\n" + "#endif"; + }; + + + /* * Fix return value of sbrk in unistd.h on Alpha OSF/1 V2.0 */ fix = { *************** fix = { *** 1575,1583 **** files = stdio.h; files = internal/stdio_core.h; ! select = '(printf\(.*), /\* va_list \*/ char \*'; c_fix = format; ! c_fix_arg = "%1, __gnuc_va_list"; test_text = "extern int printf( const char *, /* va_list */ char * );"; }; --- 1586,1594 ---- files = stdio.h; files = internal/stdio_core.h; ! select = '/\* va_list \*/ char \*'; c_fix = format; ! c_fix_arg = "__gnuc_va_list"; test_text = "extern int printf( const char *, /* va_list */ char * );"; }; *************** fix = { *** 2213,2218 **** --- 2224,2323 ---- /* + * On OpenServer and on UnixWare 7, uses the native compiler + * __builtin_generic. We fix that usage to use the GCC equivalent. + * It also has a plethora of inline functions that conflict with libstdc++. + */ + fix = { + hackname = sco_math; + files = math.h; + files = posix/math.h; + files = ansi/math.h; + files = xpg4/math.h; + files = xpg4v2/math.h; + files = xpg4plus/math.h; + files = ods_30_compat/math.h; + files = oldstyle/math.h; + select = "__builtin_generic"; + sed = "/#define.*__fp_class(a) \\\\/i\\\n" + "#ifndef __GNUC__\n"; + sed = + "/.*__builtin_generic/a\\\n" + "#else\\\n" + "#define __fp_class(a) \\\\\\\n" + " __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n" + " __fpclassifyl(a), \\\\\\\n" + " __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n" + " __fpclassifyf(a),__fpclassify(a)))\\\n" + "#endif"; + + sed = "/extern \"C\\+\\+\"/N;" + "/inline double abs/i\\\n" + "#ifndef __GNUC__\n"; + sed = "/inline long double trunc/N;" + "/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n" + "#endif /* ! __GNUC__ */"; + + test_text = + "#define __fp_class(a) \\\\\n" + " __builtin_generic(a,\"ld:__fplcassifyl;f:__fpclassifyf;:__fpclassify\")\n"; + + }; + + + /* + * On SCO OpenServer prior to 5.0.7MP1, and + * have a clash on struct _fpstate and struct fpstate. + */ + fix = { + hackname = sco_regset; + files = sys/regset.h; + mach = "*-*-sco3.2v5*"; + select = "(struct[ \t]+_*)fpstate"; + c_fix = format; + c_fix_arg = "%1rsfpstate"; + + test_text = + "union u_fps { struct\tfpstate { int whatever; } };\n" + "union _u_fps { struct _fpstate { int whatever; } };\n"; + }; + + + /* + * The string.h header file on SCO Open Server has some inline C++ functions + * that confuse and upset libstdc++ horribly. Protect them from being defined + * when using GCC. + */ + fix = { + hackname = sco_string; + files = ansi/string.h; + files = posix/string.h; + files = xpg4/string.h; + files = xpg4v2/string.h; + files = xpg4plus/string.h; + files = ods_30_compat/string.h; + files = oldstyle/string.h; + files = string.h; + mach = "*-*-sco3.2v5*"; + select = "inline char"; + sed = "/extern \"C\\+\\+\"/N;" + "/inline void.*memchr/i\\\n" + "#ifndef __GNUC__\n"; + sed = "/return.*strstr/N;" + "/return.*strstr.*}/a\\\n" + "#endif /* ! __GNUC__ */"; + + test_text = + "extern \"C++\" {\n" + "inline void *memchr(void *__1, int __2, size_t __3)\n" + " { return (void *)memchr((const void *)__1, __2, __3); }\n" + "inline char *strstr(char *__1, const char *__2)\n" + " { return (char *)strstr((const char *)__1, __2); }\n" + "}\n"; + }; + + + /* * The static functions lstat() and fchmod() in * cause G++ grief since they're not wrapped in "if __cplusplus". * *************** fix = { *** 2340,2346 **** fix = { hackname = solaris_widec; files = widec.h; ! mach = '*-*-solaris2.[0-5]*'; bypass = "include.*wchar\\.h"; select = "#include "; c_fix = format; --- 2445,2452 ---- fix = { hackname = solaris_widec; files = widec.h; ! mach = '*-*-solaris2.[0-5]'; ! mach = '*-*-solaris2.[0-5].*'; bypass = "include.*wchar\\.h"; select = "#include "; c_fix = format; *************** fix = { *** 2425,2431 **** */ sed = "s@ va_list @ __gnuc_va_list @\n" "s@ va_list)@ __gnuc_va_list)@\n" - "s@va_list _ap;@__gnuc_va_list _ap;@\n" "s@(va_list)&@(__gnuc_va_list)\\&@\n" "s@ _VA_LIST_));@ __gnuc_va_list));@\n" "s@ __VA_LIST__));@ __gnuc_va_list));@\n" --- 2531,2536 ---- *************** fix = { *** 2725,2738 **** * that is visible to any ANSI compiler using this include. Simply * delete the lines that #define some string functions to internal forms. */ - #ifdef SVR4 fix = { hackname = svr4_disable_opt; files = string.h; select = '#define.*__std_hdr_'; sed = '/#define.*__std_hdr_/d'; }; - #endif /* --- 2830,2842 ---- * that is visible to any ANSI compiler using this include. Simply * delete the lines that #define some string functions to internal forms. */ fix = { hackname = svr4_disable_opt; files = string.h; select = '#define.*__std_hdr_'; sed = '/#define.*__std_hdr_/d'; + test_text = "#define strlen __std_hdr_strlen\n"; }; /* diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/ansi/string.h gcc-3.3.2/gcc/fixinc/tests/base/ansi/string.h *** gcc-3.3.1/gcc/fixinc/tests/base/ansi/string.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/ansi/string.h 2003-08-12 02:45:16.000000000 +0000 *************** *** 0 **** --- 1,22 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/ansi/string.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + + #if defined( SCO_STRING_CHECK ) + #ifndef __GNUC__ + extern "C++" { + inline void *memchr(void *__1, int __2, size_t __3) + { return (void *)memchr((const void *)__1, __2, __3); } + inline char *strstr(char *__1, const char *__2) + { return (char *)strstr((const char *)__1, __2); } + } + #endif /* ! __GNUC__ */ + + #endif /* SCO_STRING_CHECK */ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/math.h gcc-3.3.2/gcc/fixinc/tests/base/math.h *** gcc-3.3.1/gcc/fixinc/tests/base/math.h 2003-03-01 20:41:38.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/math.h 2003-08-12 02:45:16.000000000 +0000 *************** extern int class(); *** 104,109 **** --- 104,124 ---- #endif /* RS6000_DOUBLE_CHECK */ + #if defined( SCO_MATH_CHECK ) + #ifndef __GNUC__ + #define __fp_class(a) \ + __builtin_generic(a,"ld:__fplcassifyl;f:__fpclassifyf;:__fpclassify") + #else + #define __fp_class(a) \ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\ + __fpclassifyl(a), \ + __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \ + __fpclassifyf(a),__fpclassify(a))) + #endif + + #endif /* SCO_MATH_CHECK */ + + #if defined( STRICT_ANSI_NOT_CTD_CHECK ) #if 1 && \ && defined(mumbling) |& ( !defined(__STRICT_ANSI__)) \ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/pthread.h gcc-3.3.2/gcc/fixinc/tests/base/pthread.h *** gcc-3.3.1/gcc/fixinc/tests/base/pthread.h 2003-05-07 02:10:48.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/pthread.h 2003-10-14 11:42:40.000000000 +0000 *************** *** 15,20 **** --- 15,30 ---- #endif /* AIX_PTHREAD_CHECK */ + #if defined( ALPHA_PTHREAD_GCC_CHECK ) + # define _PTHREAD_ENV_INTELC + #elif defined (__GNUC__) + # define _PTHREAD_ENV_GCC + #else + # error : unrecognized compiler. + #endif + #endif /* ALPHA_PTHREAD_GCC_CHECK */ + + #if defined( PTHREAD_PAGE_SIZE_CHECK ) extern int __page_size; #endif /* PTHREAD_PAGE_SIZE_CHECK */ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/string.h gcc-3.3.2/gcc/fixinc/tests/base/string.h *** gcc-3.3.1/gcc/fixinc/tests/base/string.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/string.h 2003-08-09 06:51:11.000000000 +0000 *************** *** 0 **** --- 1,13 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/string.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + #ifndef _STRING_INCLUDED + #define _STRING_INCLUDED + #include + #endif /* _STRING_INCLUDED */ diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/sys/byteorder.h gcc-3.3.2/gcc/fixinc/tests/base/sys/byteorder.h *** gcc-3.3.1/gcc/fixinc/tests/base/sys/byteorder.h 2000-07-19 14:18:31.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/sys/byteorder.h 2003-08-09 06:51:11.000000000 +0000 *************** htonl (unsigned long __arg) *** 56,64 **** { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ! ror%L0 $16,%0 ! xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg)); return __result; } --- 56,62 ---- { register unsigned long __result; ! __asm__ ("xchg%B0 %b0,%h0 ; ror%L0 $16,%0 ; xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg)); return __result; } diff -Nrc3pad gcc-3.3.1/gcc/fixinc/tests/base/sys/regset.h gcc-3.3.2/gcc/fixinc/tests/base/sys/regset.h *** gcc-3.3.1/gcc/fixinc/tests/base/sys/regset.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/fixinc/tests/base/sys/regset.h 2003-08-12 02:45:17.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/sys/regset.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + + #if defined( SCO_REGSET_CHECK ) + union u_fps { struct rsfpstate { int whatever; } }; + union _u_fps { struct _rsfpstate { int whatever; } }; + + #endif /* SCO_REGSET_CHECK */ diff -Nrc3pad gcc-3.3.1/gcc/function.c gcc-3.3.2/gcc/function.c *** gcc-3.3.1/gcc/function.c 2003-04-10 22:26:04.000000000 +0000 --- gcc-3.3.2/gcc/function.c 2003-10-11 21:01:36.000000000 +0000 *************** put_var_into_stack (decl, rescan) *** 1373,1380 **** if (function->decl == context) break; ! /* If this is a variable-size object with a pseudo to address it, ! put that pseudo into the stack, if the var is nonlocal. */ if (TREE_CODE (decl) != SAVE_EXPR && DECL_NONLOCAL (decl) && GET_CODE (reg) == MEM && GET_CODE (XEXP (reg, 0)) == REG --- 1373,1381 ---- if (function->decl == context) break; ! /* If this is a variable-sized object or a structure passed by invisible ! reference, with a pseudo to address it, put that pseudo into the stack ! if the var is non-local. */ if (TREE_CODE (decl) != SAVE_EXPR && DECL_NONLOCAL (decl) && GET_CODE (reg) == MEM && GET_CODE (XEXP (reg, 0)) == REG *************** put_var_into_stack (decl, rescan) *** 1384,1391 **** --- 1385,1396 ---- decl_mode = promoted_mode = GET_MODE (reg); } + /* If this variable lives in the current function and we don't need to put it + in the stack for the sake of setjmp or the non-locality, try to keep it in + a register until we know we actually need the address. */ can_use_addressof = (function == 0 + && ! (TREE_CODE (decl) != SAVE_EXPR && DECL_NONLOCAL (decl)) && optimize > 0 /* FIXME make it work for promoted modes too */ && decl_mode == promoted_mode *************** put_var_into_stack (decl, rescan) *** 1404,1412 **** if (GET_CODE (reg) == REG) { - /* If this variable lives in the current function and we don't need - to put things in the stack for the sake of setjmp, try to keep it - in a register until we know we actually need the address. */ if (can_use_addressof) gen_mem_addressof (reg, decl, rescan); else --- 1409,1414 ---- diff -Nrc3pad gcc-3.3.1/gcc/gcc.c gcc-3.3.2/gcc/gcc.c *** gcc-3.3.1/gcc/gcc.c 2003-05-07 06:02:07.000000000 +0000 --- gcc-3.3.2/gcc/gcc.c 2003-08-10 23:11:26.000000000 +0000 *************** init_spec () *** 1556,1561 **** --- 1556,1564 ---- #else "-lgcc_s%M" #endif + #ifdef USE_LIBUNWIND_EXCEPTIONS + " -lunwind" + #endif , "-lgcc", "-lgcc_eh"); diff -Nrc3pad gcc-3.3.1/gcc/gengtype-lex.c gcc-3.3.2/gcc/gengtype-lex.c *** gcc-3.3.1/gcc/gengtype-lex.c 2003-08-04 12:59:59.000000000 +0000 --- gcc-3.3.2/gcc/gengtype-lex.c 2003-10-16 20:12:49.000000000 +0000 *************** *** 1,4 **** ! #line 2 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" /* A lexical scanner generated by flex */ /* Scanner skeleton version: --- 1,4 ---- ! #line 2 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" /* A lexical scanner generated by flex */ /* Scanner skeleton version: *************** update_lineno (l, len) *** 1438,1444 **** #define YY_NO_UNPUT 1 #define YY_NEVER_INTERACTIVE 1 ! #line 1442 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" /* Macros after this point can all be overridden by user definitions in * section 1. --- 1438,1444 ---- #define YY_NO_UNPUT 1 #define YY_NEVER_INTERACTIVE 1 ! #line 1442 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" /* Macros after this point can all be overridden by user definitions in * section 1. *************** YY_DECL *** 1595,1601 **** #line 60 "gengtype-lex.l" ! #line 1599 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" if ( yy_init ) { --- 1595,1601 ---- #line 60 "gengtype-lex.l" ! #line 1599 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" if ( yy_init ) { *************** YY_RULE_SETUP *** 2129,2135 **** #line 304 "gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK ! #line 2133 "/home/mitchell/gcc-3.3.1/gcc-3.3.1/gcc/gengtype-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(in_struct): case YY_STATE_EOF(in_struct_comment): --- 2129,2135 ---- #line 304 "gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK ! #line 2133 "/home/mitchell/gcc-3.3.2/gcc-3.3.2/gcc/gengtype-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(in_struct): case YY_STATE_EOF(in_struct_comment): diff -Nrc3pad gcc-3.3.1/gcc/intl/ChangeLog gcc-3.3.2/gcc/intl/ChangeLog *** gcc-3.3.1/gcc/intl/ChangeLog 2003-08-04 12:48:52.000000000 +0000 --- gcc-3.3.2/gcc/intl/ChangeLog 2003-10-16 19:43:53.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/libgcc-std.ver gcc-3.3.2/gcc/libgcc-std.ver *** gcc-3.3.1/gcc/libgcc-std.ver 2003-07-13 21:25:09.000000000 +0000 --- gcc-3.3.2/gcc/libgcc-std.ver 2003-09-04 09:39:44.000000000 +0000 *************** GCC_3.3.1 { *** 190,192 **** --- 190,196 ---- __gcc_personality_sj0 __gcc_personality_v0 } + + %inherit GCC_3.3.2 GCC_3.3.1 + GCC_3.3.2 { + } diff -Nrc3pad gcc-3.3.1/gcc/loop.c gcc-3.3.2/gcc/loop.c *** gcc-3.3.1/gcc/loop.c 2003-07-11 06:47:05.000000000 +0000 --- gcc-3.3.2/gcc/loop.c 2003-10-14 08:10:28.000000000 +0000 *************** basic_induction_var (loop, x, mode, dest *** 6275,6281 **** { enum rtx_code code; rtx *argp, arg; ! rtx insn, set = 0; code = GET_CODE (x); *location = NULL; --- 6275,6281 ---- { enum rtx_code code; rtx *argp, arg; ! rtx insn, set = 0, last, inc; code = GET_CODE (x); *location = NULL; *************** basic_induction_var (loop, x, mode, dest *** 6303,6309 **** if (loop_invariant_p (loop, arg) != 1) return 0; ! *inc_val = convert_modes (GET_MODE (dest_reg), GET_MODE (x), arg, 0); *mult_val = const1_rtx; *location = argp; return 1; --- 6303,6328 ---- if (loop_invariant_p (loop, arg) != 1) return 0; ! /* convert_modes can emit new instructions, e.g. when arg is a loop ! invariant MEM and dest_reg has a different mode. ! These instructions would be emitted after the end of the function ! and then *inc_val would be an unitialized pseudo. ! Detect this and bail in this case. ! Other alternatives to solve this can be introducing a convert_modes ! variant which is allowed to fail but not allowed to emit new ! instructions, emit these instructions before loop start and let ! it be garbage collected if *inc_val is never used or saving the ! *inc_val initialization sequence generated here and when *inc_val ! is going to be actually used, emit it at some suitable place. */ ! last = get_last_insn (); ! inc = convert_modes (GET_MODE (dest_reg), GET_MODE (x), arg, 0); ! if (get_last_insn () != last) ! { ! delete_insns_since (last); ! return 0; ! } ! ! *inc_val = inc; *mult_val = const1_rtx; *location = argp; return 1; *************** basic_induction_var (loop, x, mode, dest *** 6384,6390 **** && GET_MODE_CLASS (mode) != MODE_CC) { /* Possible bug here? Perhaps we don't know the mode of X. */ ! *inc_val = convert_modes (GET_MODE (dest_reg), mode, x, 0); *mult_val = const0_rtx; return 1; } --- 6403,6417 ---- && GET_MODE_CLASS (mode) != MODE_CC) { /* Possible bug here? Perhaps we don't know the mode of X. */ ! last = get_last_insn (); ! inc = convert_modes (GET_MODE (dest_reg), mode, x, 0); ! if (get_last_insn () != last) ! { ! delete_insns_since (last); ! return 0; ! } ! ! *inc_val = inc; *mult_val = const0_rtx; return 1; } diff -Nrc3pad gcc-3.3.1/gcc/loop.h gcc-3.3.2/gcc/loop.h *** gcc-3.3.1/gcc/loop.h 2002-12-13 00:17:20.000000000 +0000 --- gcc-3.3.2/gcc/loop.h 2003-09-27 17:23:17.000000000 +0000 *************** struct induction *** 143,151 **** based on the same biv. For bivs, links together all biv entries that refer to the same biv register. */ ! struct induction *same; /* If this giv has been combined with another ! giv, this points to the base giv. The base ! giv will have COMBINED_WITH nonzero. */ HOST_WIDE_INT const_adjust; /* Used by loop unrolling, when an address giv is split, and a constant is eliminated from the address, the -constant is stored here --- 143,154 ---- based on the same biv. For bivs, links together all biv entries that refer to the same biv register. */ ! struct induction *same; /* For givs, if the giv has been combined with ! another giv, this points to the base giv. ! The base giv will have COMBINED_WITH nonzero. ! For bivs, if the biv has the same LOCATION ! than another biv, this points to the base ! biv. */ HOST_WIDE_INT const_adjust; /* Used by loop unrolling, when an address giv is split, and a constant is eliminated from the address, the -constant is stored here diff -Nrc3pad gcc-3.3.1/gcc/Makefile.in gcc-3.3.2/gcc/Makefile.in *** gcc-3.3.1/gcc/Makefile.in 2003-08-03 15:48:36.000000000 +0000 --- gcc-3.3.2/gcc/Makefile.in 2003-08-10 23:11:19.000000000 +0000 *************** CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN *** 401,407 **** -finhibit-size-directive -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss ! # Additional sources to handle exceptions; overridden on ia64. LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h --- 401,407 ---- -finhibit-size-directive -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss ! # Additional sources to handle exceptions; overridden by targets as needed. LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h diff -Nrc3pad gcc-3.3.1/gcc/mklibgcc.in gcc-3.3.2/gcc/mklibgcc.in *** gcc-3.3.1/gcc/mklibgcc.in 2003-01-26 11:35:07.000000000 +0000 --- gcc-3.3.2/gcc/mklibgcc.in 2003-09-09 00:37:34.000000000 +0000 *************** for ml in $MULTILIBS; do *** 308,315 **** done fi echo "" ! echo "${dir}/libgcc.a: $libgcc_a_objs" echo " -rm -rf ${dir}/libgcc.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_a_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ --- 308,321 ---- done fi + # Each of these .a files depends on stmp-dirs. It would seem that + # this dependency is redundant, since each of the object files + # itself depends on stmp-dirs. However, it is possible that there + # are in fact no object files. In that case, the stmp-dirs + # dependency is required; the directory containing the archive must + # exist before the archive itself can be created. echo "" ! echo "${dir}/libgcc.a: stmp-dirs $libgcc_a_objs" echo " -rm -rf ${dir}/libgcc.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_a_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ *************** for ml in $MULTILIBS; do *** 319,325 **** if [ "$SHLIB_LINK" ]; then echo "" ! echo "${dir}/libgcc_eh.a: $libgcc_eh_objs" echo " -rm -rf ${dir}/libgcc_eh.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ --- 325,331 ---- if [ "$SHLIB_LINK" ]; then echo "" ! echo "${dir}/libgcc_eh.a: stmp-dirs $libgcc_eh_objs" echo " -rm -rf ${dir}/libgcc_eh.a" echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objs echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ diff -Nrc3pad gcc-3.3.1/gcc/mkmap-symver.awk gcc-3.3.2/gcc/mkmap-symver.awk *** gcc-3.3.1/gcc/mkmap-symver.awk 2002-11-27 20:00:14.000000000 +0000 --- gcc-3.3.2/gcc/mkmap-symver.awk 2003-09-04 09:39:44.000000000 +0000 *************** function output(lib) { *** 95,116 **** if (inherit[lib]) output(inherit[lib]); ! printf("%s {\n", lib); ! sawglobal = 0; for (sym in ver) if ((ver[sym] == lib) && (sym in def)) { ! if (!sawglobal) { printf(" global:\n"); ! sawglobal = 1; } printf("\t%s;\n", sym); if (dotsyms) printf("\t.%s;\n", sym); } ! if (inherit[lib]) printf("} %s;\n", inherit[lib]); else printf ("\n local:\n\t*;\n};\n"); --- 95,122 ---- if (inherit[lib]) output(inherit[lib]); ! empty=1 for (sym in ver) if ((ver[sym] == lib) && (sym in def)) { ! if (empty) { + printf("%s {\n", lib); printf(" global:\n"); ! empty = 0; } printf("\t%s;\n", sym); if (dotsyms) printf("\t.%s;\n", sym); } ! if (empty) ! { ! for (l in libs) ! if (inherit[l] == lib) ! inherit[l] = inherit[lib]; ! } ! else if (inherit[lib]) printf("} %s;\n", inherit[lib]); else printf ("\n local:\n\t*;\n};\n"); diff -Nrc3pad gcc-3.3.1/gcc/NEWS gcc-3.3.2/gcc/NEWS *** gcc-3.3.1/gcc/NEWS 2003-08-04 12:58:32.000000000 +0000 --- gcc-3.3.2/gcc/NEWS 2003-10-16 20:11:11.000000000 +0000 *************** that led to GCC 3. For information on GC *** 5,10 **** --- 5,1598 ---- see ONEWS. ====================================================================== + http://gcc.gnu.org/gcc-3.3/index.html + + GCC 3.3 Release Series + + October 16, 2003 + + The [1]GNU project and the GCC developers are pleased to announce the + release of GCC 3.3.2. + + GCC 3.3.2 includes numerous [2]new features, improvements, bug fixes, + and other changes, thanks to an [3]amazing group of volunteers. + + [4]GCJ 3.3 status is tracked for a variety of targets and test + packages. + + Release History + + GCC 3.3.2 + October 16, 2003 ([5]changes) + + GCC 3.3.1 + August 8, 2003 ([6]changes) + + GCC 3.3 + May 14, 2003 ([7]changes) + + References and Acknowledgements + + GCC used to stand for the GNU C Compiler, but since the compiler + supports several other languages aside from C, it now stands for the + GNU Compiler Collection. + + A list of [8]successful builds is updated as new information becomes + available. + + The GCC developers would like to thank the numerous people that have + contributed new features, improvements, bug fixes, and other changes + as well as test results to GCC. This [9]amazing group of volunteers is + what makes GCC successful. + + For additional information about GCC please refer to the [10]GCC + project web site or contact the [11]GCC development mailing list. + + To obtain GCC please use [12]our mirror sites, one of the [13]GNU + mirror sites, or [14]our CVS server. + _________________________________________________________________ + + Please send FSF & GNU inquiries & questions to [15]gnu@gnu.org. There + are also [16]other ways to contact the FSF. + + These pages are maintained by [17]the GCC team. + + + For questions related to the use of GCC, please consult these web + pages and the [18]GCC manuals. If that fails, the + [19]gcc-help@gcc.gnu.org mailing list might help. + Please send comments on these web pages and the development of GCC + to our public developer mailing list at [20]gcc@gnu.org or + [21]gcc@gcc.gnu.org. + + Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite + 330, Boston, MA 02111, USA. + + Verbatim copying and distribution of this entire article is permitted + in any medium, provided this notice is preserved. + + Last modified 2003-10-16 [22]Valid XHTML 1.0 + + References + + 1. http://www.gnu.org/ + 2. http://gcc.gnu.org/gcc-3.3/changes.html + 3. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html + 4. http://gcc.gnu.org/gcc-3.3/gcj-status.html + 5. http://gcc.gnu.org/gcc-3.3/changes.html + 6. http://gcc.gnu.org/gcc-3.3/changes.html + 7. http://gcc.gnu.org/gcc-3.3/changes.html + 8. http://gcc.gnu.org/gcc-3.3/buildstat.html + 9. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html + 10. http://gcc.gnu.org/index.html + 11. mailto:gcc@gcc.gnu.org + 12. http://gcc.gnu.org/mirrors.html + 13. http://www.gnu.org/order/ftp.html + 14. http://gcc.gnu.org/cvs.html + 15. mailto:gnu@gnu.org + 16. http://www.gnu.org/home.html#ContactInfo + 17. http://gcc.gnu.org/about.html + 18. http://gcc.gnu.org/onlinedocs/ + 19. mailto:gcc-help@gcc.gnu.org + 20. mailto:gcc@gnu.org + 21. mailto:gcc@gcc.gnu.org + 22. http://validator.w3.org/check/referer + ====================================================================== + http://gcc.gnu.org/gcc-3.3/changes.html + + GCC 3.3 Release Series + Changes, New Features, and Fixes + + Caveats + + * The preprocessor no longer accepts multi-line string literals. + They were deprecated in 3.0, 3.1, and 3.2. + * The preprocessor no longer supports the -A- switch when appearing + alone. -A- followed by an assertion is still supported. + * Support for all the systems [1]obsoleted in GCC 3.1 has been + removed from GCC 3.3. See below for a [2]list of systems which are + obsoleted in this release. + * Checking for null format arguments has been decoupled from the + rest of the format checking mechanism. Programs which use the + format attribute may regain this functionality by using the new + [3]nonnull function attribute. Note that all functions for which + GCC has a built-in format attribute, an appropriate built-in + nonnull attribute is also applied. + * The DWARF (version 1) debugging format has been deprecated and + will be removed in a future version of GCC. Version 2 of the DWARF + debugging format will continue to be supported for the foreseeable + future. + * 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.) + * The -traditional C compiler option has been removed. It was + deprecated in 3.1 and 3.2. (Traditional preprocessing remains + available.) The header, used for writing variadic + functions in traditional C, still exists but will produce an error + message if used. + * GCC 3.3.1 automatically places zero-initialized variables in the + .bss section on some operating systems. Versions of GNU Emacs up + to (and including) 21.3 will not work correctly when using this + optimization; you can use -fno-zero-initialized-in-bss to disable + it. + + General Optimizer Improvements + + * A new scheme for accurately describing processor pipelines, the + [4]DFA scheduler, has been added. + * Pavel Nejedly, Charles University Prague, has contributed new file + format used by the edge coverage profiler (-fprofile-arcs). + The new format is robust and diagnoses common mistakes where + profiles from different versions (or compilations) of the program + are combined resulting in nonsensical profiles and slow code to + produced with profile feedback. Additionally this format allows + extra data to be gathered. Currently, overall statistics are + produced helping optimizers to identify hot spots of a program + globally replacing the old intra-procedural scheme and resulting + in better code. Note that the gcov tool from older GCC versions + will not be able to parse the profiles generated by GCC 3.3 and + vice versa. + * Jan Hubicka, SuSE Labs, has contributed a new superblock formation + pass enabled using -ftracer. This pass simplifies the control flow + of functions allowing other optimizations to do better job. + He also contributed the function reordering pass + (-freorder-functions) to optimize function placement using profile + feedback. + + New Languages and Language specific improvements + + C/ObjC/C++ + + * The preprocessor now accepts directives within macro arguments. It + processes them just as if they had not been within macro + arguments. + * The separate ISO and traditional preprocessors have been + completely removed. The front-end handles either type of + preprocessed output if necessary. + * In C99 mode preprocessor arithmetic is done in the precision of + the target's intmax_t, as required by that standard. + * The preprocessor can now copy comments inside macros to the output + file when the macro is expanded. This feature, enabled using the + -CC option, is intended for use by applications which place + metadata or directives inside comments, such as lint. + * 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. + * A few more [5]ISO C99 features now work correctly. + * A new function attribute, nonnull, has been added which allows + pointer arguments to functions to be specified as requiring a + non-null value. The compiler currently uses this information to + issue a warning when it detects a null value passed in such an + argument slot. + * A new type attribute, may_alias, has been added. Accesses to + objects with types with this attribute are not subjected to + type-based alias analysis, but are instead assumed to be able to + alias any other type of objects, just like the char type. + + C++ + + * Type based alias analysis has been implemented for C++ aggregate + types. + + Objective-C + + * Generate an error if Objective-C objects are passed by value in + function and method calls. + * When -Wselector is used, check the whole list of selectors at the + end of compilation, and emit a warning if a @selector() is not + known. + * Define __NEXT_RUNTIME__ when compiling for the NeXT runtime. + * No longer need to include objc/objc-class.h to compile self calls + in class methods (NeXT runtime only). + * New -Wundeclared-selector option. + * Removed selector bloating which was causing object files to be 10% + bigger on average (GNU runtime only). + * Using at run time @protocol() objects has been fixed in certain + situations (GNU runtime only). + * Type checking has been fixed and improved in many situations + involving protocols. + + Java + + * The java.sql and javax.sql packages now implement the JDBC 3.0 + (JDK 1.4) API. + * The JDK 1.4 assert facility has been implemented. + * The bytecode interpreter is now direct threaded and thus faster. + + Fortran + + * Fortran improvements are listed in [6]the Fortran documentation. + + Ada + + * Ada tasking now works with glibc 2.3.x threading libraries. + + New Targets and Target Specific Improvements + + * The following changes have been made to the HP-PA port: + + The port now defaults to scheduling for the PA8000 series of + processors. + + Scheduling support for the PA7300 processor has been added. + + The 32-bit port now supports weak symbols under HP-UX 11. + + The handling of initializers and finalizers has been improved + under HP-UX 11. The 64-bit port no longer uses collect2. + + Dwarf2 EH support has been added to the 32-bit linux port. + + ABI fixes to correct the passing of small structures by + value. + * The SPARC, HP-PA, SH4, and x86/pentium ports have been converted + to use the DFA processor pipeline description. + * The following NetBSD configurations for the SuperH processor + family have been added: + + SH3, big-endian, sh-*-netbsdelf* + + SH3, little-endian, shle-*-netbsdelf* + + SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd* + + SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd* + + SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd* + + SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd* + * The following changes have been made to the IA-32/x86-64 port: + + SSE2 and 3dNOW! intrinsics are now supported. + + Support for thread local storage has been added to the IA-32 + and x86-64 ports. + + The x86-64 port has been significantly improved. + * The following changes have been made to the MIPS port: + + All configurations now accept the -mabi switch. Note that you + will need appropriate multilibs for this option to work + properly. + + ELF configurations will always pass an ABI flag to the + assembler, except when the MIPS EABI is selected. + + -mabi=64 no longer selects MIPS IV code. + + The -mcpu option, which was deprecated in 3.1 and 3.2, has + been removed from this release. + + -march now changes the core ISA level. In previous releases, + it would change the use of processor-specific extensions, but + would leave the core ISA unchanged. For example, mips64-elf + -march=r8000 will now generate MIPS IV code. + + Under most configurations, -mipsN now acts as a synonym for + -march. + + There are some new preprocessor macros to describe the -march + and -mtune settings. See the documentation of those options + for details. + + Support for the NEC VR-Series processors has been added. This + includes the 54xx, 5500, and 41xx series. + + Support for the Sandcraft sr71k processor has been added. + * The following changes have been made to the S/390 port: + + Support to build the Java runtime libraries has been added. + Java is now enabled by default on s390-*-linux* and + s390x-*-linux* targets. + + Multilib support for the s390x-*-linux* target has been + added; this allows to build 31-bit binaries using the -m31 + option. + + Support for thread local storage has been added. + + Inline assembler code may now use the 'Q' constraint to + specify memory operands without index register. + + Various platform-specific performance improvements have been + implemented; in particular, the compiler now uses the BRANCH + ON COUNT family of instructions and makes more frequent use + of the TEST UNDER MASK family of instructions. + * The following changes have been made to the PowerPC port: + + Support for IBM Power4 processor added. + + Support for Motorola e500 SPE added. + + Support for AIX 5.2 added. + + Function and Data sections now supported on AIX. + + Sibcall optimizations added. + * The support for H8 Tiny is added to the H8/300 port with -mn. + + Obsolete Systems + + Support for a number of older systems has been declared obsolete in + GCC 3.3. Unless there is activity to revive them, the next release of + GCC will have their sources permanently removed. + + All configurations of the following processor architectures have been + declared obsolete: + * Matsushita MN10200, mn10200-*-* + * Motorola 88000, m88k-*-* + * IBM ROMP, romp-*-* + + Also, some individual systems have been obsoleted: + * Alpha + + Interix, alpha*-*-interix* + + Linux libc1, alpha*-*-linux*libc1* + + Linux ECOFF, alpha*-*-linux*ecoff* + * ARM + + Generic a.out, arm*-*-aout* + + Conix, arm*-*-conix* + + "Old ABI," arm*-*-oabi + + StrongARM/COFF, strongarm-*-coff* + * HPPA (PA-RISC) + + Generic OSF, hppa1.0-*-osf* + + Generic BSD, hppa1.0-*-bsd* + + HP/UX versions 7, 8, and 9, hppa1.[01]-*-hpux[789]* + + HiUX, hppa*-*-hiux* + + Mach Lites, hppa*-*-lites* + * Intel 386 family + + Windows NT 3.x, i?86-*-win32 + * MC68000 family + + HP systems, m68000-hp-bsd* and m68k-hp-bsd* + + Sun systems, m68000-sun-sunos*, m68k-sun-sunos*, and + m68k-sun-mach* + + AT&T systems, m68000-att-sysv* + + Atari systems, m68k-atari-sysv* + + Motorola systems, m68k-motorola-sysv* + + NCR systems, m68k-ncr-sysv* + + Plexus systems, m68k-plexus-sysv* + + Commodore systems, m68k-cbm-sysv* + + Citicorp TTI, m68k-tti-* + + Unos, m68k-crds-unos* + + Concurrent RTU, m68k-ccur-rtu* + + Linux a.out, m68k-*-linux*aout* + + Linux libc1, m68k-*-linux*libc1* + + pSOS, m68k-*-psos* + * MIPS + + Generic ECOFF, mips*-*-ecoff* + + SINIX, mips-sni-sysv4 + + Orion RTEMS, mips64orion-*-rtems* + * National Semiconductor 32000 + + OpenBSD, ns32k-*-openbsd* + * POWER (aka RS/6000) and PowerPC + + AIX versions 1, 2, and 3, rs6000-ibm-aix[123]* + + Bull BOSX, rs6000-bull-bosx + + Generic Mach, rs6000-*-mach* + + Generic SysV, powerpc*-*-sysv* + + Linux libc1, powerpc*-*-linux*libc1* + * Sun SPARC + + Generic a.out, sparc-*-aout*, sparclet-*-aout*, + sparclite-*-aout*, and sparc86x-*-aout* + + NetBSD a.out, sparc-*-netbsd*aout* + + Generic BSD, sparc-*-bsd* + + ChorusOS, sparc-*-chorusos* + + Linux a.out, sparc-*-linux*aout* + + Linux libc1, sparc-*-linux*libc1* + + LynxOS, sparc-*-lynxos* + + Solaris on HAL hardware, sparc-hal-solaris2* + + SunOS versions 3 and 4, sparc-*-sunos[34]* + * NEC V850 + + RTEMS, v850-*-rtems* + * VAX + + VMS, vax-*-vms* + + Documentation improvements + + Other significant improvements + + * Almost all front-end dependencies in the compiler have been + separated out into a set of language hooks. This should make + adding a new front end clearer and easier. + * One effect of removing the separate preprocessor is a small + increase in the robustness of the compiler in general, and the + maintainability of target descriptions. Previously target-specific + built-in macros and others, such as __FAST_MATH__, had to be + handled with so-called specs that were hard to maintain. Often + they would fail to behave properly when conflicting options were + supplied on the command line, and define macros in the user's + namespace even when strict ISO compliance was requested. + Integrating the preprocessor has cleanly solved these issues. + * The Makefile suite now supports redirection of make install by + means of the variable DESTDIR. + _________________________________________________________________ + + GCC 3.3 + + Detailed release notes for the GCC 3.3 release follow. + + Bug Fixes + + bootstrap failures + + * [7]10140 cross compiler build failures: missing __mempcpy (DUP: + [8]10198,[9]10338) + + Internal compiler errors (multi-platform) + + * [10]3581 large string causes segmentation fault in cc1 + * [11]4382 __builtin_{set,long}jmp with -O3 can crash the compiler + * [12]5533 (c++) ICE when processing std::accumulate(begin, end, + init, invalid_op) + * [13]6387 -fpic -gdwarf-2 -g1 combination gives ICE in dwarf2out + * [14]6412 (c++) ICE in retrieve_specialization + * [15]6620 (c++) partial template specialization causes an ICE + (segmentation fault) + * [16]6663 (c++) ICE with attribute aligned + * [17]7068 ICE with incomplete types + * [18]7083 (c++) ICE using -gstabs with dodgy class derivation + * [19]7647 (c++) ICE when data member has the name of the enclosing + class + * [20]7675 ICE in fixup_var_refs_1 + * [21]7718 'complex' template instantiation causes ICE + * [22]8116 (c++) ICE in member template function + * [23]8358 (ada) Ada compiler accesses freed memory, crashes + * [24]8511 (c++) ICE: (hopefully) reproducible cc1plus segmentation + fault + * [25]8564 (c++) ICE in find_function_data, in function.c + * [26]8660 (c++) template overloading ICE in tsubst_expr, in cp/pt.c + * [27]8766 (c++) ICE after failed initialization of static template + variable + * [28]8803 ICE in instantiate_virtual_regs_1, in function.c + * [29]8846 (c++) ICE after diagnostic if fr_FR@euro locale is set + * [30]8906 (c++) ICE (Segmentation fault) when parsing nested-class + definition + * [31]9216 (c++) ICE on missing template parameter + * [32]9261 (c++) ICE in arg_assoc, in cp/decl2.c + * [33]9263 (fortran) ICE caused by invalid PARAMETER in implied DO + loop + * [34]9429 (c++) ICE in template instantiation with a pointered new + operator + * [35]9516 Internal error when using a big array + * [36]9600 (c++) ICE with typedefs in template class + * [37]9629 (c++) virtual inheritance segfault + * [38]9672 (c++) ICE: Error reporting routines re-entered + * [39]9749 (c++) ICE in write_expression on invalid function + prototype + * [40]9794 (fortran) ICE: floating point exception during constant + folding + * [41]9829 (c++) Missing colon in nested namespace usage causes ICE + * [42]9916 (c++) ICE with noreturn function in ?: statement + * [43]9936 ICE with local function and variable-length 2d array + * [44]10262 (c++) cc1plus crashes with large generated code + * [45]10278 (c++) ICE in parser for invalid code + * [46]10446 (c++) ICE on definition of nonexistent member function + of nested class in a class template + * [47]10451 (c++) ICE in grokdeclarator on spurious mutable + declaration + * [48]10506 (c++) ICE in build_new at cp/init.c with + -fkeep-inline-functions and multiple inheritance + * [49]10549 (c++) ICE in store_bit_field on bitfields that exceed + the precision of the declared type + + Optimization bugs + + * [50]2001 Inordinately long compile times in reload CSE regs + * [51]2391 Exponential compilation time explosion in combine + * [52]2960 Duplicate loop conditions even with -Os + * [53]4046 redundant conditional branch + * [54]6405 Loop-unrolling related performance regressions + * [55]6798 very long compile time with large case-statement + * [56]6871 const objects shouldn't be moved to .bss + * [57]6909 problem w/ -Os on modified loop-2c.c test case + * [58]7189 gcc -O2 -Wall does not print ``control reaches end of + non-void function'' warning + * [59]7642 optimization problem with signbit() + * [60]8634 incorrect code for inlining of memcpy under -O2 + * [61]8750 Cygwin prolog generation erroneously emitting __alloca as + regular function call + + c front end + + * [62]2161 long if-else cascade overflows parser stack + * [63]4319 short accepted on typedef'd char + * [64]8602 incorrect line numbers in warning messages when using + inline functions + * [65]9177 -fdump-translation-unit: C front end deletes + function_decl AST nodes and breaks debugging dumps + * [66]9853 miscompilation of non-constant structure initializer + + c++ compiler and library + + * [67]45 legal template specialization code is rejected (DUP: + [68]3784) + * [69]764 lookup failure: friend operator and dereferencing a + pointer and templates (DUP: [70]5116) + * [71]2862 gcc accepts invalid explicit instantiation syntax (DUP: + 2863) + * [72]3663 G++ doesn't check access control during template + instantiation + * [73]3797 gcc fails to emit explicit specialization of a template + member + * [74]3948 Two destructors are called when no copy destructor is + defined (ABI change) + * [75]4137 Conversion operator within template is not accepted + * [76]4361 bogus ambiguity taking the address of a member template + * [77]4802 g++ accepts illegal template code (access to private + member; DUP: [78]5837) + * [79]4803 inline function is used but never defined, and g++ does + not object + * [80]5094 Partial specialization cannot be friend? + * [81]5730 complex::norm() -- huge slowdown from + egcs-2.91.66 + * [82]6713 Regression wrt 3.0.4: g++ -O2 leads to seg fault at run + time + * [83]7015 certain __asm__ constructs rejected + * [84]7086 compile time regression (quadratic behavior in + fixup_var_refs) + * [85]7099 G++ doesn't set the noreturn attribute on std::exit and + std::abort + * [86]7247 copy constructor missing when inlining enabled (invalid + optimization?) + * [87]7441 string array initialization compilation time regression + from seconds to minutes + * [88]7768 __PRETTY_FUNCTION__ for template destructor is wrong + * [89]7804 bad printing of floating point constant in warning + message + * [90]8099 Friend classes and template specializations + * [91]8117 member function pointers and multiple inheritance + * [92]8205 using declaration and multiple inheritance + * [93]8645 unnecessary non-zero checks in stl_tree.h + * [94]8724 explicit destructor call for incomplete class allowed + * [95]8805 compile time regression with many member variables + * [96]8691 -O3 and -fno-implicit-templates are incompatible + * [97]8700 unhelpful error message for binding temp to reference + * [98]8724 explicit destructor call for incomplete class allowed + * [99]8949 numeric_limits<>::denorm_min() and is_iec559 problems + * [100]9016 Failure to consistently constant fold "constant" C++ + objects + * [101]9053 g++ confused about ambiguity of overloaded function + templates + * [102]9152 undefined virtual thunks + * [103]9182 basic_filebuf<> does not report errors in codecvt<>::out + * [104]9297 data corruption due to codegen bug (when copying.) + * [105]9318 i/ostream::operator>>/<<(streambuf*) broken + * [106]9320 Incorrect usage of traits_type::int_type in + stdio_filebuf + * [107]9400 bogus -Wshadow warning: shadowed declaration of this in + local classes + * [108]9424 i/ostream::operator>>/<<(streambuf*) drops characters + * [109]9425 filebuf::pbackfail broken (DUP: [110]9439) + * [111]9474 GCC freezes in compiling a weird code mixing + and + * [112]9548 Incorrect results from setf(ios::fixed) and + precision(-1) [DR231] + * [113]9555 ostream inserters fail to set badbit on exception + * [114]9561 ostream inserters rethrow exception of wrong type + * [115]9563 ostream::sentry returns true after a failed preparation + * [116]9582 one-definition rule violation in std::allocator + * [117]9622 __PRETTY_FUNCTION__ incorrect in template destructors + * [118]9683 bug in initialization chains for static const variables + from template classes + * [119]9791 -Woverloaded-virtual reports hiding of destructor + * [120]9817 collate::compare doesn't handle nul characters + * [121]9825 filebuf::sputbackc breaks sbumpc + * [122]9826 operator>>(basic_istream, basic_string) fails to compile + with custom traits + * [123]9924 Multiple using statements for builtin functions not + allowed + * [124]9946 destructor is not called for temporary object + * [125]9964 filebuf::close() sometimes fails to close file + * [126]9988 filebuf::overflow writes EOF to file + * [127]10033 optimization breaks polymorphic references w/ typeid + operator + * [128]10097 filebuf::underflow drops characters + * [129]10132 filebuf destructor can throw exceptions + * [130]10180 gcc fails to warn about non-inlined function + * [131]10199 method parametrized by template does not work + everywhere + * [132]10300 use of array-new (nothrow) in segfaults on NULL return + * [133]10427 Stack corruption with variable-length automatic arrays + and virtual destructors + * [134]10503 Compilation never stops in fixed_type_or_null + + Objective-C + + * [135]5956 selectors aren't matched properly when added to the + selector table + + Fortran compiler and library + + * [136]1832 list directed i/o overflow hangs, -fbounds-check doesn't + detect + * [137]3924 g77 generates code that is rejected by GAS if COFF debug + info requested + * [138]5634 doc: explain that configure --prefix=~/... does not work + * [139]6367 multiple repeat counts confuse namelist read into array + * [140]6491 Logical operations error on logicals when using + -fugly-logint + * [141]6742 Generation of C++ Prototype for FORTRAN and extern "C" + * [142]7113 Failure of g77.f-torture/execute/f90-intrinsic-bit.f -Os + on irix6.5 + * [143]7236 OPEN(...,RECL=nnn,...) without ACCESS='DIRECT' should + assume a direct access file + * [144]7278 g77 "bug"; the executable misbehaves (with -O2 + -fno-automatic) + * [145]7384 DATE_AND_TIME milliseconds field inactive on Windows + * [146]7388 Incorrect output with 0-based array of characters + * [147]8587 Double complex zero ** double precision number -> NaN + instead of zero + * [148]9038 -ffixed-line-length-none -x f77-cpp-input gives: + Warning: unknown register name line-length-none + * [149]10197 Direct access files not unformatted by default + + Java compiler and library + + * [150]6005 gcj fails to build rhug on alpha + * [151]6389 System.getProperty("") should always throw an + IllegalArgumentException + * [152]6576 java.util.ResourceBundle.getResource ignores locale + * [153]6652 new java.io.File("").getCanonicalFile() throws exception + * [154]7060 getMethod() doesn't search super interface + * [155]7073 bytecode interpreter gives wrong answer for interface + getSuperclass() + * [156]7180 possible bug in + javax.naming.spi.NamingManager.getPlusPath() + * [157]7416 java.security startup refs "GNU libgcj.security" + * [158]7570 Runtime.exec with null envp: child doesn't inherit + parent env (DUP: [159]7578) + * [160]7611 Internal error while compiling libjava with -O + * [161]7709 NullPointerException in _Jv_ResolvePoolEntry + * [162]7766 ZipInputStream.available returns 0 immediately after + construction + * [163]7785 Calendar.getTimeInMillis/setTimeInMillis should be + public + * [164]7786 TimeZone.getDSTSavings() from JDK1.4 not implemented + * [165]8142 '$' in class names vs. dlopen 'dynamic string tokens' + * [166]8234 ZipInputStream chokes when InputStream.read() returns + small chunks + * [167]8415 reflection bug: exception info for Method + * [168]8481 java.Random.nextInt(int) may return negative + * [169]8593 Error reading GZIPped files with BufferedReader + * [170]8759 java.beans.Introspector has no flushCaches() or + flushFromCaches() methods + * [171]8997 spin() calls Thread.sleep + * [172]9253 on win32, java.io.File.listFiles("C:\\") returns pwd + instead of the root content of C: + * [173]9254 java::lang::Object::wait(), threads-win32.cc returns + wrong return codes + * [174]9271 Severe bias in java.security.SecureRandom + + Ada compiler and library + + * [175]6767 make gnatlib-shared fails on -laddr2line + * [176]9911 gnatmake fails to link when GCC configured with + --with-sjlj-exceptions=yes + * [177]10020 Can't bootstrap gcc on AIX with Ada enabled + * [178]10546 Ada tasking not working on Red Hat 9 + + preprocessor + + * [179]7029 preprocessor should ignore #warning with -M + + ARM-specific + + * [180]2903 [arm] Optimization bug with long long arithmetic + * [181]7873 arm-linux-gcc fails when assigning address to a bit + field + + FreeBSD-specific + + * [182]7680 float functions undefined in math.h/cmath with #define + _XOPEN_SOURCE + + HP-UX or HP-PA-specific + + * [183]8705 [HP-PA] ICE in emit_move_insn_1, in expr.c + * [184]9986 [HP-UX] Incorrect transformation of fputs_unlocked to + fputc_unlocked + * [185]10056 [HP-PA] ICE at -O2 when building c++ code from doxygen + + m68hc11-specific + + * [186]6744 Bad assembler code generated: reference to pseudo + register z + * [187]7361 Internal compiler error in reload_cse_simplify_operands, + in reload1.c + + MIPS-specific + + * [188]9496 [mips-linux] bug in optimizer? + + PowerPC-specific + + * [189]7067 -Os with -mcpu=powerpc optimizes for speed (?) instead + of space + * [190]8480 reload ICEs for LAPACK code on powerpc64-linux + * [191]8784 [AIX] Internal compiler error in simplify_gen_subreg + * [192]10315 [powerpc] ICE: in extract_insn, in recog.c + + SPARC-specific + + * [193]10267 (documentation) Wrong build instructions for + *-*-solaris2* + + x86-specific (Intel/AMD) + + * [194]7916 ICE in instantiate_virtual_register_1 + * [195]7926 (c++) i486 instructions in header files make c++ + programs crash on i386 + * [196]8555 ICE in gen_split_1231 + * [197]8994 ICE with -O -march=pentium4 + * [198]9426 ICE with -fssa -funroll-loops -fprofile-arcs + * [199]9806 ICE in inline assembly with -fPIC flag + * [200]10077 gcc -msse2 generates movd to move dwords between xmm + regs + * [201]10233 64-bit comparison only comparing bottom 32-bits + * [202]10286 type-punning doesn't work with __m64 and -O + * [203]10308 [x86] ICE with -O -fgcse or -O2 + _________________________________________________________________ + + GCC 3.3.1 + + Bug Fixes + + This section lists the problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 3.3.1 release. This list + might not be complete (that is, it is possible that some PRs that have + been fixed are not listed here). + + Bootstrap failures + + * [204]11272 [Solaris] make bootstrap fails while building libstdc++ + + Internal compiler errors (multi-platform) + + * [205]5754 ICE on invalid nested template class + * [206]6597 ICE in set_mem_alias_set compiling Qt with -O2 on ia64 + and --enable-checking + * [207]6949 (c++) ICE in tsubst_decl, in cp/pt.c + * [208]7053 (c++) ICE when declaring a function already defined as a + friend method of a template class + * [209]8164 (c++) ICE when using different const expressions as + template parameter + * [210]8384 (c++) ICE in is_base_type, in dwarf2out.c + * [211]9559 (c++) ICE with invalid initialization of a static const + * [212]9649 (c++) ICE in finish_member_declaration, in + cp/semantics.c when redeclaring a static member variable + * [213]9864 (fortran) ICE in add_abstract_origin_attribute, in + dwarfout.c with -g -O -finline-functions + * [214]10432 (c++) ICE in poplevel, in cp/decl.c + * [215]10475 ICE in subreg_highpart_offset for code with long long + * [216]10635 (c++) ICE when dereferencing an incomplete type casted + from a void pointer + * [217]10661 (c++) ICE in instantiate_decl, in cp/pt.c while + instantiating static member variables + * [218]10700 ICE in copy_to_mode_reg on 64-bit targets + * [219]10712 (c++) ICE in constructor_name_full, in cp/decl2.c + * [220]10796 (c++) ICE when defining an enum with two values: -1 and + MAX_INT_64BIT + * [221]10890 ICE in merge_assigned_reloads building Linux 2.4.2x + sched.c + * [222]10939 (c++) ICE with template code + * [223]10956 (c++) ICE when specializing a template member function + of a template class, in tsubst, in cp/pt.c + * [224]11041 (c++) ICE: const myclass &x = *x; (when operator*() + defined) + * [225]11059 (c++) ICE with empty union + * [226]11083 (c++) ICE in commit_one_edge_insertion, in cfgrtl.c + with -O2 -fnon-call-exceptions + * [227]11105 (c++) ICE in mangle_conv_op_name_for_type + * [228]11149 (c++) ICE on error when instantiation with call + function of a base type + * [229]11228 (c++) ICE on new-expression using array operator new + and default-initialization + * [230]11282 (c++) Infinite memory usage after syntax error + * [231]11301 (fortran) ICE with -fno-globals + * [232]11308 (c++) ICE when using an enum type name as if it were a + class or namespace + * [233]11473 (c++) ICE with -gstabs when empty struct inherits from + an empty struct + * [234]11503 (c++) ICE when instantiating template with ADDR_EXPR + * [235]11513 (c++) ICE in push_template_decl_real, in cp/pt.c: + template member functions + + Optimization bugs + + * [236]11198 -O2 -frename-registers generates wrong code (aliasing + problem) + * [237]11304 Wrong code production with -fomit-frame-pointer + * [238]11381 volatile memory access optimized away + * [239]11536 [strength-reduce] -O2 optimization produces wrong code + * [240]11557 constant folding bug generates wrong code + + C front end + + * [241]5897 No warning for statement after return + * [242]11279 DWARF-2 output mishandles large enums + + Preprocessor bugs + + * [243]11022 no warning for non-compatible macro redefinition + + C++ compiler and library + + * [244]2330 static_cast<>() to a private base is allowed + * [245]5388 Incorrect message "operands to ?: have different types" + * [246]5390 Libiberty fails to demangle multi-digit template + parameters + * [247]7877 Incorrect parameter passing to specializations of member + function templates + * [248]9393 Anonymous namespaces and compiling the same file twice + * [249]10032 -pedantic converts some errors to warnings + * [250]10468 const typeof(x) is non-const, but only in templates + * [251]10527 confused error message with "new int()" parameter + initializer + * [252]10679 parameter MIN_INLINE_INSNS is not honored + * [253]10682 gcc chokes on a typedef for an enum inside a class + template + * [254]10689 pow(std::complex(0),1/3) returns (nan, nan) instead of + 0. + * [255]10845 template member function (with nested template as + parameter) cannot be called anymore if another unrelated template + member function is defined + * [256]10849 Cannot define an out-of-class specialization of a + private nested template class + * [257]10888 Suppress -Winline warnings for system headers + * [258]10929 -Winline warns about functions for which no definition + is visible + * [259]10931 valid conversion static_cast(lvalue-of-type-int) is rejected + * [260]10940 Bad code with explicit specialization + * [261]10968 If member function implicitly instantiated, explicit + instantiation of class fails to instantiate it + * [262]10990 Cannot convert with dynamic_cast<> to a private base + class from within a member function + * [263]11039 Bad interaction between implicit typename deprecation + and friendship + * [264]11062 (libstdc++) avoid __attribute__ ((unused)); say + "__unused__" instead + * [265]11095 C++ iostream manipulator causes segfault when called + with negative argument + * [266]11098 g++ doesn't emit complete debugging information for + local variables in destructors + * [267]11137 Linux shared library constructors not called unless + there's one global object + * [268]11154 spurious ambiguity report for template class + specialization + * [269]11329 Compiler cannot find user defined implicit typecast + * [270]11332 Spurious error with casts in ?: expression + * [271]11431 static_cast behavior with subclasses when default + constructor available + * [272]11528 money_get facet does not accept "$.00" as valid + * [273]11546 Type lookup problems in out-of-line definition of a + class doubly nested from a template class + * [274]11567 C++ code containing templated member function with same + name as pure virtual member function results in linking failure + * [275]11645 Failure to deal with using and private inheritance + + Java compiler and library + + * [276]5179 Qualified static field access doesn't initialize its + class + * [277]8204 gcj -O2 to native reorders certain instructions + improperly + * [278]10838 java.io.ObjectInputStream syntax error + * [279]10886 The RMI registry that comes with GCJ does not work + correctly + * [280]11349 JNDI URL context factories not located correctly + + x86-specific (Intel/AMD) + + * [281]4823 ICE on inline assembly code + * [282]8878 miscompilation with -O and SSE + * [283]9815 (c++ library) atomicity.h - fails to compile with -O3 + -masm=intel + * [284]10402 (inline assembly) [x86] ICE in merge_assigned_reloads, + in reload1.c + * [285]10504 ICE with SSE2 code and -O3 -mcpu=pentium4 -msse2 + * [286]10673 ICE for x86-64 on freebsd libc vfprintf.c source + * [287]11044 [x86] out of range loop instructions for FP code on K6 + * [288]11089 ICE: instantiate_virtual_regs_lossage while using SSE + built-ins + * [289]11420 [x86_64] gcc generates invalid asm code when "-O -fPIC" + is used + + SPARC- or Solaris- specific + + * [290]9362 solaris 'as' dies when fed .s and "-gstabs" + * [291]10142 [SPARC64] gcc produces wrong code when passing + structures by value + * [292]10663 New configure check aborts with Sun tools. + * [293]10835 combinatorial explosion in scheduler on HyperSPARC + * [294]10876 ICE in calculate_giv_inc when building KDE + * [295]10955 wrong code at -O3 for structure argument in context of + structure return + * [296]11018 -mcpu=ultrasparc busts tar-1.13.25 + * [297]11556 [sparc64] ICE in gen_reg_rtx() while compiling 2.6.x + Linux kernel + + ia64 specific + + * [298]10907 gcc violates the ia64 ABI (GP must be preserved) + * [299]11320 scheduler bug (in machine depended reorganization pass) + * [300]11599 bug with conditional and __builtin_prefetch + + PowerPC specific + + * [301]9745 [powerpc] gcc mis-compiles libmcrypt (alias problem + during loop) + * [302]10871 error in rs6000_stack_info save_size computation + * [303]11440 gcc mis-compiles c++ code (libkhtml) with -O2, + -fno-gcse cures it + + m68k-specific + + * [304]7594 [m68k] ICE on legal code associated with simplify-rtx + * [305]10557 [m68k] ICE in subreg_offset_representable_p + * [306]11054 [m68k] ICE in reg_overlap_mentioned_p + + ARM-specific + + * [307]10834 [arm] GCC 3.3 still generates incorrect instructions + for functions with __attribute__ ((interrupt ("IRQ"))) + * [308]10842 [arm] Clobbered link register is copied to pc under + certain circumstances + * [309]11052 [arm] noce_process_if_block() can lose REG_INC notes + * [310]11183 [arm] ICE in change_address_1 (3.3) / subreg_hard_regno + (3.4) + + MIPS-specific + + * [311]11084 ICE in propagate_one_insn, in flow.c + + SH-specific + + * [312]10331 can't compile c++ part of gcc cross compiler for sh-elf + * [313]10413 [SH] ICE in reload_cse_simplify_operands, in reload1.c + * [314]11096 i686-linux to sh-linux cross compiler fails to compile + C++ files + + GNU/Linux (or Hurd?) specific + + * [315]2873 Bogus fixinclude of stdio.h from glibc 2.2.3 + + UnixWare specific + + * [316]3163 configure bug: gcc/aclocal.m4 mmap test fails on + UnixWare 7.1.1 + + Cygwin (or mingw) specific + + * [317]5287 ICE with dllimport attribute + * [318]10148 [MingW/CygWin] Compiler dumps core + + DJGPP specific + + * [319]8787 GCC fails to emit .intel_syntax when invoked with + -masm=intel on DJGPP + + Documentation + + * [320]1607 (c++) Format attributes on methods undocumented + * [321]4252 Invalid option `-fdump-translation-unit' + * [322]4490 Clarify restrictions on -m96bit-long-double, + -m128bit-long-double + * [323]10355 document an issue with regparm attribute on some + systems (e.g. Solaris) + * [324]10726 (fortran) Documentation for function "IDate Intrinsic + (Unix)" is wrong + * [325]10805 document bug in old version of Sun assembler + * [326]10815 warn against GNU binutils on AIX + * [327]10877 document need for newer binutils on i?86-*-linux-gnu + * [328]11280 Manual incorrect with respect to -freorder-blocks + * [329]11466 Document -mlittle-endian and its restrictions for the + sparc64 port + + Testsuite bugs (compiler itself is not affected) + + * [330]10737 newer bison causes g++.dg/parse/crash2.C to incorrectly + report failure + * [331]10810 gcc-3.3 fails make check: buffer overrun in + test_demangle.c + _________________________________________________________________ + + GCC 3.3.2 + + Oct. 14, 2003: This section is preliminary, as 3.3.2 has not yet been + officially released. + + Bug Fixes + + This section lists the problem reports (PRs) from [332]GCC's bug + tracking system that are known to be fixed in the 3.3.2 release. This + list might not be complete (that is, it is possible that some PRs that + have been fixed are not listed here). + + Bootstrap failures and problems + + * [333]8336 [SCO5] bootstrap config still tries to use COFF options + * [334]9330 [alpha-osf] Bootstrap failure on Compaq Tru64 with + --enable-threads=posix + * [335]9631 [hppa64-linux] gcc-3.3 fails to bootstrap + * [336]9877 fixincludes makes a bad sys/byteorder.h on svr5 + (UnixWare 7.1.1) + * [337]11687 xstormy16-elf build fails in libf2c + * [338]12263 [SGI IRIX] bootstrap fails during compile of + libf2c/libI77/backspace.c + * [339]12490 buffer overflow in scan-decls.c (during Solaris 9 + fix-header processing) + + Internal compiler errors (multi-platform) + + * [340]7277 Casting integers to vector types causes ICE + * [341]11063 (c++) ICE on parsing initialization list of const array + member + * [342]11207 ICE with negative index in array element designator + * [343]11522 (fortran) g77 dwarf-2 ICE in + add_abstract_origin_attribute + * [344]11595 (c++) ICE on duplicate label definition + * [345]11646 (c++) ICE in commit_one_edge_insertion with + -fnon-call-exceptions -fgcse -O + * [346]11665 ICE in struct initializer when taking address + * [347]11852 (c++) ICE with bad struct initializer. + * [348]11878 (c++) ICE in cp_expr_size + * [349]11883 ICE with any -O on mercury-generated C code + * [350]11991 (c++) ICE in cxx_incomplete_type_diagnostic, in + cp/typeck2.c when applying typeid operator to template template + parameter + * [351]12146 ICE in lookup_template_function, in cp/pt.c + * [352]12215 ICE in make_label_edge with -fnon-call-exceptions + -fno-gcse -O2 + * [353]12446 ICE in emit_move_insn on complicated array reference + * [354]12510 ICE in final_scan_insn + * [355]12544 ICE with large parameters used in nested functions + + C and optimization bugs + + * [356]9862 spurious warnings with -W -finline-functions + * [357]10962 lookup_field is a linear search on a linked list (can + be slow if large struct) + * [358]11370 -Wunreachable-code gives false complaints + * [359]11637 invalid assembly with -fnon-call-exceptions + * [360]11885 Problem with bitfields in packed structs + * [361]12082 Inappropriate unreachable code warnings + * [362]12180 Inline optimization fails for variadic function + * [363]12340 loop unroller + gcse produces wrong code + + C++ compiler and library + + * [364]3907 nested template parameter collides with member name + * [365]5293 confusing message when binding a temporary to a + reference + * [366]5296 [DR115] Pointers to functions and to template functions + behave differently in deduction + * [367]7939 ICE on function template specialization + * [368]8656 Unable to assign function with __attribute__ and pointer + return type to an appropriate variable + * [369]10147 Confusing error message for invalid template function + argument + * [370]11400 std::search_n() makes assumptions about Size parameter + * [371]11409 issues with using declarations, overloading, and + built-in functions + * [372]11740 ctype::do_is(mask, wchar_t) doesn't handle + multiple bits in mask + * [373]11786 operator() call on variable in other namespace not + recognized + * [374]11867 static_cast ignores ambiguity + * [375]11928 bug with conversion operators that are typedefs + * [376]12163 static_cast + explicit constructor regression + * [377]12181 Wrong code with comma operator and c++ + * [378]12236 regparm and fastcall messes up parameters + * [379]12266 incorrect instantiation of unneeded template during + overload resolution + * [380]12296 istream::peek() doesn't set eofbit + * [381]12369 ICE ith templates and friends + * [382]12337 apparently infinite loop in g++ + * [383]12344 stdcall attribute ignored if function returns a pointer + * [384]12451 missing(late) class forward declaration in cxxabi.h + * [385]12486 g++ accepts invalid use of a qualified name + + x86 specific (Intel/AMD) + + * [386]8869 [x86 MMX] ICE with const variable optimization and MMX + builtins + * [387]9786 ICE in fixup_abnormal_edges with -fnon-call-exceptions + -O2 + * [388]11689 g++3.3 emits un-assembleable code for k6 architecture + * [389]12116 [k6] Invalid assembly output values with X-MAME code + * [390]12070 ICE converting between double and long double with + -msoft-float + + ia64-specific + + * [391]11184 [ia64 hpux] ICE on __builtin_apply building libobjc + * [392]11535 __builtin_return_address may not work on ia64 + * [393]11693 [ia64] ICE in gen_nop_type + * [394]12224 [ia64] Thread-local storage doesn't work + + PowerPC-specific + + * [395]11087 [powerpc64-linux] GCC miscompiles raid1.c from linux + kernel + * [396]11319 loop miscompiled on ppc32 + * [397]11949 ICE Compiler segfault with ffmpeg -maltivec code + + SPARC-specific + + * [398]11662 wrong code for expr. with cast to long long and + exclusive or + * [399]11965 invalid assembler code for a shift << 32 operation + * [400]12301 (c++) stack corruption when a returned expression + throws an exception + + Alpha-specific + + * [401]11717 [alpha-linux] unrecognizable insn compiling for.c of + kernel 2.4.22-pre8 + + Darwin (and MacOS X) specific + + * [402]10900 trampolines crash + + HPUX-specific + + * [403]11313 problem with #pragma weak and static inline functions + * [404]11712 __STDC_EXT__ not defined for C++ by default anymore? + + Solaris specific + + * [405]12166 Profiled programs crash if PROFDIR is set + + Solaris-x86 specific + + * [406]12101 i386 Solaris no longer works with GNU as? + + Miscellaneous embedded target-specific bugs + + * [407]10988 [m32r-elf] wrong blockmove code with -O3 + * [408]11805 [h8300-unknown-coff] [H8300] ICE for simple code with + -O2 + * [409]11902 [sh4] spec file improperly inserts rpath even when none + needed + * [410]11903 [sh4] -pthread fails to link due to error in spec file + on sh4 + _________________________________________________________________ + + Please send FSF & GNU inquiries & questions to [411]gnu@gnu.org. There + are also [412]other ways to contact the FSF. + + These pages are maintained by [413]the GCC team. + + + For questions related to the use of GCC, please consult these web + pages and the [414]GCC manuals. If that fails, the + [415]gcc-help@gcc.gnu.org mailing list might help. + Please send comments on these web pages and the development of GCC + to our public developer mailing list at [416]gcc@gnu.org or + [417]gcc@gcc.gnu.org. + + Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite + 330, Boston, MA 02111, USA. + + Verbatim copying and distribution of this entire article is permitted + in any medium, provided this notice is preserved. + + Last modified 2003-10-16 [418]Valid XHTML 1.0 + + References + + 1. http://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems + 2. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems + 3. http://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute + 4. http://gcc.gnu.org/news/dfa.html + 5. http://gcc.gnu.org/gcc-3.3/c99status.html + 6. http://gcc.gnu.org/onlinedocs/g77/News.html + 7. http://gcc.gnu.org/PR10140 + 8. http://gcc.gnu.org/PR10198 + 9. http://gcc.gnu.org/PR10338 + 10. http://gcc.gnu.org/PR3581 + 11. http://gcc.gnu.org/PR4382 + 12. http://gcc.gnu.org/PR5533 + 13. http://gcc.gnu.org/PR6387 + 14. http://gcc.gnu.org/PR6412 + 15. http://gcc.gnu.org/PR6620 + 16. http://gcc.gnu.org/PR6663 + 17. http://gcc.gnu.org/PR7068 + 18. http://gcc.gnu.org/PR7083 + 19. http://gcc.gnu.org/PR7647 + 20. http://gcc.gnu.org/PR7675 + 21. http://gcc.gnu.org/PR7718 + 22. http://gcc.gnu.org/PR8116 + 23. http://gcc.gnu.org/PR8358 + 24. http://gcc.gnu.org/PR8511 + 25. http://gcc.gnu.org/PR8564 + 26. http://gcc.gnu.org/PR8660 + 27. http://gcc.gnu.org/PR8766 + 28. http://gcc.gnu.org/PR8803 + 29. http://gcc.gnu.org/PR8846 + 30. http://gcc.gnu.org/PR8906 + 31. http://gcc.gnu.org/PR9216 + 32. http://gcc.gnu.org/PR9261 + 33. http://gcc.gnu.org/PR9263 + 34. http://gcc.gnu.org/PR9429 + 35. http://gcc.gnu.org/PR9516 + 36. http://gcc.gnu.org/PR9600 + 37. http://gcc.gnu.org/PR9629 + 38. http://gcc.gnu.org/PR9672 + 39. http://gcc.gnu.org/PR9749 + 40. http://gcc.gnu.org/PR9794 + 41. http://gcc.gnu.org/PR9829 + 42. http://gcc.gnu.org/PR9916 + 43. http://gcc.gnu.org/PR9936 + 44. http://gcc.gnu.org/PR10262 + 45. http://gcc.gnu.org/PR10278 + 46. http://gcc.gnu.org/PR10446 + 47. http://gcc.gnu.org/PR10451 + 48. http://gcc.gnu.org/PR10506 + 49. http://gcc.gnu.org/PR10549 + 50. http://gcc.gnu.org/PR2001 + 51. http://gcc.gnu.org/PR2391 + 52. http://gcc.gnu.org/PR2960 + 53. http://gcc.gnu.org/PR4046 + 54. http://gcc.gnu.org/PR6405 + 55. http://gcc.gnu.org/PR6798 + 56. http://gcc.gnu.org/PR6871 + 57. http://gcc.gnu.org/PR6909 + 58. http://gcc.gnu.org/PR7189 + 59. http://gcc.gnu.org/PR7642 + 60. http://gcc.gnu.org/PR8634 + 61. http://gcc.gnu.org/PR8750 + 62. http://gcc.gnu.org/PR2161 + 63. http://gcc.gnu.org/PR4319 + 64. http://gcc.gnu.org/PR8602 + 65. http://gcc.gnu.org/PR9177 + 66. http://gcc.gnu.org/PR9853 + 67. http://gcc.gnu.org/PR45 + 68. http://gcc.gnu.org/PR3784 + 69. http://gcc.gnu.org/PR764 + 70. http://gcc.gnu.org/PR5116 + 71. http://gcc.gnu.org/PR2862 + 72. http://gcc.gnu.org/PR3663 + 73. http://gcc.gnu.org/PR3797 + 74. http://gcc.gnu.org/PR3948 + 75. http://gcc.gnu.org/PR4137 + 76. http://gcc.gnu.org/PR4361 + 77. http://gcc.gnu.org/PR4802 + 78. http://gcc.gnu.org/PR5837 + 79. http://gcc.gnu.org/PR4803 + 80. http://gcc.gnu.org/PR5094 + 81. http://gcc.gnu.org/PR5730 + 82. http://gcc.gnu.org/PR6713 + 83. http://gcc.gnu.org/PR7015 + 84. http://gcc.gnu.org/PR7086 + 85. http://gcc.gnu.org/PR7099 + 86. http://gcc.gnu.org/PR7247 + 87. http://gcc.gnu.org/PR7441 + 88. http://gcc.gnu.org/PR7768 + 89. http://gcc.gnu.org/PR7804 + 90. http://gcc.gnu.org/PR8099 + 91. http://gcc.gnu.org/PR8117 + 92. http://gcc.gnu.org/PR8205 + 93. http://gcc.gnu.org/PR8645 + 94. http://gcc.gnu.org/PR8724 + 95. http://gcc.gnu.org/PR8805 + 96. http://gcc.gnu.org/PR8691 + 97. http://gcc.gnu.org/PR8700 + 98. http://gcc.gnu.org/PR8724 + 99. http://gcc.gnu.org/PR8949 + 100. http://gcc.gnu.org/PR9016 + 101. http://gcc.gnu.org/PR9053 + 102. http://gcc.gnu.org/PR9152 + 103. http://gcc.gnu.org/PR9182 + 104. http://gcc.gnu.org/PR9297 + 105. http://gcc.gnu.org/PR9318 + 106. http://gcc.gnu.org/PR9320 + 107. http://gcc.gnu.org/PR9400 + 108. http://gcc.gnu.org/PR9424 + 109. http://gcc.gnu.org/PR9425 + 110. http://gcc.gnu.org/PR9439 + 111. http://gcc.gnu.org/PR9474 + 112. http://gcc.gnu.org/PR9548 + 113. http://gcc.gnu.org/PR9555 + 114. http://gcc.gnu.org/PR9561 + 115. http://gcc.gnu.org/PR9563 + 116. http://gcc.gnu.org/PR9582 + 117. http://gcc.gnu.org/PR9622 + 118. http://gcc.gnu.org/PR9683 + 119. http://gcc.gnu.org/PR9791 + 120. http://gcc.gnu.org/PR9817 + 121. http://gcc.gnu.org/PR9825 + 122. http://gcc.gnu.org/PR9826 + 123. http://gcc.gnu.org/PR9924 + 124. http://gcc.gnu.org/PR9946 + 125. http://gcc.gnu.org/PR9964 + 126. http://gcc.gnu.org/PR9988 + 127. http://gcc.gnu.org/PR10033 + 128. http://gcc.gnu.org/PR10097 + 129. http://gcc.gnu.org/PR10132 + 130. http://gcc.gnu.org/PR10180 + 131. http://gcc.gnu.org/PR10199 + 132. http://gcc.gnu.org/PR10300 + 133. http://gcc.gnu.org/PR10427 + 134. http://gcc.gnu.org/PR10503 + 135. http://gcc.gnu.org/PR5956 + 136. http://gcc.gnu.org/PR1832 + 137. http://gcc.gnu.org/PR3924 + 138. http://gcc.gnu.org/PR5634 + 139. http://gcc.gnu.org/PR6367 + 140. http://gcc.gnu.org/PR6491 + 141. http://gcc.gnu.org/PR6742 + 142. http://gcc.gnu.org/PR7113 + 143. http://gcc.gnu.org/PR7236 + 144. http://gcc.gnu.org/PR7278 + 145. http://gcc.gnu.org/PR7384 + 146. http://gcc.gnu.org/PR7388 + 147. http://gcc.gnu.org/PR8587 + 148. http://gcc.gnu.org/PR9038 + 149. http://gcc.gnu.org/PR10197 + 150. http://gcc.gnu.org/PR6005 + 151. http://gcc.gnu.org/PR6389 + 152. http://gcc.gnu.org/PR6576 + 153. http://gcc.gnu.org/PR6652 + 154. http://gcc.gnu.org/PR7060 + 155. http://gcc.gnu.org/PR7073 + 156. http://gcc.gnu.org/PR7180 + 157. http://gcc.gnu.org/PR7416 + 158. http://gcc.gnu.org/PR7570 + 159. http://gcc.gnu.org/PR7578 + 160. http://gcc.gnu.org/PR7611 + 161. http://gcc.gnu.org/PR7709 + 162. http://gcc.gnu.org/PR7766 + 163. http://gcc.gnu.org/PR7785 + 164. http://gcc.gnu.org/PR7786 + 165. http://gcc.gnu.org/PR8142 + 166. http://gcc.gnu.org/PR8234 + 167. http://gcc.gnu.org/PR8415 + 168. http://gcc.gnu.org/PR8481 + 169. http://gcc.gnu.org/PR8593 + 170. http://gcc.gnu.org/PR8759 + 171. http://gcc.gnu.org/PR8997 + 172. http://gcc.gnu.org/PR9253 + 173. http://gcc.gnu.org/PR9254 + 174. http://gcc.gnu.org/PR9271 + 175. http://gcc.gnu.org/PR6767 + 176. http://gcc.gnu.org/PR9911 + 177. http://gcc.gnu.org/PR10020 + 178. http://gcc.gnu.org/PR10546 + 179. http://gcc.gnu.org/PR7029 + 180. http://gcc.gnu.org/PR2903 + 181. http://gcc.gnu.org/PR7873 + 182. http://gcc.gnu.org/PR7680 + 183. http://gcc.gnu.org/PR8705 + 184. http://gcc.gnu.org/PR9986 + 185. http://gcc.gnu.org/PR10056 + 186. http://gcc.gnu.org/PR6744 + 187. http://gcc.gnu.org/PR7361 + 188. http://gcc.gnu.org/PR9496 + 189. http://gcc.gnu.org/PR7067 + 190. http://gcc.gnu.org/PR8480 + 191. http://gcc.gnu.org/PR8784 + 192. http://gcc.gnu.org/PR10315 + 193. http://gcc.gnu.org/PR10267 + 194. http://gcc.gnu.org/PR7916 + 195. http://gcc.gnu.org/PR7926 + 196. http://gcc.gnu.org/PR8555 + 197. http://gcc.gnu.org/PR8994 + 198. http://gcc.gnu.org/PR9426 + 199. http://gcc.gnu.org/PR9806 + 200. http://gcc.gnu.org/PR10077 + 201. http://gcc.gnu.org/PR10233 + 202. http://gcc.gnu.org/PR10286 + 203. http://gcc.gnu.org/PR10308 + 204. http://gcc.gnu.org/PR11272 + 205. http://gcc.gnu.org/PR5754 + 206. http://gcc.gnu.org/PR6597 + 207. http://gcc.gnu.org/PR6949 + 208. http://gcc.gnu.org/PR7053 + 209. http://gcc.gnu.org/PR8164 + 210. http://gcc.gnu.org/PR8384 + 211. http://gcc.gnu.org/PR9559 + 212. http://gcc.gnu.org/PR9649 + 213. http://gcc.gnu.org/PR9864 + 214. http://gcc.gnu.org/PR10432 + 215. http://gcc.gnu.org/PR10475 + 216. http://gcc.gnu.org/PR10635 + 217. http://gcc.gnu.org/PR10661 + 218. http://gcc.gnu.org/PR10700 + 219. http://gcc.gnu.org/PR10712 + 220. http://gcc.gnu.org/PR10796 + 221. http://gcc.gnu.org/PR10890 + 222. http://gcc.gnu.org/PR10939 + 223. http://gcc.gnu.org/PR10956 + 224. http://gcc.gnu.org/PR11041 + 225. http://gcc.gnu.org/PR11059 + 226. http://gcc.gnu.org/PR11083 + 227. http://gcc.gnu.org/PR11105 + 228. http://gcc.gnu.org/PR11149 + 229. http://gcc.gnu.org/PR11228 + 230. http://gcc.gnu.org/PR11282 + 231. http://gcc.gnu.org/PR11301 + 232. http://gcc.gnu.org/PR11308 + 233. http://gcc.gnu.org/PR11473 + 234. http://gcc.gnu.org/PR11503 + 235. http://gcc.gnu.org/PR11513 + 236. http://gcc.gnu.org/PR11198 + 237. http://gcc.gnu.org/PR11304 + 238. http://gcc.gnu.org/PR11381 + 239. http://gcc.gnu.org/PR11536 + 240. http://gcc.gnu.org/PR11557 + 241. http://gcc.gnu.org/PR5897 + 242. http://gcc.gnu.org/PR11279 + 243. http://gcc.gnu.org/PR11022 + 244. http://gcc.gnu.org/PR2330 + 245. http://gcc.gnu.org/PR5388 + 246. http://gcc.gnu.org/PR5390 + 247. http://gcc.gnu.org/PR7877 + 248. http://gcc.gnu.org/PR9393 + 249. http://gcc.gnu.org/PR10032 + 250. http://gcc.gnu.org/PR10468 + 251. http://gcc.gnu.org/PR10527 + 252. http://gcc.gnu.org/PR10679 + 253. http://gcc.gnu.org/PR10682 + 254. http://gcc.gnu.org/PR10689 + 255. http://gcc.gnu.org/PR10845 + 256. http://gcc.gnu.org/PR10849 + 257. http://gcc.gnu.org/PR10888 + 258. http://gcc.gnu.org/PR10929 + 259. http://gcc.gnu.org/PR10931 + 260. http://gcc.gnu.org/PR10940 + 261. http://gcc.gnu.org/PR10968 + 262. http://gcc.gnu.org/PR10990 + 263. http://gcc.gnu.org/PR11039 + 264. http://gcc.gnu.org/PR11062 + 265. http://gcc.gnu.org/PR11095 + 266. http://gcc.gnu.org/PR11098 + 267. http://gcc.gnu.org/PR11137 + 268. http://gcc.gnu.org/PR11154 + 269. http://gcc.gnu.org/PR11329 + 270. http://gcc.gnu.org/PR11332 + 271. http://gcc.gnu.org/PR11431 + 272. http://gcc.gnu.org/PR11528 + 273. http://gcc.gnu.org/PR11546 + 274. http://gcc.gnu.org/PR11567 + 275. http://gcc.gnu.org/PR11645 + 276. http://gcc.gnu.org/PR5179 + 277. http://gcc.gnu.org/PR8204 + 278. http://gcc.gnu.org/PR10838 + 279. http://gcc.gnu.org/PR10886 + 280. http://gcc.gnu.org/PR11349 + 281. http://gcc.gnu.org/PR4823 + 282. http://gcc.gnu.org/PR8878 + 283. http://gcc.gnu.org/PR9815 + 284. http://gcc.gnu.org/PR10402 + 285. http://gcc.gnu.org/PR10504 + 286. http://gcc.gnu.org/PR10673 + 287. http://gcc.gnu.org/PR11044 + 288. http://gcc.gnu.org/PR11089 + 289. http://gcc.gnu.org/PR11420 + 290. http://gcc.gnu.org/PR9362 + 291. http://gcc.gnu.org/PR10142 + 292. http://gcc.gnu.org/PR10663 + 293. http://gcc.gnu.org/PR10835 + 294. http://gcc.gnu.org/PR10876 + 295. http://gcc.gnu.org/PR10955 + 296. http://gcc.gnu.org/PR11018 + 297. http://gcc.gnu.org/PR11556 + 298. http://gcc.gnu.org/PR10907 + 299. http://gcc.gnu.org/PR11320 + 300. http://gcc.gnu.org/PR11599 + 301. http://gcc.gnu.org/PR9745 + 302. http://gcc.gnu.org/PR10871 + 303. http://gcc.gnu.org/PR11440 + 304. http://gcc.gnu.org/PR7594 + 305. http://gcc.gnu.org/PR10557 + 306. http://gcc.gnu.org/PR11054 + 307. http://gcc.gnu.org/PR10834 + 308. http://gcc.gnu.org/PR10842 + 309. http://gcc.gnu.org/PR11052 + 310. http://gcc.gnu.org/PR11183 + 311. http://gcc.gnu.org/PR11084 + 312. http://gcc.gnu.org/PR10331 + 313. http://gcc.gnu.org/PR10413 + 314. http://gcc.gnu.org/PR11096 + 315. http://gcc.gnu.org/PR2873 + 316. http://gcc.gnu.org/PR3163 + 317. http://gcc.gnu.org/PR5287 + 318. http://gcc.gnu.org/PR10148 + 319. http://gcc.gnu.org/PR8787 + 320. http://gcc.gnu.org/PR1607 + 321. http://gcc.gnu.org/PR4252 + 322. http://gcc.gnu.org/PR4490 + 323. http://gcc.gnu.org/PR10355 + 324. http://gcc.gnu.org/PR10726 + 325. http://gcc.gnu.org/PR10805 + 326. http://gcc.gnu.org/PR10815 + 327. http://gcc.gnu.org/PR10877 + 328. http://gcc.gnu.org/PR11280 + 329. http://gcc.gnu.org/PR11466 + 330. http://gcc.gnu.org/PR10737 + 331. http://gcc.gnu.org/PR10810 + 332. http://gcc.gnu.org/bugzilla/ + 333. http://gcc.gnu.org/PR8336 + 334. http://gcc.gnu.org/PR9330 + 335. http://gcc.gnu.org/PR9631 + 336. http://gcc.gnu.org/PR9877 + 337. http://gcc.gnu.org/PR11687 + 338. http://gcc.gnu.org/PR12263 + 339. http://gcc.gnu.org/PR12490 + 340. http://gcc.gnu.org/PR7277 + 341. http://gcc.gnu.org/PR11063 + 342. http://gcc.gnu.org/PR11207 + 343. http://gcc.gnu.org/PR11522 + 344. http://gcc.gnu.org/PR11595 + 345. http://gcc.gnu.org/PR11646 + 346. http://gcc.gnu.org/PR11665 + 347. http://gcc.gnu.org/PR11852 + 348. http://gcc.gnu.org/PR11878 + 349. http://gcc.gnu.org/PR11883 + 350. http://gcc.gnu.org/PR11991 + 351. http://gcc.gnu.org/PR12146 + 352. http://gcc.gnu.org/PR12215 + 353. http://gcc.gnu.org/PR12446 + 354. http://gcc.gnu.org/PR12510 + 355. http://gcc.gnu.org/PR12544 + 356. http://gcc.gnu.org/PR9862 + 357. http://gcc.gnu.org/PR10962 + 358. http://gcc.gnu.org/PR11370 + 359. http://gcc.gnu.org/PR11637 + 360. http://gcc.gnu.org/PR11885 + 361. http://gcc.gnu.org/PR12082 + 362. http://gcc.gnu.org/PR12180 + 363. http://gcc.gnu.org/PR12340 + 364. http://gcc.gnu.org/PR3907 + 365. http://gcc.gnu.org/PR5293 + 366. http://gcc.gnu.org/PR5296 + 367. http://gcc.gno.org/PR7939 + 368. http://gcc.gnu.org/PR8656 + 369. http://gcc.gnu.org/PR10147 + 370. http://gcc.gnu.org/PR11400 + 371. http://gcc.gnu.org/PR11409 + 372. http://gcc.gnu.org/PR11740 + 373. http://gcc.gnu.org/PR11786 + 374. http://gcc.gnu.org/PR11867 + 375. http://gcc.gnu.org/PR11928 + 376. http://gcc.gnu.org/PR12163 + 377. http://gcc.gnu.org/PR12181 + 378. http://gcc.gnu.org/PR12236 + 379. http://gcc.gnu.org/PR12266 + 380. http://gcc.gnu.org/PR12296 + 381. http://gcc.gnu.org/PR12369 + 382. http://gcc.gnu.org/PR12337 + 383. http://gcc.gnu.org/PR12344 + 384. http://gcc.gnu.org/PR12451 + 385. http://gcc.gnu.org/PR12486 + 386. http://gcc.gnu.org/PR8869 + 387. http://gcc.gnu.org/PR9786 + 388. http://gcc.gnu.org/PR11689 + 389. http://gcc.gnu.org/PR12116 + 390. http://gcc.gnu.org/PR12070 + 391. http://gcc.gnu.org/PR11184 + 392. http://gcc.gnu.org/PR11535 + 393. http://gcc.gnu.org/PR11693 + 394. http://gcc.gnu.org/PR12224 + 395. http://gcc.gnu.org/PR11087 + 396. http://gcc.gnu.org/PR11319 + 397. http://gcc.gnu.org/PR11949 + 398. http://gcc.gnu.org/PR11662 + 399. http://gcc.gnu.org/PR11965 + 400. http://gcc.gnu.org/PR12301 + 401. http://gcc.gnu.org/PR11717 + 402. http://gcc.gnu.org/PR10900 + 403. http://gcc.gnu.org/PR11313 + 404. http://gcc.gnu.org/PR11712 + 405. http://gcc.gnu.org/PR12166 + 406. http://gcc.gnu.org/PR12101 + 407. http://gcc.gnu.org/PR10988 + 408. http://gcc.gnu.org/PR11805 + 409. http://gcc.gnu.org/PR11902 + 410. http://gcc.gnu.org/PR11903 + 411. mailto:gnu@gnu.org + 412. http://www.gnu.org/home.html#ContactInfo + 413. http://gcc.gnu.org/about.html + 414. http://gcc.gnu.org/onlinedocs/ + 415. mailto:gcc-help@gcc.gnu.org + 416. mailto:gcc@gnu.org + 417. mailto:gcc@gcc.gnu.org + 418. http://validator.w3.org/check/referer + ====================================================================== http://gcc.gnu.org/gcc-3.2/index.html GCC 3.2 Release Series *************** References and Acknowledgements *** 64,75 **** Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! 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. --- 1652,1666 ---- Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! These pages are maintained by [16]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [17]GCC manuals. If that fails, the ! [18]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [19]gcc@gnu.org or ! [20]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** References and Acknowledgements *** 77,83 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-04-25 [20]Valid XHTML 1.0 References --- 1668,1674 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [21]Valid XHTML 1.0 References *************** References *** 97,106 **** 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. mailto:gcc@gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. mailto:gnu@gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html --- 1688,1698 ---- 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. http://gcc.gnu.org/onlinedocs/ ! 18. mailto:gcc-help@gcc.gnu.org ! 19. mailto:gcc@gnu.org ! 20. mailto:gcc@gcc.gnu.org ! 21. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.2/changes.html *************** GCC 3.2 *** 700,711 **** Please send FSF & GNU inquiries & questions to [246]gnu@gnu.org. There are also [247]other ways to contact the FSF. ! These pages are maintained by [248]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [249]gcc@gnu.org or [250]gcc@gcc.gnu.org, send other ! questions to [251]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2292,2306 ---- Please send FSF & GNU inquiries & questions to [246]gnu@gnu.org. There are also [247]other ways to contact the FSF. ! These pages are maintained by [248]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [249]GCC manuals. If that fails, the ! [250]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [251]gcc@gnu.org or ! [252]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** GCC 3.2 *** 713,719 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-07-26 [252]Valid XHTML 1.0 References --- 2308,2314 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [253]Valid XHTML 1.0 References *************** References *** 965,974 **** 246. mailto:gnu@gnu.org 247. http://www.gnu.org/home.html#ContactInfo 248. http://gcc.gnu.org/about.html ! 249. mailto:gcc@gnu.org ! 250. mailto:gcc@gcc.gnu.org ! 251. mailto:gnu@gnu.org ! 252. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html --- 2560,2570 ---- 246. mailto:gnu@gnu.org 247. http://www.gnu.org/home.html#ContactInfo 248. http://gcc.gnu.org/about.html ! 249. http://gcc.gnu.org/onlinedocs/ ! 250. mailto:gcc-help@gcc.gnu.org ! 251. mailto:gcc@gnu.org ! 252. mailto:gcc@gcc.gnu.org ! 253. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/index.html *************** http://gcc.gnu.org/gcc-3.1/index.html *** 1009,1020 **** 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. --- 2605,2619 ---- 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. ! For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [16]gcc@gnu.org or ! [17]gcc@gcc.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 *** 1022,1028 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References --- 2621,2627 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [18]Valid XHTML 1.0 References *************** References *** 1039,1048 **** 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.1/changes.html --- 2638,2648 ---- 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. http://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.1/changes.html *************** Documentation improvements *** 1373,1384 **** Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other ! questions to [18]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 2973,2987 ---- Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [16]GCC manuals. If that fails, the ! [17]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [18]gcc@gnu.org or ! [19]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Documentation improvements *** 1386,1392 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-06-23 [19]Valid XHTML 1.0 References --- 2989,2995 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [20]Valid XHTML 1.0 References *************** References *** 1405,1414 **** 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. mailto:gnu@gnu.org ! 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/gcc-3.0.html --- 3008,3018 ---- 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. http://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gnu.org ! 19. mailto:gcc@gcc.gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/gcc-3.0.html *************** Previous 3.0.x Releases *** 1456,1467 **** 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. --- 3060,3074 ---- 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. ! For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [16]gcc@gnu.org or ! [17]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Previous 3.0.x Releases *** 1469,1475 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References --- 3076,3082 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [18]Valid XHTML 1.0 References *************** References *** 1486,1495 **** 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.0/features.html --- 3093,3103 ---- 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. http://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/features.html *************** Other significant improvements *** 1656,1667 **** Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! 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. --- 3264,3278 ---- Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There are also [15]other ways to contact the FSF. ! These pages are maintained by [16]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [17]GCC manuals. If that fails, the ! [18]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [19]gcc@gnu.org or ! [20]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Other significant improvements *** 1669,1675 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-05-22 [20]Valid XHTML 1.0 References --- 3280,3286 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [21]Valid XHTML 1.0 References *************** References *** 1689,1698 **** 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. mailto:gcc@gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. mailto:gnu@gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/caveats.html --- 3300,3310 ---- 14. mailto:gnu@gnu.org 15. http://www.gnu.org/home.html#ContactInfo 16. http://gcc.gnu.org/about.html ! 17. http://gcc.gnu.org/onlinedocs/ ! 18. mailto:gcc-help@gcc.gnu.org ! 19. mailto:gcc@gnu.org ! 20. mailto:gcc@gcc.gnu.org ! 21. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/caveats.html *************** http://gcc.gnu.org/gcc-3.0/caveats.html *** 1735,1746 **** 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 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. --- 3347,3361 ---- 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. ! For questions related to the use of GCC, please consult these web ! pages and the [7]GCC manuals. If that fails, the ! [8]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [9]gcc@gnu.org or ! [10]gcc@gcc.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 *** 1748,1754 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [10]Valid XHTML 1.0 References --- 3363,3369 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [11]Valid XHTML 1.0 References *************** References *** 1758,1767 **** 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-2.95/index.html --- 3373,3383 ---- 4. mailto:gnu@gnu.org 5. http://www.gnu.org/home.html#ContactInfo 6. http://gcc.gnu.org/about.html ! 7. http://gcc.gnu.org/onlinedocs/ ! 8. mailto:gcc-help@gcc.gnu.org ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/index.html *************** http://gcc.gnu.org/gcc-2.95/index.html *** 1814,1825 **** Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other ! questions to [18]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3430,3444 ---- Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There are also [14]other ways to contact the FSF. ! These pages are maintained by [15]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [16]GCC manuals. If that fails, the ! [17]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [18]gcc@gnu.org or ! [19]gcc@gcc.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 *** 1827,1833 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [19]Valid XHTML 1.0 References --- 3446,3452 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [20]Valid XHTML 1.0 References *************** References *** 1846,1855 **** 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. mailto:gnu@gnu.org ! 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/features.html --- 3465,3475 ---- 13. mailto:gnu@gnu.org 14. http://www.gnu.org/home.html#ContactInfo 15. http://gcc.gnu.org/about.html ! 16. http://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gnu.org ! 19. mailto:gcc@gcc.gnu.org ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/features.html *************** Additional Changes in GCC 2.95.3 *** 2089,2100 **** Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There are also [18]other ways to contact the FSF. ! These pages are maintained by [19]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [20]gcc@gnu.org or [21]gcc@gcc.gnu.org, send other ! questions to [22]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 3709,3723 ---- Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There are also [18]other ways to contact the FSF. ! These pages are maintained by [19]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [20]GCC manuals. If that fails, the ! [21]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [22]gcc@gnu.org or ! [23]gcc@gcc.gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *************** Additional Changes in GCC 2.95.3 *** 2102,2108 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [23]Valid XHTML 1.0 References --- 3725,3731 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [24]Valid XHTML 1.0 References *************** References *** 2125,2134 **** 17. mailto:gnu@gnu.org 18. http://www.gnu.org/home.html#ContactInfo 19. http://gcc.gnu.org/about.html ! 20. mailto:gcc@gnu.org ! 21. mailto:gcc@gcc.gnu.org ! 22. mailto:gnu@gnu.org ! 23. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/caveats.html --- 3748,3758 ---- 17. mailto:gnu@gnu.org 18. http://www.gnu.org/home.html#ContactInfo 19. http://gcc.gnu.org/about.html ! 20. http://gcc.gnu.org/onlinedocs/ ! 21. mailto:gcc-help@gcc.gnu.org ! 22. mailto:gcc@gnu.org ! 23. mailto:gcc@gcc.gnu.org ! 24. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-2.95/caveats.html *************** http://gcc.gnu.org/gcc-2.95/caveats.html *** 2178,2189 **** Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There are also [3]other ways to contact the FSF. ! 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. --- 3802,3816 ---- Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There are also [3]other ways to contact the FSF. ! These pages are maintained by [4]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [5]GCC manuals. If that fails, the ! [6]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [7]gcc@gnu.org or ! [8]gcc@gcc.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 *** 2191,2197 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [8]Valid XHTML 1.0 References --- 3818,3824 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [9]Valid XHTML 1.0 References *************** References *** 2199,2208 **** 2. mailto:gnu@gnu.org 3. http://www.gnu.org/home.html#ContactInfo 4. http://gcc.gnu.org/about.html ! 5. mailto:gcc@gnu.org ! 6. mailto:gcc@gcc.gnu.org ! 7. mailto:gnu@gnu.org ! 8. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/index.html --- 3826,3836 ---- 2. mailto:gnu@gnu.org 3. http://www.gnu.org/home.html#ContactInfo 4. http://gcc.gnu.org/about.html ! 5. http://gcc.gnu.org/onlinedocs/ ! 6. mailto:gcc-help@gcc.gnu.org ! 7. mailto:gcc@gnu.org ! 8. mailto:gcc@gcc.gnu.org ! 9. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/index.html *************** http://gcc.gnu.org/egcs-1.1/index.html *** 2405,2416 **** 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. --- 4033,4047 ---- 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. ! For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [16]gcc@gnu.org or ! [17]gcc@gcc.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 *** 2418,2424 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [17]Valid XHTML 1.0 References --- 4049,4055 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [18]Valid XHTML 1.0 References *************** References *** 2435,2444 **** 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/egcs-1.1/features.html --- 4066,4076 ---- 11. mailto:gnu@gnu.org 12. http://www.gnu.org/home.html#ContactInfo 13. http://gcc.gnu.org/about.html ! 14. http://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/features.html *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 2515,2526 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! 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. --- 4147,4161 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.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 *** 2528,2534 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-03-29 [12]Valid XHTML 1.0 References --- 4163,4169 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2540,2549 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/caveats.html --- 4175,4185 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.1/caveats.html *************** http://gcc.gnu.org/egcs-1.1/caveats.html *** 2576,2587 **** Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [4]gcc@gnu.org or [5]gcc@gcc.gnu.org, send other ! questions to [6]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4212,4226 ---- Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [4]GCC manuals. If that fails, the ! [5]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [6]gcc@gnu.org or ! [7]gcc@gcc.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 *** 2589,2605 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [7]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. mailto:gcc@gnu.org ! 5. mailto:gcc@gcc.gnu.org ! 6. mailto:gnu@gnu.org ! 7. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html --- 4228,4245 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [8]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. http://gcc.gnu.org/onlinedocs/ ! 5. mailto:gcc-help@gcc.gnu.org ! 6. mailto:gcc@gnu.org ! 7. mailto:gcc@gcc.gnu.org ! 8. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.h *** 2680,2691 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! 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. --- 4320,4334 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.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 *** 2693,2699 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4336,4342 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2705,2714 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html --- 4348,4358 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.h *** 2820,2831 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! 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. --- 4464,4478 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.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 *** 2833,2839 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4480,4486 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2845,2854 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html --- 4492,4502 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.h *** 2960,2971 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! 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. --- 4608,4622 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.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 *** 2973,2979 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4624,4630 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 2985,2994 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.html --- 4636,4646 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/egcs-1.0.html *************** http://gcc.gnu.org/egcs-1.0/egcs-1.0.htm *** 3057,3068 **** Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! 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. --- 4709,4723 ---- Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There are also [7]other ways to contact the FSF. ! These pages are maintained by [8]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [11]gcc@gnu.org or ! [12]gcc@gcc.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 *** 3070,3076 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [12]Valid XHTML 1.0 References --- 4725,4731 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [13]Valid XHTML 1.0 References *************** References *** 3082,3091 **** 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. mailto:gcc@gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. mailto:gnu@gnu.org ! 12. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/features.html --- 4737,4747 ---- 6. mailto:gnu@gnu.org 7. http://www.gnu.org/home.html#ContactInfo 8. http://gcc.gnu.org/about.html ! 9. http://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gnu.org ! 12. mailto:gcc@gcc.gnu.org ! 13. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/features.html *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 3131,3142 **** Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There are also [4]other ways to contact the FSF. ! 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. --- 4787,4801 ---- Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There are also [4]other ways to contact the FSF. ! These pages are maintained by [5]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [6]GCC manuals. If that fails, the ! [7]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [8]gcc@gnu.org or ! [9]gcc@gcc.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 *** 3144,3150 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [9]Valid XHTML 1.0 References --- 4803,4809 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [10]Valid XHTML 1.0 References *************** References *** 3153,3162 **** 3. mailto:gnu@gnu.org 4. http://www.gnu.org/home.html#ContactInfo 5. http://gcc.gnu.org/about.html ! 6. mailto:gcc@gnu.org ! 7. mailto:gcc@gcc.gnu.org ! 8. mailto:gnu@gnu.org ! 9. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/caveats.html --- 4812,4822 ---- 3. mailto:gnu@gnu.org 4. http://www.gnu.org/home.html#ContactInfo 5. http://gcc.gnu.org/about.html ! 6. http://gcc.gnu.org/onlinedocs/ ! 7. mailto:gcc-help@gcc.gnu.org ! 8. mailto:gcc@gnu.org ! 9. mailto:gcc@gcc.gnu.org ! 10. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/egcs-1.0/caveats.html *************** http://gcc.gnu.org/egcs-1.0/caveats.html *** 3191,3202 **** Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]The GCC team. ! Please send comments on these web pages and GCC to our public ! mailing list at [4]gcc@gnu.org or [5]gcc@gcc.gnu.org, send other ! questions to [6]gnu@gnu.org. Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. --- 4851,4865 ---- Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There are also [2]other ways to contact the FSF. ! These pages are maintained by [3]the GCC team. ! For questions related to the use of GCC, please consult these web ! pages and the [4]GCC manuals. If that fails, the ! [5]gcc-help@gcc.gnu.org mailing list might help. ! Please send comments on these web pages and the development of GCC ! to our public developer mailing list at [6]gcc@gnu.org or ! [7]gcc@gcc.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 *** 3204,3218 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-02-21 [7]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. mailto:gcc@gnu.org ! 5. mailto:gcc@gcc.gnu.org ! 6. mailto:gnu@gnu.org ! 7. http://validator.w3.org/check/referer ====================================================================== --- 4867,4882 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2003-08-28 [8]Valid XHTML 1.0 References 1. mailto:gnu@gnu.org 2. http://www.gnu.org/home.html#ContactInfo 3. http://gcc.gnu.org/about.html ! 4. http://gcc.gnu.org/onlinedocs/ ! 5. mailto:gcc-help@gcc.gnu.org ! 6. mailto:gcc@gnu.org ! 7. mailto:gcc@gcc.gnu.org ! 8. http://validator.w3.org/check/referer ====================================================================== diff -Nrc3pad gcc-3.3.1/gcc/po/ChangeLog gcc-3.3.2/gcc/po/ChangeLog *** gcc-3.3.1/gcc/po/ChangeLog 2003-08-04 12:49:07.000000000 +0000 --- gcc-3.3.2/gcc/po/ChangeLog 2003-10-16 19:44:09.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/reg-stack.c gcc-3.3.2/gcc/reg-stack.c *** gcc-3.3.1/gcc/reg-stack.c 2003-06-12 17:51:44.000000000 +0000 --- gcc-3.3.2/gcc/reg-stack.c 2003-09-22 07:11:22.000000000 +0000 *************** convert_regs_1 (file, block) *** 2616,2626 **** { struct stack_def regstack; block_info bi = BLOCK_INFO (block); ! int inserted, reg; rtx insn, next; edge e, beste = NULL; inserted = 0; any_malformed_asm = false; /* Find the edge we will copy stack from. It should be the most frequent --- 2616,2627 ---- { struct stack_def regstack; block_info bi = BLOCK_INFO (block); ! int deleted, inserted, reg; rtx insn, next; edge e, beste = NULL; inserted = 0; + deleted = 0; any_malformed_asm = false; /* Find the edge we will copy stack from. It should be the most frequent *************** convert_regs_1 (file, block) *** 2693,2698 **** --- 2694,2700 ---- print_stack (file, ®stack); } subst_stack_regs (insn, ®stack); + deleted |= (GET_CODE (insn) == NOTE || INSN_DELETED_P (insn)); } } while (next); *************** convert_regs_1 (file, block) *** 2732,2739 **** --- 2734,2756 ---- nan); insn = emit_insn_after (set, insn); subst_stack_regs (insn, ®stack); + deleted |= (GET_CODE (insn) == NOTE || INSN_DELETED_P (insn)); } } + + /* Amongst the insns possibly deleted during the substitution process above, + might have been the only trapping insn in the block. We purge the now + possibly dead EH edges here to avoid an ICE from fixup_abnormal_edges, + called at the end of convert_regs. The order in which we process the + blocks ensures that we never delete an already processed edge. + + ??? We are normally supposed not to delete trapping insns, so we pretend + that the insns deleted above don't actually trap. It would have been + better to detect this earlier and avoid creating the EH edge in the first + place, still, but we don't have enough information at that time. */ + + if (deleted) + purge_dead_edges (block); /* Something failed if the stack lives don't match. If we had malformed asms, we zapped the instruction itself, but that didn't produce the *************** convert_regs_2 (file, block) *** 2780,2785 **** --- 2797,2806 ---- basic_block *stack, *sp; int inserted; + /* We process the blocks in a top-down manner, in a way such that one block + is only processed after all its predecessors. The number of predecessors + of every block has already been computed. */ + stack = (basic_block *) xmalloc (sizeof (*stack) * n_basic_blocks); sp = stack; *************** convert_regs_2 (file, block) *** 2791,2799 **** edge e; block = *--sp; - inserted |= convert_regs_1 (file, block); - BLOCK_INFO (block)->done = 1; for (e = block->succ; e ; e = e->succ_next) if (! (e->flags & EDGE_DFS_BACK)) { --- 2812,2824 ---- edge e; block = *--sp; + /* Processing "block" is achieved by convert_regs_1, which may purge + some dead EH outgoing edge after the possible deletion of the + trapping insn inside the block. Since the number of predecessors of + "block"'s successors has been computed based on the initial edge set, + we check for the possiblity to process some of these successors + before such an edge deletion may happen. */ for (e = block->succ; e ; e = e->succ_next) if (! (e->flags & EDGE_DFS_BACK)) { *************** convert_regs_2 (file, block) *** 2801,2806 **** --- 2826,2834 ---- if (!BLOCK_INFO (e->dest)->predecessors) *sp++ = e->dest; } + + inserted |= convert_regs_1 (file, block); + BLOCK_INFO (block)->done = 1; } while (sp != stack); diff -Nrc3pad gcc-3.3.1/gcc/reorg.c gcc-3.3.2/gcc/reorg.c *** gcc-3.3.1/gcc/reorg.c 2002-09-26 22:25:13.000000000 +0000 --- gcc-3.3.2/gcc/reorg.c 2003-09-21 08:22:32.000000000 +0000 *************** stop_search_p (insn, labels_p) *** 236,241 **** --- 236,247 ---- if (insn == 0) return 1; + /* If the insn can throw an exception that is caught within the function, + it may effectively perform a jump from the viewpoint of the function. + Therefore act like for a jump. */ + if (can_throw_internal (insn)) + return 1; + switch (GET_CODE (insn)) { case NOTE: diff -Nrc3pad gcc-3.3.1/gcc/scan-decls.c gcc-3.3.2/gcc/scan-decls.c *** gcc-3.3.1/gcc/scan-decls.c 2002-05-09 12:02:27.000000000 +0000 --- gcc-3.3.2/gcc/scan-decls.c 2003-10-08 12:33:43.000000000 +0000 *************** int brace_nesting = 0; *** 32,38 **** indicate the (brace nesting levels of) left braces that were prefixed by extern "C". */ int extern_C_braces_length = 0; ! char extern_C_braces[20]; #define in_extern_C_brace (extern_C_braces_length>0) /* True if the function declaration currently being scanned is --- 32,40 ---- indicate the (brace nesting levels of) left braces that were prefixed by extern "C". */ int extern_C_braces_length = 0; ! /* 20 is not enough anymore on Solaris 9. */ ! #define MAX_EXTERN_C_BRACES 200 ! char extern_C_braces[MAX_EXTERN_C_BRACES]; #define in_extern_C_brace (extern_C_braces_length>0) /* True if the function declaration currently being scanned is *************** scan_decls (pfile, argc, argv) *** 222,227 **** --- 224,235 ---- brace_nesting++; extern_C_braces[extern_C_braces_length++] = brace_nesting; + if (extern_C_braces_length >= MAX_EXTERN_C_BRACES) + { + fprintf (stderr, + "Internal error: out-of-bounds index\n"); + exit (FATAL_EXIT_CODE); + } goto new_statement; } } diff -Nrc3pad gcc-3.3.1/gcc/stmt.c gcc-3.3.2/gcc/stmt.c *** gcc-3.3.1/gcc/stmt.c 2003-06-12 01:05:45.000000000 +0000 --- gcc-3.3.2/gcc/stmt.c 2003-08-21 01:50:03.000000000 +0000 *************** expand_asm_operands (string, outputs, in *** 1735,1742 **** } else { ! warning ("use of memory input without lvalue in " ! "asm operand %d is deprecated", i + noutputs); if (CONSTANT_P (op)) { --- 1735,1742 ---- } else { ! warning ("use of memory input without lvalue in asm operand %d is deprecated", ! i + noutputs); if (CONSTANT_P (op)) { diff -Nrc3pad gcc-3.3.1/gcc/stor-layout.c gcc-3.3.2/gcc/stor-layout.c *** gcc-3.3.1/gcc/stor-layout.c 2003-05-05 14:36:06.000000000 +0000 --- gcc-3.3.2/gcc/stor-layout.c 2003-10-14 18:43:04.000000000 +0000 *************** update_alignment_for_field (rli, field, *** 711,716 **** --- 711,719 ---- desired_align = DECL_ALIGN (field); user_align = DECL_USER_ALIGN (field); } + else if (!DECL_BIT_FIELD_TYPE (field)) + /* Even packed non-bit-fields get byte alignment. */ + desired_align = MAX (desired_align, BITS_PER_UNIT); /* Some targets (i.e. i386, VMS) limit struct field alignment to a lower boundary than alignment of variables unless diff -Nrc3pad gcc-3.3.1/gcc/tlink.c gcc-3.3.2/gcc/tlink.c *** gcc-3.3.1/gcc/tlink.c 2003-02-26 05:22:34.000000000 +0000 --- gcc-3.3.2/gcc/tlink.c 2003-08-09 06:51:07.000000000 +0000 *************** recompile_files () *** 465,472 **** { file *f; ! putenv (xstrdup ("COMPILER_PATH")); ! putenv (xstrdup ("LIBRARY_PATH")); while ((f = file_pop ()) != NULL) { --- 465,472 ---- { file *f; ! putenv (xstrdup ("COMPILER_PATH=")); ! putenv (xstrdup ("LIBRARY_PATH=")); while ((f = file_pop ()) != NULL) { diff -Nrc3pad gcc-3.3.1/gcc/toplev.c gcc-3.3.2/gcc/toplev.c *** gcc-3.3.1/gcc/toplev.c 2003-07-18 06:59:16.000000000 +0000 --- gcc-3.3.2/gcc/toplev.c 2003-10-09 20:53:35.000000000 +0000 *************** rest_of_compilation (decl) *** 2816,2822 **** tem = cse_main (insns, max_reg_num (), 0, rtl_dump_file); if (tem) rebuild_jump_labels (insns); ! purge_all_dead_edges (0); delete_trivially_dead_insns (insns, max_reg_num ()); --- 2816,2823 ---- tem = cse_main (insns, max_reg_num (), 0, rtl_dump_file); if (tem) rebuild_jump_labels (insns); ! if (purge_all_dead_edges (0)) ! delete_unreachable_blocks (); delete_trivially_dead_insns (insns, max_reg_num ()); *************** rest_of_compilation (decl) *** 3461,3466 **** --- 3462,3484 ---- #endif #ifdef STACK_REGS + #if defined (HAVE_ATTR_length) + /* If flow2 creates new instructions which need splitting + and scheduling after reload is not done, they might not be + splitten until final which doesn't allow splitting + if HAVE_ATTR_length. */ + #ifdef INSN_SCHEDULING + if (optimize && !flag_schedule_insns_after_reload) + #else + if (optimize) + #endif + { + timevar_push (TV_SHORTEN_BRANCH); + split_all_insns (1); + timevar_pop (TV_SHORTEN_BRANCH); + } + #endif + timevar_push (TV_REG_STACK); open_dump_file (DFI_stack, decl); diff -Nrc3pad gcc-3.3.1/gcc/tree.c gcc-3.3.2/gcc/tree.c *** gcc-3.3.1/gcc/tree.c 2003-06-20 21:18:42.000000000 +0000 --- gcc-3.3.2/gcc/tree.c 2003-08-21 01:50:03.000000000 +0000 *************** const char *flag_random_seed; *** 4351,4357 **** /* Set up a default flag_random_seed value, if there wasn't one already. */ void ! default_flag_random_seed (void) { unsigned HOST_WIDE_INT value; char *new_random_seed; --- 4351,4357 ---- /* Set up a default flag_random_seed value, if there wasn't one already. */ void ! default_flag_random_seed () { unsigned HOST_WIDE_INT value; char *new_random_seed; diff -Nrc3pad gcc-3.3.1/gcc/tree.h gcc-3.3.2/gcc/tree.h *** gcc-3.3.1/gcc/tree.h 2003-06-20 21:18:42.000000000 +0000 --- gcc-3.3.2/gcc/tree.h 2003-10-16 09:33:47.000000000 +0000 *************** struct tree_common GTY(()) *** 174,180 **** TREE_STATIC in VAR_DECL, FUNCTION_DECL, CONSTRUCTOR, ADDR_EXPR TREE_NO_UNUSED_WARNING in ! CONVERT_EXPR, NOP_EXPR, COMPOUND_EXPR TREE_VIA_VIRTUAL in TREE_LIST or TREE_VEC TREE_CONSTANT_OVERFLOW in --- 174,180 ---- TREE_STATIC in VAR_DECL, FUNCTION_DECL, CONSTRUCTOR, ADDR_EXPR TREE_NO_UNUSED_WARNING in ! CONVERT_EXPR, NOP_EXPR, COMPOUND_EXPR, NON_LVALUE_EXPR TREE_VIA_VIRTUAL in TREE_LIST or TREE_VEC TREE_CONSTANT_OVERFLOW in diff -Nrc3pad gcc-3.3.1/gcc/treelang/ChangeLog gcc-3.3.2/gcc/treelang/ChangeLog *** gcc-3.3.1/gcc/treelang/ChangeLog 2003-08-04 12:49:25.000000000 +0000 --- gcc-3.3.2/gcc/treelang/ChangeLog 2003-10-16 19:44:29.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/gcc/unroll.c gcc-3.3.2/gcc/unroll.c *** gcc-3.3.1/gcc/unroll.c 2003-07-21 17:49:59.000000000 +0000 --- gcc-3.3.2/gcc/unroll.c 2003-09-27 17:23:18.000000000 +0000 *************** biv_total_increment (bl) *** 2478,2484 **** if (v->always_computable && v->mult_val == const1_rtx && ! v->maybe_multiple && SCALAR_INT_MODE_P (v->mode)) ! result = fold_rtx_mult_add (result, const1_rtx, v->add_val, v->mode); else return 0; } --- 2478,2490 ---- if (v->always_computable && v->mult_val == const1_rtx && ! v->maybe_multiple && SCALAR_INT_MODE_P (v->mode)) ! { ! /* If we have already counted it, skip it. */ ! if (v->same) ! continue; ! ! result = fold_rtx_mult_add (result, const1_rtx, v->add_val, v->mode); ! } else return 0; } *************** loop_iterations (loop) *** 3539,3544 **** --- 3545,3554 ---- return 0; } + /* If we have already counted it, skip it. */ + if (biv_inc->same) + continue; + offset -= INTVAL (biv_inc->add_val); } } diff -Nrc3pad gcc-3.3.1/gcc/unwind-dw2.c gcc-3.3.2/gcc/unwind-dw2.c *** gcc-3.3.1/gcc/unwind-dw2.c 2003-06-09 21:37:50.000000000 +0000 --- gcc-3.3.2/gcc/unwind-dw2.c 2003-10-01 16:58:35.000000000 +0000 *************** struct _Unwind_Context *** 62,68 **** }; /* Byte size of every register managed by these routines. */ ! static unsigned char dwarf_reg_size_table[DWARF_FRAME_REGISTERS]; /* The result of interpreting the frame unwind info for a frame. --- 62,68 ---- }; /* Byte size of every register managed by these routines. */ ! static unsigned char dwarf_reg_size_table[DWARF_FRAME_REGISTERS+1]; /* The result of interpreting the frame unwind info for a frame. *************** _Unwind_GetGR (struct _Unwind_Context *c *** 171,177 **** _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *context) { ! return (_Unwind_Ptr) context->cfa; } /* Overwrite the saved value for register REG in CONTEXT with VAL. */ --- 171,177 ---- _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *context) { ! return (_Unwind_Word) context->cfa; } /* Overwrite the saved value for register REG in CONTEXT with VAL. */ *************** uw_frame_state_for (struct _Unwind_Conte *** 929,934 **** --- 929,937 ---- context->args_size = 0; context->lsda = 0; + if (context->ra == 0) + return _URC_END_OF_STACK; + fde = _Unwind_Find_FDE (context->ra - 1, &context->bases); if (fde == NULL) { diff -Nrc3pad gcc-3.3.1/gcc/unwind.h gcc-3.3.2/gcc/unwind.h *** gcc-3.3.1/gcc/unwind.h 2003-06-04 04:48:32.000000000 +0000 --- gcc-3.3.2/gcc/unwind.h 2003-09-04 09:39:44.000000000 +0000 *************** _Unwind_GetTextRelBase (struct _Unwind_C *** 210,215 **** --- 210,218 ---- abort (); return 0; } + + /* @@@ Retrieve the Backing Store Pointer of the given context. */ + extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *); #else extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *); extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *); diff -Nrc3pad gcc-3.3.1/gcc/unwind-libunwind.c gcc-3.3.2/gcc/unwind-libunwind.c *** gcc-3.3.1/gcc/unwind-libunwind.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3.2/gcc/unwind-libunwind.c 2003-08-10 23:11:26.000000000 +0000 *************** *** 0 **** --- 1,172 ---- + /* Subroutines needed for unwinding stack frames via the libunwind API. + Copyright (C) 2002, 2003 + Free Software Foundation, Inc. + Contributed by David Mosberger-Tang + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GCC is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING. If not, write to + the Free Software Foundation, 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + /* As a special exception, if you link this library with other files, + some of which are compiled with GCC, to produce an executable, + this library does not by itself cause the resulting executable + to be covered by the GNU General Public License. + This exception does not however invalidate any other reasons why + the executable file might be covered by the GNU General Public License. */ + + #include "tconfig.h" + #include "tsystem.h" + #include "unwind.h" + + #ifndef __USING_SJLJ_EXCEPTIONS__ + + #define UNW_LOCAL_ONLY + + #include + + typedef struct { + _Unwind_Personality_Fn personality; + } _Unwind_FrameState; + + struct _Unwind_Context { + unw_cursor_t cursor; + }; + + + /* First come the helper-routines that are needed by unwind.inc. */ + + static _Unwind_Reason_Code + uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs) + { + unw_proc_info_t pi; + + if (unw_step (&context->cursor) <= 0) + return _URC_END_OF_STACK; + + unw_get_proc_info(&context->cursor, &pi); + fs->personality = (_Unwind_Personality_Fn) pi.handler; + + return _URC_NO_REASON; + } + + #define uw_update_context(context,fs) do { ; } while (0) + + static inline _Unwind_Ptr + uw_identify_context (struct _Unwind_Context *context) + { + unw_word_t ip; + unw_get_reg (&context->cursor, UNW_REG_IP, &ip); + return (_Unwind_Ptr) ip; + } + + #define uw_init_context(context) \ + do \ + { \ + unw_context_t uc; \ + unw_getcontext (&uc); \ + unw_init_local (&(context)->cursor, &uc); \ + } \ + while (0) + + static inline void __attribute__ ((noreturn)) + uw_install_context (struct _Unwind_Context *current __attribute__ ((unused)), + struct _Unwind_Context *target) + { + unw_resume (&(target)->cursor); + abort (); + } + + + /* Now come the helper-routines which may be called from an exception + handler. The interface for these routines are defined by the C++ + ABI. See: http://www.codesourcery.com/cxx-abi/abi-eh.html */ + + _Unwind_Word + _Unwind_GetGR (struct _Unwind_Context *context, int index) + { + unw_word_t ret; + + /* Note: here we depend on the fact that general registers are + expected to start with register number 0! */ + unw_get_reg (&context->cursor, index, &ret); + return ret; + } + + /* Get the value of the CFA as saved in CONTEXT. */ + + _Unwind_Word + _Unwind_GetCFA (struct _Unwind_Context *context) + { + /* ??? Is there any way to get this information? */ + return NULL; + } + + /* Overwrite the saved value for register REG in CONTEXT with VAL. */ + + void + _Unwind_SetGR (struct _Unwind_Context *context, int index, _Unwind_Word val) + { + /* Note: here we depend on the fact that general registers are + expected to start with register number 0! */ + unw_set_reg (&context->cursor, index, val); + } + + /* Retrieve the return address for CONTEXT. */ + + inline _Unwind_Ptr + _Unwind_GetIP (struct _Unwind_Context *context) + { + unw_word_t ret; + + unw_get_reg (&context->cursor, UNW_REG_IP, &ret); + return ret; + } + + /* Overwrite the return address for CONTEXT with VAL. */ + + inline void + _Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val) + { + unw_set_reg (&context->cursor, UNW_REG_IP, val); + } + + void * + _Unwind_GetLanguageSpecificData (struct _Unwind_Context *context) + { + unw_proc_info_t pi; + + unw_get_proc_info(&context->cursor, &pi); + return (void *) pi.lsda; + } + + _Unwind_Ptr + _Unwind_GetRegionStart (struct _Unwind_Context *context) + { + unw_proc_info_t pi; + + unw_get_proc_info(&context->cursor, &pi); + return (_Unwind_Ptr) pi.start_ip; + } + + void * + _Unwind_FindEnclosingFunction (void *pc) + { + return NULL; + } + + #include "unwind.inc" + + #endif /* !__USING_SJLJ_EXCEPTIONS__ */ diff -Nrc3pad gcc-3.3.1/gcc/varasm.c gcc-3.3.2/gcc/varasm.c *** gcc-3.3.1/gcc/varasm.c 2003-07-24 19:11:26.000000000 +0000 --- gcc-3.3.2/gcc/varasm.c 2003-10-02 14:48:44.000000000 +0000 *************** compare_constant (t1, t2) *** 2411,2417 **** if (get_set_constructor_bytes (t2, tmp2, len) != NULL_TREE) return 0; ! return memcmp (tmp1, tmp2, len) != 0; } else { --- 2411,2417 ---- if (get_set_constructor_bytes (t2, tmp2, len) != NULL_TREE) return 0; ! return memcmp (tmp1, tmp2, len) == 0; } else { *************** output_constant_def (exp, defer) *** 2662,2667 **** --- 2662,2668 ---- int labelno = -1; rtx rtl; + /* We can't just use the saved RTL if this is a deferred string constant and we are not to defer anymore. */ if (TREE_CODE (exp) != INTEGER_CST && TREE_CST_RTL (exp) *************** output_constant_def_contents (exp, reloc *** 2825,2830 **** --- 2826,2832 ---- int labelno; { int align; + HOST_WIDE_INT size; /* Align the location counter as required by EXP's data type. */ align = TYPE_ALIGN (TREE_TYPE (exp)); *************** output_constant_def_contents (exp, reloc *** 2842,2858 **** ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT)); } ! /* Output the label itself. */ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LC", labelno); /* Output the value of EXP. */ ! output_constant (exp, ! (TREE_CODE (exp) == STRING_CST ! ? MAX (TREE_STRING_LENGTH (exp), ! int_size_in_bytes (TREE_TYPE (exp))) ! : int_size_in_bytes (TREE_TYPE (exp))), ! align); ! } /* Used in the hash tables to avoid outputting the same constant --- 2844,2867 ---- ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT)); } ! size = int_size_in_bytes (TREE_TYPE (exp)); ! if (TREE_CODE (exp) == STRING_CST) ! size = MAX (TREE_STRING_LENGTH (exp), size); ! ! /* Do any machine/system dependent processing of the constant. */ ! #ifdef ASM_DECLARE_CONSTANT_NAME ! { ! char label[256]; ! ASM_GENERATE_INTERNAL_LABEL (label, "LC", labelno); ! ASM_DECLARE_CONSTANT_NAME (asm_out_file, label, exp, size); ! } ! #else ! /* Standard thing is just output label for the constant. */ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LC", labelno); + #endif /* ASM_DECLARE_CONSTANT_NAME */ /* Output the value of EXP. */ ! output_constant (exp, size, align); } /* Used in the hash tables to avoid outputting the same constant *************** initializer_constant_valid_p (value, end *** 3767,3777 **** || TREE_CODE (TREE_TYPE (value)) == RECORD_TYPE) && TREE_CONSTANT (value) && CONSTRUCTOR_ELTS (value)) ! return ! initializer_constant_valid_p (TREE_VALUE (CONSTRUCTOR_ELTS (value)), ! endtype); ! return TREE_STATIC (value) ? null_pointer_node : 0; case INTEGER_CST: case VECTOR_CST: --- 3776,3802 ---- || TREE_CODE (TREE_TYPE (value)) == RECORD_TYPE) && TREE_CONSTANT (value) && CONSTRUCTOR_ELTS (value)) ! { ! tree elt; ! bool absolute = true; ! for (elt = CONSTRUCTOR_ELTS (value); elt; elt = TREE_CHAIN (elt)) ! { ! tree reloc; ! value = TREE_VALUE (elt); ! reloc = initializer_constant_valid_p (value, TREE_TYPE (value)); ! if (!reloc) ! return NULL_TREE; ! if (reloc != null_pointer_node) ! absolute = false; ! } ! /* For a non-absolute relocation, there is no single ! variable that can be "the variable that determines the ! relocation." */ ! return absolute ? null_pointer_node : error_mark_node; ! } ! ! return TREE_STATIC (value) ? null_pointer_node : NULL_TREE; case INTEGER_CST: case VECTOR_CST: diff -Nrc3pad gcc-3.3.1/gcc/version.c gcc-3.3.2/gcc/version.c *** gcc-3.3.1/gcc/version.c 2003-08-04 12:50:23.000000000 +0000 --- gcc-3.3.2/gcc/version.c 2003-10-16 19:45:43.000000000 +0000 *************** *** 6,12 **** please modify this string to indicate that, e.g. by putting your organization's name in parentheses at the end of the string. */ ! const char version_string[] = "3.3.1"; /* This is the location of the online document giving instructions for reporting bugs. If you distribute a modified version of GCC, --- 6,12 ---- please modify this string to indicate that, e.g. by putting your organization's name in parentheses at the end of the string. */ ! const char version_string[] = "3.3.2"; /* This is the location of the online document giving instructions for reporting bugs. If you distribute a modified version of GCC, diff -Nrc3pad gcc-3.3.1/include/ChangeLog gcc-3.3.2/include/ChangeLog *** gcc-3.3.1/include/ChangeLog 2003-08-04 12:49:29.000000000 +0000 --- gcc-3.3.2/include/ChangeLog 2003-10-16 19:44:34.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/INSTALL/specific.html gcc-3.3.2/INSTALL/specific.html *** gcc-3.3.1/INSTALL/specific.html 2003-08-04 12:58:19.000000000 +0000 --- gcc-3.3.2/INSTALL/specific.html 2003-10-16 20:10:56.000000000 +0000 *************** link with GNU malloc instead of the mall *** 641,653 ****
        !

        i?86-*-sco3.2v4

        ! !

        Use this configuration for SCO release 3.2 version 4. ! !


        ! !

        i?86-*-sco3.2v5*

        Use this for the SCO OpenServer Release 5 family of operating systems. --- 641,647 ----


        !

        i?86-*-sco3.2v5*

        Use this for the SCO OpenServer Release 5 family of operating systems. *************** maintain. GCC now emits only DWARF 2 fo *** 660,726 **** may use either the UDK debugger or GDB to debug programs built by this version of GCC. !

        Use of the -march=pentiumpro flag can result in ! unrecognized opcodes when using the native assembler on OS versions before ! 5.0.6. (Support for P6 opcodes was added to the native ELF assembler in ! that version.) While it's rather rare to see these emitted by GCC yet, ! errors of the basic form: ! !

          /usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip
        !   /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip
        ! 
        ! !

        are symptoms of this problem. You may work around this by not ! building affected files with that flag, by using the GNU assembler, or ! by using the assembler provided with the current version of the OS. ! Users of GNU assembler should see the note below for hazards on doing ! so. ! !

        The native SCO assembler that is provided with the OS at no ! charge is normally required. If, however, you must be able to use ! the GNU assembler (perhaps you're compiling code with asms that ! require GAS syntax) you may configure this package using the flags ! --with-gnu-as. You must ! use a recent version of GNU binutils; versions past 2.9.1 seem to work ! well. ! !

        In general, the --with-gnu-as option isn't as well tested ! as the native assembler. ! !

        Look in gcc/config/i386/sco5.h (search for "messy") for ! additional OpenServer-specific flags. ! !

        Systems based on OpenServer before 5.0.4 (uname -X ! will tell you what you're running) require TLS597 from ! ftp://stage.caldera.com/TLS/ ! for C++ constructors and destructors to work right. ! !

        The system linker in (at least) 5.0.4 and 5.0.5 will sometimes ! do the wrong thing for a construct that GCC will emit for PIC ! code. This can be seen as execution testsuite failures when using ! -fPIC on 921215-1.c, 931002-1.c, nestfunc-1.c, and gcov-1.c. ! For 5.0.5, an updated linker that will cure this problem is ! available. You must install both ! ftp://ftp.sco.com/pub/openserver5/rs505a ! and OSS499A. !

        The dynamic linker in OpenServer 5.0.5 (earlier versions may show ! the same problem) aborts on certain G77-compiled programs. It's particularly ! likely to be triggered by building Fortran code with the -fPIC flag. ! Although it's conceivable that the error could be triggered by other ! code, only G77-compiled code has been observed to cause this abort. ! If you are getting core dumps immediately upon execution of your ! G77 program--and especially if it's compiled with -fPIC--try applying ! sco_osr5_g77.patch to your libf2c and ! rebuilding GCC. ! Affected faults, when analyzed in a debugger, will show a stack ! backtrace with a fault occurring in rtld() and the program ! running as /usr/lib/ld.so.1. This problem has been reported to SCO ! engineering and will hopefully be addressed in later releases.


        !

        i?86-*-udk

        This target emulates the SCO Universal Development Kit and requires that package be installed. (If it is installed, you will have a --- 654,691 ---- may use either the UDK debugger or GDB to debug programs built by this version of GCC. !

        GCC is now only supported on releases 5.0.4 and later, and requires that ! you install Support Level Supplement OSS646B or later, and the latest ! version of the Supplement Graphics, Web and X11 Libraries (GWXLIBS) ! package. If you are using release 5.0.7 of OpenServer, you must have at ! least the first maintenance pack installed (this includes the relevant ! portions of OSS646 and GWXLIBS). OSS646, also known as the "Execution ! Environment Update", provides updated link editors and assemblers, as well ! as updated standard C and math libraries. The C startup modules are also ! updated to support the System V gABI draft, and GCC relies on that ! behavior. GWXLIBS provides a collection of commonly used open source ! libraries, some of which GCC depends on (such as GNU gettext and zlib). ! SCO OpenServer Release 5.0.7 has all of this built in by default, but ! GWXLIBS is significantly updated in Maintenance Pack 1. Please visit ! ftp://ftp.sco.com/pub/openserver5 ! and ! ftp://ftp.sco.com/pub/openserver5/opensrc ! for the latest versions of these (and other potentially useful) supplements. !

        Although there is support for using the native assembler, it is recommended ! that you configure GCC to use the GNU assembler. You do this by using the ! flags --with-gnu-as. You ! should use a modern version of GNU binutils. Version 2.14 was used for all ! testing. In general, only the --with-gnu-as option is tested. A ! modern bintuils (as well as a plethora of other development related GNU ! utilities) can be found in the GNU Development Tools package. See the ! SCO web and ftp sites for details. That package also contains the ! currently "officially supported" version of GCC, version 2.95.3. It is ! useful for bootstrapping this version.


        !

        i?86-*-udk

        This target emulates the SCO Universal Development Kit and requires that package be installed. (If it is installed, you will have a *************** have installed. *** 753,759 ****


        !

        ia64-*-linux

        IA-64 processor (also known as IPF, or Itanium Processor Family) running GNU/Linux. --- 718,724 ----


        !

        ia64-*-linux

        IA-64 processor (also known as IPF, or Itanium Processor Family) running GNU/Linux. *************** ABI changes are expected. *** 777,783 ****


        !

        ia64-*-hpux*

        Building GCC on this target requires the GNU Assembler. The bundled HP assembler will not work. To prevent GCC from using the wrong assembler, --- 742,748 ----


        !

        ia64-*-hpux*

        Building GCC on this target requires the GNU Assembler. The bundled HP assembler will not work. To prevent GCC from using the wrong assembler, *************** is required to build GCC. For GCC 3.3 an *** 789,795 ****


        !

        *-lynx-lynxos

        Support for SPARC LynxOS is obsoleted in GCC 3.3. --- 754,760 ----


        !

        *-lynx-lynxos

        Support for SPARC LynxOS is obsoleted in GCC 3.3. *************** installed tools, which produce a.o *** 803,809 ****


        !

        *-ibm-aix*

        Support for AIX versions 1, 2, and 3 is obsoleted in GCC 3.3. --- 768,774 ----


        !

        *-ibm-aix*

        Support for AIX versions 1, 2, and 3 is obsoleted in GCC 3.3. *************** switch and using the configure option !

        ip2k-*-elf

        Ubicom IP2022 micro controller. This configuration is intended for embedded systems. --- 875,881 ----


        !

        ip2k-*-elf

        Ubicom IP2022 micro controller. This configuration is intended for embedded systems. *************** There are no standard Unix configuration *** 920,933 ****


        !

        m32r-*-elf

        Renesas M32R processor. This configuration is intended for embedded systems.


        !

        m68000-hp-bsd

        Support for this system is obsoleted in GCC 3.3. --- 885,898 ----


        !

        m32r-*-elf

        Renesas M32R processor. This configuration is intended for embedded systems.


        !

        m68000-hp-bsd

        Support for this system is obsoleted in GCC 3.3. *************** to get binaries of GCC for bootstrapping *** 937,957 ****


        !

        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-att-sysv

        Support for this system is obsoleted in GCC 3.3. --- 902,922 ----


        !

        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-att-sysv

        Support for this system is obsoleted in GCC 3.3. *************** bootstrap. Binaries are available from *** 963,969 ****


        !

        m68k-crds-unos

        Support for this system is obsoleted in GCC 3.3. --- 928,934 ----


        !

        m68k-crds-unos

        Support for this system is obsoleted in GCC 3.3. *************** and linking from that library. *** 1002,1008 ****


        !

        m68k-hp-hpux

        HP 9000 series 300 or 400 running HP-UX. HP-UX version 8.0 has a bug in the assembler that prevents compilation of GCC. This --- 967,973 ----


        !

        m68k-hp-hpux

        HP 9000 series 300 or 400 running HP-UX. HP-UX version 8.0 has a bug in the assembler that prevents compilation of GCC. This *************** to look like: *** 1056,1062 ****


        !

        m68k-ncr-*

        Support for this system is obsoleted in GCC 3.3. --- 1021,1027 ----


        !

        m68k-ncr-*

        Support for this system is obsoleted in GCC 3.3. *************** to the configuration file: *** 1072,1078 ****


        !

        m68k-sun

        Support for this system is obsoleted in GCC 3.3. --- 1037,1043 ----


        !

        m68k-sun

        Support for this system is obsoleted in GCC 3.3. *************** point traps inherently cannot work with *** 1082,1088 ****


        !

        m68k-sun-sunos4.1.1

        Support for this system is obsoleted in GCC 3.3. --- 1047,1053 ----


        !

        m68k-sun-sunos4.1.1

        Support for this system is obsoleted in GCC 3.3. *************** point traps inherently cannot work with *** 1090,1096 ****


        !

        mips-*-*

        If on a MIPS system you get an error message saying "does not have gp sections for all it's [sic] sectons [sic]", don't worry about it. This --- 1055,1061 ----


        !

        mips-*-*

        If on a MIPS system you get an error message saying "does not have gp sections for all it's [sic] sectons [sic]", don't worry about it. This *************** work on this is expected in future relea *** 1110,1116 ****


        !

        mips-sgi-irix5

        This configuration has considerable problems, which will be fixed in a future release. --- 1075,1081 ----


        !

        mips-sgi-irix5

        This configuration has considerable problems, which will be fixed in a future release. *************** not have GNU make available *** 1154,1160 ****


        !

        mips-sgi-irix6

        If you are using IRIX cc as your bootstrap compiler, you must ensure that the N32 ABI is in use. To test this, compile a simple C --- 1119,1125 ----


        !

        mips-sgi-irix6

        If you are using IRIX cc as your bootstrap compiler, you must ensure that the N32 ABI is in use. To test this, compile a simple C *************** information about using GCC on IRIX plat *** 1247,1260 ****


        !

        powerpc-*-*

        You can specify a default version for the -mcpu=cpu_type switch by using the configure option --with-cpu-cpu_type.


        !

        powerpc-*-darwin*

        PowerPC running Darwin (Mac OS X kernel). --- 1212,1225 ----


        !

        powerpc-*-*

        You can specify a default version for the -mcpu=cpu_type switch by using the configure option --with-cpu-cpu_type.


        !

        powerpc-*-darwin*

        PowerPC running Darwin (Mac OS X kernel). *************** are generally specific to Mac programmin *** 1278,1290 ****


        !

        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 --- 1243,1255 ----


        !

        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. *** 1292,1298 ****


        !

        powerpc-*-netbsd*

        PowerPC system in big endian mode running NetBSD. To build the documentation you will need Texinfo version 4.2 (NetBSD 1.5.1 included --- 1257,1263 ----


        !

        powerpc-*-netbsd*

        PowerPC system in big endian mode running NetBSD. To build the documentation you will need Texinfo version 4.2 (NetBSD 1.5.1 included *************** Texinfo version 3.12). *** 1300,1357 ****


        !

        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.


        !

        s390-*-linux*

        S/390 system running Linux for S/390.


        !

        s390x-*-linux*

        zSeries system (64-bit) running Linux for zSeries.


        !

        *-*-solaris2*

        Sun does not ship a C compiler with Solaris 2. To bootstrap and install GCC you first have to install a pre-built compiler, see our --- 1265,1322 ----


        !

        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.


        !

        s390-*-linux*

        S/390 system running Linux for S/390.


        !

        s390x-*-linux*

        zSeries system (64-bit) running Linux for zSeries.


        !

        *-*-solaris2*

        Sun does not ship a C compiler with Solaris 2. To bootstrap and install GCC you first have to install a pre-built compiler, see our *************** will assume that any missing type is !

        sparc-sun-solaris2*

        When GCC is configured to use binutils 2.11.2 or later the binaries produced are smaller than the ones produced using Sun's native tools; --- 1379,1385 ----


        !

        sparc-sun-solaris2*

        When GCC is configured to use binutils 2.11.2 or later the binaries produced are smaller than the ones produced using Sun's native tools; *************** that supports only 32-bit binaries, one *** 1447,1453 ****


        !

        sparc-sun-solaris2.7

        Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8 --- 1412,1418 ----


        !

        sparc-sun-solaris2.7

        Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8 *************** libgcc. A typical error message is: *** 1494,1500 ****


        !

        sparc-sun-sunos4*

        Support for this system is obsoleted in GCC 3.3. --- 1459,1465 ----


        !

        sparc-sun-sunos4*

        Support for this system is obsoleted in GCC 3.3. *************** be due to a bug in sh. You *** 1514,1520 ****


        !

        sparc-unknown-linux-gnulibc1

        Support for this system is obsoleted in GCC 3.3. --- 1479,1485 ----


        !

        sparc-unknown-linux-gnulibc1

        Support for this system is obsoleted in GCC 3.3. *************** for this platform, too. *** 1524,1530 ****


        !

        sparc-*-linux*

        GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4 or newer on this platform. All earlier binutils and glibc --- 1489,1495 ----


        !

        sparc-*-linux*

        GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4 or newer on this platform. All earlier binutils and glibc *************** releases mishandled unaligned relocation *** 1532,1538 ****


        !

        sparc64-*-solaris2*

        The following compiler flags must be specified in the configure step in order to bootstrap this target with the Sun compiler: --- 1497,1503 ----


        !

        sparc64-*-solaris2*

        The following compiler flags must be specified in the configure step in order to bootstrap this target with the Sun compiler: *************** specifies the SPARC-V9 architecture to t *** 1545,1557 ****


        !

        sparcv9-*-solaris2*

        This is a synonym for sparc64-*-solaris2*.


        !

        *-*-sysv*

        On System V release 3, you may get this error message while linking: --- 1510,1522 ----


        !

        sparcv9-*-solaris2*

        This is a synonym for sparc64-*-solaris2*.


        !

        *-*-sysv*

        On System V release 3, you may get this error message while linking: *************** is said to work. Smaller values may als *** 1582,1595 ****


        !

        vax-dec-ultrix

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


        !

        xtensa-*-elf

        This target is intended for embedded Xtensa systems using the newlib C library. It uses ELF but does not support shared --- 1547,1560 ----


        !

        vax-dec-ultrix

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


        !

        xtensa-*-elf

        This target is intended for embedded Xtensa systems using the newlib C library. It uses ELF but does not support shared *************** which you can use to replace the default *** 1606,1612 ****


        !

        xtensa-*-linux*

        This target is for Xtensa systems running GNU/Linux. It supports ELF shared objects and the GNU C library (glibc). It also generates --- 1571,1577 ----


        !

        xtensa-*-linux*

        This target is for Xtensa systems running GNU/Linux. It supports ELF shared objects and the GNU C library (glibc). It also generates *************** respects, this target is the same as the *** 1617,1623 ****


        !

        Microsoft Windows (32-bit)

        A port of GCC 2.95.2 and 3.x is included with the Cygwin environment. --- 1582,1588 ----


        !

        Microsoft Windows (32-bit)

        A port of GCC 2.95.2 and 3.x is included with the Cygwin environment. *************** are no plans to make it do so. *** 1630,1636 ****


        !

        OS/2

        GCC does not currently support OS/2. However, Andrew Zabolotny has been working on a generic OS/2 port with pgcc. The current code can be found --- 1595,1601 ----


        !

        OS/2

        GCC does not currently support OS/2. However, Andrew Zabolotny has been working on a generic OS/2 port with pgcc. The current code can be found *************** at Older systems

        GCC contains support files for many older (1980s and early 1990s) Unix variants. For the most part, support for these systems --- 1606,1612 ----


        !

        Older systems

        GCC contains support files for many older (1980s and early 1990s) Unix variants. For the most part, support for these systems *************** current GCC) is to be found in the GCC t *** 1685,1691 ****


        !

        all ELF targets (SVR4, Solaris 2, etc.)

        C++ support is significantly better on ELF targets if you use the GNU linker; duplicate copies of --- 1650,1656 ----


        !

        all ELF targets (SVR4, Solaris 2, etc.)

        C++ support is significantly better on ELF targets if you use the GNU linker; duplicate copies of diff -Nrc3pad gcc-3.3.1/libiberty/ChangeLog gcc-3.3.2/libiberty/ChangeLog *** gcc-3.3.1/libiberty/ChangeLog 2003-08-04 12:49:41.000000000 +0000 --- gcc-3.3.2/libiberty/ChangeLog 2003-10-16 19:44:51.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/libtool.m4 gcc-3.3.2/libtool.m4 *** gcc-3.3.1/libtool.m4 2003-02-20 01:12:47.000000000 +0000 --- gcc-3.3.2/libtool.m4 2003-09-09 08:04:17.000000000 +0000 *************** x86_64-*linux*|ppc*-*linux*|powerpc*-*li *** 199,205 **** x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ! ppc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) --- 199,205 ---- x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ! ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) diff -Nrc3pad gcc-3.3.1/MAINTAINERS gcc-3.3.2/MAINTAINERS *** gcc-3.3.1/MAINTAINERS 2003-07-13 16:16:24.000000000 +0000 --- gcc-3.3.2/MAINTAINERS 2003-08-30 07:48:11.000000000 +0000 *************** fixincludes Bruce Korb bkorb@gnu.org *** 132,138 **** gcse.c Jeff Law law@redhat.com global opt framework Jeff Law law@redhat.com jump.c David S. Miller davem@redhat.com ! web pages Gerald Pfeifer pfeifer@dbai.tuwien.ac.at web pages Janis Johnson janis187@us.ibm.com config.sub/config.guess Ben Elliston config-patches@gnu.org basic block reordering Jason Eckhardt jle@rice.edu --- 132,138 ---- gcse.c Jeff Law law@redhat.com global opt framework Jeff Law law@redhat.com jump.c David S. Miller davem@redhat.com ! web pages Gerald Pfeifer gerald@pfeifer.com web pages Janis Johnson janis187@us.ibm.com config.sub/config.guess Ben Elliston config-patches@gnu.org basic block reordering Jason Eckhardt jle@rice.edu *************** DJGPP DJ Delorie dj@delorie.com *** 144,150 **** libiberty DJ Delorie dj@redhat.com build machinery (*.in) DJ Delorie dj@redhat.com build machinery (*.in) Alexandre Oliva aoliva@redhat.com ! docs co-maintainer Gerald Pfeifer pfeifer@dbai.tuwien.ac.at docs co-maintainer Joseph Myers jsm28@cam.ac.uk Pico-Java port Steve Chamberlain sac@transmeta.com RTEMS Ports Joel Sherrill joel@oarcorp.com --- 144,150 ---- libiberty DJ Delorie dj@redhat.com build machinery (*.in) DJ Delorie dj@redhat.com build machinery (*.in) Alexandre Oliva aoliva@redhat.com ! docs co-maintainer Gerald Pfeifer gerald@pfeifer.com docs co-maintainer Joseph Myers jsm28@cam.ac.uk Pico-Java port Steve Chamberlain sac@transmeta.com RTEMS Ports Joel Sherrill joel@oarcorp.com *************** Laurent Guerby guerby@acm.org *** 188,193 **** --- 188,194 ---- Stuart Hastings stuart@apple.com Matthew Hiller hiller@redhat.com Manfred Hollstein mhollstein@redhat.com + Bernardo Innocenti bernie@develer.com Andreas Jaeger aj@suse.de Fariborz Jahanian fjahanian@apple.com Dale Johannesen dalej@apple.com *************** Rainer Orth ro@TechFak.Uni-Bielefeld *** 223,228 **** --- 224,230 ---- Devang Patel dpatel@apple.com Nicola Pero n.pero@mi.flashnet.it Alexandre Petit-Bianco apbianco@redhat.com + Andrew Pinski pinskia@physics.uc.edu Sebastian Pop s.pop@laposte.net Clinton Popetz cpopetz@cpopetz.com Ken Raeburn raeburn@redhat.com diff -Nrc3pad gcc-3.3.1/maintainer-scripts/ChangeLog gcc-3.3.2/maintainer-scripts/ChangeLog *** gcc-3.3.1/maintainer-scripts/ChangeLog 2003-08-04 12:50:15.000000000 +0000 --- gcc-3.3.2/maintainer-scripts/ChangeLog 2003-10-16 19:45:36.000000000 +0000 *************** *** 1,3 **** --- 1,12 ---- + 2003-10-16 Release Manager + + * GCC 3.3.2 Released. + + 2003-08-08 Mark Mitchell + + * gcc_release: Correct logic for updating version.c. Put + prereleases into a subdirectory. + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff -Nrc3pad gcc-3.3.1/maintainer-scripts/gcc_release gcc-3.3.2/maintainer-scripts/gcc_release *** gcc-3.3.1/maintainer-scripts/gcc_release 2003-06-29 09:12:10.000000000 +0000 --- gcc-3.3.2/maintainer-scripts/gcc_release 2003-08-08 16:26:01.000000000 +0000 *************** EOF *** 130,136 **** for x in gcc/version.c; do y=`basename ${x}` (changedir `dirname ${SOURCE_DIRECTORY}/${x}` && \ ! sed -e 's|= \".*\"|= \"'${RELEASE}'\"|g' < ${y} > ${y}.new && \ mv ${y}.new ${y} && \ ${CVS} ci -m 'Update version' ${y}) || \ error "Could not update ${x}" --- 130,136 ---- for x in gcc/version.c; do y=`basename ${x}` (changedir `dirname ${SOURCE_DIRECTORY}/${x}` && \ ! sed -e 's|version_string\[\] = \".*\"|version_string\[\] = \"'${RELEASE}'\"|g' < ${y} > ${y}.new && \ mv ${y}.new ${y} && \ ${CVS} ci -m 'Update version' ${y}) || \ error "Could not update ${x}" *************** if [ $SNAPSHOT -eq 0 ]; then *** 515,521 **** # If this is not a final release, set various parameters acordingly. if [ ${FINAL} -ne 1 ]; then RELEASE="${RELEASE}-${DATE}" ! FTP_PATH="${FTP_PATH}/snapshots/" else FTP_PATH="${FTP_PATH}/releases/gcc-${RELEASE}/" fi --- 515,521 ---- # If this is not a final release, set various parameters acordingly. if [ ${FINAL} -ne 1 ]; then RELEASE="${RELEASE}-${DATE}" ! FTP_PATH="${FTP_PATH}/prerelease-${RELEASE}/" else FTP_PATH="${FTP_PATH}/releases/gcc-${RELEASE}/" fi