diff -Nrcpad gcc-4.3.3/ChangeLog gcc-4.3.4/ChangeLog *** gcc-4.3.3/ChangeLog Sat Jan 24 10:18:53 2009 --- gcc-4.3.4/ChangeLog Tue Aug 4 11:01:34 2009 *************** *** 1,3 **** --- 1,21 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + + 2009-04-25 Kaveh R. Ghazi + + PR bootstrap/39739 + * configure.ac (extra_mpfr_configure_flags): Set and AC_SUBST. + * Makefile.def (module=mpfr): Use extra_mpfr_configure_flags. + + * configure, Makefile.in: Regenerate. + + 2009-02-05 Andreas Schwab + + * Makefile.tpl (stage_last): Define $r and $s before using + $(RECURSE_FLAGS_TO_PASS). + * Makefile.in: Regenerate + 2009-01-24 Release Manager * GCC 4.3.3 released. *************** *** 241,247 **** * Makefile.def: Add libgomp config as a maybe dependency for libstdc++. * configure: Regenerate. * Makefile.in: Regenerate. ! 2007-09-17 Andreas Schwab * configure.ac: Raise minimum makeinfo version to 4.6. --- 259,265 ---- * Makefile.def: Add libgomp config as a maybe dependency for libstdc++. * configure: Regenerate. * Makefile.in: Regenerate. ! 2007-09-17 Andreas Schwab * configure.ac: Raise minimum makeinfo version to 4.6. *************** *** 433,445 **** * configure.ac: Likewise. * Makefile.in: Regenerate. * configure: Regenerate. ! 2007-06-28 DJ Delorie * configure.ac (arm*-*-linux-gnueabi): Don't build libgloss if we're not building newlib. * configure: Regenerated. ! 2007-06-28 Jan Sjodin * MAINTAINERS (Write After Approval): Add myself. --- 451,463 ---- * configure.ac: Likewise. * Makefile.in: Regenerate. * configure: Regenerate. ! 2007-06-28 DJ Delorie * configure.ac (arm*-*-linux-gnueabi): Don't build libgloss if we're not building newlib. * configure: Regenerated. ! 2007-06-28 Jan Sjodin * MAINTAINERS (Write After Approval): Add myself. *************** *** 618,624 **** 2007-04-04 Christian Bruel * MAINTAINERS (Write After Approval): Add myself. ! 2007-04-02 Dave Korn * MAINTAINERS (Write After Approval): Add myself. --- 636,642 ---- 2007-04-04 Christian Bruel * MAINTAINERS (Write After Approval): Add myself. ! 2007-04-02 Dave Korn * MAINTAINERS (Write After Approval): Add myself. *************** *** 630,636 **** 2007-03-28 Dwarakanath Rajagopal * MAINTAINERS (Write After Approval): Add myself. ! 2007-03-24 Ayal Zaks * MAINTAINERS (Modulo Scheduler): Add myself. --- 648,654 ---- 2007-03-28 Dwarakanath Rajagopal * MAINTAINERS (Write After Approval): Add myself. ! 2007-03-24 Ayal Zaks * MAINTAINERS (Modulo Scheduler): Add myself. diff -Nrcpad gcc-4.3.3/LAST_UPDATED gcc-4.3.4/LAST_UPDATED *** gcc-4.3.3/LAST_UPDATED Sat Jan 24 10:32:30 2009 --- gcc-4.3.4/LAST_UPDATED Tue Aug 4 11:29:14 2009 *************** *** 1 **** ! Obtained from SVN: tags/gcc_4_3_3_release revision 143643 --- 1 ---- ! Obtained from SVN: branches/gcc-4_3-branch revision 150451 diff -Nrcpad gcc-4.3.3/MD5SUMS gcc-4.3.4/MD5SUMS *** gcc-4.3.3/MD5SUMS Sat Jan 24 12:39:59 2009 --- gcc-4.3.4/MD5SUMS Tue Aug 4 13:34:45 2009 *************** *** 1,5 **** # This file contains the MD5 checksums of the files in the ! # gcc-4.3.3.tar.bz2 tarball. # # Besides verifying that all files in the tarball were correctly expanded, # it also can be used to determine if any files have changed since the --- 1,5 ---- # This file contains the MD5 checksums of the files in the ! # gcc-4.3.4.tar.bz2 tarball. # # Besides verifying that all files in the tarball were correctly expanded, # it also can be used to determine if any files have changed since the *************** *** 13,19 **** 2d5025d4aa3495befef8f17206a5b0a1 COPYING.LIB d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! 0755c7d4109c19aa1e3b52077ddf5075 ChangeLog 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 23b8927fe1fb0ab321c09a4f0500aa4c INSTALL/README 67a0b45d1f2750fce8fc6639995bd814 INSTALL/binaries.html --- 13,19 ---- 2d5025d4aa3495befef8f17206a5b0a1 COPYING.LIB d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! fdaf08dd3d9552749aec70650be02e44 ChangeLog 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 23b8927fe1fb0ab321c09a4f0500aa4c INSTALL/README 67a0b45d1f2750fce8fc6639995bd814 INSTALL/binaries.html *************** b48c53961c98571a5108cd1ff28acbd0 INSTAL *** 27,43 **** 971c4e5b9c9a6f5137aad6a1651ce76b INSTALL/prerequisites.html fa427def053af69e86566086cbff8930 INSTALL/specific.html 2d062c16cdaa1ed5c64faa49cd6e6884 INSTALL/test.html ! aba287cc5e8ce692d75cdc23da16ce75 LAST_UPDATED 0c14f171214a259143713f0f5a3699d6 MAINTAINERS ! dfbc0d32237066a570c7331431868e31 Makefile.def ! 8d1a9bd130649a95ef640ffbb14b901b Makefile.in ! 2feb64145d8a6d32a7130e4c0ffc5e32 Makefile.tpl ! 4cef774852f4db30ea8e825cc5d49e63 NEWS 750a7546d281ac42eb2ce87949457731 README de94b5f5c3d835b587741180b2ded958 README.SCO b510a5285eb05298b5f3d9f5ae920588 boehm-gc/AmigaOS.c 2caafacabf758bb76a9dfce1fc544b97 boehm-gc/BCC_MAKEFILE ! 1d402c96d3b99f3a34d55cf0d91b0b89 boehm-gc/ChangeLog c18075e3729cd116028480307a8e845d boehm-gc/EMX_MAKEFILE 3b7cc3be9ed3c2135bbda990e8a69303 boehm-gc/MacOS.c 5cf7764626b7dd7272b2fe11403d1b6a boehm-gc/MacProjects.sit.hqx --- 27,43 ---- 971c4e5b9c9a6f5137aad6a1651ce76b INSTALL/prerequisites.html fa427def053af69e86566086cbff8930 INSTALL/specific.html 2d062c16cdaa1ed5c64faa49cd6e6884 INSTALL/test.html ! 854c755e55d27ccc3532261464885dd3 LAST_UPDATED 0c14f171214a259143713f0f5a3699d6 MAINTAINERS ! c0b9d966a1f2a2cc93b311ea4cfb5527 Makefile.def ! df0c43640884da9fb3f8e6a0e3337ab9 Makefile.in ! bd8431d7b5d9027366af318c226f79a6 Makefile.tpl ! b75c30efcbfe5f22f7d2c12e42bd0d3a NEWS 750a7546d281ac42eb2ce87949457731 README de94b5f5c3d835b587741180b2ded958 README.SCO b510a5285eb05298b5f3d9f5ae920588 boehm-gc/AmigaOS.c 2caafacabf758bb76a9dfce1fc544b97 boehm-gc/BCC_MAKEFILE ! 11fd4ed4c81b69e045ed7c074ab44946 boehm-gc/ChangeLog c18075e3729cd116028480307a8e845d boehm-gc/EMX_MAKEFILE 3b7cc3be9ed3c2135bbda990e8a69303 boehm-gc/MacOS.c 5cf7764626b7dd7272b2fe11403d1b6a boehm-gc/MacProjects.sit.hqx *************** ccc4e9a52aa294110431eb9aead00666 boehm- *** 67,74 **** a2ed02a22235b4f27ab644ce4f3a9268 boehm-gc/blacklst.c b19b7b67bff97d0bceba827fedb07d32 boehm-gc/callprocs 32e4857b7b4dbc4bc68e321f70f65dd4 boehm-gc/checksums.c ! fec10fd7968180549f0fc53602f18359 boehm-gc/configure ! 26e62e6b93b28e19dd2cf365b94006d3 boehm-gc/configure.ac 56328341fbfbe66715779252aa61943e boehm-gc/configure.host 61ccb6486d45cc6d99201cc19f3c579c boehm-gc/cord/cordbscs.c a055ef9f1010ad5759ff5c71630d6b50 boehm-gc/cord/cordprnt.c --- 67,74 ---- a2ed02a22235b4f27ab644ce4f3a9268 boehm-gc/blacklst.c b19b7b67bff97d0bceba827fedb07d32 boehm-gc/callprocs 32e4857b7b4dbc4bc68e321f70f65dd4 boehm-gc/checksums.c ! 3361522b62dda793d0a1e77c5087db52 boehm-gc/configure ! 540fca64ded7c6dd0f881eb84177cec6 boehm-gc/configure.ac 56328341fbfbe66715779252aa61943e boehm-gc/configure.host 61ccb6486d45cc6d99201cc19f3c579c boehm-gc/cord/cordbscs.c a055ef9f1010ad5759ff5c71630d6b50 boehm-gc/cord/cordprnt.c *************** a48113a06665f2c4c3281455fadcb2b2 config *** 207,213 **** 19636c52c484cd2a755b9f2ac658257d config.guess 46f36a6ce11978ea07e2199f3c5cd665 config.rpath badd56af78d80c8a8492b391f6eba3b6 config.sub ! b64899ca39595c9799c6d04b185596c2 config/ChangeLog 6c7b0890dc93bdd97ec3e90d8436b384 config/acinclude.m4 a83e49e470046e608dc8116398077284 config/acx.m4 04bdbef77f5fd2e282f7dee0bde60444 config/codeset.m4 --- 207,213 ---- 19636c52c484cd2a755b9f2ac658257d config.guess 46f36a6ce11978ea07e2199f3c5cd665 config.rpath badd56af78d80c8a8492b391f6eba3b6 config.sub ! efe0c76ab91efca391ea38722c53fac1 config/ChangeLog 6c7b0890dc93bdd97ec3e90d8436b384 config/acinclude.m4 a83e49e470046e608dc8116398077284 config/acx.m4 04bdbef77f5fd2e282f7dee0bde60444 config/codeset.m4 *************** e1ed6ed2bd6dfcb906a46bafb1bea846 config *** 280,288 **** 6b1c349fb182e74fbc464c50c88fe2ee config/ulonglong.m4 1a61c5f6c3c36d81b30ac9216d40fe68 config/unwind_ipinfo.m4 29b370c5ada7de5cd0b45d779dc9f3fe config/warnings.m4 ! 059966a81bc122cbc75dcc55496be834 configure ! 61ba4ff870c0e55eb9f7d2e3611c4691 configure.ac ! e48e41fa5b75b6d2e0633cb916b6c585 contrib/ChangeLog 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa e0ea80d7094bf66610f2f60db444f9a1 contrib/analyze_brprob 6a4331d29aa3c007efbffd7b12269c78 contrib/check_warning_flags.sh --- 280,288 ---- 6b1c349fb182e74fbc464c50c88fe2ee config/ulonglong.m4 1a61c5f6c3c36d81b30ac9216d40fe68 config/unwind_ipinfo.m4 29b370c5ada7de5cd0b45d779dc9f3fe config/warnings.m4 ! 324a76f89938cd96728ea90aac637e55 configure ! e915b60f324692dae9fc73d8ed1c6b02 configure.ac ! 60bb7a193e91d99db41c0ea9eac9271c contrib/ChangeLog 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa e0ea80d7094bf66610f2f60db444f9a1 contrib/analyze_brprob 6a4331d29aa3c007efbffd7b12269c78 contrib/check_warning_flags.sh *************** fa945bac89ee68b410027dcfe1312f4b contri *** 306,317 **** b747c8d95bb7534c2c0f5af32ae32520 contrib/paranoia.cc 9ee9d54f7df65b317c4f2347872a2f19 contrib/patch_tester.sh 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh ! 56ca2a23165c20a052a633e8d92b4df7 contrib/reghunt/ChangeLog ab31219466ac7df2a1aa15900540bc8a contrib/reghunt/README b66cd5ab901ec3494fd700125172dba0 contrib/reghunt/reg_periodic 624a99f8c633cfc4182fbe09295d30eb contrib/reghunt/reg_search d3dd0bcec99c2e140b86efb5f63860b4 contrib/reghunt/reg_test_template ! dbdddd0f2e8f16a1ca27295032974e89 contrib/regression/ChangeLog 30553bfced1b2b46bf7ca01ef6ba69d1 contrib/regression/GCC_Regression_Tester.wdgt/Default.png ad38ddd771df222eb9d413e3c7f6a751 contrib/regression/GCC_Regression_Tester.wdgt/Icon.png 777bd286c147cc02861811f66b9a4440 contrib/regression/GCC_Regression_Tester.wdgt/Info.plist --- 306,317 ---- b747c8d95bb7534c2c0f5af32ae32520 contrib/paranoia.cc 9ee9d54f7df65b317c4f2347872a2f19 contrib/patch_tester.sh 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh ! 1880a82afbb1e430afc02be7e6e59adc contrib/reghunt/ChangeLog ab31219466ac7df2a1aa15900540bc8a contrib/reghunt/README b66cd5ab901ec3494fd700125172dba0 contrib/reghunt/reg_periodic 624a99f8c633cfc4182fbe09295d30eb contrib/reghunt/reg_search d3dd0bcec99c2e140b86efb5f63860b4 contrib/reghunt/reg_test_template ! 846bd0f84665f46b2ed82038a7bee194 contrib/regression/ChangeLog 30553bfced1b2b46bf7ca01ef6ba69d1 contrib/regression/GCC_Regression_Tester.wdgt/Default.png ad38ddd771df222eb9d413e3c7f6a751 contrib/regression/GCC_Regression_Tester.wdgt/Icon.png 777bd286c147cc02861811f66b9a4440 contrib/regression/GCC_Regression_Tester.wdgt/Info.plist *************** d6602a74dd4cda0fc05f5a37db50bda9 contri *** 329,335 **** e00fa8f7dd72b80ca5a64130e85fe4f4 contrib/uninclude 7cb42cbdf8becd280d1e16191416fb62 contrib/warn_summary a9c51bc6c9c6d9b9d010ccd8bb4b465a depcomp ! 4001f14ddad5e2ad066c72d837567f83 fixincludes/ChangeLog fa393c8e61e7c321f82dff735cc2ac7d fixincludes/Makefile.in 90d82f1be59d23a26a23bcd9df46706a fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc --- 329,335 ---- e00fa8f7dd72b80ca5a64130e85fe4f4 contrib/uninclude 7cb42cbdf8becd280d1e16191416fb62 contrib/warn_summary a9c51bc6c9c6d9b9d010ccd8bb4b465a depcomp ! e7c8277c3ec01270ee65c46159f2efb1 fixincludes/ChangeLog fa393c8e61e7c321f82dff735cc2ac7d fixincludes/Makefile.in 90d82f1be59d23a26a23bcd9df46706a fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc *************** b6494e752821a4f87a2114c27143856c fixinc *** 448,459 **** 4f59f83f073afacc3f59c39952ec8a7b fixincludes/tests/base/wchar.h f86a4ea6000eba71d34c1b9a7bcd2c14 fixincludes/tests/base/widec.h 174528657da1f7a179a039941810b764 gcc/ABOUT-GCC-NLS ! 64c775759fad32e9e09af3506400a06c gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 9e26db3aa17d48e3b189c0fa022b417f gcc/ChangeLog 0bb7e37d0205edea285403fa046364e9 gcc/ChangeLog-1997 3a822f7377be7a932e2cbeef86d78d2c gcc/ChangeLog-1998 261732ce4d6e6492812f8c483f59affd gcc/ChangeLog-1999 --- 448,459 ---- 4f59f83f073afacc3f59c39952ec8a7b fixincludes/tests/base/wchar.h f86a4ea6000eba71d34c1b9a7bcd2c14 fixincludes/tests/base/widec.h 174528657da1f7a179a039941810b764 gcc/ABOUT-GCC-NLS ! ee1ddae29dbae4b8f09adc03aedd9b0f gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 50f053593fa2384f7e8d58562580d4b5 gcc/ChangeLog 0bb7e37d0205edea285403fa046364e9 gcc/ChangeLog-1997 3a822f7377be7a932e2cbeef86d78d2c gcc/ChangeLog-1998 261732ce4d6e6492812f8c483f59affd gcc/ChangeLog-1999 *************** e649421249dbdf9fd4365c4260af8006 gcc/Ch *** 469,491 **** 98c5a6533d7e4507aba5dc4fd06014ed gcc/ChangeLog.lib 206522a420b17e10401cce46f983e2ce gcc/ChangeLog.ptr f4dab29fb2c10234cb64e9c59a62f716 gcc/ChangeLog.tree-ssa ! a9ce0c7eed0626612b95e5cfecf69286 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE 4804423c755a929408412852eb45e422 gcc/FSFChangeLog 5af5721f6387aa8aa5fb200e025dd573 gcc/FSFChangeLog.10 f7f665544fb6aa08551b37283f6c56de gcc/FSFChangeLog.11 d6c8d8f4cf325cd24a60d312bb247f46 gcc/LANGUAGES ! 13a3d7edf1998bad8cfd6e2a3dbdf369 gcc/Makefile.in 00919fda1a585fdc4a1be1fec2eeb0bb gcc/ONEWS f88d9228718a255b827d6f417063d62d gcc/README.Portability fdb044c7582c45f255d1bbdd181f361e gcc/acinclude.m4 171c0b7764bae35341a0ab3c192c3769 gcc/aclocal.m4 77492b396c4c22cfc4eb0b2a94997b37 gcc/ada/9drpc.adb ! a090e304941471ab8260820f385f1a58 gcc/ada/ChangeLog db29b806fe4875216261833e56bcbf1d gcc/ada/ChangeLog.ptr ea6b5429aa670cb6f1b4f72087be2656 gcc/ada/ChangeLog.tree-ssa 67804fb997a2b64f91a133a0802e1dc1 gcc/ada/Make-lang.in ! 4793dadb37405d6dd01595a9c6683cd6 gcc/ada/Makefile.in 83fa0a1d26b6869e2261ac9dc36c6a84 gcc/ada/Makefile.rtl 580a66170c816920aad1a80c4185ab83 gcc/ada/a-assert.adb 9b16cafb6450a8642660e375079cde96 gcc/ada/a-assert.ads --- 469,491 ---- 98c5a6533d7e4507aba5dc4fd06014ed gcc/ChangeLog.lib 206522a420b17e10401cce46f983e2ce gcc/ChangeLog.ptr f4dab29fb2c10234cb64e9c59a62f716 gcc/ChangeLog.tree-ssa ! 8a3989d38ffef54f5833bb4387b5b435 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE 4804423c755a929408412852eb45e422 gcc/FSFChangeLog 5af5721f6387aa8aa5fb200e025dd573 gcc/FSFChangeLog.10 f7f665544fb6aa08551b37283f6c56de gcc/FSFChangeLog.11 d6c8d8f4cf325cd24a60d312bb247f46 gcc/LANGUAGES ! 114d5fa2b0d1dd071bc28ae6e17e9ce6 gcc/Makefile.in 00919fda1a585fdc4a1be1fec2eeb0bb gcc/ONEWS f88d9228718a255b827d6f417063d62d gcc/README.Portability fdb044c7582c45f255d1bbdd181f361e gcc/acinclude.m4 171c0b7764bae35341a0ab3c192c3769 gcc/aclocal.m4 77492b396c4c22cfc4eb0b2a94997b37 gcc/ada/9drpc.adb ! 49fe4b56d540d79d839aefa764bf9c30 gcc/ada/ChangeLog db29b806fe4875216261833e56bcbf1d gcc/ada/ChangeLog.ptr ea6b5429aa670cb6f1b4f72087be2656 gcc/ada/ChangeLog.tree-ssa 67804fb997a2b64f91a133a0802e1dc1 gcc/ada/Make-lang.in ! 2ae8b939afac52df6eb34656de8d35f9 gcc/ada/Makefile.in 83fa0a1d26b6869e2261ac9dc36c6a84 gcc/ada/Makefile.rtl 580a66170c816920aad1a80c4185ab83 gcc/ada/a-assert.adb 9b16cafb6450a8642660e375079cde96 gcc/ada/a-assert.ads *************** e124b274fca53866209e09112a3e4337 gcc/ad *** 2244,2257 **** cbdd4589d7a530db398d978fdc6d0981 gcc/ada/system-hpux.ads 1d181cd030e15d23f04c08d1aa2b5499 gcc/ada/system-irix-n32.ads b3c18e19efb8dfb095176dd3c669e89f gcc/ada/system-irix-o32.ads ! b4c14323a7328b554f642d7773be162e gcc/ada/system-linux-alpha.ads 5cf59e240c949efed0d02dfec9082468 gcc/ada/system-linux-hppa.ads 03f665807c6f9dc11fb6befd5bc0b5e8 gcc/ada/system-linux-ia64.ads 10f70ccb273cadbf7360d11cbcfbdb5a gcc/ada/system-linux-ppc.ads ! 1eb97ff431404fa1021c56e7ade43721 gcc/ada/system-linux-s390.ads ! fd7878e3a3da2fcfcd81063b56cf43bb gcc/ada/system-linux-s390x.ads f673794e50360104433efd2a8994b578 gcc/ada/system-linux-sh4.ads ! 65a3219c26a90650c688ca697f263e92 gcc/ada/system-linux-sparc.ads 6a6ee72f419821668d4f8b8ca7f28ca3 gcc/ada/system-linux-x86.ads 04e2327c360e60fd1c7268d8f5710898 gcc/ada/system-linux-x86_64.ads c16e06bf3b74a98d4bd67f97b71b2fff gcc/ada/system-lynxos-ppc.ads --- 2244,2257 ---- cbdd4589d7a530db398d978fdc6d0981 gcc/ada/system-hpux.ads 1d181cd030e15d23f04c08d1aa2b5499 gcc/ada/system-irix-n32.ads b3c18e19efb8dfb095176dd3c669e89f gcc/ada/system-irix-o32.ads ! b708f29e365d415b4d78481808e3b764 gcc/ada/system-linux-alpha.ads 5cf59e240c949efed0d02dfec9082468 gcc/ada/system-linux-hppa.ads 03f665807c6f9dc11fb6befd5bc0b5e8 gcc/ada/system-linux-ia64.ads 10f70ccb273cadbf7360d11cbcfbdb5a gcc/ada/system-linux-ppc.ads ! 3c56cc3b4ebae62baf522bce1aa06e01 gcc/ada/system-linux-s390.ads ! d1257d70ff341706008c910400bdef5f gcc/ada/system-linux-s390x.ads f673794e50360104433efd2a8994b578 gcc/ada/system-linux-sh4.ads ! b14be0b484c4be3c1c116e5064cf4008 gcc/ada/system-linux-sparc.ads 6a6ee72f419821668d4f8b8ca7f28ca3 gcc/ada/system-linux-x86.ads 04e2327c360e60fd1c7268d8f5710898 gcc/ada/system-linux-x86_64.ads c16e06bf3b74a98d4bd67f97b71b2fff gcc/ada/system-lynxos-ppc.ads *************** b8b0f9c3471d18ee5ac33521fe6f6d31 gcc/ad *** 2317,2323 **** 7cf1cd2fe3fa0a2276421d2bd50bbc18 gcc/ada/urealp.h 87b708f889ee9e800d304c83652aaea9 gcc/ada/usage.adb 079b8a31eacee5a24dc1371643456229 gcc/ada/usage.ads ! 1c5476acf318699f941e0753f61a534e gcc/ada/utils.c cee4b73a272b8b6970c814519536ef3e gcc/ada/utils2.c 77ccdc7586752bc94dd72e43e5c446cc gcc/ada/validsw.adb 3cc63e14ed66724bc27639f677492546 gcc/ada/validsw.ads --- 2317,2323 ---- 7cf1cd2fe3fa0a2276421d2bd50bbc18 gcc/ada/urealp.h 87b708f889ee9e800d304c83652aaea9 gcc/ada/usage.adb 079b8a31eacee5a24dc1371643456229 gcc/ada/usage.ads ! f0429a52555aba5205d2b7dcfa91b32a gcc/ada/utils.c cee4b73a272b8b6970c814519536ef3e gcc/ada/utils2.c 77ccdc7586752bc94dd72e43e5c446cc gcc/ada/validsw.adb 3cc63e14ed66724bc27639f677492546 gcc/ada/validsw.ads *************** ceaed33f0a147df9d47e9ed0375bb69e gcc/ad *** 2339,2345 **** 9a1cf70c269f455ee0c531d30d7f41f9 gcc/ada/xsnames.adb 4ee0de3d922d3d8ce12f39674ec8b9e9 gcc/ada/xtreeprs.adb c3fbd4434fd5a2fe96e64055b2d4a6df gcc/addresses.h ! 9b241846a6e10f667dad7062bdef77d8 gcc/alias.c f19d0562b31cb8bc35cc18640826eb0f gcc/alias.h f5e79082050646594c62ed9a73b9e90c gcc/alloc-pool.c f8232afc6d7363b97fafb1dd6776af76 gcc/alloc-pool.h --- 2339,2345 ---- 9a1cf70c269f455ee0c531d30d7f41f9 gcc/ada/xsnames.adb 4ee0de3d922d3d8ce12f39674ec8b9e9 gcc/ada/xtreeprs.adb c3fbd4434fd5a2fe96e64055b2d4a6df gcc/addresses.h ! 2038de740a2fb2c48fa32d2cfe92d690 gcc/alias.c f19d0562b31cb8bc35cc18640826eb0f gcc/alias.h f5e79082050646594c62ed9a73b9e90c gcc/alloc-pool.c f8232afc6d7363b97fafb1dd6776af76 gcc/alloc-pool.h *************** ac07dddec949af2d44f3dab07d7fcd3c gcc/bi *** 2352,2367 **** 94d6d0baf510d94ab73a013daf612341 gcc/bt-load.c 0339c58e1c47c12bd2c46c1a5f7b31c9 gcc/builtin-attrs.def 7d745c6ae13bdd5cd75d7f21c74cab10 gcc/builtin-types.def ! ec051fc31669effb1f278263aade6459 gcc/builtins.c a6c3a08bd2ab49711c0414aa43b851c5 gcc/builtins.def 73e94fd7d8fb1829d449a3e30e2afe5b gcc/c-aux-info.c ! 1e1ae8ab086b4d5141f0a1c3c37f7c5b gcc/c-common.c 3087eb6dfdb77b30e46747d87e22c86e gcc/c-common.def 5243abdd9a606a01a8483dbcbf97d196 gcc/c-common.h 2ceb08a28d11926cd88da8c96f18c4c7 gcc/c-config-lang.in 4dcbdb27df30d380f867ba7970f66b1f gcc/c-convert.c ba208dd2287eff4951482a9307851ae2 gcc/c-cppbuiltin.c ! 591bb4ceaeb16ba44b94f38cffdec4dd gcc/c-decl.c b5ae9db64c1aa1cc8f8d8172f9f35e8c gcc/c-dump.c 81c4fa301a8756eb88afb800664e6ef4 gcc/c-errors.c 8a0760fdf5577736a054feb135b6d73a gcc/c-format.c --- 2352,2367 ---- 94d6d0baf510d94ab73a013daf612341 gcc/bt-load.c 0339c58e1c47c12bd2c46c1a5f7b31c9 gcc/builtin-attrs.def 7d745c6ae13bdd5cd75d7f21c74cab10 gcc/builtin-types.def ! 6531da9a582761415a228207ab663746 gcc/builtins.c a6c3a08bd2ab49711c0414aa43b851c5 gcc/builtins.def 73e94fd7d8fb1829d449a3e30e2afe5b gcc/c-aux-info.c ! db6cfc34999b850ff389e92b13ec0049 gcc/c-common.c 3087eb6dfdb77b30e46747d87e22c86e gcc/c-common.def 5243abdd9a606a01a8483dbcbf97d196 gcc/c-common.h 2ceb08a28d11926cd88da8c96f18c4c7 gcc/c-config-lang.in 4dcbdb27df30d380f867ba7970f66b1f gcc/c-convert.c ba208dd2287eff4951482a9307851ae2 gcc/c-cppbuiltin.c ! d42354c8eb98575ebed5f168cc182c76 gcc/c-decl.c b5ae9db64c1aa1cc8f8d8172f9f35e8c gcc/c-dump.c 81c4fa301a8756eb88afb800664e6ef4 gcc/c-errors.c 8a0760fdf5577736a054feb135b6d73a gcc/c-format.c *************** cdb8c562886ce7a3ade4c55b29a401c2 gcc/c- *** 2375,2381 **** 246c5168bf4f40e62c3c901c1345d22e gcc/c-objc-common.h c6483157f4eb6c403bf61b8435dae3ba gcc/c-omp.c c00fc4f3f79d9e5c04096f1a004da410 gcc/c-opts.c ! 3590b3e24a31504a4132555fbd7962de gcc/c-parser.c ac7ac4032fa2681216ae1897d81eb26e gcc/c-pch.c 01c37f13db14156ec83cd5905a9a5fe8 gcc/c-ppoutput.c 45d41e840f67aae5607519f4963bee5d gcc/c-pragma.c --- 2375,2381 ---- 246c5168bf4f40e62c3c901c1345d22e gcc/c-objc-common.h c6483157f4eb6c403bf61b8435dae3ba gcc/c-omp.c c00fc4f3f79d9e5c04096f1a004da410 gcc/c-opts.c ! f1b8acb78ecade7ee6f189cf40b5a22a gcc/c-parser.c ac7ac4032fa2681216ae1897d81eb26e gcc/c-pch.c 01c37f13db14156ec83cd5905a9a5fe8 gcc/c-ppoutput.c 45d41e840f67aae5607519f4963bee5d gcc/c-pragma.c *************** ac7ac4032fa2681216ae1897d81eb26e gcc/c- *** 2384,2393 **** f8631d6672a1d2dd1e0cec443fc0d3a2 gcc/c-pretty-print.h 9f9987d1988364aafc6c78d81fc03052 gcc/c-semantics.c 9cce0ef36916cc500e08604143126647 gcc/c-tree.h ! 1d178dfadae287bfe4a0f0c6f8e871a2 gcc/c-typeck.c 85f6bbd4691daebc5654de7dc8fb1de4 gcc/c.opt 9f8bda6bc16c84e1bb2482808c412e35 gcc/caller-save.c ! 4d1054315e71c8f949b392b42518560e gcc/calls.c 69f352f7990eba6db55901d79b61ab72 gcc/cfg.c 72fa3eed9d7cc1155bf0d12f6f570fa2 gcc/cfganal.c 42f045a831fa5cf4a07d0233d7af9776 gcc/cfgbuild.c --- 2384,2393 ---- f8631d6672a1d2dd1e0cec443fc0d3a2 gcc/c-pretty-print.h 9f9987d1988364aafc6c78d81fc03052 gcc/c-semantics.c 9cce0ef36916cc500e08604143126647 gcc/c-tree.h ! 23a82b19481f8d4c6e8bd390444362c0 gcc/c-typeck.c 85f6bbd4691daebc5654de7dc8fb1de4 gcc/c.opt 9f8bda6bc16c84e1bb2482808c412e35 gcc/caller-save.c ! 923d33a234fef2b6ab31dc5c8df32080 gcc/calls.c 69f352f7990eba6db55901d79b61ab72 gcc/cfg.c 72fa3eed9d7cc1155bf0d12f6f570fa2 gcc/cfganal.c 42f045a831fa5cf4a07d0233d7af9776 gcc/cfgbuild.c *************** f55ac1bc65e5b5f6f824e9776cfbd250 gcc/cf *** 2401,2407 **** d8795f80e194774bb02e4dc14ada57c1 gcc/cfgloop.h 95b4ebf522568bf0595bc97cfbb849fb gcc/cfgloopanal.c 5fac340fa393a25b7064ee8c25819cf0 gcc/cfgloopmanip.c ! 463e5f4a6619aef25e3bc0739722d134 gcc/cfgrtl.c 20040eb2530a38e1b3b9a09922570065 gcc/cgraph.c 789cd004294da9a1060f7b5226b81537 gcc/cgraph.h 31bb7f846406ea26acd3fada77676380 gcc/cgraphbuild.c --- 2401,2407 ---- d8795f80e194774bb02e4dc14ada57c1 gcc/cfgloop.h 95b4ebf522568bf0595bc97cfbb849fb gcc/cfgloopanal.c 5fac340fa393a25b7064ee8c25819cf0 gcc/cfgloopmanip.c ! 1a7a78860899c437edb3db831dcb3d27 gcc/cfgrtl.c 20040eb2530a38e1b3b9a09922570065 gcc/cgraph.c 789cd004294da9a1060f7b5226b81537 gcc/cgraph.h 31bb7f846406ea26acd3fada77676380 gcc/cgraphbuild.c *************** f9c4cdd106cc07b6f026eccfe7ccf59e gcc/cg *** 2409,2431 **** 345a6e442b2aabfd8ac65ab5bce9c7e7 gcc/collect2.c ea855a27372025f95b4f6ff536a5b6b2 gcc/collect2.h a324b73f197409253c5e20d75467089e gcc/combine-stack-adj.c ! c4869c4fb02cbfb125c46fe95f6ba509 gcc/combine.c b40c2b8f7b85d46d167528b785fd965d gcc/common.opt 162c077c493d89717647c605b5b81996 gcc/conditions.h a8b63c89b69671c024a7c874bf4ae667 gcc/config.build ! 45cacf4a475345cade23e6833c969aeb gcc/config.gcc fda2b5fb63b8537a09a424b816e0b4ce gcc/config.host 8a540ed91d747c2bac9d8c8517dd8067 gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README 3acabb7bb274b8bf65a2a0860087641d gcc/config/alpha/alpha-modes.def 7efb6d3e66c4ad0f2a7dc5c971c0d2ba gcc/config/alpha/alpha-protos.h ! 05a4b9377ec22004ed405fe8bb5da429 gcc/config/alpha/alpha.c 5fe68b6e203f006c2b3bd490bd7562a0 gcc/config/alpha/alpha.h 9de591083685eb3cb1f43f56a38f816d gcc/config/alpha/alpha.md de8e700641c687562ecf731c89b7f96e gcc/config/alpha/alpha.opt bcf619652d7cdd3b04aa64ae5796607d gcc/config/alpha/constraints.md 843a2ae11fb1a94b77a901b56f5e50ae gcc/config/alpha/crtfastmath.c ! f60df0089f6de3f8776944ec718105c7 gcc/config/alpha/elf.h 579f6975e25bc792759c95e4ba93bfc0 gcc/config/alpha/ev4.md 3c8c325e22dda3b53edaf465f836655c gcc/config/alpha/ev5.md 58fe405746ca75ef051b03dd6bcb82e0 gcc/config/alpha/ev6.md --- 2409,2431 ---- 345a6e442b2aabfd8ac65ab5bce9c7e7 gcc/collect2.c ea855a27372025f95b4f6ff536a5b6b2 gcc/collect2.h a324b73f197409253c5e20d75467089e gcc/combine-stack-adj.c ! 73632cf2f0d45c418540c6d765f14944 gcc/combine.c b40c2b8f7b85d46d167528b785fd965d gcc/common.opt 162c077c493d89717647c605b5b81996 gcc/conditions.h a8b63c89b69671c024a7c874bf4ae667 gcc/config.build ! e88a6cd5dbbebb91d205c74c703627e7 gcc/config.gcc fda2b5fb63b8537a09a424b816e0b4ce gcc/config.host 8a540ed91d747c2bac9d8c8517dd8067 gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README 3acabb7bb274b8bf65a2a0860087641d gcc/config/alpha/alpha-modes.def 7efb6d3e66c4ad0f2a7dc5c971c0d2ba gcc/config/alpha/alpha-protos.h ! 849e8f01ec66fedb65e72d952d2e344d gcc/config/alpha/alpha.c 5fe68b6e203f006c2b3bd490bd7562a0 gcc/config/alpha/alpha.h 9de591083685eb3cb1f43f56a38f816d gcc/config/alpha/alpha.md de8e700641c687562ecf731c89b7f96e gcc/config/alpha/alpha.opt bcf619652d7cdd3b04aa64ae5796607d gcc/config/alpha/constraints.md 843a2ae11fb1a94b77a901b56f5e50ae gcc/config/alpha/crtfastmath.c ! 4c51a722ba1471c4ebe0998a5c1cf68f gcc/config/alpha/elf.h 579f6975e25bc792759c95e4ba93bfc0 gcc/config/alpha/ev4.md 3c8c325e22dda3b53edaf465f836655c gcc/config/alpha/ev5.md 58fe405746ca75ef051b03dd6bcb82e0 gcc/config/alpha/ev6.md *************** ef6ef4e5ea3d1caa5d7dff95be723d00 gcc/co *** 2439,2445 **** 0ba405cf8bddec16a42a7f62039b7c89 gcc/config/alpha/openbsd.h 97dce84f84165405195a00f18ee291aa gcc/config/alpha/osf.h 6f25a3dec97f461d55216191b6854bf2 gcc/config/alpha/osf5.h ! 57943ca872d6edd249d06046fd56a2ab gcc/config/alpha/predicates.md 716ecb544aa4df8b31972f6000563037 gcc/config/alpha/qrnnd.asm c805525090863f5414031f6cfd96b60e gcc/config/alpha/sync.md 3bbb1cf81aa0513ee0ee3521ef1a7275 gcc/config/alpha/t-alpha --- 2439,2445 ---- 0ba405cf8bddec16a42a7f62039b7c89 gcc/config/alpha/openbsd.h 97dce84f84165405195a00f18ee291aa gcc/config/alpha/osf.h 6f25a3dec97f461d55216191b6854bf2 gcc/config/alpha/osf5.h ! a842c348c89a057a4e577fc384b94d36 gcc/config/alpha/predicates.md 716ecb544aa4df8b31972f6000563037 gcc/config/alpha/qrnnd.asm c805525090863f5414031f6cfd96b60e gcc/config/alpha/sync.md 3bbb1cf81aa0513ee0ee3521ef1a7275 gcc/config/alpha/t-alpha *************** ddf9532e0ea443064c6529512f2130d8 gcc/co *** 2486,2492 **** a3927065629ea54cc8a047e40b560171 gcc/config/arm/arm-tune.md 8a16cb1e83599ef23a326fc7ba738e27 gcc/config/arm/arm.c c96b0c92291aa7dcbad5d21a87da4872 gcc/config/arm/arm.h ! 57c1680e5719e1221a5ffb90f31fd81e gcc/config/arm/arm.md 10d5f77c023f4251991820f53d0f1d8a gcc/config/arm/arm.opt 69bdd98460e7f6f36829a9d081016ff9 gcc/config/arm/arm1020e.md 05d26f1a7cb64c1fc879e7a8040a1171 gcc/config/arm/arm1026ejs.md --- 2486,2492 ---- a3927065629ea54cc8a047e40b560171 gcc/config/arm/arm-tune.md 8a16cb1e83599ef23a326fc7ba738e27 gcc/config/arm/arm.c c96b0c92291aa7dcbad5d21a87da4872 gcc/config/arm/arm.h ! 845d049ca3b13dac0a8cca9a9d68e2e6 gcc/config/arm/arm.md 10d5f77c023f4251991820f53d0f1d8a gcc/config/arm/arm.opt 69bdd98460e7f6f36829a9d081016ff9 gcc/config/arm/arm1020e.md 05d26f1a7cb64c1fc879e7a8040a1171 gcc/config/arm/arm1026ejs.md *************** e83f5fbee3292540388507acfe709d3b gcc/co *** 2571,2577 **** aea5614bc0a6069ef8d184732af48be8 gcc/config/avr/avr-protos.h c4769f6af947ff5e14309ccc5f7bb170 gcc/config/avr/avr.c 138d3da27f6b254f2afc1602b0249964 gcc/config/avr/avr.h ! 77bdc7d864ed59c87dff9af8fe8e48bc gcc/config/avr/avr.md d837b2bb952b1850addfeec515bca63e gcc/config/avr/avr.opt fe99b85e66ca6b0da8a6c0ff2840a961 gcc/config/avr/constraints.md acb2801afe1f7a6b840d5832b138e2cf gcc/config/avr/libgcc.S --- 2571,2577 ---- aea5614bc0a6069ef8d184732af48be8 gcc/config/avr/avr-protos.h c4769f6af947ff5e14309ccc5f7bb170 gcc/config/avr/avr.c 138d3da27f6b254f2afc1602b0249964 gcc/config/avr/avr.h ! 295e70ca0f83277b8b8f1296efc6c419 gcc/config/avr/avr.md d837b2bb952b1850addfeec515bca63e gcc/config/avr/avr.opt fe99b85e66ca6b0da8a6c0ff2840a961 gcc/config/avr/constraints.md acb2801afe1f7a6b840d5832b138e2cf gcc/config/avr/libgcc.S *************** e23697c64ed098c4907644cd86b7aeec gcc/co *** 2748,2754 **** 690375e0b274dbbc10fa0e085e73cf9c gcc/config/i386/darwin64.h ee31756c9d90bc91a4442f55a3074f78 gcc/config/i386/djgpp.h fce27d1975ee7b2919e4426ae0001452 gcc/config/i386/djgpp.opt ! 92db04e03882a0cf7e71bee2deee1ab0 gcc/config/i386/driver-i386.c 8441a45daf37fdb1979e0889d282163f gcc/config/i386/emmintrin.h 52db53cf5d98ae0bb8cd318225e82f2b gcc/config/i386/freebsd.h 49d7fe5ffb8749f9463703fbc27e2ff8 gcc/config/i386/freebsd64.h --- 2748,2754 ---- 690375e0b274dbbc10fa0e085e73cf9c gcc/config/i386/darwin64.h ee31756c9d90bc91a4442f55a3074f78 gcc/config/i386/djgpp.h fce27d1975ee7b2919e4426ae0001452 gcc/config/i386/djgpp.opt ! 3e5ae5b4b667ff1857a83aa6f038c8e7 gcc/config/i386/driver-i386.c 8441a45daf37fdb1979e0889d282163f gcc/config/i386/emmintrin.h 52db53cf5d98ae0bb8cd318225e82f2b gcc/config/i386/freebsd.h 49d7fe5ffb8749f9463703fbc27e2ff8 gcc/config/i386/freebsd64.h *************** ef9c61f3eb2226751bfc551dfeb39fc9 gcc/co *** 2768,2776 **** f1be9e9dbf092b26488d3768a0d21a59 gcc/config/i386/i386-interix3.h bc4e89eb95167658f401d2f88e7cc7e5 gcc/config/i386/i386-modes.def 23728bc005515b0a71af1fab068145b5 gcc/config/i386/i386-protos.h ! f446e10e987dff8c16e0ef0bcac8b643 gcc/config/i386/i386.c ! 3006925f2a1eb381409fa99fe78dbd77 gcc/config/i386/i386.h ! 45cdcf77e2667bc931a75a2bedbfb6d0 gcc/config/i386/i386.md 0b82149b1b6b1ac70e4d87cfcc69584d gcc/config/i386/i386.opt 02669d61b2cfcf958be6d3227a06fb91 gcc/config/i386/i386elf.h 4cb31de96edea3b9a0053d71a120bb75 gcc/config/i386/k6.md --- 2768,2776 ---- f1be9e9dbf092b26488d3768a0d21a59 gcc/config/i386/i386-interix3.h bc4e89eb95167658f401d2f88e7cc7e5 gcc/config/i386/i386-modes.def 23728bc005515b0a71af1fab068145b5 gcc/config/i386/i386-protos.h ! 54237a6f3bb3e1427ff04f9b6d4e345b gcc/config/i386/i386.c ! c70d1e52889369bef02c827bb60df88d gcc/config/i386/i386.h ! 0dbb63232afd8bc26bfe48df877f51ff gcc/config/i386/i386.md 0b82149b1b6b1ac70e4d87cfcc69584d gcc/config/i386/i386.opt 02669d61b2cfcf958be6d3227a06fb91 gcc/config/i386/i386elf.h 4cb31de96edea3b9a0053d71a120bb75 gcc/config/i386/k6.md *************** b84f46490902e6c76ee3a758dc6d5359 gcc/co *** 2779,2785 **** 4ea84d3d1a9ccc22e24d5e839e901458 gcc/config/i386/knetbsd-gnu.h a7daa16507b7de29caa0a02b49529982 gcc/config/i386/libgcc-x86_64-glibc.ver 8f94e6ef2c4ae5dcdb4d29fbf5e1b22f gcc/config/i386/linux-unwind.h ! 25de6325f89293ae5dbc4486eda67bbc gcc/config/i386/linux.h 4abf92c6933449ccd85cc14ae221a736 gcc/config/i386/linux64.h f5e2e46419a7ffd908068d3aeb143861 gcc/config/i386/lynx.h 5e895df4995c0489965107367377218a gcc/config/i386/mach.h --- 2779,2785 ---- 4ea84d3d1a9ccc22e24d5e839e901458 gcc/config/i386/knetbsd-gnu.h a7daa16507b7de29caa0a02b49529982 gcc/config/i386/libgcc-x86_64-glibc.ver 8f94e6ef2c4ae5dcdb4d29fbf5e1b22f gcc/config/i386/linux-unwind.h ! 86ac6fbbb4592f44c86999b0d240aba5 gcc/config/i386/linux.h 4abf92c6933449ccd85cc14ae221a736 gcc/config/i386/linux64.h f5e2e46419a7ffd908068d3aeb143861 gcc/config/i386/lynx.h 5e895df4995c0489965107367377218a gcc/config/i386/mach.h *************** ea4e54362b50b05710536b575894abc4 gcc/co *** 2820,2826 **** 3162ab821e194548dc3e77c0a90e11ad gcc/config/i386/sol2-cn.asm 2f69702bcb85ac597f5c1bfba8836700 gcc/config/i386/sol2-gc1.asm 19eb72e16e6325934140f32786db5eff gcc/config/i386/sol2.h ! 2e10a74dad48fef4c34332194514c439 gcc/config/i386/sse.md 0022ca0e56a010f5378d5466976c5a38 gcc/config/i386/sync.md 8b496e023f59646e462649d745a891b4 gcc/config/i386/sysv4-cpp.h 13bc7e82f93474f9722f80bb7f25aea4 gcc/config/i386/sysv4.h --- 2820,2826 ---- 3162ab821e194548dc3e77c0a90e11ad gcc/config/i386/sol2-cn.asm 2f69702bcb85ac597f5c1bfba8836700 gcc/config/i386/sol2-gc1.asm 19eb72e16e6325934140f32786db5eff gcc/config/i386/sol2.h ! ddbcb24f414d8a0e0befc304054dca9b gcc/config/i386/sse.md 0022ca0e56a010f5378d5466976c5a38 gcc/config/i386/sync.md 8b496e023f59646e462649d745a891b4 gcc/config/i386/sysv4-cpp.h 13bc7e82f93474f9722f80bb7f25aea4 gcc/config/i386/sysv4.h *************** f949d7ff381c649264a56a2552057372 gcc/co *** 2869,2875 **** dc7aa97cab61e662767f4474ff8d4837 gcc/config/i386/x-darwin 44539400c6df985bbced750c27b7ac29 gcc/config/i386/x-i386 5c9c07d6e4c28f00c5ed6fa3096f3390 gcc/config/i386/x-mingw32 ! 9c06ad8d687fa21aee9c7ec20b81493b gcc/config/i386/x86-64.h 9ea48fc77fedd273b47b8088df427734 gcc/config/i386/xm-cygwin.h 9ce57f1d31de0e52748eead7af1dfb31 gcc/config/i386/xm-djgpp.h e212b9ca58244b1941bb688b40306a17 gcc/config/i386/xm-mingw32.h --- 2869,2875 ---- dc7aa97cab61e662767f4474ff8d4837 gcc/config/i386/x-darwin 44539400c6df985bbced750c27b7ac29 gcc/config/i386/x-i386 5c9c07d6e4c28f00c5ed6fa3096f3390 gcc/config/i386/x-mingw32 ! e0b7277e0ef03beb51761f4d5f76cff0 gcc/config/i386/x86-64.h 9ea48fc77fedd273b47b8088df427734 gcc/config/i386/xm-cygwin.h 9ce57f1d31de0e52748eead7af1dfb31 gcc/config/i386/xm-djgpp.h e212b9ca58244b1941bb688b40306a17 gcc/config/i386/xm-mingw32.h *************** b2d4d8496fc666f096e6beb8a2bd5a1f gcc/co *** 2888,2894 **** c517746d9f7377ff4ba8008dfd9b437a gcc/config/ia64/ia64-c.c 2ce3617eaff76a6ff7c9e58039b2cc45 gcc/config/ia64/ia64-modes.def e6c06c7b85f5f92ccc621cbd0b85fadf gcc/config/ia64/ia64-protos.h ! d188756b5ada9a084bb5bb7c4c64e7eb gcc/config/ia64/ia64.c e3d9fa822acfb5c86b6cf9430d28c9b0 gcc/config/ia64/ia64.h f629fcb84a711e3ee6d8a4f4673c875a gcc/config/ia64/ia64.md e5217fdb6dc575bbbe4e8a985625eab4 gcc/config/ia64/ia64.opt --- 2888,2894 ---- c517746d9f7377ff4ba8008dfd9b437a gcc/config/ia64/ia64-c.c 2ce3617eaff76a6ff7c9e58039b2cc45 gcc/config/ia64/ia64-modes.def e6c06c7b85f5f92ccc621cbd0b85fadf gcc/config/ia64/ia64-protos.h ! 0a42d72b0883acc2c763464568de1d94 gcc/config/ia64/ia64.c e3d9fa822acfb5c86b6cf9430d28c9b0 gcc/config/ia64/ia64.h f629fcb84a711e3ee6d8a4f4673c875a gcc/config/ia64/ia64.md e5217fdb6dc575bbbe4e8a985625eab4 gcc/config/ia64/ia64.opt *************** c8278c25339f71d746d91a193efd6cea gcc/co *** 3012,3018 **** 88cae61c817866cacc354187c08a0a71 gcc/config/m68k/t-m68kelf a16f5d9c1ca590c8099fc32820b65a01 gcc/config/m68k/t-mlibs 0fd519d41689e5af998ca53a2f11e7d2 gcc/config/m68k/t-openbsd ! 94d16eaadb28a3721c2c1964f32a146a gcc/config/m68k/t-rtems 4e281c631e54b8912258f84196fec9e6 gcc/config/m68k/t-slibgcc-elf-ver 6991e273c07d31e980a5e88c586ccd7f gcc/config/m68k/t-uclinux c6c1a2498032aa39148889ba1977a5d7 gcc/config/m68k/uclinux-oldabi.h --- 3012,3018 ---- 88cae61c817866cacc354187c08a0a71 gcc/config/m68k/t-m68kelf a16f5d9c1ca590c8099fc32820b65a01 gcc/config/m68k/t-mlibs 0fd519d41689e5af998ca53a2f11e7d2 gcc/config/m68k/t-openbsd ! 2899d62cd61c46fe504594a232959581 gcc/config/m68k/t-rtems 4e281c631e54b8912258f84196fec9e6 gcc/config/m68k/t-slibgcc-elf-ver 6991e273c07d31e980a5e88c586ccd7f gcc/config/m68k/t-uclinux c6c1a2498032aa39148889ba1977a5d7 gcc/config/m68k/uclinux-oldabi.h *************** ce0b6ce72819190717f67f2a883998b8 gcc/co *** 3074,3080 **** fd1bf1312b5ad390ae759920c47b49d0 gcc/config/mips/mips-modes.def be714c7a8d264d26ddede839b03ccce4 gcc/config/mips/mips-protos.h 7d0a6b1d9245da99b19ec70272fdc9f2 gcc/config/mips/mips-ps-3d.md ! c5baa15bc5d55cc737d0f2028ca11999 gcc/config/mips/mips.c 6fa779b9f2ac8e00ed411aa9cfcd3d6b gcc/config/mips/mips.h 0b5ec00e89621f8d0ce580e70ea8aed6 gcc/config/mips/mips.md ca02c901fa8689a8848f2e6e990b9311 gcc/config/mips/mips.opt --- 3074,3080 ---- fd1bf1312b5ad390ae759920c47b49d0 gcc/config/mips/mips-modes.def be714c7a8d264d26ddede839b03ccce4 gcc/config/mips/mips-protos.h 7d0a6b1d9245da99b19ec70272fdc9f2 gcc/config/mips/mips-ps-3d.md ! 7a84c00342f17d7b60558f4215fc2f4f gcc/config/mips/mips.c 6fa779b9f2ac8e00ed411aa9cfcd3d6b gcc/config/mips/mips.h 0b5ec00e89621f8d0ce580e70ea8aed6 gcc/config/mips/mips.md ca02c901fa8689a8848f2e6e990b9311 gcc/config/mips/mips.opt *************** ca02c901fa8689a8848f2e6e990b9311 gcc/co *** 3086,3092 **** af8f08f02b448f3f64472fb7d7198bc7 gcc/config/mips/rtems.h 97f48738830ef87924a0f7269f299dac gcc/config/mips/sb1.md faa1cfa50dd428de8690da7fc52bc41f gcc/config/mips/sdb.h ! 046029bcba21654eea1f20a993ece064 gcc/config/mips/sde.h d332db9a8522d5ad05b342418d88c395 gcc/config/mips/sdemtk.h ee4b0e6b59da9e0c815305d48a5be1fd gcc/config/mips/sdemtk.opt 8441b29dc5f0e4ee8af15cc1196cca06 gcc/config/mips/sr71k.md --- 3086,3092 ---- af8f08f02b448f3f64472fb7d7198bc7 gcc/config/mips/rtems.h 97f48738830ef87924a0f7269f299dac gcc/config/mips/sb1.md faa1cfa50dd428de8690da7fc52bc41f gcc/config/mips/sdb.h ! 7d379c1ee4b447a15bbfe1676f7085ee gcc/config/mips/sde.h d332db9a8522d5ad05b342418d88c395 gcc/config/mips/sdemtk.h ee4b0e6b59da9e0c815305d48a5be1fd gcc/config/mips/sdemtk.opt 8441b29dc5f0e4ee8af15cc1196cca06 gcc/config/mips/sr71k.md *************** cad828684f5e6cf4d4495b2a21d71f9c gcc/co *** 3148,3158 **** 88cd7953dfb9087b03ca2dd5825a15f8 gcc/config/openbsd.h 9a38de666f873daf766f44eb16ad7c0e gcc/config/pa/constraints.md 592f30402a2d75cae8aa70dcef28a289 gcc/config/pa/elf.h ! 7e628f56b07576b444a7b6089e79396e gcc/config/pa/fptr.c 1c15adbdb6f6aa7d2bb5e2e88c2795e4 gcc/config/pa/hpux-unwind.h eefd6081497d56467864a111613f397b gcc/config/pa/lib2funcs.asm 393376b174e65234359ccb45f7677afd gcc/config/pa/linux-unwind.h ! 55533b49feec718d80b4c16cd5aabcbb gcc/config/pa/milli64.S feac6aba9a4a0c5389d44e887e20875a gcc/config/pa/pa-64.h b4877f831d02c39f839ad367e7d0838b gcc/config/pa/pa-hpux.h c648bc371bab81fa1f4acd6c4eb8f0db gcc/config/pa/pa-hpux.opt --- 3148,3158 ---- 88cd7953dfb9087b03ca2dd5825a15f8 gcc/config/openbsd.h 9a38de666f873daf766f44eb16ad7c0e gcc/config/pa/constraints.md 592f30402a2d75cae8aa70dcef28a289 gcc/config/pa/elf.h ! 90bf06aabd3e4b2e3cc9074c345fb79d gcc/config/pa/fptr.c 1c15adbdb6f6aa7d2bb5e2e88c2795e4 gcc/config/pa/hpux-unwind.h eefd6081497d56467864a111613f397b gcc/config/pa/lib2funcs.asm 393376b174e65234359ccb45f7677afd gcc/config/pa/linux-unwind.h ! 9caae4859633821aace7f68195b69760 gcc/config/pa/milli64.S feac6aba9a4a0c5389d44e887e20875a gcc/config/pa/pa-64.h b4877f831d02c39f839ad367e7d0838b gcc/config/pa/pa-hpux.h c648bc371bab81fa1f4acd6c4eb8f0db gcc/config/pa/pa-hpux.opt *************** fafe040d7a38b97e371a3c84845e4c5f gcc/co *** 3167,3173 **** a81e3d2ac855c4207c39f363e23a4767 gcc/config/pa/pa-osf.h c0f1cc0f27d9ce8d0ec3a466f18d12a8 gcc/config/pa/pa-pro-end.h 6a0aed342a87e2a6b888fb1788fdd100 gcc/config/pa/pa-protos.h ! 37b09882a55761d5004421057e81e7f5 gcc/config/pa/pa.c f8e5b09200f37b68e2179e54da6d04ac gcc/config/pa/pa.h eeb41282d2d0762c352b74fe60072ffe gcc/config/pa/pa.md c17a7721fbfc548f190112cc544e0d7b gcc/config/pa/pa.opt --- 3167,3173 ---- a81e3d2ac855c4207c39f363e23a4767 gcc/config/pa/pa-osf.h c0f1cc0f27d9ce8d0ec3a466f18d12a8 gcc/config/pa/pa-pro-end.h 6a0aed342a87e2a6b888fb1788fdd100 gcc/config/pa/pa-protos.h ! 477259675c0bf19b7f4d54e773a3a17f gcc/config/pa/pa.c f8e5b09200f37b68e2179e54da6d04ac gcc/config/pa/pa.h eeb41282d2d0762c352b74fe60072ffe gcc/config/pa/pa.md c17a7721fbfc548f190112cc544e0d7b gcc/config/pa/pa.opt *************** e207df51fd4bff35bb0857b68ea176c5 gcc/co *** 3290,3296 **** c3ad56dda9f70b7fc1808a47918e167d gcc/config/rs6000/rs6000-c.c efc5416944d2ad1ae38ca9475f7bea1c gcc/config/rs6000/rs6000-modes.def 33cc4b38795ce532e8ca55a4c5f34baa gcc/config/rs6000/rs6000-protos.h ! c5a6b29aec1a8996f1c3cd2b20987398 gcc/config/rs6000/rs6000.c 8b11995c35c41c46bd01450eb7f84ef6 gcc/config/rs6000/rs6000.h feb2fc2cb152343cf1dc96202d839ac9 gcc/config/rs6000/rs6000.md e5b9fb6310f1d53dcc81076d00cf3a0a gcc/config/rs6000/rs6000.opt --- 3290,3296 ---- c3ad56dda9f70b7fc1808a47918e167d gcc/config/rs6000/rs6000-c.c efc5416944d2ad1ae38ca9475f7bea1c gcc/config/rs6000/rs6000-modes.def 33cc4b38795ce532e8ca55a4c5f34baa gcc/config/rs6000/rs6000-protos.h ! 5c2dab8f1bdfa3ac7d73b538d5155713 gcc/config/rs6000/rs6000.c 8b11995c35c41c46bd01450eb7f84ef6 gcc/config/rs6000/rs6000.h feb2fc2cb152343cf1dc96202d839ac9 gcc/config/rs6000/rs6000.md e5b9fb6310f1d53dcc81076d00cf3a0a gcc/config/rs6000/rs6000.opt *************** a983ea272be6bbe8cbda55a7ced2537d gcc/co *** 3405,3411 **** 21914ac4404a0eaea9748b21dfd3b373 gcc/config/sh/little.h a817e4596024e29763675bcd675b985e gcc/config/sh/netbsd-elf.h 50373477329faa7b7c8d7295294980f6 gcc/config/sh/newlib.h ! f90f22a63eb4ab64993720a0231d1579 gcc/config/sh/predicates.md 746f2a4214e4c64d203ed00e4ee3337e gcc/config/sh/rtems.h 35a388e7474fe2da949ebbfb94219596 gcc/config/sh/rtemself.h 9d3923de50cf7b332d51751588012204 gcc/config/sh/sh-c.c --- 3405,3411 ---- 21914ac4404a0eaea9748b21dfd3b373 gcc/config/sh/little.h a817e4596024e29763675bcd675b985e gcc/config/sh/netbsd-elf.h 50373477329faa7b7c8d7295294980f6 gcc/config/sh/newlib.h ! 2236ea69a728f367db37949499679305 gcc/config/sh/predicates.md 746f2a4214e4c64d203ed00e4ee3337e gcc/config/sh/rtems.h 35a388e7474fe2da949ebbfb94219596 gcc/config/sh/rtemself.h 9d3923de50cf7b332d51751588012204 gcc/config/sh/sh-c.c *************** d0db3272c8ce3ac4e4e539d335c58f35 gcc/co *** 3474,3480 **** 8e3fc80426e2a81551fb68fbe1069d1c gcc/config/soft-fp/divdf3.c 2dd220e2a520b07f2ef6ea7259b38197 gcc/config/soft-fp/divsf3.c 376dfc65188ca43a444a229481ef5237 gcc/config/soft-fp/divtf3.c ! b1d1c9393ca561b8a5eeaf1807bc7288 gcc/config/soft-fp/double.h 0775a783f693ecaf318c103fb6c4eac9 gcc/config/soft-fp/eqdf2.c a2cfe9ba5c3f4a6fe1bc5199184aeb16 gcc/config/soft-fp/eqsf2.c 3b2ea6c5aa739646875647750960a5f3 gcc/config/soft-fp/eqtf2.c --- 3474,3480 ---- 8e3fc80426e2a81551fb68fbe1069d1c gcc/config/soft-fp/divdf3.c 2dd220e2a520b07f2ef6ea7259b38197 gcc/config/soft-fp/divsf3.c 376dfc65188ca43a444a229481ef5237 gcc/config/soft-fp/divtf3.c ! 8158ce2aa706ca1d11ce3d24202d8d52 gcc/config/soft-fp/double.h 0775a783f693ecaf318c103fb6c4eac9 gcc/config/soft-fp/eqdf2.c a2cfe9ba5c3f4a6fe1bc5199184aeb16 gcc/config/soft-fp/eqsf2.c 3b2ea6c5aa739646875647750960a5f3 gcc/config/soft-fp/eqtf2.c *************** d6f59275f3fdda163462ac1620761459 gcc/co *** 3566,3573 **** 288699866f7087498387137293356f0c gcc/config/sparc/lb1spl.asm 0e311b7b2005d748f2c9d394f525522b gcc/config/sparc/libgcc-sparc-glibc.ver 97c3db0d4a518c7551e249ebfd34dc7c gcc/config/sparc/linux-unwind.h ! 71c60f114234e4a1de0f13b740834247 gcc/config/sparc/linux.h ! 1fb5970c3bc6fb29f1eb0ba427613045 gcc/config/sparc/linux64.h 3560d5e63483f67b0e99003928cd569d gcc/config/sparc/little-endian.opt a98270f7eeb8e71bd2022f002f94fd44 gcc/config/sparc/long-double-switch.opt 33ebf65d105fdc2e7de954b7c1f67ce4 gcc/config/sparc/netbsd-elf.h --- 3566,3573 ---- 288699866f7087498387137293356f0c gcc/config/sparc/lb1spl.asm 0e311b7b2005d748f2c9d394f525522b gcc/config/sparc/libgcc-sparc-glibc.ver 97c3db0d4a518c7551e249ebfd34dc7c gcc/config/sparc/linux-unwind.h ! 413972c408e6eb5b7c70e459e172ce4a gcc/config/sparc/linux.h ! 2bfa4b8fa04ce950d39d6a05a2c6493b gcc/config/sparc/linux64.h 3560d5e63483f67b0e99003928cd569d gcc/config/sparc/little-endian.opt a98270f7eeb8e71bd2022f002f94fd44 gcc/config/sparc/long-double-switch.opt 33ebf65d105fdc2e7de954b7c1f67ce4 gcc/config/sparc/netbsd-elf.h *************** e085c3934f5520c64222de26b11c11c6 gcc/co *** 3600,3606 **** f271a2c5c69010bdc36679b647809dcf gcc/config/sparc/supersparc.md 5aaf2757482b30d8fafbd1ca3332591f gcc/config/sparc/sync.md cfb46ff15a0dcca8c15c993eaa68c3dc gcc/config/sparc/sysv4-only.h ! 6cbcb0c61d53a41f6d3cbe5976eba32e gcc/config/sparc/sysv4.h ea7daa17a613a41bfe721bba0ab4e86e gcc/config/sparc/t-crtfm d49449c5d80d6ac9e122a041935aa404 gcc/config/sparc/t-elf 8c85cbe49459289aa252b81c98de0605 gcc/config/sparc/t-linux --- 3600,3606 ---- f271a2c5c69010bdc36679b647809dcf gcc/config/sparc/supersparc.md 5aaf2757482b30d8fafbd1ca3332591f gcc/config/sparc/sync.md cfb46ff15a0dcca8c15c993eaa68c3dc gcc/config/sparc/sysv4-only.h ! 86a40cc6b4fc950b4914f4a40d96697f gcc/config/sparc/sysv4.h ea7daa17a613a41bfe721bba0ab4e86e gcc/config/sparc/t-crtfm d49449c5d80d6ac9e122a041935aa404 gcc/config/sparc/t-elf 8c85cbe49459289aa252b81c98de0605 gcc/config/sparc/t-linux *************** bf9c99ba8e1b4ca2351a33d61e7a218a gcc/co *** 3626,3645 **** 8bdfdc3b5399d275ab1ea78964a9f686 gcc/config/spu/multi3.c 8a53e295fa9d920b33b6059c5e8bbf2e gcc/config/spu/predicates.md 748ec5ad1dae808de104d6259bdd6f89 gcc/config/spu/spu-builtins.def - d8efa5388fc6be83addfeadc17cb0154 gcc/config/spu/spu-builtins.h 6a6209e8253504a826c88d9c1f17aabe gcc/config/spu/spu-builtins.md ! 1378959dff32d1ca2a4b0ccb20e51a1b gcc/config/spu/spu-c.c 36a8d0140d0b68d64ba2ac08a31a392e gcc/config/spu/spu-elf.h 3f6cd1148d08429aedb2066ac8d6b7c7 gcc/config/spu/spu-modes.def 2766ffa958e312b97e7491505afa3311 gcc/config/spu/spu-protos.h ! 823d145a46e7b8be9c578d89e7420180 gcc/config/spu/spu.c ! b93fa0024ebe0ed3f18e882f0d03b569 gcc/config/spu/spu.h 4c1dea9bb5f21d202463ac21d697a957 gcc/config/spu/spu.md 6c3ec4428cb9cfeccd2fcd457da5b0c5 gcc/config/spu/spu.opt e5bda54411494e9d1ca51405a33b2f9d gcc/config/spu/spu_internals.h b4aa6cadc6b5464ea420be34d9c0bb1e gcc/config/spu/spu_intrinsics.h 8f4ff0a03446d1ba4f14cefa2dd1451d gcc/config/spu/spu_mfcio.h ! fba6688d0d5ccb72133821e43239f8a3 gcc/config/spu/t-spu-elf 6daff41c0c49a2336279d3ab907dff82 gcc/config/spu/vec_types.h 06a3bcde2a52fc5b56cdabc13182b13a gcc/config/spu/vmx2spu.h 90cd5cf2819717f0a8e93944f37337f0 gcc/config/stormy16/predicates.md --- 3626,3644 ---- 8bdfdc3b5399d275ab1ea78964a9f686 gcc/config/spu/multi3.c 8a53e295fa9d920b33b6059c5e8bbf2e gcc/config/spu/predicates.md 748ec5ad1dae808de104d6259bdd6f89 gcc/config/spu/spu-builtins.def 6a6209e8253504a826c88d9c1f17aabe gcc/config/spu/spu-builtins.md ! bdd338fbf173b982714a418fa8492b42 gcc/config/spu/spu-c.c 36a8d0140d0b68d64ba2ac08a31a392e gcc/config/spu/spu-elf.h 3f6cd1148d08429aedb2066ac8d6b7c7 gcc/config/spu/spu-modes.def 2766ffa958e312b97e7491505afa3311 gcc/config/spu/spu-protos.h ! 49b714ffd85219ac00ad04bab64f9052 gcc/config/spu/spu.c ! c5ee14c1ad2bc83056df1fb87157102b gcc/config/spu/spu.h 4c1dea9bb5f21d202463ac21d697a957 gcc/config/spu/spu.md 6c3ec4428cb9cfeccd2fcd457da5b0c5 gcc/config/spu/spu.opt e5bda54411494e9d1ca51405a33b2f9d gcc/config/spu/spu_internals.h b4aa6cadc6b5464ea420be34d9c0bb1e gcc/config/spu/spu_intrinsics.h 8f4ff0a03446d1ba4f14cefa2dd1451d gcc/config/spu/spu_mfcio.h ! 32f18d159144579c7f34c69d20fdabe4 gcc/config/spu/t-spu-elf 6daff41c0c49a2336279d3ab907dff82 gcc/config/spu/vec_types.h 06a3bcde2a52fc5b56cdabc13182b13a gcc/config/spu/vmx2spu.h 90cd5cf2819717f0a8e93944f37337f0 gcc/config/stormy16/predicates.md *************** f8b72f588a10827df10a1ccf23eec810 gcc/co *** 3742,3753 **** 251bc8bed847c25c9a8dc6fda95d358e gcc/config/xtensa/xtensa.opt 80bd7f0cb5354364652d9404cc99b27c gcc/configure 0dbf501b531c01be15b88c6bfbbb1e63 gcc/configure.ac ! bc15525db3b6e5db25e7b00e3a092290 gcc/convert.c 8e8d379b495b79ad19b6260bb3fc43b2 gcc/convert.h 6cf6be64e171cfc1f1a26e30b534e6d1 gcc/coretypes.h e984e08abb0fb0a51210c7624657c195 gcc/coverage.c 837f358341b0c8f32e120aa51fe433aa gcc/coverage.h ! e9aefa470114c20b270ecc823b29f340 gcc/cp/ChangeLog bd4aeac90a5befe0218090fe3d3d6542 gcc/cp/ChangeLog-1993 08674355375d2734400e90d47d048ccc gcc/cp/ChangeLog-1994 ba73c2557bcf66206e3cb4f90a4f81a1 gcc/cp/ChangeLog-1995 --- 3741,3752 ---- 251bc8bed847c25c9a8dc6fda95d358e gcc/config/xtensa/xtensa.opt 80bd7f0cb5354364652d9404cc99b27c gcc/configure 0dbf501b531c01be15b88c6bfbbb1e63 gcc/configure.ac ! 2860ed5d3b0afff00d9d2176461bb6e0 gcc/convert.c 8e8d379b495b79ad19b6260bb3fc43b2 gcc/convert.h 6cf6be64e171cfc1f1a26e30b534e6d1 gcc/coretypes.h e984e08abb0fb0a51210c7624657c195 gcc/coverage.c 837f358341b0c8f32e120aa51fe433aa gcc/coverage.h ! 626240713c9c2dae759d22d8800c45f0 gcc/cp/ChangeLog bd4aeac90a5befe0218090fe3d3d6542 gcc/cp/ChangeLog-1993 08674355375d2734400e90d47d048ccc gcc/cp/ChangeLog-1994 ba73c2557bcf66206e3cb4f90a4f81a1 gcc/cp/ChangeLog-1995 *************** ebc57ccb4720b5af78c85af60b01da99 gcc/cp *** 3766,3772 **** df30dd47773ff2170eb33bdbb02a384e gcc/cp/ChangeLog.tree-ssa 3a835e0748348857d5908e2260ed905f gcc/cp/Make-lang.in 722817c6da9fa9d73d9f114ae094ed4f gcc/cp/NEWS ! 60f9f1119ba88dfff5a7d358c3f2b913 gcc/cp/call.c 9f7a823f536eacdd59e2fc31ef4da831 gcc/cp/cfns.gperf 5cf817bda5279d277269588c836977b3 gcc/cp/cfns.h a5285c4cb4e5f3b55c3edd9dc6fa44fa gcc/cp/class.c --- 3765,3771 ---- df30dd47773ff2170eb33bdbb02a384e gcc/cp/ChangeLog.tree-ssa 3a835e0748348857d5908e2260ed905f gcc/cp/Make-lang.in 722817c6da9fa9d73d9f114ae094ed4f gcc/cp/NEWS ! f5a95792839bd126f2aaad3f8aab0a86 gcc/cp/call.c 9f7a823f536eacdd59e2fc31ef4da831 gcc/cp/cfns.gperf 5cf817bda5279d277269588c836977b3 gcc/cp/cfns.h a5285c4cb4e5f3b55c3edd9dc6fa44fa gcc/cp/class.c *************** a22d1fa666f5c55a9b303cff0512fe8c gcc/cp *** 3776,3795 **** a2ef4ad8a45681226de6e4f1545896ef gcc/cp/cp-objcp-common.c 8e33d31d3a41e38dc2510d15659e454e gcc/cp/cp-objcp-common.h bf58dc9f53704ab06bb6633dd79b479d gcc/cp/cp-tree.def ! 807b0a27fba97695aaba608a997810c2 gcc/cp/cp-tree.h ! 6124898594ca83af0230bfa13193cd7c gcc/cp/cvt.c cf69e2c69e8c66d18587d2f2cfbd4d62 gcc/cp/cxx-pretty-print.c 57f04bb8af29de0486e3be8141ca0035 gcc/cp/cxx-pretty-print.h ! 36dd4e9112d80741abef99645064468d gcc/cp/decl.c 728e54789136185f784710b266d2ad2c gcc/cp/decl.h ! e0797cece199bf357df74907558fad25 gcc/cp/decl2.c a23eb4a58c69c7644dde03a5703bf2da gcc/cp/dump.c 021682cbb2f9c787db382c41ad7493fd gcc/cp/error.c 5c00b655541ac39a16a4579b51a39eba gcc/cp/except.c df402f15d9dab032a7242c387e30f8f5 gcc/cp/expr.c 64fef6eb73c134bc5847f0d5e6d344ed gcc/cp/friend.c 4988a2e4d34ef1be4be29f6fe8269b69 gcc/cp/g++spec.c ! 62f40a6db5f8ed72026279a36a881cb0 gcc/cp/init.c 9a34b66a3f562bb915158e929108deb8 gcc/cp/lang-specs.h 88b2907717b4a6248113b02edb1a811d gcc/cp/lex.c 078ba3a46189d38f4666f17a5bb56f97 gcc/cp/mangle.c --- 3775,3794 ---- a2ef4ad8a45681226de6e4f1545896ef gcc/cp/cp-objcp-common.c 8e33d31d3a41e38dc2510d15659e454e gcc/cp/cp-objcp-common.h bf58dc9f53704ab06bb6633dd79b479d gcc/cp/cp-tree.def ! 95a68d70ec1a7eeefecdae71e468a57a gcc/cp/cp-tree.h ! 67ef4c664f604b6a80aafb4e8bc4f69e gcc/cp/cvt.c cf69e2c69e8c66d18587d2f2cfbd4d62 gcc/cp/cxx-pretty-print.c 57f04bb8af29de0486e3be8141ca0035 gcc/cp/cxx-pretty-print.h ! a9de0b2182b6d02aa10cb7c19c8f59d1 gcc/cp/decl.c 728e54789136185f784710b266d2ad2c gcc/cp/decl.h ! 13ca535986b4c9d94b4d1d33d45f63a6 gcc/cp/decl2.c a23eb4a58c69c7644dde03a5703bf2da gcc/cp/dump.c 021682cbb2f9c787db382c41ad7493fd gcc/cp/error.c 5c00b655541ac39a16a4579b51a39eba gcc/cp/except.c df402f15d9dab032a7242c387e30f8f5 gcc/cp/expr.c 64fef6eb73c134bc5847f0d5e6d344ed gcc/cp/friend.c 4988a2e4d34ef1be4be29f6fe8269b69 gcc/cp/g++spec.c ! 8956046be941c744613deea11e54dec5 gcc/cp/init.c 9a34b66a3f562bb915158e929108deb8 gcc/cp/lang-specs.h 88b2907717b4a6248113b02edb1a811d gcc/cp/lex.c 078ba3a46189d38f4666f17a5bb56f97 gcc/cp/mangle.c *************** bd458003ab8a9c1fea2389342851466c gcc/cp *** 3798,3812 **** 3c9446516d0ac96b73b19d13bbaeee5a gcc/cp/name-lookup.h 481f94013b2b490a1438c304ebc5eab7 gcc/cp/operators.def ac93ffb85f60a7df6f37e65dfc1ceb2e gcc/cp/optimize.c ! 491094cd3237c5aa0559bc2288e1d8f0 gcc/cp/parser.c ! 73265c0ff48acc1ff428f285a158136b gcc/cp/pt.c 2a331e99786b101d129fa8b7d66581bb gcc/cp/ptree.c 2b306954e93b168ba36caa07c8804ed1 gcc/cp/repo.c b5132bab532ae569c3ce049c61b9f720 gcc/cp/rtti.c d8ba0a99d98e27a29948dc87f21505e1 gcc/cp/search.c ! a86c8bf8b2781414234397c5590de679 gcc/cp/semantics.c 813827b27c006123f1c46c2a14f4901f gcc/cp/tree.c ! 4ed42b74afa94e9c618f7bbfec8ea4a0 gcc/cp/typeck.c 10f6257e29a05474efc13246ea7d295b gcc/cp/typeck2.c 739f89c50b9226ba10b0a5ff3ed77ea3 gcc/cppdefault.c 8cbfd0935964cec15954e2b50ffd92c9 gcc/cppdefault.h --- 3797,3811 ---- 3c9446516d0ac96b73b19d13bbaeee5a gcc/cp/name-lookup.h 481f94013b2b490a1438c304ebc5eab7 gcc/cp/operators.def ac93ffb85f60a7df6f37e65dfc1ceb2e gcc/cp/optimize.c ! f1f97cd56ab054a3504b61e2267532d3 gcc/cp/parser.c ! d546389655e71579beacff9fa11c532e gcc/cp/pt.c 2a331e99786b101d129fa8b7d66581bb gcc/cp/ptree.c 2b306954e93b168ba36caa07c8804ed1 gcc/cp/repo.c b5132bab532ae569c3ce049c61b9f720 gcc/cp/rtti.c d8ba0a99d98e27a29948dc87f21505e1 gcc/cp/search.c ! c7a2d207c506a571426331c06843f7e6 gcc/cp/semantics.c 813827b27c006123f1c46c2a14f4901f gcc/cp/tree.c ! 3276f93e51602ed131da796d2ae10429 gcc/cp/typeck.c 10f6257e29a05474efc13246ea7d295b gcc/cp/typeck2.c 739f89c50b9226ba10b0a5ff3ed77ea3 gcc/cppdefault.c 8cbfd0935964cec15954e2b50ffd92c9 gcc/cppdefault.h *************** dd4f78d4d13fb87ed6b287d3b0286d4b gcc/df *** 3832,3838 **** 3b0cd35ce5256b9913f1e320c9cbf951 gcc/df-problems.c a1ce8f32206904f69a3f2f86a134b6f6 gcc/df-scan.c 72debc5ff5c3d23724a438a47b216242 gcc/df.h ! 2764bafd676a052f464b1db4c909f61f gcc/dfp.c d7d1c9c1de3b95e682e5723a7aa37012 gcc/dfp.h c3e5dbe9024612f91bddd387e689e86d gcc/diagnostic.c 363b522745520ca24e990862dc3cb550 gcc/diagnostic.def --- 3831,3837 ---- 3b0cd35ce5256b9913f1e320c9cbf951 gcc/df-problems.c a1ce8f32206904f69a3f2f86a134b6f6 gcc/df-scan.c 72debc5ff5c3d23724a438a47b216242 gcc/df.h ! 82c7dec9901266c522ab269eb584f82e gcc/dfp.c d7d1c9c1de3b95e682e5723a7aa37012 gcc/dfp.h c3e5dbe9024612f91bddd387e689e86d gcc/diagnostic.c 363b522745520ca24e990862dc3cb550 gcc/diagnostic.def *************** e025c163542a9ac9aecf10594125f181 gcc/do *** 3847,3882 **** f63bd3520709b065bf9ed006dfd7ec5b gcc/doc/configterms.texi 3c487c93672f788b4e1fcaead22f1ce4 gcc/doc/contrib.texi 532efd24ba5590c6aed6cc4fa92638d8 gcc/doc/contribute.texi ! 9ed1cf87868fa72a607889986c6d8d6d gcc/doc/cpp.1 ! 8cda633225d13d38033daaa7387712d4 gcc/doc/cpp.info 5f519c628c2aefdc5d51431296e8bee6 gcc/doc/cpp.texi 8462a717da44ca316c8c9ac975457a32 gcc/doc/cppenv.texi ! 634a4bc54b5e412960ee113b5e3c6a52 gcc/doc/cppinternals.info 55cf8ff7895a619dde004d75de18d584 gcc/doc/cppinternals.texi 13eeb8ce920d994959f6108ac7570a9d gcc/doc/cppopts.texi ! 84dbbbd90d92961f45d0bee88934bc79 gcc/doc/extend.texi 3fe79cfa723fec3828c465c2cd8c65f6 gcc/doc/fragments.texi ea6d5ba0f479d734a26aa1866844b301 gcc/doc/frontends.texi ! 65287ebeca8fd7c09acd788c2e8079e9 gcc/doc/fsf-funding.7 ! ccd7196d5161d95c5e171f6da32c8a56 gcc/doc/g++.1 ! 01a4356c0e53f912810b1d31cc32f286 gcc/doc/gc-analyze.1 ! ccd7196d5161d95c5e171f6da32c8a56 gcc/doc/gcc.1 ! 6de7c4241828faeaa22dd1f964845b79 gcc/doc/gcc.info 17b0b2e8e0c613e7077cd04b58829833 gcc/doc/gcc.texi ! 82bf083f011ec2a8441df26e44bfa40a gcc/doc/gccinstall.info ! 53b3c79143fffdfabe1a871af6c97c27 gcc/doc/gccint.info ! fa1fc14d11ee84a8188d9296047d4d33 gcc/doc/gccint.texi ! 1a2897a438fa2fcbab7c48be7155d356 gcc/doc/gcj-dbtool.1 ! 4dad5749213aaac342355244ee3f220a gcc/doc/gcj.1 ! f4cb54b277bfbcc2b7ac31a7e7d5c3db gcc/doc/gcj.info ! 0c12af78ffbb77a23160e025980dea51 gcc/doc/gcov.1 8aa70f11ce5690ba307b76be34e06815 gcc/doc/gcov.texi ! efeb1bf30dde0d020572e281b9a4e3b9 gcc/doc/gfdl.7 ! 06b3511c95b4df85b6793428fd07bf8a gcc/doc/gfortran.1 ! d68cca122b17a7e7969c3c745bb4e27b gcc/doc/gij.1 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! e85fbb46228a332cf9175e3ca3fdd1ee gcc/doc/gpl.7 ! 586ad77c96db6dfdff6103936c9276a6 gcc/doc/grmic.1 27f1ec56c217595ef0c74cd6bb3a5068 gcc/doc/gty.texi 12712ad63a56e9d549562b21b42b1454 gcc/doc/headerdirs.texi 137fb28f4c61acc62886e4bfcc94b126 gcc/doc/hostconfig.texi --- 3846,3881 ---- f63bd3520709b065bf9ed006dfd7ec5b gcc/doc/configterms.texi 3c487c93672f788b4e1fcaead22f1ce4 gcc/doc/contrib.texi 532efd24ba5590c6aed6cc4fa92638d8 gcc/doc/contribute.texi ! 5833d764d3c1946a0111dd1b744da482 gcc/doc/cpp.1 ! 92047d18869fc735ca733299a62f087c gcc/doc/cpp.info 5f519c628c2aefdc5d51431296e8bee6 gcc/doc/cpp.texi 8462a717da44ca316c8c9ac975457a32 gcc/doc/cppenv.texi ! 4afedf1ca1779309ec2f2dbc60448ad6 gcc/doc/cppinternals.info 55cf8ff7895a619dde004d75de18d584 gcc/doc/cppinternals.texi 13eeb8ce920d994959f6108ac7570a9d gcc/doc/cppopts.texi ! e3aa8e4a1686778984ae88126ebfdfe5 gcc/doc/extend.texi 3fe79cfa723fec3828c465c2cd8c65f6 gcc/doc/fragments.texi ea6d5ba0f479d734a26aa1866844b301 gcc/doc/frontends.texi ! 738ef950b34d0f2275726ccddf0fd5fd gcc/doc/fsf-funding.7 ! eac9d7718de4dd0cae53260ee62ea0c1 gcc/doc/g++.1 ! 46610127de88a2f4145a5a37d4e2d43f gcc/doc/gc-analyze.1 ! eac9d7718de4dd0cae53260ee62ea0c1 gcc/doc/gcc.1 ! cc24a34d35a1fcc718ed368204f7594a gcc/doc/gcc.info 17b0b2e8e0c613e7077cd04b58829833 gcc/doc/gcc.texi ! 349979ad33dcfb87e39ffe8038563cf5 gcc/doc/gccinstall.info ! 47ca006b958ecffcfa81c72541bf3ede gcc/doc/gccint.info ! fb5a7bff38c50c4f1daf97e772c8a41e gcc/doc/gccint.texi ! d22d973b67499067d0b38efe30ba2c15 gcc/doc/gcj-dbtool.1 ! b804df0956435404b1b1417eecf1c12c gcc/doc/gcj.1 ! bd587933f70f12504f5dceb7942bd751 gcc/doc/gcj.info ! b22a20110f7a3a11ea9a6be29ef03195 gcc/doc/gcov.1 8aa70f11ce5690ba307b76be34e06815 gcc/doc/gcov.texi ! 5d2aeb0f1e4a66820f26767d80cb35b2 gcc/doc/gfdl.7 ! 8b870d03380ca77d734ed054dc6287b5 gcc/doc/gfortran.1 ! 9d7f1558c7ad440d625b6fabff2f40c9 gcc/doc/gij.1 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 79c6dd0a4de1f53d51804c5942c3bf63 gcc/doc/gpl.7 ! 227e430a79800fa9a7bec1d581d350a4 gcc/doc/grmic.1 27f1ec56c217595ef0c74cd6bb3a5068 gcc/doc/gty.texi 12712ad63a56e9d549562b21b42b1454 gcc/doc/headerdirs.texi 137fb28f4c61acc62886e4bfcc94b126 gcc/doc/hostconfig.texi *************** be9b425ec8b2ca65e2fdbad1029e2dff gcc/do *** 3891,3899 **** 088692e26e4e26a53a9780656172ead8 gcc/doc/install.texi ce61607b9b2130f5b5b738d4d83b840f gcc/doc/install.texi2html 5407c66b804884426ce94dcac22864d1 gcc/doc/interface.texi ! 1560211f2a91f9ea8659776b3c660112 gcc/doc/invoke.texi ! 8d19637ee06a159259eaca3a673affda gcc/doc/jcf-dump.1 ! 4257f86d2e8c2fdf9fa85bb820770b9f gcc/doc/jv-convert.1 a01aca1d7da7f482653b521ba6447f85 gcc/doc/languages.texi 21ff9703aef25a606c252f39b01fce50 gcc/doc/libgcc.texi 586f0c963441862de3bb694fa62ce972 gcc/doc/loop.texi --- 3890,3898 ---- 088692e26e4e26a53a9780656172ead8 gcc/doc/install.texi ce61607b9b2130f5b5b738d4d83b840f gcc/doc/install.texi2html 5407c66b804884426ce94dcac22864d1 gcc/doc/interface.texi ! dd0829622865d75e998490159cbf3a50 gcc/doc/invoke.texi ! ba4dca09a6d913e684ce9632d2c8cbf6 gcc/doc/jcf-dump.1 ! 978fc311120f739f1e7b06a7ab0df81e gcc/doc/jv-convert.1 a01aca1d7da7f482653b521ba6447f85 gcc/doc/languages.texi 21ff9703aef25a606c252f39b01fce50 gcc/doc/libgcc.texi 586f0c963441862de3bb694fa62ce972 gcc/doc/loop.texi *************** a01aca1d7da7f482653b521ba6447f85 gcc/do *** 3901,3916 **** ae0bb6d95e61f18bc64d604bdc955eb8 gcc/doc/md.texi 917011c981ebab7db6bbb9fa79e0d941 gcc/doc/objc.texi e171b772e2334eda923c3c6fa5ddefe5 gcc/doc/options.texi ! e2bc60dde8e96e88bfadcc4a7adc1d83 gcc/doc/passes.texi 72136dc6e58c1bb1790f0f25bbaf8897 gcc/doc/portability.texi ! c7e43a18c66cbe0ff7cb557934a41cdc gcc/doc/rtl.texi d57122b80f1dd7815e0cf707c38d0170 gcc/doc/service.texi 9b2ff8fb6172336751ec40fe814c8ead gcc/doc/sourcebuild.texi a52727f92b1bbec48ed1dc7a07f6fef5 gcc/doc/standards.texi 723466247ac179502b4586792802696b gcc/doc/tm.texi 214098f797fa395a5a6006f3a9cedbf5 gcc/doc/tree-ssa.texi 3948cbbaeaaf7c783f1e943c492f0bcc gcc/doc/trouble.texi ! 4c18e0d4ef4191c518aaaea1173633a7 gcc/dojump.c ae08c084cedd8f8869c87f7482d5f8ea gcc/dominance.c dae52c7a0883eb0a4bc37dd7df01ab8b gcc/domwalk.c 6610900c989d6176050bcac57ee612ca gcc/domwalk.h --- 3900,3915 ---- ae0bb6d95e61f18bc64d604bdc955eb8 gcc/doc/md.texi 917011c981ebab7db6bbb9fa79e0d941 gcc/doc/objc.texi e171b772e2334eda923c3c6fa5ddefe5 gcc/doc/options.texi ! e022413d3dc7f5ba5c9b37b1e5f6909b gcc/doc/passes.texi 72136dc6e58c1bb1790f0f25bbaf8897 gcc/doc/portability.texi ! 667150ee515bd12041eaf916fdf20fe2 gcc/doc/rtl.texi d57122b80f1dd7815e0cf707c38d0170 gcc/doc/service.texi 9b2ff8fb6172336751ec40fe814c8ead gcc/doc/sourcebuild.texi a52727f92b1bbec48ed1dc7a07f6fef5 gcc/doc/standards.texi 723466247ac179502b4586792802696b gcc/doc/tm.texi 214098f797fa395a5a6006f3a9cedbf5 gcc/doc/tree-ssa.texi 3948cbbaeaaf7c783f1e943c492f0bcc gcc/doc/trouble.texi ! 0538587896492fa56736d514a832bd29 gcc/dojump.c ae08c084cedd8f8869c87f7482d5f8ea gcc/dominance.c dae52c7a0883eb0a4bc37dd7df01ab8b gcc/domwalk.c 6610900c989d6176050bcac57ee612ca gcc/domwalk.h *************** d926bac36e4e1ec9134f4ec8568bc63f gcc/ds *** 3923,3935 **** 5e34b6523522e5bbf438bc8cf8a028eb gcc/dwarf2.h 9a8f9ae59194a3a7da7cae7c368f75b9 gcc/dwarf2asm.c 12623788973040394670a1e63f06da0c gcc/dwarf2asm.h ! 3959bc0e7639317c2c5917e177a42b41 gcc/dwarf2out.c 67f3d8e6b5d126395338cd7f15524f62 gcc/dwarf2out.h f59c711553ec1a731e209d668f665581 gcc/ebitmap.c 41bd76d761b9d63ab950d8b86120fc1c gcc/ebitmap.h 759f15940689648affb56245e2a0343b gcc/emit-rtl.c da7a79437f984d349af5ad7c28bdcb2d gcc/emit-rtl.h ! 5d464de2b161fa2b1246f7f0a52dc068 gcc/emutls.c 1484ab4b6124286c799dc8acd6f4dbf5 gcc/errors.c a90ac3cdbb7945961290c26b0919d01c gcc/errors.h f9688b25a4ac4d2d4b696fecff4b4812 gcc/et-forest.c --- 3922,3934 ---- 5e34b6523522e5bbf438bc8cf8a028eb gcc/dwarf2.h 9a8f9ae59194a3a7da7cae7c368f75b9 gcc/dwarf2asm.c 12623788973040394670a1e63f06da0c gcc/dwarf2asm.h ! 6ff422eacb28a53b50a8a0ab6b47fe29 gcc/dwarf2out.c 67f3d8e6b5d126395338cd7f15524f62 gcc/dwarf2out.h f59c711553ec1a731e209d668f665581 gcc/ebitmap.c 41bd76d761b9d63ab950d8b86120fc1c gcc/ebitmap.h 759f15940689648affb56245e2a0343b gcc/emit-rtl.c da7a79437f984d349af5ad7c28bdcb2d gcc/emit-rtl.h ! f7146d8b182f40fbff6d511fa7e676c1 gcc/emutls.c 1484ab4b6124286c799dc8acd6f4dbf5 gcc/errors.c a90ac3cdbb7945961290c26b0919d01c gcc/errors.h f9688b25a4ac4d2d4b696fecff4b4812 gcc/et-forest.c *************** f98dd897aba811bb037b7e00cb0e9234 gcc/fi *** 3947,3954 **** 4a30b20a32ac06014df613761d7da1d5 gcc/fixed-value.h 539edf8a17f86b4878338e977ca4886e gcc/fixproto 568edd50fbca88b941ef7dbf31b47dd0 gcc/flags.h ! 94f302d5db848f9c809784f45e41a8fe gcc/fold-const.c ! 430f02b0672546bb373ddfa764b1b5fd gcc/fortran/ChangeLog a7663343404e5c8cd4fe22f4e5f8039b gcc/fortran/ChangeLog-2002 aaf400b0b954b39bafbe84581b01c429 gcc/fortran/ChangeLog-2003 83b581736c856dc0853389ea0c7cb007 gcc/fortran/ChangeLog-2004 --- 3946,3953 ---- 4a30b20a32ac06014df613761d7da1d5 gcc/fixed-value.h 539edf8a17f86b4878338e977ca4886e gcc/fixproto 568edd50fbca88b941ef7dbf31b47dd0 gcc/flags.h ! 18abea1c9d05ae949c024d7749502a2c gcc/fold-const.c ! 2e7722162fa14472ba1d457b9d10fe4b gcc/fortran/ChangeLog a7663343404e5c8cd4fe22f4e5f8039b gcc/fortran/ChangeLog-2002 aaf400b0b954b39bafbe84581b01c429 gcc/fortran/ChangeLog-2003 83b581736c856dc0853389ea0c7cb007 gcc/fortran/ChangeLog-2004 *************** e0efc3f3e8dd2b740b114e0624e968c6 gcc/fo *** 3975,3984 **** 2a2623ecc3c0bc92e2c7ac38ced6387d gcc/fortran/f95-lang.c 5eceabeecfb264b11f8979916560374f gcc/fortran/gfc-internals.texi 0344a8d0ff8b7e722fb68f54606a033b gcc/fortran/gfortran.h ! a9195458fdb8289ecfd09837ea10733d gcc/fortran/gfortran.info 8a9cc106d09d3cea9d2e20eeda456ac6 gcc/fortran/gfortran.texi bbbf3356233113182377fe25fd5906bf gcc/fortran/gfortranspec.c ! f48cc206bf298fbfeeaf1a2c368b4f9d gcc/fortran/interface.c 477c19c5c4ffdc0525e51325f4657030 gcc/fortran/intrinsic.c fcc30bee0aaca063758b346c8d8ec14a gcc/fortran/intrinsic.h f18edc9d5de50b96b200f9ce5cf52c50 gcc/fortran/intrinsic.texi --- 3974,3983 ---- 2a2623ecc3c0bc92e2c7ac38ced6387d gcc/fortran/f95-lang.c 5eceabeecfb264b11f8979916560374f gcc/fortran/gfc-internals.texi 0344a8d0ff8b7e722fb68f54606a033b gcc/fortran/gfortran.h ! 090c6eed88a21076f7fbcbebc5fa8fc1 gcc/fortran/gfortran.info 8a9cc106d09d3cea9d2e20eeda456ac6 gcc/fortran/gfortran.texi bbbf3356233113182377fe25fd5906bf gcc/fortran/gfortranspec.c ! 77241f8717ab545cdc480d3348a3e0d5 gcc/fortran/interface.c 477c19c5c4ffdc0525e51325f4657030 gcc/fortran/intrinsic.c fcc30bee0aaca063758b346c8d8ec14a gcc/fortran/intrinsic.h f18edc9d5de50b96b200f9ce5cf52c50 gcc/fortran/intrinsic.texi *************** c271b9533ef75ed1d8a817680c82bfb7 gcc/fo *** 3996,4023 **** c34fdca661d6b57b8de36b5f51974412 gcc/fortran/matchexp.c 7351a04d3e1a9cf6cdeaf966fadd4b9c gcc/fortran/mathbuiltins.def af8a5cf17817e88e3ee1fd67e370d172 gcc/fortran/misc.c ! f4d9c9747c9d9d8404ad1ae89f4ae931 gcc/fortran/module.c e8e090ee422c28f98aabe24c1e088782 gcc/fortran/openmp.c fd0f4987598a1ee668b251498c771bda gcc/fortran/options.c ! f0bc06a86fde9db940c2f70a7ff36bbf gcc/fortran/parse.c db6268434c13fbd14c2656e2f6f81e6b gcc/fortran/parse.h bf9e13b7c4dafd28e201ea70e9ed128d gcc/fortran/primary.c ! b9ca18a322e5d0ddd7af4b89e79d3fc8 gcc/fortran/resolve.c 1f1b31f200748759110f03d1a619d1bc gcc/fortran/scanner.c ! a94049bbcf989ccd26b66038d9c1847b gcc/fortran/simplify.c 6672c6a25c96021a404b2734e6b1a2e9 gcc/fortran/st.c b0705f611894dfe47349a7b3dde5dffb gcc/fortran/symbol.c e5b02259f52a2016485fee07f70de0c4 gcc/fortran/target-memory.c 4dd87100f5a3a4138ecb3ea5dbba18ef gcc/fortran/target-memory.h ! 1e14b1f8acbcd1664e2578c978e09ccb gcc/fortran/trans-array.c 309fd50ddc8c5f1b315705880e896ee8 gcc/fortran/trans-array.h e69ba744797bc8560d44f50c36e3b8e7 gcc/fortran/trans-common.c ddcbf20467e96045a820b3eda74ecde8 gcc/fortran/trans-const.c 3c1cda09b3e4ad60324d5fe76fb81010 gcc/fortran/trans-const.h f70d1ecfdc962202889052c30cb4a9bb gcc/fortran/trans-decl.c ! 4901b1f9afdf1d91fced08768acd510b gcc/fortran/trans-expr.c ! 908c9fec69c9492ff6a4b781dd518430 gcc/fortran/trans-intrinsic.c ! 55cfac0a009095cac175128f7eca0f63 gcc/fortran/trans-io.c d233039ed52f3de50fdf172d8d847aa6 gcc/fortran/trans-openmp.c 2bea3d22187e37803895c7057eca3943 gcc/fortran/trans-stmt.c 731ede4284b149e78d02ed052f0641df gcc/fortran/trans-stmt.h --- 3995,4022 ---- c34fdca661d6b57b8de36b5f51974412 gcc/fortran/matchexp.c 7351a04d3e1a9cf6cdeaf966fadd4b9c gcc/fortran/mathbuiltins.def af8a5cf17817e88e3ee1fd67e370d172 gcc/fortran/misc.c ! 0c65492c9b6ff9c2548f3e1e4bed4711 gcc/fortran/module.c e8e090ee422c28f98aabe24c1e088782 gcc/fortran/openmp.c fd0f4987598a1ee668b251498c771bda gcc/fortran/options.c ! 12fd07c8c87b76d456cdec668f384506 gcc/fortran/parse.c db6268434c13fbd14c2656e2f6f81e6b gcc/fortran/parse.h bf9e13b7c4dafd28e201ea70e9ed128d gcc/fortran/primary.c ! 2f69789aed0a79f6433993d2473d70f2 gcc/fortran/resolve.c 1f1b31f200748759110f03d1a619d1bc gcc/fortran/scanner.c ! aededc67f6d01b40b5eeaf460da8bdcd gcc/fortran/simplify.c 6672c6a25c96021a404b2734e6b1a2e9 gcc/fortran/st.c b0705f611894dfe47349a7b3dde5dffb gcc/fortran/symbol.c e5b02259f52a2016485fee07f70de0c4 gcc/fortran/target-memory.c 4dd87100f5a3a4138ecb3ea5dbba18ef gcc/fortran/target-memory.h ! 9a3965bcbf379c4629cac8ec8ec6f647 gcc/fortran/trans-array.c 309fd50ddc8c5f1b315705880e896ee8 gcc/fortran/trans-array.h e69ba744797bc8560d44f50c36e3b8e7 gcc/fortran/trans-common.c ddcbf20467e96045a820b3eda74ecde8 gcc/fortran/trans-const.c 3c1cda09b3e4ad60324d5fe76fb81010 gcc/fortran/trans-const.h f70d1ecfdc962202889052c30cb4a9bb gcc/fortran/trans-decl.c ! 1c1e2142b1cce1a8125595eecb31b670 gcc/fortran/trans-expr.c ! 9b7244781ac9b1fc230bbb981f6cd060 gcc/fortran/trans-intrinsic.c ! 3e3548ca6851b673dbc03721de4009df gcc/fortran/trans-io.c d233039ed52f3de50fdf172d8d847aa6 gcc/fortran/trans-openmp.c 2bea3d22187e37803895c7057eca3943 gcc/fortran/trans-stmt.c 731ede4284b149e78d02ed052f0641df gcc/fortran/trans-stmt.h *************** d606d03931ba320a3c251ae79f0352f2 gcc/fo *** 4027,4033 **** 56a40c971cc50d5d3a1962890c61dfc8 gcc/fortran/trans.h ab7dd67eed7ace267465b481df9411ec gcc/fortran/types.def dcbfb5f59aa7c840c77285967d94c409 gcc/fp-test.c ! ce7a20e1f1719b8b624a9ef079b3174a gcc/function.c a303e03191021ffe06e2c19dad84f19c gcc/function.h a0605ff0a6c3013caf64484d1f9f4cb3 gcc/fwprop.c b6f2acd7ffdda0ba478be12b946fc129 gcc/gbl-ctors.h --- 4026,4032 ---- 56a40c971cc50d5d3a1962890c61dfc8 gcc/fortran/trans.h ab7dd67eed7ace267465b481df9411ec gcc/fortran/types.def dcbfb5f59aa7c840c77285967d94c409 gcc/fp-test.c ! b79d3e2a8845192286a0b73f471a256c gcc/function.c a303e03191021ffe06e2c19dad84f19c gcc/function.h a0605ff0a6c3013caf64484d1f9f4cb3 gcc/fwprop.c b6f2acd7ffdda0ba478be12b946fc129 gcc/gbl-ctors.h *************** daab6e6009c7f2a7a222c7b210a5dd6c gcc/ge *** 4056,4062 **** a504c0e6b9775455bc08734178436152 gcc/genextract.c e916713c67d4bd0ee15de2e23d625b1a gcc/genflags.c ac69af0b2bcdd35b25174278ccd40aca gcc/gengenrtl.c ! 18e064d88ffc4e9b1276bcbf55140447 gcc/gengtype-lex.c 10469dbd28278ba4f9286aebd99feefc gcc/gengtype-lex.l 5e264825a46ac960fd04df6c4e6fe749 gcc/gengtype-parse.c 3d5027aea1a131e03548ceee8bb92b7f gcc/gengtype.c --- 4055,4061 ---- a504c0e6b9775455bc08734178436152 gcc/genextract.c e916713c67d4bd0ee15de2e23d625b1a gcc/genflags.c ac69af0b2bcdd35b25174278ccd40aca gcc/gengenrtl.c ! 37de8575b43be328b651f71d37df07b2 gcc/gengtype-lex.c 10469dbd28278ba4f9286aebd99feefc gcc/gengtype-lex.l 5e264825a46ac960fd04df6c4e6fe749 gcc/gengtype-parse.c 3d5027aea1a131e03548ceee8bb92b7f gcc/gengtype.c *************** bbd8eba1a1e6768188c431e76e3a5052 gcc/gg *** 4077,4083 **** 6bbee411c4c01ae15681dd0aafc3b24c gcc/ggc-zone.c 94ac448d364c30ca9d6175b1766129fd gcc/ggc.h be2a760ca27c3f2e398b0bd6189d0d1e gcc/gimple-low.c ! d05d2849884c64387bf37940d71fce59 gcc/gimplify.c 8ba7811b926872b3d3c400c1d28a85ae gcc/ginclude/float.h 3b200c2e6083737714963cb90fadd2fc gcc/ginclude/iso646.h 10c9f28806d14aba38914b97ca1ba7d1 gcc/ginclude/stdarg.h --- 4076,4082 ---- 6bbee411c4c01ae15681dd0aafc3b24c gcc/ggc-zone.c 94ac448d364c30ca9d6175b1766129fd gcc/ggc.h be2a760ca27c3f2e398b0bd6189d0d1e gcc/gimple-low.c ! 366a432a16f41e965f2e2265db0c18f9 gcc/gimplify.c 8ba7811b926872b3d3c400c1d28a85ae gcc/ginclude/float.h 3b200c2e6083737714963cb90fadd2fc gcc/ginclude/iso646.h 10c9f28806d14aba38914b97ca1ba7d1 gcc/ginclude/stdarg.h *************** cff9b112acbaa59b4c325fb101097a0b gcc/ip *** 4141,4149 **** 5e673bb5451f63e6277dc0f0935622ab gcc/ipa-type-escape.c 99a1d2db571bf917e7608f05cd67419f gcc/ipa-type-escape.h d30a8acc4ee04ffdfdc15bd3caccc2d7 gcc/ipa-utils.c ! 15c1b8d1e88098ba46d86b0189cb7429 gcc/ipa-utils.h a34108043c9195beb1d6268150526001 gcc/ipa.c ! e7d4f2e8970e216ce9296cc5fbc43728 gcc/java/ChangeLog 3ac37a9f1ad274538f2de05e991e7fb3 gcc/java/ChangeLog.ptr 5daac56e6d929be638ed287da3720f51 gcc/java/ChangeLog.tree-ssa 24db5ea69011126b1e384dda0bf6de7d gcc/java/Make-lang.in --- 4140,4148 ---- 5e673bb5451f63e6277dc0f0935622ab gcc/ipa-type-escape.c 99a1d2db571bf917e7608f05cd67419f gcc/ipa-type-escape.h d30a8acc4ee04ffdfdc15bd3caccc2d7 gcc/ipa-utils.c ! 017073f8caef914b5ff479648a205a50 gcc/ipa-utils.h a34108043c9195beb1d6268150526001 gcc/ipa.c ! 93f323e71836f101089b116aa1fab48a gcc/java/ChangeLog 3ac37a9f1ad274538f2de05e991e7fb3 gcc/java/ChangeLog.ptr 5daac56e6d929be638ed287da3720f51 gcc/java/ChangeLog.tree-ssa 24db5ea69011126b1e384dda0bf6de7d gcc/java/Make-lang.in *************** d4f7140fcd55bba037803fb314146a6c gcc/li *** 4208,4214 **** 3d489fc3f620fcc190cfa282849ff57f gcc/longlong.h e8c05e91fae3edc2847460edb214c490 gcc/loop-doloop.c 5f9be532659a8421ef2ba952046b4ee6 gcc/loop-init.c ! 0a22b47f1b298b790b52920da713486f gcc/loop-invariant.c 2b5626ae86a6bfc3c7e40c20922fe66a gcc/loop-iv.c 689345b8e25cba8fa2d411a2e832dfa0 gcc/loop-unroll.c d6182b024d0b0d4a483f28831516b211 gcc/loop-unswitch.c --- 4207,4213 ---- 3d489fc3f620fcc190cfa282849ff57f gcc/longlong.h e8c05e91fae3edc2847460edb214c490 gcc/loop-doloop.c 5f9be532659a8421ef2ba952046b4ee6 gcc/loop-init.c ! f50a2f91a6811bc80779d20fa3721f0f gcc/loop-invariant.c 2b5626ae86a6bfc3c7e40c20922fe66a gcc/loop-iv.c 689345b8e25cba8fa2d411a2e832dfa0 gcc/loop-unroll.c d6182b024d0b0d4a483f28831516b211 gcc/loop-unswitch.c *************** cf985a26ee76751c37b4454653a7b374 gcc/lo *** 4225,4240 **** 2569a0ab9b2c9f2c2b8e980aee6fbbe3 gcc/mode-classes.def 3e82f00a11609193016fc53745dff4e9 gcc/mode-switching.c 64ed2275302d7af3d5b17353758ce275 gcc/modulo-sched.c ! 97564ccf9d794cc3fcc005ba4cbeb9eb gcc/objc/ChangeLog 1f798367f92b386ba9082972c4cb9e59 gcc/objc/Make-lang.in aa5319dd541cdb0eb8622f9adf66b761 gcc/objc/README 079d3dc27e9567936ebcc70e9662b3c8 gcc/objc/config-lang.in 12b74b3e3d404886e2425d13369d58c3 gcc/objc/lang-specs.h ! b7d2569d0382003cee7da3f948d7ff10 gcc/objc/objc-act.c a21db3766f7d5b1e38eb737e51956387 gcc/objc/objc-act.h 0c8ad7b2520bb944fa58e1b400102d68 gcc/objc/objc-lang.c 6779d586f851c44361fe2884d2d9192c gcc/objc/objc-tree.def ! dd34b275ce87524905862161e7523d83 gcc/objcp/ChangeLog aae6cf248b9759bc4eac6c602006111c gcc/objcp/Make-lang.in 871a47a5d40ed19c0d393bb1a52229c2 gcc/objcp/config-lang.in b69e6fb8f98a0eca7d27309f950a6974 gcc/objcp/lang-specs.h --- 4224,4239 ---- 2569a0ab9b2c9f2c2b8e980aee6fbbe3 gcc/mode-classes.def 3e82f00a11609193016fc53745dff4e9 gcc/mode-switching.c 64ed2275302d7af3d5b17353758ce275 gcc/modulo-sched.c ! 942e249033821096b0003a91c1c78bcf gcc/objc/ChangeLog 1f798367f92b386ba9082972c4cb9e59 gcc/objc/Make-lang.in aa5319dd541cdb0eb8622f9adf66b761 gcc/objc/README 079d3dc27e9567936ebcc70e9662b3c8 gcc/objc/config-lang.in 12b74b3e3d404886e2425d13369d58c3 gcc/objc/lang-specs.h ! b661324eb258952e69b52a4110ef7eb5 gcc/objc/objc-act.c a21db3766f7d5b1e38eb737e51956387 gcc/objc/objc-act.h 0c8ad7b2520bb944fa58e1b400102d68 gcc/objc/objc-lang.c 6779d586f851c44361fe2884d2d9192c gcc/objc/objc-tree.def ! 839b35bd30d631c270669b8d77c2be59 gcc/objcp/ChangeLog aae6cf248b9759bc4eac6c602006111c gcc/objcp/Make-lang.in 871a47a5d40ed19c0d393bb1a52229c2 gcc/objcp/config-lang.in b69e6fb8f98a0eca7d27309f950a6974 gcc/objcp/lang-specs.h *************** c8e24610558ceff4f2a95399f2d34dd3 gcc/op *** 4259,4265 **** 4a3a9062dd8367118b8ecedba980fa1b gcc/params.def 5adf40e0a4cf926319a43ae9fd6a161e gcc/params.h f84944269e3e867204bde2bfd73cc4b7 gcc/passes.c ! 56ab706a14d010ed7e2a5f9e55eef36c gcc/po/ChangeLog 954b21fb36cc0d8e9f6e2d6507152f23 gcc/po/EXCLUDES 0d0e347dc1057bcbb55913184375f183 gcc/po/be.gmo 3beb5d00524db399ee270136fbc7d8f3 gcc/po/be.po --- 4258,4264 ---- 4a3a9062dd8367118b8ecedba980fa1b gcc/params.def 5adf40e0a4cf926319a43ae9fd6a161e gcc/params.h f84944269e3e867204bde2bfd73cc4b7 gcc/passes.c ! 93d5eba56d9f75a0ce834b90700f022e gcc/po/ChangeLog 954b21fb36cc0d8e9f6e2d6507152f23 gcc/po/EXCLUDES 0d0e347dc1057bcbb55913184375f183 gcc/po/be.gmo 3beb5d00524db399ee270136fbc7d8f3 gcc/po/be.po *************** cf057980f920ac6e13134beacead3f6e gcc/pr *** 4313,4341 **** cff149a22584332abf0530a1e38d3ce9 gcc/ra-conflict.c dc03629c948fab47fd49d5799066c331 gcc/ra.h 6c67756ff484d21f60aaedbeb882c7f7 gcc/read-rtl.c ! d8be1f84ce08061ed58326832c638bc1 gcc/real.c ! 3069ff1a269f398697877ba1c2bc171b gcc/real.h ! 06856c09a45b7d0bc5c153152e82ec7b gcc/recog.c ! 70f663540d2d478f5f82f2d02c0d1169 gcc/recog.h 224f91f9a8ecaa17210e1994124a994a gcc/reg-notes.def a7cadb007cf9e6d39ce9d2ece8f18792 gcc/reg-stack.c 6249d187d81bec262a3ec3c0ede028b4 gcc/regclass.c d1dba042ab3c7a9fe11f6d88259fd0bc gcc/regmove.c ! 2a6b01d5abe97e9ec4f7d10c77a3953d gcc/regrename.c e7318fc09d4dede05fd013ecb39a5c53 gcc/regs.h 1953fe43290e3fbad466dfaa12d1ef5c gcc/regstat.c b9f1344582bab362a7c8a9336a81a93a gcc/reload.c 5c1237ec36a0c5b6f11ea68b621d30be gcc/reload.h 460fdd25bc16c56e4d1025a9387833e3 gcc/reload1.c c8f4a0c3b0c3b67810eac81e3ed10373 gcc/reorg.c ! dbb81974259edc9e4564b6532f11ab75 gcc/resource.c 9f394cc88571b8c03e25b5b6efd57c7b gcc/resource.h 6c1c51604abf0b7f9157ba2c2c11a5f5 gcc/rtl-error.c 317f5bbecf5403943481a672d11a07c2 gcc/rtl-factoring.c 0175d56066f0d6e5e69e2ab2c810669e gcc/rtl.c 936cf9443ffd980d008a242881b4c88f gcc/rtl.def ! 7651ed37289192be2ff4c2dff88f378a gcc/rtl.h ! 5ab48fc930264ac75cba9087ee5ebe94 gcc/rtlanal.c df67c8acecc569c465c852dd89a84e28 gcc/rtlhooks-def.h 3e8ec408bcfed03dae2c1c4aed11383b gcc/rtlhooks.c 79b1a7f11576f36cdef55683b0a457d9 gcc/sbitmap.c --- 4312,4340 ---- cff149a22584332abf0530a1e38d3ce9 gcc/ra-conflict.c dc03629c948fab47fd49d5799066c331 gcc/ra.h 6c67756ff484d21f60aaedbeb882c7f7 gcc/read-rtl.c ! 5a8bf976fc774d4e91b91eb443207a56 gcc/real.c ! fd3121c0f073e5578d366c77ca3a941b gcc/real.h ! 900e9bbd9085fdee237f7c8f9b21ccde gcc/recog.c ! 36a37198d4e2600f7232e8625f395190 gcc/recog.h 224f91f9a8ecaa17210e1994124a994a gcc/reg-notes.def a7cadb007cf9e6d39ce9d2ece8f18792 gcc/reg-stack.c 6249d187d81bec262a3ec3c0ede028b4 gcc/regclass.c d1dba042ab3c7a9fe11f6d88259fd0bc gcc/regmove.c ! d2232377d4b8303021c13d6e2da89d23 gcc/regrename.c e7318fc09d4dede05fd013ecb39a5c53 gcc/regs.h 1953fe43290e3fbad466dfaa12d1ef5c gcc/regstat.c b9f1344582bab362a7c8a9336a81a93a gcc/reload.c 5c1237ec36a0c5b6f11ea68b621d30be gcc/reload.h 460fdd25bc16c56e4d1025a9387833e3 gcc/reload1.c c8f4a0c3b0c3b67810eac81e3ed10373 gcc/reorg.c ! ff8e1fc61650bbcfd39cd92b47ce129f gcc/resource.c 9f394cc88571b8c03e25b5b6efd57c7b gcc/resource.h 6c1c51604abf0b7f9157ba2c2c11a5f5 gcc/rtl-error.c 317f5bbecf5403943481a672d11a07c2 gcc/rtl-factoring.c 0175d56066f0d6e5e69e2ab2c810669e gcc/rtl.c 936cf9443ffd980d008a242881b4c88f gcc/rtl.def ! fe679521ab7f66b8960fde2a5079029a gcc/rtl.h ! 5697fdd52fe68a8a9cb2dda054395b8e gcc/rtlanal.c df67c8acecc569c465c852dd89a84e28 gcc/rtlhooks-def.h 3e8ec408bcfed03dae2c1c4aed11383b gcc/rtlhooks.c 79b1a7f11576f36cdef55683b0a457d9 gcc/sbitmap.c *************** ccb87a7188dd661cab76472ae8432697 gcc/sc *** 4352,4358 **** 27b5b98d55c9f476250184eb5ec4f4a6 gcc/sdbout.c 2bf1c375dc117d4f9b701a7aee5fd59c gcc/sdbout.h 9aac991cf5d03c6834713fafb5ea39e3 gcc/see.c ! 3815e93e7c0cf2ffc6986f4c1f43a911 gcc/simplify-rtx.c 8e865a71c4e2c43eae4afbcf143af4a6 gcc/sort-protos 5457d90f5d3a3d65812d7422b2b4d5dd gcc/sparseset.c cd7d6d8dffb6ca3094d690e109f65269 gcc/sparseset.h --- 4351,4357 ---- 27b5b98d55c9f476250184eb5ec4f4a6 gcc/sdbout.c 2bf1c375dc117d4f9b701a7aee5fd59c gcc/sdbout.h 9aac991cf5d03c6834713fafb5ea39e3 gcc/see.c ! 6eb16b6009b36c3eff4219a7643ccf31 gcc/simplify-rtx.c 8e865a71c4e2c43eae4afbcf143af4a6 gcc/sort-protos 5457d90f5d3a3d65812d7422b2b4d5dd gcc/sparseset.c cd7d6d8dffb6ca3094d690e109f65269 gcc/sparseset.h *************** cd7d6d8dffb6ca3094d690e109f65269 gcc/sp *** 4361,4367 **** 7eb47b8235d418dbe8b95c8c85499102 gcc/stab.def 6c1e00fabff948db5c0c3101b7434309 gcc/stack-ptr-mod.c fa420c13a4750bb6cd3ec92dcc0ff545 gcc/statistics.h ! 2357453670b8d6b28c8a2e38db70d4d1 gcc/stmt.c 1554536b7ad0d35728f57cb4fdc35d3c gcc/stor-layout.c 79c621d2b179ae9f1cac15a96b79ed2b gcc/stringpool.c d717d4040c31b2974cc6287f30770276 gcc/struct-equiv.c --- 4360,4366 ---- 7eb47b8235d418dbe8b95c8c85499102 gcc/stab.def 6c1e00fabff948db5c0c3101b7434309 gcc/stack-ptr-mod.c fa420c13a4750bb6cd3ec92dcc0ff545 gcc/statistics.h ! bfc1ee9e5f485bc589d715fe869ecf09 gcc/stmt.c 1554536b7ad0d35728f57cb4fdc35d3c gcc/stor-layout.c 79c621d2b179ae9f1cac15a96b79ed2b gcc/stringpool.c d717d4040c31b2974cc6287f30770276 gcc/struct-equiv.c *************** bf1c98807040d3ee66d5dfc85c659ef0 gcc/ta *** 4374,4380 **** f44189305ce38a2fbbd80ede8a1706d2 gcc/target.h e8be634dd23f925ad1a2e1c717e0f5e6 gcc/targhooks.c 28311eb8d0f391447720a414f0eb6516 gcc/targhooks.h ! 3f750ad127507afd7bba41dc8a3cde64 gcc/testsuite/ChangeLog 6c2ceb0138a4f779fd6d8b6327fa8611 gcc/testsuite/ChangeLog.ptr e17ee05091518d43a251036cfe547583 gcc/testsuite/ChangeLog.tree-ssa c2eb2f892b7b914e0a687ca43783d1f3 gcc/testsuite/README --- 4373,4379 ---- f44189305ce38a2fbbd80ede8a1706d2 gcc/target.h e8be634dd23f925ad1a2e1c717e0f5e6 gcc/targhooks.c 28311eb8d0f391447720a414f0eb6516 gcc/targhooks.h ! e0ece014e80f662efc5c5184f0b00981 gcc/testsuite/ChangeLog 6c2ceb0138a4f779fd6d8b6327fa8611 gcc/testsuite/ChangeLog.ptr e17ee05091518d43a251036cfe547583 gcc/testsuite/ChangeLog.tree-ssa c2eb2f892b7b914e0a687ca43783d1f3 gcc/testsuite/README *************** e6e5db803fed31ae5912983c195924e3 gcc/te *** 7290,7295 **** --- 7289,7295 ---- efbba0a91471acb4d5e7746ec12f312c gcc/testsuite/g++.dg/cpp0x/decltype1.C cd06903b180590e9b430016409918b61 gcc/testsuite/g++.dg/cpp0x/decltype10.C b1ca5344811760f6e82c858f672bd0f6 gcc/testsuite/g++.dg/cpp0x/decltype11.C + c00e5bacd6ac200e6550fc2d6d4ac73e gcc/testsuite/g++.dg/cpp0x/decltype16.C 8e4636150244fc51b5ba40f24e50437c gcc/testsuite/g++.dg/cpp0x/decltype2.C ca680e1c72d327ebdf7107e5ae91abeb gcc/testsuite/g++.dg/cpp0x/decltype3.C 859540e19d872366f2581f5571ade110 gcc/testsuite/g++.dg/cpp0x/decltype4.C *************** cd35023d6996f43d62bf64762abdc8f5 gcc/te *** 7343,7348 **** --- 7343,7349 ---- 6a5b31135f37628be4892ec76215d2a6 gcc/testsuite/g++.dg/cpp0x/pr34058.C e4082204afdcaeccf1c498832e48bf59 gcc/testsuite/g++.dg/cpp0x/pr34060.C fa9fefbf49d938e0bb7bc95e80a16b94 gcc/testsuite/g++.dg/cpp0x/pr34061.C + 96e51d00f882d1f43b035d7c6b88a69a gcc/testsuite/g++.dg/cpp0x/pr39639.C 2dd310aa31b211b87c38209f2ae84388 gcc/testsuite/g++.dg/cpp0x/reference_collapsing.C 502f5ac10c2ab96a80d6c603bdf2cfd2 gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C 515c22f2491f2538ef1856d4849193c8 gcc/testsuite/g++.dg/cpp0x/rv1n.C *************** b0614ce472042e86627bab8a9917ae6c gcc/te *** 7375,7380 **** --- 7376,7382 ---- a460b87cdd4f4e41763d048e0fd1c15b gcc/testsuite/g++.dg/cpp0x/unnamed_refs.C 3dcf280a61a31db3b901338f80bd09bb gcc/testsuite/g++.dg/cpp0x/variadic-bind.C 09d0cfdb30531a4ad803dbcbe2f0a1cd gcc/testsuite/g++.dg/cpp0x/variadic-crash1.C + 5e3959ae12c98fa735857b7a4a481ca6 gcc/testsuite/g++.dg/cpp0x/variadic-crash2.C 8b9cbac516a9cff78bdd6926ed679f1b gcc/testsuite/g++.dg/cpp0x/variadic-ex1.C 76a8254969800746445081626acf6fd9 gcc/testsuite/g++.dg/cpp0x/variadic-ex10.C 97b96a2f18f11713716e649fc5925b5f gcc/testsuite/g++.dg/cpp0x/variadic-ex11.C *************** a26a24dcac8fa1d56d36002c9551d274 gcc/te *** 7543,7548 **** --- 7545,7551 ---- 9b015014257af56d73a48e0f2e546d29 gcc/testsuite/g++.dg/debug/dwarf2/fesd-sys.h 34941d0e46c36878c4c08a907bcce93f gcc/testsuite/g++.dg/debug/dwarf2/fesd.h 237e50ca0346c070ed29dd1d894fc812 gcc/testsuite/g++.dg/debug/dwarf2/local-var-in-contructor.C + a805a39dd25f75a8d917e6036732df72 gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C 479930fb5faf8196de02f2765efd234d gcc/testsuite/g++.dg/debug/enum-1.C 7ca1d4c7ad1e18f7eebfa4742477778c gcc/testsuite/g++.dg/debug/enum-2.C 475a95279bcd0b4ccd6e118ead65e106 gcc/testsuite/g++.dg/debug/minimal1.C *************** a26a24dcac8fa1d56d36002c9551d274 gcc/te *** 7550,7556 **** 98d1fa8a42200722f612a8f915bb9673 gcc/testsuite/g++.dg/debug/namespace2.C fcdc9d29f34ff56d1b7de0d55a1eaed7 gcc/testsuite/g++.dg/debug/pr15736.cc ee0ec04c39cca9bd75fd40da91daaab0 gcc/testsuite/g++.dg/debug/pr16792.C ! 5ac6655be86d5fd49b1583bedd61391d gcc/testsuite/g++.dg/debug/pr22514.C a9cf363ccde67638eed4148103577d18 gcc/testsuite/g++.dg/debug/pr27657.C fa240b5916a88de396432f0b952489b3 gcc/testsuite/g++.dg/debug/pr29906.C bf050d057433140d0ed2aeeab122c5be gcc/testsuite/g++.dg/debug/pr30898.C --- 7553,7559 ---- 98d1fa8a42200722f612a8f915bb9673 gcc/testsuite/g++.dg/debug/namespace2.C fcdc9d29f34ff56d1b7de0d55a1eaed7 gcc/testsuite/g++.dg/debug/pr15736.cc ee0ec04c39cca9bd75fd40da91daaab0 gcc/testsuite/g++.dg/debug/pr16792.C ! df49cf40347d14b2036b2c9b04d64a6f gcc/testsuite/g++.dg/debug/pr22514.C a9cf363ccde67638eed4148103577d18 gcc/testsuite/g++.dg/debug/pr27657.C fa240b5916a88de396432f0b952489b3 gcc/testsuite/g++.dg/debug/pr29906.C bf050d057433140d0ed2aeeab122c5be gcc/testsuite/g++.dg/debug/pr30898.C *************** d7b50316002a163842608f185be9c7a2 gcc/te *** 7675,7686 **** --- 7678,7691 ---- f7feef6eca2fd890a8914fedc2a62ddf gcc/testsuite/g++.dg/expr/bitfield9.C 6b31d632588060d56a7701a0a12216c8 gcc/testsuite/g++.dg/expr/bool1.C 863ab5de11960b6302468e16665e31ec gcc/testsuite/g++.dg/expr/bool2.C + 959fb0cad7f85400707a33296f113cce gcc/testsuite/g++.dg/expr/bound-mem-fun.C ce7b6234ca0490c5f395644574322ca2 gcc/testsuite/g++.dg/expr/call1.C 11d589082fe10f4614aafaae41200569 gcc/testsuite/g++.dg/expr/call2.C c152b77836f794103fb606dea43e77d1 gcc/testsuite/g++.dg/expr/call3.C 262e2a044016a13ee93fb310eff38bd2 gcc/testsuite/g++.dg/expr/call4.C 47ee2e9f4d1f4caaa66273c534a05700 gcc/testsuite/g++.dg/expr/call5.C 2ef606c671097dddd5d5000c30530ba5 gcc/testsuite/g++.dg/expr/cast1.C + 234b04abbf4ba798c38bda66394b82a7 gcc/testsuite/g++.dg/expr/cast10.C dc26302260e3f7ff5825d907b882eae8 gcc/testsuite/g++.dg/expr/cast2.C 43b3f0cf8dc0665f8a82af5379392da1 gcc/testsuite/g++.dg/expr/cast3.C ed8e65f6a9fb8340f4d8881b00bc8a62 gcc/testsuite/g++.dg/expr/cast4.C *************** e47d06dbe235e9ad9f7950da814d16ef gcc/te *** 8087,8092 **** --- 8092,8098 ---- 73717f63993d617e09ce4b4ee1dc7dcc gcc/testsuite/g++.dg/ext/visibility/virtual.C b78959b2914362cd23e2ae31204c2305 gcc/testsuite/g++.dg/ext/visibility/visibility-1.C 7f98e383bb2386437d2d7b37cf32a6b8 gcc/testsuite/g++.dg/ext/visibility/visibility-10.C + 810e1cafeb22e936dfd0834c4e0f0b42 gcc/testsuite/g++.dg/ext/visibility/visibility-11.C e84981f02dd8957761952e315dab0d86 gcc/testsuite/g++.dg/ext/visibility/visibility-2.C b9dc9fa8adc27f38cdd6d69f47df7504 gcc/testsuite/g++.dg/ext/visibility/visibility-3.C 9915a08c47035d39990d7918773f9236 gcc/testsuite/g++.dg/ext/visibility/visibility-4.C *************** c268699333b239c371d1bdc906ea54ad gcc/te *** 8382,8387 **** --- 8388,8394 ---- 28ced8869a7baac26a49e3084bf7d851 gcc/testsuite/g++.dg/init/copy4.C 02c689a173b02b7312d282add8f14591 gcc/testsuite/g++.dg/init/copy5.C 5d48182e8fa2907f420bf1ef3d67dba3 gcc/testsuite/g++.dg/init/copy6.C + 2cc24a78ed1faef56f750718ff083f29 gcc/testsuite/g++.dg/init/copy7.C 77ceed5edeb6a109374c44ef23679bef gcc/testsuite/g++.dg/init/ctor1.C c92e60dfdc4e6ad1fcc8d9290be36f5f gcc/testsuite/g++.dg/init/ctor2.C 5922ec5514343fd09b90bff2a9853e0d gcc/testsuite/g++.dg/init/ctor3.C *************** e6a6097b4d5bd61ae38897f3b753019c gcc/te *** 8829,8835 **** f8fa04e44f6fd70dc42a62899c9f64d6 gcc/testsuite/g++.dg/opt/static6.C 60be25e48eb621d1ff683d818d13b520 gcc/testsuite/g++.dg/opt/strength-reduce.C 5ed0d3826b9088598be9656c25162529 gcc/testsuite/g++.dg/opt/switch1.C ! bbefd5b6e2ed3c02c5af749a336d254b gcc/testsuite/g++.dg/opt/switch2.C 0cc8575163405751cafdeec02c836cfb gcc/testsuite/g++.dg/opt/switch3.C 3f7a508706743fec6408316af296cebd gcc/testsuite/g++.dg/opt/switch4.C b9c612d3d4289676abda6ba55bb98ae9 gcc/testsuite/g++.dg/opt/temp1.C --- 8836,8842 ---- f8fa04e44f6fd70dc42a62899c9f64d6 gcc/testsuite/g++.dg/opt/static6.C 60be25e48eb621d1ff683d818d13b520 gcc/testsuite/g++.dg/opt/strength-reduce.C 5ed0d3826b9088598be9656c25162529 gcc/testsuite/g++.dg/opt/switch1.C ! 61704a5f57c4a5f46b6144e7223f9962 gcc/testsuite/g++.dg/opt/switch2.C 0cc8575163405751cafdeec02c836cfb gcc/testsuite/g++.dg/opt/switch3.C 3f7a508706743fec6408316af296cebd gcc/testsuite/g++.dg/opt/switch4.C b9c612d3d4289676abda6ba55bb98ae9 gcc/testsuite/g++.dg/opt/temp1.C *************** de07ec93dc9f688d2fe2f33f07228d16 gcc/te *** 8986,8991 **** --- 8993,9000 ---- 47c3e5b8844cd1d867dcffd6b821201f gcc/testsuite/g++.dg/other/pr33601.C 9eb130318208524d6d7856f3fba7336a gcc/testsuite/g++.dg/other/pr34435.C ca790c339fe54a884f32d8e5cd3c7e53 gcc/testsuite/g++.dg/other/pr35504.C + e7318945c51d3bbaf1fa1d922b1661f3 gcc/testsuite/g++.dg/other/pr38706.C + 13032d4b520ba4039fd6df337bd67601 gcc/testsuite/g++.dg/other/pr39496.C d21dda28ccc09de70408d08632e8b5a7 gcc/testsuite/g++.dg/other/pragma-ep-1.C 7459c97728e6ffd98a446fba2d38d258 gcc/testsuite/g++.dg/other/pragma-re-1.C f58740da9046e1b048adeaf5bd6ac01e gcc/testsuite/g++.dg/other/pragma-re-2.C *************** e789e85b8e83c35e7e483d4d892e55fd gcc/te *** 9016,9021 **** --- 9025,9031 ---- 5e0beb379071427ec23de04edb342301 gcc/testsuite/g++.dg/other/struct-va_list.C 6312bd4cf43fd17e803778af8b1f2031 gcc/testsuite/g++.dg/other/switch1.C 37c0f6f7c04f78d10db7b76974117a16 gcc/testsuite/g++.dg/other/switch2.C + bb7141945a25ded3ef95f8a4fab53bff gcc/testsuite/g++.dg/other/switch3.C 9bae0d01ef429f94e58c536f39c9ca7b gcc/testsuite/g++.dg/other/synth1.C 195390f264266be35f2d327ceae6b25a gcc/testsuite/g++.dg/other/typedef1.C 257a7ccb9a00dcf8f78b7667d6ccb94f gcc/testsuite/g++.dg/other/ucnid-1.C *************** c20d14b721443c68f73728331d14fbe0 gcc/te *** 9119,9124 **** --- 9129,9135 ---- 73b5fec6848a7932aba299c38c57d8ed gcc/testsuite/g++.dg/parse/cond1.C 5b95db4d3d95193611271dcf7d869fe5 gcc/testsuite/g++.dg/parse/cond2.C b43f54f7685ba9c6743e2c7a3cd0dd8d gcc/testsuite/g++.dg/parse/cond3.C + 66345f83d8ed0f9b1c9d5b8315c90b1e gcc/testsuite/g++.dg/parse/cond5.C 88ea1494d81948e2d2af7b240440d149 gcc/testsuite/g++.dg/parse/condexpr1.C bfeb624c1fc667410d95e4596057c951 gcc/testsuite/g++.dg/parse/constant1.C b9d605265e28097c16a8dd9715ebcd23 gcc/testsuite/g++.dg/parse/constant2.C *************** c8d90b5459dbdf7bf29e5b2a79f38d17 gcc/te *** 9202,9207 **** --- 9213,9220 ---- 9af20f2ed80bb687afac1f85d9e1dad4 gcc/testsuite/g++.dg/parse/dtor11.C 2d72f9efae372fbca9d31f234d0395c1 gcc/testsuite/g++.dg/parse/dtor12.C 2f1ba051cdf0b3812fb8d4829e61a238 gcc/testsuite/g++.dg/parse/dtor13.C + ced832c704713d5dd4581483a10c8a33 gcc/testsuite/g++.dg/parse/dtor14.C + 784814c1cb95ee4da37b2ff4009fc31b gcc/testsuite/g++.dg/parse/dtor15.C 1d7ced46ba93cd282dde965b7f3d48b1 gcc/testsuite/g++.dg/parse/dtor2.C 910d21c43d1e636c0d63d98205e45a4a gcc/testsuite/g++.dg/parse/dtor3.C 0e5bfee2fe061692451a1e06a97362d4 gcc/testsuite/g++.dg/parse/dtor4.C *************** c2a5649592cbbe88e85ed2dcd1b7cc0f gcc/te *** 9216,9223 **** 4a8579808b7290439fae0d407373d254 gcc/testsuite/g++.dg/parse/else-2.C c22d9f4a49cae5dbae1b167a7d5b6aa5 gcc/testsuite/g++.dg/parse/else.C bffa59fb0720de69133074cfe6a10f52 gcc/testsuite/g++.dg/parse/enum1.C ! 06d19cbedd1d62affd5a8ee99eaa7c6c gcc/testsuite/g++.dg/parse/enum2.C ! 6814163b6d08a19b467ae6162148943e gcc/testsuite/g++.dg/parse/enum3.C 37fc43724f8801d8874bb3001647ef4f gcc/testsuite/g++.dg/parse/enum4.C 5899bb448a99b1043a6627a8f00344af gcc/testsuite/g++.dg/parse/error1.C d656216ea9a3c459dc105586a70fc044 gcc/testsuite/g++.dg/parse/error10.C --- 9229,9236 ---- 4a8579808b7290439fae0d407373d254 gcc/testsuite/g++.dg/parse/else-2.C c22d9f4a49cae5dbae1b167a7d5b6aa5 gcc/testsuite/g++.dg/parse/else.C bffa59fb0720de69133074cfe6a10f52 gcc/testsuite/g++.dg/parse/enum1.C ! 7db35a121c5e06c218be6e74693c8270 gcc/testsuite/g++.dg/parse/enum2.C ! e18f3290f2c72a7f85f3be196324ef9f gcc/testsuite/g++.dg/parse/enum3.C 37fc43724f8801d8874bb3001647ef4f gcc/testsuite/g++.dg/parse/enum4.C 5899bb448a99b1043a6627a8f00344af gcc/testsuite/g++.dg/parse/error1.C d656216ea9a3c459dc105586a70fc044 gcc/testsuite/g++.dg/parse/error10.C *************** e8e9b52687fc710dc5ded14930091f3f gcc/te *** 9274,9279 **** --- 9287,9293 ---- e005a8916811050710ecc80c202837ed gcc/testsuite/g++.dg/parse/invalid-op1.C 2d1f2fe5b6244babc7a712997b8feea6 gcc/testsuite/g++.dg/parse/linkage1.C 259a8909e0634541b2c5e19b89d8cfc7 gcc/testsuite/g++.dg/parse/linkage2.C + f860807cf54031b8df626f746711d411 gcc/testsuite/g++.dg/parse/linkage3.C d71bba5a605bcf9e53086d66758b1f00 gcc/testsuite/g++.dg/parse/local-class1.C d1474e603dfda7a944b4131661d47d65 gcc/testsuite/g++.dg/parse/local1.C 8af90d5b10beafe61974e1e52c872741 gcc/testsuite/g++.dg/parse/long1.C *************** aa3fea2a27b0f7145cbb79cd1e001af9 gcc/te *** 9315,9320 **** --- 9329,9335 ---- d8bdf5788845d2336959275e9ea01e79 gcc/testsuite/g++.dg/parse/offsetof5.C 62fcaf77de8a6f92f01587074bf5ec24 gcc/testsuite/g++.dg/parse/offsetof6.C f4b27a4b97096a1f4de4209f7e4c5f26 gcc/testsuite/g++.dg/parse/offsetof7.C + 7f291291c36ce0760b815fd17deee991 gcc/testsuite/g++.dg/parse/offsetof9.C ca050d3a19382312a7cd864019542cf5 gcc/testsuite/g++.dg/parse/operator1.C e91f3d3016e1e200ebed1193330b5657 gcc/testsuite/g++.dg/parse/operator2.C 9f1d578d41417a071a22f5bb888a42e5 gcc/testsuite/g++.dg/parse/operator3.C *************** d745bc63c8c200e57c116976bd79e9b1 gcc/te *** 9561,9566 **** --- 9576,9582 ---- d6ed514093a999f1e4b15b3133a67692 gcc/testsuite/g++.dg/template/array19.C b197e9f6e5275f99d9ff3c22fe947550 gcc/testsuite/g++.dg/template/array2-1.C 8da7cf5d73e9871b3bac6287dfe96d0a gcc/testsuite/g++.dg/template/array2-2.C + dbd20d81c325cee68179c0a4fd156f81 gcc/testsuite/g++.dg/template/array20.C 353ce65cd4b47cb87d4a7e33038e372d gcc/testsuite/g++.dg/template/array3.C 3904f7cfd18135b5f8ef1dbb020648fc gcc/testsuite/g++.dg/template/array4.C c557bdb58ff52b9fc368185880923627 gcc/testsuite/g++.dg/template/array5.C *************** c10faccbba72797e793c4697fe233f9c gcc/te *** 9720,9725 **** --- 9736,9743 ---- 71d10b5b4cd6cb6cb8f6be930603b8e8 gcc/testsuite/g++.dg/template/dtor2.C c46251d092a454420a2658cd0fcc8c15 gcc/testsuite/g++.dg/template/dtor3.C 6e56714a3e1899ea002e689d9f32a53f gcc/testsuite/g++.dg/template/dtor4.C + 6df398ccb1fe455e5493303db41ea421 gcc/testsuite/g++.dg/template/dtor5.C + c8e779ef365daa82fe0eec85042627d9 gcc/testsuite/g++.dg/template/dtor7.C 8f66b4b808e15a65e9eb6c04d2d02e4e gcc/testsuite/g++.dg/template/duplicate1.C 9c78ecb5ca87b2a81cbd9c1796b2c13e gcc/testsuite/g++.dg/template/eh1.C 74bfd9d037870ff6f4ad0ce91b6cf2b1 gcc/testsuite/g++.dg/template/eh2.C *************** bfbe469c91f678acc5c06f6a7a92f9c6 gcc/te *** 9778,9783 **** --- 9796,9802 ---- ad629aa6efcf1374753dbd987791a144 gcc/testsuite/g++.dg/template/explicit8.C d9a08dd82988a25d2840d767d582837f gcc/testsuite/g++.dg/template/expr1.C f8aa89e0edae3ef78836a8cc046f0550 gcc/testsuite/g++.dg/template/field1.C + 1581f9141ad183d6d31a009275ebf7a4 gcc/testsuite/g++.dg/template/fnspec1.C 8f101d84c90c958381606b762e3df298 gcc/testsuite/g++.dg/template/fntry1.C c6cdc41eef6b33a55c43db84fd711a3f gcc/testsuite/g++.dg/template/friend.C bdf8365204c19eeb87434d85b7139d2d gcc/testsuite/g++.dg/template/friend10.C *************** d16da0e6f160e02bc23c4d98080f1644 gcc/te *** 9829,9834 **** --- 9848,9854 ---- ceb858e95982ac0af2e9168f31aea229 gcc/testsuite/g++.dg/template/friend8.C 59b5bf61b7f6210d3cf3b9b45692794a gcc/testsuite/g++.dg/template/friend9.C d5d24fc94d133229a10c5b13f44c253b gcc/testsuite/g++.dg/template/func1.C + d68216ca94895657c1d7e1a9deffaa6e gcc/testsuite/g++.dg/template/func2.C 43017cf348a37638085196f74ac68fe3 gcc/testsuite/g++.dg/template/incomplete1.C 07ff18822f6de660e45899ae7045b541 gcc/testsuite/g++.dg/template/incomplete2.C b6192cd189e5459a84384348bf07ab8a gcc/testsuite/g++.dg/template/incomplete3.C *************** e920cba477d63f2866ea0710ce55a2ce gcc/te *** 9845,9850 **** --- 9865,9871 ---- ca8434716aafffaf7e37a7ea8e094cc5 gcc/testsuite/g++.dg/template/init5.C 65a281c41b82251552faaf8359766e91 gcc/testsuite/g++.dg/template/init6.C 449f6814f4d979ec3743b87b9b4e5f78 gcc/testsuite/g++.dg/template/init7.C + 64a05fc8eebed95ff925e08b8a3bf935 gcc/testsuite/g++.dg/template/init8.C 2d167e5f0ea8c84539b7c56039fb2785 gcc/testsuite/g++.dg/template/inline1.C 4a8ca4b32d44e0e909b1e397ddc63061 gcc/testsuite/g++.dg/template/instantiate1.C 88e1ec74b340410f99e5bf69122404bd gcc/testsuite/g++.dg/template/instantiate2.C *************** e2ea27f4d30c89986de472da016881a2 gcc/te *** 9991,9996 **** --- 10012,10019 ---- dbd288590e967c40dee79909821124df gcc/testsuite/g++.dg/template/partial4.C c22dcd4b931c3e20f660aa27686f9a87 gcc/testsuite/g++.dg/template/partial5.C 10a1cc60b3d92d61e1b34b9ac481d289 gcc/testsuite/g++.dg/template/pr28284.C + d3ba333f92088ba255ebad2bc17cd0cf gcc/testsuite/g++.dg/template/pr28301.C + d5bdded25e31421ba955d833faff7fbc gcc/testsuite/g++.dg/template/pr39425.C 04907f98f8eab7c64ced6646f5140346 gcc/testsuite/g++.dg/template/pretty1.C b1805d4b386b8dcd432f41c68e255100 gcc/testsuite/g++.dg/template/pseudodtor1.C 632dfaf82a330021f820250c7641745b gcc/testsuite/g++.dg/template/pseudodtor2.C *************** f5581de159c7b5592926840478d5c5fb gcc/te *** 10104,10110 **** bcc1e7cd1681ae2c1d9e35cde8abbbc4 gcc/testsuite/g++.dg/template/spec30.C 5f4ca65174fe2a4c7ed7bfb4fa8c89d5 gcc/testsuite/g++.dg/template/spec31.C f2a0b8ac9757fbcaba8addb591bb1e06 gcc/testsuite/g++.dg/template/spec32.C ! 6bd598d1b554e65fd2d8c77a31f4c892 gcc/testsuite/g++.dg/template/spec33.C 1503455e6bff13911dd306082359dbdf gcc/testsuite/g++.dg/template/spec34.C 727f8f63a8b88495ab866b70455ef74e gcc/testsuite/g++.dg/template/spec35.C 2a1077a58e27e49e8f92e9122c330685 gcc/testsuite/g++.dg/template/spec4.C --- 10127,10133 ---- bcc1e7cd1681ae2c1d9e35cde8abbbc4 gcc/testsuite/g++.dg/template/spec30.C 5f4ca65174fe2a4c7ed7bfb4fa8c89d5 gcc/testsuite/g++.dg/template/spec31.C f2a0b8ac9757fbcaba8addb591bb1e06 gcc/testsuite/g++.dg/template/spec32.C ! a9180d3ef512a022c9b825693df2bc57 gcc/testsuite/g++.dg/template/spec33.C 1503455e6bff13911dd306082359dbdf gcc/testsuite/g++.dg/template/spec34.C 727f8f63a8b88495ab866b70455ef74e gcc/testsuite/g++.dg/template/spec35.C 2a1077a58e27e49e8f92e9122c330685 gcc/testsuite/g++.dg/template/spec4.C *************** c8309bdff0cfda521b4e7ea53eaf9126 gcc/te *** 10197,10202 **** --- 10220,10227 ---- 30d9dbf1a055ca371d55466a58a6efb8 gcc/testsuite/g++.dg/template/typename12.C ca4a61ed1c2da506a98ef392ad06676a gcc/testsuite/g++.dg/template/typename13.C 7dd8b9bc6da8c8f42250a913e3dbff25 gcc/testsuite/g++.dg/template/typename14.C + 6b4d640645eea393c4b9454635e1b913 gcc/testsuite/g++.dg/template/typename15.C + 72f97d6e8b102635f9bd980db11112f9 gcc/testsuite/g++.dg/template/typename16.C 6f0e8ab81674c7673d0604ed5e32996d gcc/testsuite/g++.dg/template/typename2.C baaa577db3fc32c6dd18e8cfa76705eb gcc/testsuite/g++.dg/template/typename3.C 067e80757c255d2bfc9772a4fbf18fb7 gcc/testsuite/g++.dg/template/typename4.C *************** e572bcc11c7547b7dc25eb1055bb6ea4 gcc/te *** 10273,10278 **** --- 10298,10304 ---- da747c42593323ea9f06891e84ac6808 gcc/testsuite/g++.dg/torture/pr31863.C 2b9b21a174d22a50425b2e0f0538d74f gcc/testsuite/g++.dg/torture/pr32304.C e9780c172c681062c7a2b35fc6317156 gcc/testsuite/g++.dg/torture/pr32563.C + 61a41127865c15f172eb94912777d1f6 gcc/testsuite/g++.dg/torture/pr32950.C a290e0d99d5d90235194f3576ea12cbe gcc/testsuite/g++.dg/torture/pr33134.C e7e4b2dc9d1619f87f1e2e87f843e498 gcc/testsuite/g++.dg/torture/pr33340.C fef6e4af1918b51b514676a2dc0186ab gcc/testsuite/g++.dg/torture/pr33572.C *************** e65f8d67d0f5193102824297c694cef5 gcc/te *** 10296,10301 **** --- 10322,10331 ---- d189c1337cd585db66672b0b6d7b9ff3 gcc/testsuite/g++.dg/torture/pr35164-2.C f0828251cc6bd9dc4a1cc272f8b3d558 gcc/testsuite/g++.dg/torture/pr35526.C 78c5033efcb138d0a19388b6bdb3105a gcc/testsuite/g++.dg/torture/pr38565.C + b40a32ddc241492f6a395ad16cd948ee gcc/testsuite/g++.dg/torture/pr38745.C + a7f9b10c8589802dfa8f02f013c7ac2e gcc/testsuite/g++.dg/torture/pr40335.C + 4035a1e00eace7a7615f43772cc94b78 gcc/testsuite/g++.dg/torture/pr40389.C + 39c666253aab951b3677dc9c7b19514f gcc/testsuite/g++.dg/torture/pr40460.C 5afe578074ff640a77903318faea8e72 gcc/testsuite/g++.dg/torture/str_empty.C dc0b0bbecceeb2619e44dd8070f9da6b gcc/testsuite/g++.dg/torture/type-generic-1.C 1e015db2c28f0131b9bf647f8de438b9 gcc/testsuite/g++.dg/tree-prof/indir-call-prof.C *************** de6922f52681362a988b2a9e27c6e865 gcc/te *** 10487,10492 **** --- 10517,10523 ---- d4573ac3640698442e2e693aacce94bb gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-char-1.C ac260e0cd387ad68b172cae5830684be gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-const.C b84015e5a6773bd08e2a0f87ad5c4641 gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-nested-arrays.C + f345b06fca626501d991adc9447c18e0 gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-placement-new.C 443205fcd20b9b14da1367b1b8e16bce gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-signed-unsigned.C 73aa8fdd361564d9ba904d4252613717 gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-struct-included.C 81024e5e796ea1637204d6a421f3c1bb gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-union.C *************** b2ac295c001e28b6659dd1cbaecfc2a9 gcc/te *** 10495,10507 **** c608f5d02a06d2e24d8ab0ca0d977f67 gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-2.C a0b497dc1f8dc8ce49f81bc391f0deb1 gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-3.C 839fdbb04e93708d893f0f0e3f961ef5 gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-4.C ! 9f043716d56d5ecb10d2e43f4882b263 gcc/testsuite/g++.dg/warn/Wswitch-1.C 063811cae4064dfe33ddbcd11e9f93ee gcc/testsuite/g++.dg/warn/Wswitch-2.C ec17a45e76ade076a9d23dd01ca9751f gcc/testsuite/g++.dg/warn/Wswitch-default-1.C 2908bb9b9b3a7ea3f41f0effd0934ce0 gcc/testsuite/g++.dg/warn/Wswitch-default-2.C 633c61179699c1cca2e51dfaf2b48aa2 gcc/testsuite/g++.dg/warn/Wtype-limits-Wextra.C d803f73370f8916f5ec2a47e528fa49a gcc/testsuite/g++.dg/warn/Wtype-limits-no.C 22df2210e32160eed4b3f51bb9773e8b gcc/testsuite/g++.dg/warn/Wtype-limits.C f3d80e4b7c90755533b6b7bd8812abae gcc/testsuite/g++.dg/warn/Wunreachable-code-1.C aa9f0a4fa9133811690bf8fa76df33b7 gcc/testsuite/g++.dg/warn/Wunreachable-code-2.C d08f8f4d2f55349741193b20c16afa1a gcc/testsuite/g++.dg/warn/Wunused-1.C --- 10526,10540 ---- c608f5d02a06d2e24d8ab0ca0d977f67 gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-2.C a0b497dc1f8dc8ce49f81bc391f0deb1 gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-3.C 839fdbb04e93708d893f0f0e3f961ef5 gcc/testsuite/g++.dg/warn/Wstring-literal-comparison-4.C ! a6c41dcd4c09f3501aad8a911a32cbf2 gcc/testsuite/g++.dg/warn/Wswitch-1.C 063811cae4064dfe33ddbcd11e9f93ee gcc/testsuite/g++.dg/warn/Wswitch-2.C ec17a45e76ade076a9d23dd01ca9751f gcc/testsuite/g++.dg/warn/Wswitch-default-1.C 2908bb9b9b3a7ea3f41f0effd0934ce0 gcc/testsuite/g++.dg/warn/Wswitch-default-2.C 633c61179699c1cca2e51dfaf2b48aa2 gcc/testsuite/g++.dg/warn/Wtype-limits-Wextra.C d803f73370f8916f5ec2a47e528fa49a gcc/testsuite/g++.dg/warn/Wtype-limits-no.C 22df2210e32160eed4b3f51bb9773e8b gcc/testsuite/g++.dg/warn/Wtype-limits.C + fe4c6303d7ec13423e71cfb150c05d00 gcc/testsuite/g++.dg/warn/Wuninitialized-1.C + 21fc5ac0f1ee255b648d071723254d87 gcc/testsuite/g++.dg/warn/Wuninitialized-2.C f3d80e4b7c90755533b6b7bd8812abae gcc/testsuite/g++.dg/warn/Wunreachable-code-1.C aa9f0a4fa9133811690bf8fa76df33b7 gcc/testsuite/g++.dg/warn/Wunreachable-code-2.C d08f8f4d2f55349741193b20c16afa1a gcc/testsuite/g++.dg/warn/Wunused-1.C *************** ea73d6265dc16c3e8af8fcf468fbfdee gcc/te *** 10626,10631 **** --- 10659,10665 ---- 70f8973f83c648dfef793b81d7b5a128 gcc/testsuite/g++.dg/warn/return-reference.C 6239bf19df9d8b8d4d71dd727f1cce72 gcc/testsuite/g++.dg/warn/return-reference2.C 5e583edd642b46c07735de366c4d0f59 gcc/testsuite/g++.dg/warn/sentinel.C + cbeb61a079567f59bdce9faa40877398 gcc/testsuite/g++.dg/warn/switch1.C 6f90eb3a0f4a4e7f096197fba7797aff gcc/testsuite/g++.dg/warn/template-1.C 81ccb812ec92857cf80d860b4ffa0d31 gcc/testsuite/g++.dg/warn/undefined1.C 6d4a9123531aa6035c839c056617799a gcc/testsuite/g++.dg/warn/unit-1.C *************** e4681da1536da14176b6242aa0cde9a4 gcc/te *** 11658,11664 **** 0f465f011856318e4a82bae9e718ca27 gcc/testsuite/g++.old-deja/g++.jason/tempsub.C 40fcdd9ac5d7df502c6154f385d814a8 gcc/testsuite/g++.old-deja/g++.jason/this.C 9c846445e2018745dcc34b2f1642858c gcc/testsuite/g++.old-deja/g++.jason/thunk1.C ! 4fa4ffdd7b5433914705b1fffb691a4d gcc/testsuite/g++.old-deja/g++.jason/thunk2.C 8b8ea4952b7ede0284f1f5831e7ef223 gcc/testsuite/g++.old-deja/g++.jason/thunk3.C 776a6eba4666d06b4325a2d0850afe81 gcc/testsuite/g++.old-deja/g++.jason/tredecl.C bed2e0f518532685396e3880a1588ea1 gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C --- 11692,11698 ---- 0f465f011856318e4a82bae9e718ca27 gcc/testsuite/g++.old-deja/g++.jason/tempsub.C 40fcdd9ac5d7df502c6154f385d814a8 gcc/testsuite/g++.old-deja/g++.jason/this.C 9c846445e2018745dcc34b2f1642858c gcc/testsuite/g++.old-deja/g++.jason/thunk1.C ! d6d145695c2b3af618c6cb128f2a58a8 gcc/testsuite/g++.old-deja/g++.jason/thunk2.C 8b8ea4952b7ede0284f1f5831e7ef223 gcc/testsuite/g++.old-deja/g++.jason/thunk3.C 776a6eba4666d06b4325a2d0850afe81 gcc/testsuite/g++.old-deja/g++.jason/tredecl.C bed2e0f518532685396e3880a1588ea1 gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C *************** ebcad15f2df16a055754c0803b28e6c6 gcc/te *** 11943,11949 **** f3059608a1f797e501185505c8997b6d gcc/testsuite/g++.old-deja/g++.law/vtable1.C 248e82b0d6c1c80f463a405ecdc6ed4a gcc/testsuite/g++.old-deja/g++.law/vtable2.C 2ce54c476e19764bdebe4ac6fc7d64f7 gcc/testsuite/g++.old-deja/g++.law/vtable3.C ! a11956e61b48ea284a703b12d115889d gcc/testsuite/g++.old-deja/g++.law/weak.C 99f229ca2e8b470ed7c34283d8fc4e1a gcc/testsuite/g++.old-deja/g++.martin/access1.C 299fcc89ddbeaeba2068539f38eb848c gcc/testsuite/g++.old-deja/g++.martin/ambig1.C bbcf18896f3a1d744cf356a0a66cd95a gcc/testsuite/g++.old-deja/g++.martin/bitset1.C --- 11977,11983 ---- f3059608a1f797e501185505c8997b6d gcc/testsuite/g++.old-deja/g++.law/vtable1.C 248e82b0d6c1c80f463a405ecdc6ed4a gcc/testsuite/g++.old-deja/g++.law/vtable2.C 2ce54c476e19764bdebe4ac6fc7d64f7 gcc/testsuite/g++.old-deja/g++.law/vtable3.C ! 45930d4d3721ebf9ac343c912cd8760c gcc/testsuite/g++.old-deja/g++.law/weak.C 99f229ca2e8b470ed7c34283d8fc4e1a gcc/testsuite/g++.old-deja/g++.martin/access1.C 299fcc89ddbeaeba2068539f38eb848c gcc/testsuite/g++.old-deja/g++.martin/ambig1.C bbcf18896f3a1d744cf356a0a66cd95a gcc/testsuite/g++.old-deja/g++.martin/bitset1.C *************** c0116d02edfe6d83a6e0319b7ae43310 gcc/te *** 12434,12440 **** ea73badcef0f5166a559e07a0c263a92 gcc/testsuite/g++.old-deja/g++.ns/using7.C e592ac6b9789af1e806b4791c984da05 gcc/testsuite/g++.old-deja/g++.ns/using8.C 10a3890377e72341f4119f4affe2c8cb gcc/testsuite/g++.old-deja/g++.ns/using9.C ! 2765dc20aea37c17c5bfaa5545594563 gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog c17ab5a5d39a20786219d5cb72e8a956 gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C 2a6be2a8952603f1259d7023b81ce14b gcc/testsuite/g++.old-deja/g++.oliva/delete1.C 8c0b3f49c2e5d5c224c1e0aae235e1d8 gcc/testsuite/g++.old-deja/g++.oliva/delete2.C --- 12468,12474 ---- ea73badcef0f5166a559e07a0c263a92 gcc/testsuite/g++.old-deja/g++.ns/using7.C e592ac6b9789af1e806b4791c984da05 gcc/testsuite/g++.old-deja/g++.ns/using8.C 10a3890377e72341f4119f4affe2c8cb gcc/testsuite/g++.old-deja/g++.ns/using9.C ! d20eb788a870bf3547d088319dc98613 gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog c17ab5a5d39a20786219d5cb72e8a956 gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C 2a6be2a8952603f1259d7023b81ce14b gcc/testsuite/g++.old-deja/g++.oliva/delete1.C 8c0b3f49c2e5d5c224c1e0aae235e1d8 gcc/testsuite/g++.old-deja/g++.oliva/delete2.C *************** d0601a72a8ba859ac0a131b4944d1cb3 gcc/te *** 14274,14279 **** --- 14308,14314 ---- 87adab3cffabaeaf5f2c5ae78eb46e04 gcc/testsuite/gcc.c-torture/compile/20080628-1.c 63d63e82e0bbff470ecd1a23303316a9 gcc/testsuite/gcc.c-torture/compile/20080806-1.c f1b3e5835ed0ba4c6da0de667672e132 gcc/testsuite/gcc.c-torture/compile/20080812-1.c + 2bcecce30255d6b9792ea378099acd24 gcc/testsuite/gcc.c-torture/compile/20090401-1.c ab32e65ea5976f9083dc8234dae65343 gcc/testsuite/gcc.c-torture/compile/900116-1.c 19f66edc69de3cb6b5ca746e4dc7d9b5 gcc/testsuite/gcc.c-torture/compile/900216-1.c 9c85c5a027876d1435b0499666da5dd8 gcc/testsuite/gcc.c-torture/compile/900313-1.c *************** cc3dbd436da9aa0dfb794d42554771b2 gcc/te *** 14759,14764 **** --- 14794,14800 ---- de9d0573c12ddfd1c9cd5b4c4a4d59b3 gcc/testsuite/gcc.c-torture/compile/pr35006.c 0a0775455bdf03e4537ae48bc42b9a23 gcc/testsuite/gcc.c-torture/compile/pr35043.c 3f5634d37754a1bbe5c1bfb62791811b gcc/testsuite/gcc.c-torture/compile/pr35171.c + 7bd172a694793731198c337c4a326d59 gcc/testsuite/gcc.c-torture/compile/pr35318.c bfed8319cb606c75dc2da21298bf81ad gcc/testsuite/gcc.c-torture/compile/pr35431.c 03811b5c6f8a045b03dbc67e3b452b4c gcc/testsuite/gcc.c-torture/compile/pr35432.c c51936c8c800a023d361aa575a184baa gcc/testsuite/gcc.c-torture/compile/pr35492.c *************** c51936c8c800a023d361aa575a184baa gcc/te *** 14767,14773 **** --- 14803,14817 ---- c159db3cb804c886bf4d0632f8853f8f gcc/testsuite/gcc.c-torture/compile/pr36245.c 66f9c1d56473df6427510e6cfc0210e9 gcc/testsuite/gcc.c-torture/compile/pr36817.c 0d861b464c185ed9d64bdb4c3db9f906 gcc/testsuite/gcc.c-torture/compile/pr37026.c + 93ffd63c07413638bccc8b105145a2d4 gcc/testsuite/gcc.c-torture/compile/pr38359.c a84ff8beff9d296a82f8e0512f122fc2 gcc/testsuite/gcc.c-torture/compile/pr38752.c + d8b6a60225d9c3397fcd6b225f902ac9 gcc/testsuite/gcc.c-torture/compile/pr38789.c + 2f0423d6cba0f847262d4f4de29c0723 gcc/testsuite/gcc.c-torture/compile/pr38857.c + b3a19ce1e6ed7869eb9ad92dbb3aa8bb gcc/testsuite/gcc.c-torture/compile/pr38926.c + 6579a563777d718c96f46581e061d497 gcc/testsuite/gcc.c-torture/compile/pr39041.c + 5b96b05a3f0e9a4d1a2afbecaafbfcdc gcc/testsuite/gcc.c-torture/compile/pr39943.c + 2004b9b2e5f82db48f40e7c276f717cb gcc/testsuite/gcc.c-torture/compile/pr40204.c + 01ffdedd38a4cfccb5c037add39e0b21 gcc/testsuite/gcc.c-torture/compile/pr40291.c b9e6ce52b90320c1c3803c25113844c5 gcc/testsuite/gcc.c-torture/compile/pta-1.c 8d869e3426345f0cf8837c5eaafd43b5 gcc/testsuite/gcc.c-torture/compile/simd-1.c 7249a75cf6b955efed52b5ec5cee3a79 gcc/testsuite/gcc.c-torture/compile/simd-2.c *************** a38e3cfcf07e5b9c8b7d571aea98da43 gcc/te *** 15983,15988 **** --- 16027,16042 ---- 9bdd3fcc753daf43f4476e5c2bc16fca gcc/testsuite/gcc.c-torture/execute/pr37924.c 695ffcf841ae1bd0a1a3e8510877cbc6 gcc/testsuite/gcc.c-torture/execute/pr38048-1.c 5ad4f083b3fa4e3db43bf0a9ef05e9f5 gcc/testsuite/gcc.c-torture/execute/pr38048-2.c + 06cb84d17c6ab71ba5368161df22468b gcc/testsuite/gcc.c-torture/execute/pr38969.c + 0b037104427b152bfe3ab5fb85c2bec7 gcc/testsuite/gcc.c-torture/execute/pr39100.c + 471ca8a875775291b6cb5fe3b8666295 gcc/testsuite/gcc.c-torture/execute/pr39228.c + 9e889ec6a5c94fd3f8a8cb6588bc0290 gcc/testsuite/gcc.c-torture/execute/pr39228.x + e91032a7cb0ee1b0a9b14d418efe6fb0 gcc/testsuite/gcc.c-torture/execute/pr39240.c + a00550642c778d3e9743b700d0236937 gcc/testsuite/gcc.c-torture/execute/pr39501.c + 7f211adc21d2698e15fe8482583be425 gcc/testsuite/gcc.c-torture/execute/pr39501.x + 595addd89ccea71ac4e1c1f996001aca gcc/testsuite/gcc.c-torture/execute/pr40057.c + 2d937c84c86fb4270b1b897de3135ba1 gcc/testsuite/gcc.c-torture/execute/pr40404.c + dc861ea4ab9373f64dc8037e7bcb4a12 gcc/testsuite/gcc.c-torture/execute/pr40579.c ecfc31f12ce09d6ccbcced04ff04deba gcc/testsuite/gcc.c-torture/execute/pr7284-1.c 89f3c7ee990221eeb33cb08a0772e024 gcc/testsuite/gcc.c-torture/execute/pr7284-1.x f4610e3bba97324f7005c428fe41e597 gcc/testsuite/gcc.c-torture/execute/printf-1.c *************** d8f6a44dcbfc929191d5b0cd906ddfbb gcc/te *** 15994,16000 **** 013edb8adf936860ff13b4e3ccbc918d gcc/testsuite/gcc.c-torture/execute/scope-1.c f50791a37994d67c24691f699bc1688f gcc/testsuite/gcc.c-torture/execute/shiftdi.c 89f3c7ee990221eeb33cb08a0772e024 gcc/testsuite/gcc.c-torture/execute/shiftdi.x ! 4d550e3078688ce41cf8511f99aa76c6 gcc/testsuite/gcc.c-torture/execute/shiftopt-1.c a32edc960a41c187ce8ffbf1e99f4dec gcc/testsuite/gcc.c-torture/execute/simd-1.c 42bf5fec543c226567dd609fbeda49e4 gcc/testsuite/gcc.c-torture/execute/simd-2.c a96d43ed8ab613a37a93789fdecbfbf1 gcc/testsuite/gcc.c-torture/execute/simd-4.c --- 16048,16054 ---- 013edb8adf936860ff13b4e3ccbc918d gcc/testsuite/gcc.c-torture/execute/scope-1.c f50791a37994d67c24691f699bc1688f gcc/testsuite/gcc.c-torture/execute/shiftdi.c 89f3c7ee990221eeb33cb08a0772e024 gcc/testsuite/gcc.c-torture/execute/shiftdi.x ! f32de799f0458e1e67012bf12c40583d gcc/testsuite/gcc.c-torture/execute/shiftopt-1.c a32edc960a41c187ce8ffbf1e99f4dec gcc/testsuite/gcc.c-torture/execute/simd-1.c 42bf5fec543c226567dd609fbeda49e4 gcc/testsuite/gcc.c-torture/execute/simd-2.c a96d43ed8ab613a37a93789fdecbfbf1 gcc/testsuite/gcc.c-torture/execute/simd-4.c *************** c435a53e5f970746758c463fa3a97598 gcc/te *** 16019,16024 **** --- 16073,16079 ---- e9fd878ea9f033fd4b3b73c1a883fc29 gcc/testsuite/gcc.c-torture/execute/strlen-1.c cce1f9f0fc76abf4f2fa3e601faba666 gcc/testsuite/gcc.c-torture/execute/strncmp-1.c 43a90dba0679990fb8baa22b176bf6f4 gcc/testsuite/gcc.c-torture/execute/strncmp-1.x + 38b5ccdc5ed95557c23b1630d7c30bc1 gcc/testsuite/gcc.c-torture/execute/struct-aliasing-1.c 95454c6bf544eaafd61a30e4315982c9 gcc/testsuite/gcc.c-torture/execute/struct-cpy-1.c 0d008ee88148f8e935176646ba3c5c8f gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c 431d903b79e06426f5b3d2c6f7619c2e gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c *************** b911cf51d486403e3ca1c067a8a15675 gcc/te *** 16767,16773 **** b480d858b39b79a443449bd8aaff9559 gcc/testsuite/gcc.dg/asm-8.c c9481d742a48253660d16743a6beecf9 gcc/testsuite/gcc.dg/asm-9.c bcbbadd260cb26dea44e22620dc945b0 gcc/testsuite/gcc.dg/asm-a.c ! d496a6a3b7647a2f7409ba17304bf23a gcc/testsuite/gcc.dg/asm-b.c e370903640e76bf4ef407aafe0286689 gcc/testsuite/gcc.dg/asm-fs-1.c 6c3cba24c3d3fbf660605697935b9be5 gcc/testsuite/gcc.dg/asm-names.c 9c3b7de14ce6ac49627b91e2808376e5 gcc/testsuite/gcc.dg/asm-pr24146.c --- 16822,16828 ---- b480d858b39b79a443449bd8aaff9559 gcc/testsuite/gcc.dg/asm-8.c c9481d742a48253660d16743a6beecf9 gcc/testsuite/gcc.dg/asm-9.c bcbbadd260cb26dea44e22620dc945b0 gcc/testsuite/gcc.dg/asm-a.c ! a8a052f295cb8cd5b67b3391028a25bf gcc/testsuite/gcc.dg/asm-b.c e370903640e76bf4ef407aafe0286689 gcc/testsuite/gcc.dg/asm-fs-1.c 6c3cba24c3d3fbf660605697935b9be5 gcc/testsuite/gcc.dg/asm-names.c 9c3b7de14ce6ac49627b91e2808376e5 gcc/testsuite/gcc.dg/asm-pr24146.c *************** e9f57c78da759b068fa10bd3fda88676 gcc/te *** 16779,16784 **** --- 16834,16840 ---- bfcf3d61cfaeb70ffaf79290c46dc732 gcc/testsuite/gcc.dg/attr-alias-1.c e1871215b9eef07b10dc8c1bf21c038a gcc/testsuite/gcc.dg/attr-alias-2.c 54406575266226337b45764460058754 gcc/testsuite/gcc.dg/attr-alias-3.c + 99cd188400d44ba5049838fee2edbf82 gcc/testsuite/gcc.dg/attr-alias-4.c c87533f518e4f5b28d742042f6e43626 gcc/testsuite/gcc.dg/attr-alloc_size-2.c 5780a33df1e07ff932ba7306e131bfe4 gcc/testsuite/gcc.dg/attr-alloc_size.c bff5bf12c7a752b89f17af335428c788 gcc/testsuite/gcc.dg/attr-alwaysinline.c *************** e99f948a2420290f76df40092a42fab0 gcc/te *** 16926,16932 **** 1863267706e2e098673111de96a7b9c7 gcc/testsuite/gcc.dg/builtins-7.c e85b6c59bc8f0d4e4ef545b77f5bf156 gcc/testsuite/gcc.dg/builtins-8.c 6364406d43c3bf3c1af19d21027e1a8a gcc/testsuite/gcc.dg/builtins-9.c ! 06fc2775fa5395933c5ed95a44ecf4e3 gcc/testsuite/gcc.dg/builtins-config.h 8e169fe5323341f11a7665529d6c14a9 gcc/testsuite/gcc.dg/builtins-error.c 65e495bcc821b0c04c03e8e7c871913c gcc/testsuite/gcc.dg/c90-array-lval-1.c 37e70fabb75abb629dd8cb4a643c3b04 gcc/testsuite/gcc.dg/c90-array-lval-2.c --- 16982,16988 ---- 1863267706e2e098673111de96a7b9c7 gcc/testsuite/gcc.dg/builtins-7.c e85b6c59bc8f0d4e4ef545b77f5bf156 gcc/testsuite/gcc.dg/builtins-8.c 6364406d43c3bf3c1af19d21027e1a8a gcc/testsuite/gcc.dg/builtins-9.c ! 08325ac6297e7cdbe050e998ae4956e8 gcc/testsuite/gcc.dg/builtins-config.h 8e169fe5323341f11a7665529d6c14a9 gcc/testsuite/gcc.dg/builtins-error.c 65e495bcc821b0c04c03e8e7c871913c gcc/testsuite/gcc.dg/c90-array-lval-1.c 37e70fabb75abb629dd8cb4a643c3b04 gcc/testsuite/gcc.dg/c90-array-lval-2.c *************** a29d9aae5471b142585071ca58081590 gcc/te *** 16949,16954 **** --- 17005,17011 ---- e5276aadb831e54d0b1946f2b38d598d gcc/testsuite/gcc.dg/c90-dupqual-1.c 17ae3df6421f28e9968577038819ebe9 gcc/testsuite/gcc.dg/c90-enum-comma-1.c a8e9f6621ca05359b22045dc94c26daf gcc/testsuite/gcc.dg/c90-flex-array-1.c + f42aadf986dd6f03b9347a7efe581fa2 gcc/testsuite/gcc.dg/c90-flex-array-2.c 74e72bff096d96f94ce1b5f8a5c691a3 gcc/testsuite/gcc.dg/c90-float-1.c abb23a38fa096ffc07ca31fea7485b16 gcc/testsuite/gcc.dg/c90-fordecl-1.c 2fe4bdab73943ff64395b4e4ae8ea594 gcc/testsuite/gcc.dg/c90-hexfloat-1.c *************** d58f496a6f922a17d937e750ba0c6501 gcc/te *** 17002,17007 **** --- 17059,17065 ---- 7d2ab62ce947a9225643fdacf7f0027b gcc/testsuite/gcc.dg/c99-flex-array-2.c 78cc42248bdb52d6652c4f541f002708 gcc/testsuite/gcc.dg/c99-flex-array-3.c 0e3b88ea61ee52074d46336c41ac2ab1 gcc/testsuite/gcc.dg/c99-flex-array-5.c + 2fccb5f8d4139f6a2afa853ad0b2b6da gcc/testsuite/gcc.dg/c99-flex-array-6.c 357defe1afec2f085b1d06de285a26d1 gcc/testsuite/gcc.dg/c99-float-1.c b9cefc3b995f8bed2031fe01ccec8a9d gcc/testsuite/gcc.dg/c99-fordecl-1.c 40948d2547b0d7616de8e5419f1012c3 gcc/testsuite/gcc.dg/c99-fordecl-2.c *************** f52c497017ca63f66a793280ad895b49 gcc/te *** 17884,17889 **** --- 17942,17949 ---- ac798a5eaee2de30dc31343a89c0f43d gcc/testsuite/gcc.dg/dfp/constants.c 1df1c4c08e1bac24754743671e62ad0b gcc/testsuite/gcc.dg/dfp/convert-bfp-10.c baf5f69fb00546783c0e3a5fe5f612e1 gcc/testsuite/gcc.dg/dfp/convert-bfp-11.c + 5da64ac8a28513fd822a82460b1bc19c gcc/testsuite/gcc.dg/dfp/convert-bfp-13.c + 887bb183da8b2d48d4810bed378b759d gcc/testsuite/gcc.dg/dfp/convert-bfp-14.c 0a091e25a8c1c1149358e4d23a202886 gcc/testsuite/gcc.dg/dfp/convert-bfp-2.c bc39157ccba1e4928d4f7f400d2d7a7d gcc/testsuite/gcc.dg/dfp/convert-bfp-3.c da4761676d1572bc93dc7f8467c35141 gcc/testsuite/gcc.dg/dfp/convert-bfp-4.c *************** b88b572ebfe7ac6f6a6f136f95cfa6ff gcc/te *** 17895,17900 **** --- 17955,17961 ---- 1305cae772399225693ebe3f2cd31a4b gcc/testsuite/gcc.dg/dfp/convert-bfp-fold.c d5f69970eeea254a7fb599c4f9b807e0 gcc/testsuite/gcc.dg/dfp/convert-bfp.c 8ec83fea57f9bc016ee350be361d3131 gcc/testsuite/gcc.dg/dfp/convert-complex.c + c648e264dd5378c11c5ae227625c0ad5 gcc/testsuite/gcc.dg/dfp/convert-dfp-fold-2.c a2d883cad0c5268604987fe5f4f4654f gcc/testsuite/gcc.dg/dfp/convert-dfp-fold.c f234b94ef8d0907854d878234d40695a gcc/testsuite/gcc.dg/dfp/convert-dfp-round-thread.c a191954e53538603f581946df8d6fce1 gcc/testsuite/gcc.dg/dfp/convert-dfp-round.c *************** c4cb7deb838345cd0e007ae3d10b0f8d gcc/te *** 17951,17956 **** --- 18012,18021 ---- 4b92852165b71bada3de73bc5e24e721 gcc/testsuite/gcc.dg/dfp/pr31385.c 2f669bbc2ff0e98ab22a6edda285aaff gcc/testsuite/gcc.dg/dfp/pr35620.c 8bb955d3ab0f6879fbcdae8f93b7692b gcc/testsuite/gcc.dg/dfp/pr35739.c + 9b720c363790f7f00e05d66fc2dce428 gcc/testsuite/gcc.dg/dfp/pr39034.c + 21baab23897966c6aa205d567c61a479 gcc/testsuite/gcc.dg/dfp/pr39035.c + 1073de100aaa71ba3b65c29cb95aca4d gcc/testsuite/gcc.dg/dfp/pr39902.c + 3e115457eb6cb211a2a72328a090c95c gcc/testsuite/gcc.dg/dfp/pr39986.c 36499a7fbf882bad5200249d186a9e74 gcc/testsuite/gcc.dg/dfp/signbit-1.c 1201db4dbb24c6fc7471af481dc80264 gcc/testsuite/gcc.dg/dfp/signbit-2.c 27be471566ffc869520b7a086edecb1a gcc/testsuite/gcc.dg/dfp/struct-layout-1.c *************** c686dca1473baeadaf2f166d4c96e4ef gcc/te *** 18402,18409 **** 92bdf02928bab70beff3a7a1842dbefa gcc/testsuite/gcc.dg/init-bad-1.c 1402c61e4262943060f68940a75779dd gcc/testsuite/gcc.dg/init-bad-2.c c56ada22c3a9955cfe33f5acded6f724 gcc/testsuite/gcc.dg/init-bad-3.c ! 270e026701ce10a9729a67d3d8a9eab5 gcc/testsuite/gcc.dg/init-bad-4.c a71e92846bd82c2874c9f530426a281d gcc/testsuite/gcc.dg/init-bad-5.c 68e3a2449e9e301b5cc216c65cec9c8e gcc/testsuite/gcc.dg/init-desig-obs-1.c efed4766878640e3953cf4a8272fe4bf gcc/testsuite/gcc.dg/init-desig-obs-2.c 1f853186f0068c8e9eebf3080a53da44 gcc/testsuite/gcc.dg/init-desig-obs-3.c --- 18467,18475 ---- 92bdf02928bab70beff3a7a1842dbefa gcc/testsuite/gcc.dg/init-bad-1.c 1402c61e4262943060f68940a75779dd gcc/testsuite/gcc.dg/init-bad-2.c c56ada22c3a9955cfe33f5acded6f724 gcc/testsuite/gcc.dg/init-bad-3.c ! 3165455a01709c2ab187d6545d1536bf gcc/testsuite/gcc.dg/init-bad-4.c a71e92846bd82c2874c9f530426a281d gcc/testsuite/gcc.dg/init-bad-5.c + 2e51141597f07c1bdd0550bf6de3bd33 gcc/testsuite/gcc.dg/init-bad-6.c 68e3a2449e9e301b5cc216c65cec9c8e gcc/testsuite/gcc.dg/init-desig-obs-1.c efed4766878640e3953cf4a8272fe4bf gcc/testsuite/gcc.dg/init-desig-obs-2.c 1f853186f0068c8e9eebf3080a53da44 gcc/testsuite/gcc.dg/init-desig-obs-3.c *************** d9f2478bdbe9c4a081a38bc37a06293e gcc/te *** 18590,18595 **** --- 18656,18662 ---- fe5bcce773cb038c77d5afc06a96a147 gcc/testsuite/gcc.dg/noncompile/init-2.c 6a5bdbe045ed5f4343dc29b7956b78eb gcc/testsuite/gcc.dg/noncompile/init-3.c b054d23fd7d868a509aeb363dc7e8ffc gcc/testsuite/gcc.dg/noncompile/init-4.c + 9e855dbabbbd09a07433a47737095e35 gcc/testsuite/gcc.dg/noncompile/init-5.c 56b61f3e976de5d786bf64a844500759 gcc/testsuite/gcc.dg/noncompile/invalid_asm.c e69cb5f30ae6fd5e2404895dfb75b637 gcc/testsuite/gcc.dg/noncompile/label-1.c 825d6f34a51e3a3c37e509be0622e1ca gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c *************** e69cb5f30ae6fd5e2404895dfb75b637 gcc/te *** 18597,18602 **** --- 18664,18671 ---- 415c039abdab8437275df71102cc5113 gcc/testsuite/gcc.dg/noncompile/old-style-parm-1.c 0a7c4527cc88cc3bce252293bf71eaf4 gcc/testsuite/gcc.dg/noncompile/old-style-parm-2.c 1f73d14d777c3ea372a5513b43f3d381 gcc/testsuite/gcc.dg/noncompile/pr23576.c + 5a2c3316d076f8d48f24609d416f7516 gcc/testsuite/gcc.dg/noncompile/pr35444-1.c + f7b0583ef99de8104eb364054c2ab1ae gcc/testsuite/gcc.dg/noncompile/pr35444-2.c 27b9f1c123bba7de25f8d3fd6cddf38a gcc/testsuite/gcc.dg/noncompile/redecl-1.c e4d900a56367f6a536225a27d5f4f5a6 gcc/testsuite/gcc.dg/noncompile/scope.c bacce3ff1a5219b8aef3929e36521ff4 gcc/testsuite/gcc.dg/noncompile/undeclared-1.c *************** f45fda3539b94ddab03c6a8e3c0991f9 gcc/te *** 18988,18993 **** --- 19057,19063 ---- 8fa6078de28a69c0db04847fea3651e3 gcc/testsuite/gcc.dg/pr31847.c 73dd8d28acb6728553e8933615208b77 gcc/testsuite/gcc.dg/pr31866.c 9f7a9975da8bfb2c9f1421e38e5428d8 gcc/testsuite/gcc.dg/pr31959.c + d426df2de8e4ba3c7e102dfd67d72538 gcc/testsuite/gcc.dg/pr32041.c dd4ec8625a31f09b63b9af420e1c0ccc gcc/testsuite/gcc.dg/pr32069.c 25dc74f00cf88e0e19e9654fd36e6a0d gcc/testsuite/gcc.dg/pr32135.c e473f0861510bdc1a2d25b527891858d gcc/testsuite/gcc.dg/pr32176.c *************** c9aafa1b8d54d3180decc15b9b2831f5 gcc/te *** 19045,19051 **** 7afabd1a5ebe90ffc4d586806392a5ef gcc/testsuite/gcc.dg/pr34003-1.c e1e3e91fd38a1ce34ce2e947ff49accb gcc/testsuite/gcc.dg/pr34003-2.c 0c21fd047c7f3b41e6666cf67e858797 gcc/testsuite/gcc.dg/pr34016.c ! e6ff871749d13b752774aa3280bc236c gcc/testsuite/gcc.dg/pr34027-1.c 2f5b6283567d129c0663ed3035bf73cf gcc/testsuite/gcc.dg/pr34027-2.c 19623b58798b9a873b78c278bf8e89ce gcc/testsuite/gcc.dg/pr34088.c 7e4b22c61d432b439f1f810da4ec95ad gcc/testsuite/gcc.dg/pr34171.c --- 19115,19121 ---- 7afabd1a5ebe90ffc4d586806392a5ef gcc/testsuite/gcc.dg/pr34003-1.c e1e3e91fd38a1ce34ce2e947ff49accb gcc/testsuite/gcc.dg/pr34003-2.c 0c21fd047c7f3b41e6666cf67e858797 gcc/testsuite/gcc.dg/pr34016.c ! 751da27bc2a1377b20dca23f814f2160 gcc/testsuite/gcc.dg/pr34027-1.c 2f5b6283567d129c0663ed3035bf73cf gcc/testsuite/gcc.dg/pr34027-2.c 19623b58798b9a873b78c278bf8e89ce gcc/testsuite/gcc.dg/pr34088.c 7e4b22c61d432b439f1f810da4ec95ad gcc/testsuite/gcc.dg/pr34171.c *************** da36f03bd3590ea731c2e1322814d1a0 gcc/te *** 19089,19094 **** --- 19159,19176 ---- d146e832dd4ee057ad8214694a2ac46a gcc/testsuite/gcc.dg/pr37645.c 47b5b7f31cad4fb6ea38d58a954f695b gcc/testsuite/gcc.dg/pr37858.c 665b15b34685aeca9b4018f445744841 gcc/testsuite/gcc.dg/pr37879.c + 758328b9358d17c14f61489f10e4dbaf gcc/testsuite/gcc.dg/pr38245-3.c + 23f6545bdf33128787c8ee6850f9f537 gcc/testsuite/gcc.dg/pr38245-3.h + e63e62d280fb3c6b952ee62302d6e5dc gcc/testsuite/gcc.dg/pr38245-4.c + 114b82faece33dd7809273599e474425 gcc/testsuite/gcc.dg/pr38364.c + 5915c5c7fc49839f34f03a65cf176068 gcc/testsuite/gcc.dg/pr38615.c + bad65e47f333c8daa35cc4f6641ad598 gcc/testsuite/gcc.dg/pr38902.c + 49ccb7f1781c0359bfb49883d74c80bd gcc/testsuite/gcc.dg/pr38932.c + 0ccbbd97994baf827269e1498b782ccb gcc/testsuite/gcc.dg/pr38934.c + 114ce740bb935ef10a11a9d69d4705e5 gcc/testsuite/gcc.dg/pr39084.c + eec9ad8ff24b46240ab218f066057a5b gcc/testsuite/gcc.dg/pr39455.c + 9d6bb1f3256773fc6310d0b8d1933bd7 gcc/testsuite/gcc.dg/pr40550.c + 77b6394ab72de478959a57672e19ad1e gcc/testsuite/gcc.dg/pr40669.c 3d08410b2dd57259aa63f0e1c64b376e gcc/testsuite/gcc.dg/pr8788-1.c be04382a35ebb1cfae1b2168f1693a94 gcc/testsuite/gcc.dg/pr8835-1.c 49409fb9111f01e98641b341056e15c6 gcc/testsuite/gcc.dg/pr8927-1.c *************** a33293713c0991f5d69e48ddb1aa4f0e gcc/te *** 19198,19204 **** 20dc171666c91cdac8714a7c5075874e gcc/testsuite/gcc.dg/special/20000419-2.c 58b6b7734c2d9522f6acba13d91a557a gcc/testsuite/gcc.dg/special/alias-1.c 4b29f93ef3bc27cb9d83fdbc6aaa5b4a gcc/testsuite/gcc.dg/special/alias-2.c ! 9209d81b2511434b20c531a17670f96d gcc/testsuite/gcc.dg/special/gcsec-1.c 417ff5e87e987a561e63b84beb7036cc gcc/testsuite/gcc.dg/special/mips-abi.exp d41d8cd98f00b204e9800998ecf8427e gcc/testsuite/gcc.dg/special/mips-abi.s 77c804b6d8f5454f72d46875b70ebecb gcc/testsuite/gcc.dg/special/special.exp --- 19280,19286 ---- 20dc171666c91cdac8714a7c5075874e gcc/testsuite/gcc.dg/special/20000419-2.c 58b6b7734c2d9522f6acba13d91a557a gcc/testsuite/gcc.dg/special/alias-1.c 4b29f93ef3bc27cb9d83fdbc6aaa5b4a gcc/testsuite/gcc.dg/special/alias-2.c ! d7d4289254a30a2d7a36599f413b3f00 gcc/testsuite/gcc.dg/special/gcsec-1.c 417ff5e87e987a561e63b84beb7036cc gcc/testsuite/gcc.dg/special/mips-abi.exp d41d8cd98f00b204e9800998ecf8427e gcc/testsuite/gcc.dg/special/mips-abi.s 77c804b6d8f5454f72d46875b70ebecb gcc/testsuite/gcc.dg/special/special.exp *************** d6e2d727080613c8e45af67b1c6eafd0 gcc/te *** 19249,19255 **** 520ccee859de8562d6a5f265b43495b5 gcc/testsuite/gcc.dg/struct/w_prof_global_var.c aa0df056a5584ef670a0d0f7495b3b8e gcc/testsuite/gcc.dg/struct/w_prof_local_array.c 90c15804fc3f08d787eaac875b56a41f gcc/testsuite/gcc.dg/struct/w_prof_local_var.c ! 62abc7d521694d6667787d8330149e17 gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c ba165f847804c669ecccf3fe9eaf5b40 gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c 56790327c48712e6c3d458979508cb06 gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c 0863bd4d06a95c13e42bc18131d9822a gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c --- 19331,19337 ---- 520ccee859de8562d6a5f265b43495b5 gcc/testsuite/gcc.dg/struct/w_prof_global_var.c aa0df056a5584ef670a0d0f7495b3b8e gcc/testsuite/gcc.dg/struct/w_prof_local_array.c 90c15804fc3f08d787eaac875b56a41f gcc/testsuite/gcc.dg/struct/w_prof_local_var.c ! 0756d5379e23b4843252739eef3cbe65 gcc/testsuite/gcc.dg/struct/w_prof_single_str_global.c ba165f847804c669ecccf3fe9eaf5b40 gcc/testsuite/gcc.dg/struct/w_prof_two_strs.c 56790327c48712e6c3d458979508cb06 gcc/testsuite/gcc.dg/struct/w_ratio_cold_str.c 0863bd4d06a95c13e42bc18131d9822a gcc/testsuite/gcc.dg/struct/wo_prof_array_field.c *************** e5fed834c1784d380af02de69d60a36e gcc/te *** 19266,19274 **** 2c8702e89547f243961852641818694f gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c 0f122e9aa4da170705978f2da4d5c571 gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c 28de614f304e80ca1b668e13cc024068 gcc/testsuite/gcc.dg/struct/wo_prof_mult_field_peeling.c ! b0291e7361659ecc889c3992f8bf5a3a gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c ! 4a933594c049be3d16c9e3dfee2e0699 gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c ! a2d21c5e00f9e464722fb241ead3e7c8 gcc/testsuite/gcc.dg/struct/wo_prof_single_str_pointer.c 234e4866c702759b9bf17cebf7d2418c gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c 1ed7413760549398593dc058c3c6bcde gcc/testsuite/gcc.dg/switch-1.c ac72d210dcc5205efc0a772acb97390c gcc/testsuite/gcc.dg/switch-2.c --- 19348,19356 ---- 2c8702e89547f243961852641818694f gcc/testsuite/gcc.dg/struct/wo_prof_local_var.c 0f122e9aa4da170705978f2da4d5c571 gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c 28de614f304e80ca1b668e13cc024068 gcc/testsuite/gcc.dg/struct/wo_prof_mult_field_peeling.c ! cd9917cded146e00b6c4375e2bb3facc gcc/testsuite/gcc.dg/struct/wo_prof_single_str_global.c ! 43e343f0d0de987bcdd08b1f3689e0cc gcc/testsuite/gcc.dg/struct/wo_prof_single_str_local.c ! 0ab9ffb8b47e4f121d1cb0d8873d1e6b gcc/testsuite/gcc.dg/struct/wo_prof_single_str_pointer.c 234e4866c702759b9bf17cebf7d2418c gcc/testsuite/gcc.dg/struct/wo_prof_two_strs.c 1ed7413760549398593dc058c3c6bcde gcc/testsuite/gcc.dg/switch-1.c ac72d210dcc5205efc0a772acb97390c gcc/testsuite/gcc.dg/switch-2.c *************** afbcc1fa79a9ce40765e7481e29d01d6 gcc/te *** 19297,19302 **** --- 19379,19385 ---- ec865a078c258ac633d95f25f1c3c682 gcc/testsuite/gcc.dg/tls/diag-3.c a032c364dab71f2fa0d5d60b1c055cb4 gcc/testsuite/gcc.dg/tls/diag-4.c a23e685830713b09d43fa65b1bd2e3e8 gcc/testsuite/gcc.dg/tls/diag-5.c + f1c2dd7be1455380244b004ceb8da434 gcc/testsuite/gcc.dg/tls/diag-6.c f60857e024a3e6b1efbc3d8c46505370 gcc/testsuite/gcc.dg/tls/init-1.c f689330767b0df62f02d401e441836c4 gcc/testsuite/gcc.dg/tls/nonpic-1.c 01b43c77388625517ac4e9c8003c2e68 gcc/testsuite/gcc.dg/tls/opt-1.c *************** e058c22f847c18707bcf18b94eb38510 gcc/te *** 19440,19449 **** --- 19523,19540 ---- 61a0bc4511bb62033561c46ecfb2f576 gcc/testsuite/gcc.dg/torture/pr35227.c d97a385195a1793eb09a6b2e3bbb9db2 gcc/testsuite/gcc.dg/torture/pr35833.c 796d7c3ab5c4598012eaa8e991df22d2 gcc/testsuite/gcc.dg/torture/pr36244.c + 9c5ca6577c455ff892b7bc85c31846f3 gcc/testsuite/gcc.dg/torture/pr36891.c 8463c4cd1a5689d043f4fd9b0a3a25f5 gcc/testsuite/gcc.dg/torture/pr37731-1.c 30170e773c2084c27b89f8f9d8069c9d gcc/testsuite/gcc.dg/torture/pr37731-2.c 917e78bf7fd4640499497b7fd9833dda gcc/testsuite/gcc.dg/torture/pr37868.c 10034148da34014b14bae32eadd8bc3e gcc/testsuite/gcc.dg/torture/pr37969.c + f44d4dc5e20ee22470ba77e35c7ef929 gcc/testsuite/gcc.dg/torture/pr39241.c + 1bbdd46904faf6ecc39fc586b27c59cc gcc/testsuite/gcc.dg/torture/pr39855.c + 58b21051d54bd078bd4db5cb59fdc901 gcc/testsuite/gcc.dg/torture/pr40328.c + b4f3a3f8a82531b70f3c3d61b1921544 gcc/testsuite/gcc.dg/torture/pr40470-1.c + df13691becf75c196daa6bc05c2f2652 gcc/testsuite/gcc.dg/torture/pr40470-2.c + 9e7d5b76787341376d7f5e2483fac8d3 gcc/testsuite/gcc.dg/torture/pr40470-3.c + 4219577e50e82f6fb435ff6c2aca9010 gcc/testsuite/gcc.dg/torture/pr40470-4.c 62d7d2ab916e99e37ffda77737b20427 gcc/testsuite/gcc.dg/torture/pta-ptrarith-1.c 020c959d361d4abed7a58d0862391ca4 gcc/testsuite/gcc.dg/torture/pta-ptrarith-2.c d870c565ecc3624fb4fbcb1510c36484 gcc/testsuite/gcc.dg/torture/tree-loop-1.c *************** ab6ee9d054ea8c2a45aa0b80644b7389 gcc/te *** 19835,19840 **** --- 19926,19932 ---- 4d22f17736d63887d2bd084fc004bfc1 gcc/testsuite/gcc.dg/tree-ssa/pr31183.c bc76cab374379767bd7bc41814ec41ef gcc/testsuite/gcc.dg/tree-ssa/pr31521.c f5de7ca48e45fa07564a59ee1e11e628 gcc/testsuite/gcc.dg/tree-ssa/pr31966.c + cd5decb4539431bf68fe2d6ee3579daf gcc/testsuite/gcc.dg/tree-ssa/pr32044.c b8e0a7f87b5acd987532af03c0e3293f gcc/testsuite/gcc.dg/tree-ssa/pr32367.c 5ca7db2d357217ef10ff73f63e9b3577 gcc/testsuite/gcc.dg/tree-ssa/pr32461-1.c 74d20faf996b3bd813ea3ba9ed41e73a gcc/testsuite/gcc.dg/tree-ssa/pr32461-2.c *************** cd4367b0a06a6ddc678bb82ef79e9178 gcc/te *** 19856,19861 **** --- 19948,19954 ---- 9a53a14953415500efa378b3c8629d45 gcc/testsuite/gcc.dg/tree-ssa/pr34635-1.c e6eaee55ed098e8181ec180a8a0cdd50 gcc/testsuite/gcc.dg/tree-ssa/pr34635.c d85d16a112cc50f7814e25d00a7bf55d gcc/testsuite/gcc.dg/tree-ssa/pr36181.c + 2b9af42f1411f4555b7f08e421e41604 gcc/testsuite/gcc.dg/tree-ssa/pr40087.c b401abe742b960f089283a6250bb972f gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c ad87caf2c1ed4d1cf60c4fd0c4427ff9 gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c ac64c6dd8ae63ff8edd73249fd62a8de gcc/testsuite/gcc.dg/tree-ssa/predcom-3.c *************** de1fb7a2ed1710453e330eb11a36eb4c gcc/te *** 19966,19971 **** --- 20059,20065 ---- 20fe62ae5e8fa88ed0c122cb3ac5456e gcc/testsuite/gcc.dg/tree-ssa/stdarg-3.c ebe83d2f8c739c8dafc8dbb51ebe3128 gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c 38f57a1c89c0329a10e5d86b7cb83295 gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c + 9e771cdf13769ef6750301f79a7bc969 gcc/testsuite/gcc.dg/tree-ssa/struct-aliasing-1.c 7ee4b4375026ced302ff0d8422ac62a0 gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c 9df872803712ed06150f9e0ea290b39b gcc/testsuite/gcc.dg/tree-ssa/structopt-2.c e4933b882d605107a3e26359ff03a02a gcc/testsuite/gcc.dg/tree-ssa/structopt-3.c *************** e19c5b3dc315948f03ec5bef4ddca38d gcc/te *** 20268,20280 **** 00930d3180c0de98394c11d20e03aa93 gcc/testsuite/gcc.dg/vect/pr36493.c cc3cae99423a7cd2f5aa0390439353a2 gcc/testsuite/gcc.dg/vect/pr36630.c ff7f49887ee7fa96826c63dfbdf40812 gcc/testsuite/gcc.dg/vect/pr38529.c 0706a6b1e589668022cd055b960dd18d gcc/testsuite/gcc.dg/vect/section-anchors-pr27770.c 260e2f31b30dda89387f41e7bfe71e1e gcc/testsuite/gcc.dg/vect/section-anchors-vect-69.c 9ac2d5d04e7a551a8b2b60af4d90d914 gcc/testsuite/gcc.dg/vect/slp-1.c ! 3ee1520feb6ee4bfd53ddaa815851bcb gcc/testsuite/gcc.dg/vect/slp-10.c ! 7dc8b1e1d20de65d865aed1206338a84 gcc/testsuite/gcc.dg/vect/slp-11.c 2081a6d92fda2018b4caa600487d4c01 gcc/testsuite/gcc.dg/vect/slp-12a.c ! 264f6308454eb85c5d715fe956d0a0d5 gcc/testsuite/gcc.dg/vect/slp-12b.c 16d7b5a59435ccc93348308ccc66f93f gcc/testsuite/gcc.dg/vect/slp-13.c caaf0b94891af7670f31f8f367201b1f gcc/testsuite/gcc.dg/vect/slp-14.c d2d767bbd6af4e9787232ba3d1403dbf gcc/testsuite/gcc.dg/vect/slp-15.c --- 20362,20375 ---- 00930d3180c0de98394c11d20e03aa93 gcc/testsuite/gcc.dg/vect/pr36493.c cc3cae99423a7cd2f5aa0390439353a2 gcc/testsuite/gcc.dg/vect/pr36630.c ff7f49887ee7fa96826c63dfbdf40812 gcc/testsuite/gcc.dg/vect/pr38529.c + 0f1194bea632e9e9ccfab90e11567962 gcc/testsuite/gcc.dg/vect/pr40542.c 0706a6b1e589668022cd055b960dd18d gcc/testsuite/gcc.dg/vect/section-anchors-pr27770.c 260e2f31b30dda89387f41e7bfe71e1e gcc/testsuite/gcc.dg/vect/section-anchors-vect-69.c 9ac2d5d04e7a551a8b2b60af4d90d914 gcc/testsuite/gcc.dg/vect/slp-1.c ! 7031703be325ed7fa12e3da890efc8b7 gcc/testsuite/gcc.dg/vect/slp-10.c ! bdff6f2d15b7f3b54e667df22797807d gcc/testsuite/gcc.dg/vect/slp-11.c 2081a6d92fda2018b4caa600487d4c01 gcc/testsuite/gcc.dg/vect/slp-12a.c ! d917ae767cde792bb11697d180517791 gcc/testsuite/gcc.dg/vect/slp-12b.c 16d7b5a59435ccc93348308ccc66f93f gcc/testsuite/gcc.dg/vect/slp-13.c caaf0b94891af7670f31f8f367201b1f gcc/testsuite/gcc.dg/vect/slp-14.c d2d767bbd6af4e9787232ba3d1403dbf gcc/testsuite/gcc.dg/vect/slp-15.c *************** d44ae170f2e02706fff2f3f27786e9d9 gcc/te *** 20292,20298 **** 0fbbf8037e0fb8d5953b345086145d83 gcc/testsuite/gcc.dg/vect/slp-26.c 231bed87f3fe3b1a3e517fda5381951e gcc/testsuite/gcc.dg/vect/slp-28.c ef0dd627fba791720ee3eae5fac7cf3a gcc/testsuite/gcc.dg/vect/slp-3.c ! c282874f8bdc62679ff5163fe8c5b16c gcc/testsuite/gcc.dg/vect/slp-33.c 9572adf3f6e963277ff2d819189de3ef gcc/testsuite/gcc.dg/vect/slp-34.c 793ebc224cb1febe898115c613274f40 gcc/testsuite/gcc.dg/vect/slp-35.c 9d8475538f2aed5d33ba9f40d285db2b gcc/testsuite/gcc.dg/vect/slp-36.c --- 20387,20393 ---- 0fbbf8037e0fb8d5953b345086145d83 gcc/testsuite/gcc.dg/vect/slp-26.c 231bed87f3fe3b1a3e517fda5381951e gcc/testsuite/gcc.dg/vect/slp-28.c ef0dd627fba791720ee3eae5fac7cf3a gcc/testsuite/gcc.dg/vect/slp-3.c ! 4a6e988d2c59461e95c46b03cc06fbda gcc/testsuite/gcc.dg/vect/slp-33.c 9572adf3f6e963277ff2d819189de3ef gcc/testsuite/gcc.dg/vect/slp-34.c 793ebc224cb1febe898115c613274f40 gcc/testsuite/gcc.dg/vect/slp-35.c 9d8475538f2aed5d33ba9f40d285db2b gcc/testsuite/gcc.dg/vect/slp-36.c *************** ef79ece01e8a70a1ed6b1875bd44c735 gcc/te *** 20569,20574 **** --- 20664,20670 ---- bea530927147c181b3ea7f144ea05741 gcc/testsuite/gcc.dg/visibility-12.c 64cc72ad8168eac1afeb8e055271a670 gcc/testsuite/gcc.dg/visibility-13.c f83d2db3e2fd97e87230a5d9dd1274b9 gcc/testsuite/gcc.dg/visibility-2.c + eb58aa4a681a08d91397e2a11fbe81e3 gcc/testsuite/gcc.dg/visibility-20.c d0a344fbd6e7158b3bf4cdbb4440ef36 gcc/testsuite/gcc.dg/visibility-3.c 8d7d13e33f78b22dd6e7c886111a31ad gcc/testsuite/gcc.dg/visibility-4.c cb462f8cad9af2ba031a048a738146ab gcc/testsuite/gcc.dg/visibility-5.c *************** eb61fd46343542ce5c312eefba8137e5 gcc/te *** 20608,20616 **** ec174f7b4a368fe0e1e814036b02826c gcc/testsuite/gcc.dg/vmx/3a-01m.c d86c9fd2b8c8fe353c08b51f6e39e092 gcc/testsuite/gcc.dg/vmx/3a-03.c dce24919e8f35916b66033ff13d8364f gcc/testsuite/gcc.dg/vmx/3a-03m.c ! ff583278b1bd7cec8e8e7201d7c03542 gcc/testsuite/gcc.dg/vmx/3a-04.c ! 33f15318e7714ce4ff10bdd41c3f9221 gcc/testsuite/gcc.dg/vmx/3a-04m.c ! addd3f90cd8542986018c1a5c3108d5c gcc/testsuite/gcc.dg/vmx/3a-05.c d84628dbc3760d8d2689a88fb5bc49a4 gcc/testsuite/gcc.dg/vmx/3a-06.c 9ec5f5461bb5f0e96347adc949940539 gcc/testsuite/gcc.dg/vmx/3a-06m.c a9102ea644c7f407f72337af56798203 gcc/testsuite/gcc.dg/vmx/3a-07.c --- 20704,20712 ---- ec174f7b4a368fe0e1e814036b02826c gcc/testsuite/gcc.dg/vmx/3a-01m.c d86c9fd2b8c8fe353c08b51f6e39e092 gcc/testsuite/gcc.dg/vmx/3a-03.c dce24919e8f35916b66033ff13d8364f gcc/testsuite/gcc.dg/vmx/3a-03m.c ! 158d81162a00a6b0432625e57e7c1679 gcc/testsuite/gcc.dg/vmx/3a-04.c ! 00229a9cf67aee6e066a12a1720ea593 gcc/testsuite/gcc.dg/vmx/3a-04m.c ! f219d21667666f18b33572e595f093c5 gcc/testsuite/gcc.dg/vmx/3a-05.c d84628dbc3760d8d2689a88fb5bc49a4 gcc/testsuite/gcc.dg/vmx/3a-06.c 9ec5f5461bb5f0e96347adc949940539 gcc/testsuite/gcc.dg/vmx/3a-06m.c a9102ea644c7f407f72337af56798203 gcc/testsuite/gcc.dg/vmx/3a-07.c *************** a25e2111595c980d3d1db7fce98f3a29 gcc/te *** 20823,20828 **** --- 20919,20925 ---- 2f913e0e9be28e5c0cd8c756bf5bbe18 gcc/testsuite/gcc.target/alpha/max-2.c fff402ffde26523392f70a76d0e2b789 gcc/testsuite/gcc.target/alpha/pr19518.c b36471f8edbf2a11ce23359823ecc10b gcc/testsuite/gcc.target/alpha/pr24178.c + 07622a1bc137bf2eb36bc820fd987dba gcc/testsuite/gcc.target/alpha/pr39740.c 2dd90da2c237d8d0fd3a676321d449ac gcc/testsuite/gcc.target/arm/20051215-1.c 696b806f04ba250a5c2224e1e8c397b1 gcc/testsuite/gcc.target/arm/arm.exp 257aa0b2b8891d05f782af1a15b2ed25 gcc/testsuite/gcc.target/arm/cond-asm.c *************** fccdf3705dbdd548ecd5a376564df05d gcc/te *** 23064,23069 **** --- 23161,23168 ---- efaec1d47687ebdae33b8db7c666c96b gcc/testsuite/gcc.target/i386/pr35540.c 79ba12078bbfef47521da79a7ad291b2 gcc/testsuite/gcc.target/i386/pr36438.c fda8fc040885ed8c91744daa2e291cca gcc/testsuite/gcc.target/i386/pr36533.c + ae6f244cfcf23eebdadf9de248ffb1de gcc/testsuite/gcc.target/i386/pr36578-1.c + 1837eec293e3eddfe531768d6b6a353a gcc/testsuite/gcc.target/i386/pr36578-2.c 84b2be21daede2c427d4e3e2d250b0f1 gcc/testsuite/gcc.target/i386/pr36613.c 221966b04378ad04902b38cf38d317b5 gcc/testsuite/gcc.target/i386/pr36753.c 98a17548dba7e71b8d4c016379138207 gcc/testsuite/gcc.target/i386/pr37101.c *************** fda8fc040885ed8c91744daa2e291cca gcc/te *** 23071,23076 **** --- 23170,23183 ---- 76bdd32784d8c178aba8815828578d4e gcc/testsuite/gcc.target/i386/pr37191.c 0be613d9f543ec7125d4a8f6f53c766a gcc/testsuite/gcc.target/i386/pr37197.c 3acca5fb3d92cf4b7d64f29e7dd9bfd2 gcc/testsuite/gcc.target/i386/pr37870.c + cc52fb6e855215f99580b9fa0002669f gcc/testsuite/gcc.target/i386/pr38931.c + 5ee1c39d4916d76f523ef5b7f134bc78 gcc/testsuite/gcc.target/i386/pr38988.c + 0495503134d0243cba2c75d416517136 gcc/testsuite/gcc.target/i386/pr39013-1.c + 1561edfc0fc165b0182cc2cab6e632b4 gcc/testsuite/gcc.target/i386/pr39013-2.c + feb8f591ba5163f89986ad64e6633226 gcc/testsuite/gcc.target/i386/pr39058.c + 7c17680e533837c9b14c3d0b271a5474 gcc/testsuite/gcc.target/i386/pr39482.c + 0e7b109529fd50e2bcf466502b5c1777 gcc/testsuite/gcc.target/i386/pr39496.c + 75e6f28e5f64dbb3c072bf586fb7c2ea gcc/testsuite/gcc.target/i386/pr40809.c 5e93a2c631ad41e334cfdad124bfff8e gcc/testsuite/gcc.target/i386/pr9771-1.c e2839913fadc6a00676c8f02deb3f59e gcc/testsuite/gcc.target/i386/recip-divf.c 4557dbe9ae51590eba29dc37199cf9e4 gcc/testsuite/gcc.target/i386/recip-sqrtf.c *************** c1862100710d9584d106fc30b28ca03d gcc/te *** 23106,23117 **** a25422d1196a94c7d1dd062ba3c21e5b gcc/testsuite/gcc.target/i386/sse-8.c 97ee4ab2460696488ad82040490f9ade gcc/testsuite/gcc.target/i386/sse-9.c 5149869590a6046e02620307c6fc0ed2 gcc/testsuite/gcc.target/i386/sse-check.h ! 883a48332548143f60efcf5fb3868a64 gcc/testsuite/gcc.target/i386/sse-recip-vec.c c603044c5bd7c7539cef76b57c9db02a gcc/testsuite/gcc.target/i386/sse-recip.c 4585408fde3ac7bd800ac634423d4d28 gcc/testsuite/gcc.target/i386/sse-vect-types.c 75330c9ba9070c5b0c88dab85a6d2ae5 gcc/testsuite/gcc.target/i386/sse2-check.h ! 8884c601633ca92282421a082953ca32 gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c ! 047ee9b9cd461dc4aefb1358d4f984f6 gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c bcb1ca8857476d3f113aa17965a24aef gcc/testsuite/gcc.target/i386/sse2-vec-1.c 4b70fc3da3438b300706949b19b6c68a gcc/testsuite/gcc.target/i386/sse2-vec-2.c 8eb127859da55b5af7f53a6c06d73084 gcc/testsuite/gcc.target/i386/sse2-vec-3.c --- 23213,23224 ---- a25422d1196a94c7d1dd062ba3c21e5b gcc/testsuite/gcc.target/i386/sse-8.c 97ee4ab2460696488ad82040490f9ade gcc/testsuite/gcc.target/i386/sse-9.c 5149869590a6046e02620307c6fc0ed2 gcc/testsuite/gcc.target/i386/sse-check.h ! 2c6012aa8c27873033f37dfe7334ae34 gcc/testsuite/gcc.target/i386/sse-recip-vec.c c603044c5bd7c7539cef76b57c9db02a gcc/testsuite/gcc.target/i386/sse-recip.c 4585408fde3ac7bd800ac634423d4d28 gcc/testsuite/gcc.target/i386/sse-vect-types.c 75330c9ba9070c5b0c88dab85a6d2ae5 gcc/testsuite/gcc.target/i386/sse2-check.h ! 066e8acd0d5c710792ae72e213a76984 gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c ! 3e51e14891cb25e493959466907d284b gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c bcb1ca8857476d3f113aa17965a24aef gcc/testsuite/gcc.target/i386/sse2-vec-1.c 4b70fc3da3438b300706949b19b6c68a gcc/testsuite/gcc.target/i386/sse2-vec-2.c 8eb127859da55b5af7f53a6c06d73084 gcc/testsuite/gcc.target/i386/sse2-vec-3.c *************** de4e305b115a22fef774b1524552bf20 gcc/te *** 23315,23320 **** --- 23422,23429 ---- 300ff8ba3fa165699ca9f1b7d2377811 gcc/testsuite/gcc.target/ia64/ia64.exp 78e9bbaeebf5b8a61104ae2da0c31b16 gcc/testsuite/gcc.target/ia64/postinc-1.c f4e9379761d673b84fd5039d76143360 gcc/testsuite/gcc.target/ia64/pr29682.c + da5fed1c1687d737e6580d89111ea5c7 gcc/testsuite/gcc.target/ia64/sibcall-opt-1.c + c6b9120dedb44027555b13a7b3e1db44 gcc/testsuite/gcc.target/ia64/sibcall-opt-2.c 077bd168db3c45990d24d018d5e07d0d gcc/testsuite/gcc.target/ia64/sibcall-unwind-1.c 5615b8122ed00d78fc52d2429980f925 gcc/testsuite/gcc.target/ia64/sibcall-unwind-2.c 8406827b264a157de89d9732b5828af7 gcc/testsuite/gcc.target/ia64/small-addr-1.c *************** ab27caeed3a927279188546795ad1803 gcc/te *** 23651,23656 **** --- 23760,23766 ---- e568badc378a1ea556b482bc42fe4220 gcc/testsuite/gcc.target/powerpc/pr27158.c feb4ec4d0efae1c558dfc71e3a10d207 gcc/testsuite/gcc.target/powerpc/pr35907.c e183225a8b1a53401796864308b33359 gcc/testsuite/gcc.target/powerpc/pr37168.c + e9d41c3323b6899f8203c67b2963ca5b gcc/testsuite/gcc.target/powerpc/pr39902-2.c 884e97f433f667176d11130d3b031c3c gcc/testsuite/gcc.target/powerpc/rotate.c bf385d7310a8dab90ee44f86832aa03b gcc/testsuite/gcc.target/powerpc/rs6000-fpint-2.c 9d573583f65f14f71c9c7e9e2b9a3264 gcc/testsuite/gcc.target/powerpc/rs6000-fpint.c *************** aaeb3068cbd046023ded83fcc1debd76 gcc/te *** 23791,23797 **** c7904576e5218760f91ee69906c1edb3 gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp 315c5d0e02ef985b9774593047ac14a0 gcc/testsuite/gcc.target/x86_64/abi/args.h c83a4f21bf4e2d51b02cbc459ccd8821 gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s ! 8482d8a619ec974384a5550963432489 gcc/testsuite/gcc.target/x86_64/abi/asm-support.s a9f31dc88e0cc35b4cad6c0ab1bec6df gcc/testsuite/gcc.target/x86_64/abi/defines.h ced3e7fc25757fe027f4eacc904e6881 gcc/testsuite/gcc.target/x86_64/abi/macros.h df350cc8fc42fcbfb44edc088765d60a gcc/testsuite/gcc.target/x86_64/abi/test_3_element_struct_and_unions.c --- 23901,23907 ---- c7904576e5218760f91ee69906c1edb3 gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp 315c5d0e02ef985b9774593047ac14a0 gcc/testsuite/gcc.target/x86_64/abi/args.h c83a4f21bf4e2d51b02cbc459ccd8821 gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s ! 668ef7b09283ae8dce183573b18e0ba5 gcc/testsuite/gcc.target/x86_64/abi/asm-support.s a9f31dc88e0cc35b4cad6c0ab1bec6df gcc/testsuite/gcc.target/x86_64/abi/defines.h ced3e7fc25757fe027f4eacc904e6881 gcc/testsuite/gcc.target/x86_64/abi/macros.h df350cc8fc42fcbfb44edc088765d60a gcc/testsuite/gcc.target/x86_64/abi/test_3_element_struct_and_unions.c *************** a083a600a2313f038c16b43b7b4401b7 gcc/te *** 24093,24104 **** --- 24203,24216 ---- 188bb09f10e579808ae008c280bfaae3 gcc/testsuite/gfortran.dg/alloc_alloc_expr_1.f90 0c032a47fcd66c28edb88141b892affc gcc/testsuite/gfortran.dg/alloc_alloc_expr_2.f90 8d3f0a2208970d24217e0bf38ad3699b gcc/testsuite/gfortran.dg/alloc_comp_assign_1.f90 + 321c49359eaff5933ba24be1b4c61f7f gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 d3cc31f30dcc8ad53b212e34a4909874 gcc/testsuite/gfortran.dg/alloc_comp_assign_2.f90 afdc1d937c6fbd1b064165c9325fa117 gcc/testsuite/gfortran.dg/alloc_comp_assign_3.f90 4177396dbf37d479cedf198fee04fbe1 gcc/testsuite/gfortran.dg/alloc_comp_assign_4.f90 aac08746a1749b4611104688b026a672 gcc/testsuite/gfortran.dg/alloc_comp_assign_5.f90 5a914bf3fab62db9e0f96bf35896cfad gcc/testsuite/gfortran.dg/alloc_comp_assign_6.f90 1c0a488d9579d98b1540c8b837adfe24 gcc/testsuite/gfortran.dg/alloc_comp_assign_7.f90 + 58538aa20ac15960285d34bfa47e2327 gcc/testsuite/gfortran.dg/alloc_comp_assign_9.f90 231853ec949fed3197cd7b9550dccdae gcc/testsuite/gfortran.dg/alloc_comp_auto_array_1.f90 66da5bb809f3311b757f2048e0ff7b63 gcc/testsuite/gfortran.dg/alloc_comp_auto_array_2.f90 fc0a29673fd15f41a0a3fa7d0fc003b9 gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 *************** a5a99907b8c623279a0b0d0db3958026 gcc/te *** 24364,24370 **** --- 24476,24484 ---- 761d9eb1b46c67f846b7ea81652f2c9f gcc/testsuite/gfortran.dg/bom_include.inc e1e6e91037e7eac695683515f951782c gcc/testsuite/gfortran.dg/bound_1.f90 f0d0afa838cbb9b0c45cabae02c645c3 gcc/testsuite/gfortran.dg/bound_2.f90 + bc5b152758d38627b110948111d29368 gcc/testsuite/gfortran.dg/bound_6.f90 e0fe6ad94e65bffec1944b000f4adfe7 gcc/testsuite/gfortran.dg/bound_simplification_1.f90 + 495917d801603f5f9fa62b339095e0f0 gcc/testsuite/gfortran.dg/bounds_5.f90 566a28d1eaa499d210caf795db3e6f58 gcc/testsuite/gfortran.dg/bounds_check_1.f90 1378c79dbafddae3851b729cc5eef9dc gcc/testsuite/gfortran.dg/bounds_check_10.f90 aeee08c06705dff28b55c6b1d4768443 gcc/testsuite/gfortran.dg/bounds_check_11.f90 *************** d6aaca752994097795d40ec307363662 gcc/te *** 25151,25156 **** --- 25265,25272 ---- 54d24831a056edc0a7c0fa6b7434377b gcc/testsuite/gfortran.dg/hollerith_1.f90 67bd549b4b8a39b1ed8c4b5d968f0fdc gcc/testsuite/gfortran.dg/hollerith_f95.f90 97817c9e8655d82d313b882f31ef6954 gcc/testsuite/gfortran.dg/hollerith_legacy.f90 + 8b23b7f340ee0a8abc35d4b112b40c1b gcc/testsuite/gfortran.dg/host_assoc_blockdata_1.f90 + ed29028bdd173278f7b2196e6e6fd450 gcc/testsuite/gfortran.dg/host_assoc_blockdata_2.f90 4bd0ab177413b5775a0d5a256e407400 gcc/testsuite/gfortran.dg/host_assoc_call_1.f90 19d2dc8acc3925aff0977412f9a7106a gcc/testsuite/gfortran.dg/host_assoc_call_2.f90 9a3e3a3977da1ddcb3509b78fb3d9867 gcc/testsuite/gfortran.dg/host_assoc_call_3.f90 *************** a334a8a05455bffa9c174cc2cc60db0a gcc/te *** 25162,25167 **** --- 25278,25284 ---- 7d919228c08e1b06bdacacf1b1be30fb gcc/testsuite/gfortran.dg/host_assoc_function_4.f90 0e0eec4a2bdb5d32fca40d15a4db3e9a gcc/testsuite/gfortran.dg/host_assoc_function_5.f90 daccc7025d76f3422b982a9ec5083636 gcc/testsuite/gfortran.dg/host_assoc_function_6.f90 + 40b6d68d577bf0520588b5c1d67e785e gcc/testsuite/gfortran.dg/host_assoc_function_7.f90 a1d0731d846a132450cf5424a5d43f35 gcc/testsuite/gfortran.dg/host_assoc_types_1.f90 4c3646d076969a5efb0995688ae99e18 gcc/testsuite/gfortran.dg/host_assoc_types_2.f90 310a4523979439fae5af0124e2eeaac7 gcc/testsuite/gfortran.dg/host_assoc_variable_1.f90 *************** cbba9e0b9f17ffb46780a0b986aa6d83 gcc/te *** 25217,25222 **** --- 25334,25340 ---- 819239f7ec26c6d05ca238a39694d473 gcc/testsuite/gfortran.dg/initialization_17.f90 c1714f4dbb001a685444a57acf31f134 gcc/testsuite/gfortran.dg/initialization_18.f90 5906e117db9dc43c47c0e6d8ed2e3e51 gcc/testsuite/gfortran.dg/initialization_2.f90 + 2fb633bfac4c93dc2152baf6d8497336 gcc/testsuite/gfortran.dg/initialization_22.f90 0759f2d3acf484e54f39c4c01e5f2536 gcc/testsuite/gfortran.dg/initialization_3.f90 ec558a82bb4b8209168624a762e13383 gcc/testsuite/gfortran.dg/initialization_4.f90 838d14dbac1d143acaf81ce65b0b760e gcc/testsuite/gfortran.dg/initialization_5.f90 *************** d46f14e4ab6ce781da9c2b85f51d091c gcc/te *** 25264,25269 **** --- 25382,25389 ---- 8a49f3a0047808773e1d6580a6fba3c1 gcc/testsuite/gfortran.dg/interface_20.f90 3cb8f3875aced90783f2e29e6e4ddd92 gcc/testsuite/gfortran.dg/interface_21.f90 88e02acc06c0ab770bbbde793bc742f1 gcc/testsuite/gfortran.dg/interface_22.f90 + a02639c7ddfc3ac8a4890522be6ba76e gcc/testsuite/gfortran.dg/interface_25.f90 + c8d00638b835882a6248c3d8f42ef852 gcc/testsuite/gfortran.dg/interface_26.f90 d455318495ad0a749698b74f8385c513 gcc/testsuite/gfortran.dg/interface_3.f90 0e508bb7234a015b757691abc2bdb5a8 gcc/testsuite/gfortran.dg/interface_4.f90 0977bc2fe97d55af2293f6d4a238b050 gcc/testsuite/gfortran.dg/interface_5.f90 *************** a3b88192dd0fe4f0ee264708c5f8d028 gcc/te *** 25440,25445 **** --- 25560,25566 ---- 3eee71ccf001c11059a11ed554e57a2b gcc/testsuite/gfortran.dg/module_blank_common.f90 bee79a2248b5b2ee78e066fad22fa279 gcc/testsuite/gfortran.dg/module_commons_1.f90 ea5da2b6654e9ae4c42482d839427c01 gcc/testsuite/gfortran.dg/module_commons_2.f90 + 48b8d67cbacba1bb9962b384bd46d5cd gcc/testsuite/gfortran.dg/module_commons_3.f90 ae33a89c9570b59435ff816b81bc96ad gcc/testsuite/gfortran.dg/module_double_reuse.f90 35d29b2c4ae128266c387ab1d8f1e7b9 gcc/testsuite/gfortran.dg/module_equivalence_1.f90 ef6c529d4abfe1edf2d263b915d5c38d gcc/testsuite/gfortran.dg/module_equivalence_2.f90 *************** f4df42c36841a7e731883e9a6a7f0b38 gcc/te *** 25466,25471 **** --- 25587,25596 ---- b00d6522a9d5d742581a4a4f36262305 gcc/testsuite/gfortran.dg/mvbits_1.f90 ec327024db3d4d04a87add250e3b45cb gcc/testsuite/gfortran.dg/mvbits_2.f90 c46a319f9a75db80f9fe596e622b0381 gcc/testsuite/gfortran.dg/mvbits_3.f90 + c32ce34cb402014e9d7c5119bfe2327d gcc/testsuite/gfortran.dg/mvbits_5.f90 + c31049d80a6d5f251553cf67a645cfbc gcc/testsuite/gfortran.dg/mvbits_6.f90 + 77a635834f240bbf76b909c32e16841c gcc/testsuite/gfortran.dg/mvbits_7.f90 + e4b88011e1ed48d9302d9d8ad22f628b gcc/testsuite/gfortran.dg/mvbits_8.f90 7cf5dc498ef726ce761b9f199aab760b gcc/testsuite/gfortran.dg/named_interface.f90 c0974b5c5b120f3e3f3cc3f37372b506 gcc/testsuite/gfortran.dg/namelist_1.f90 bb9e1faa31bc5c9b556516c7dce79bce gcc/testsuite/gfortran.dg/namelist_11.f *************** d947302de86637f30bbfdc7c80c072c9 gcc/te *** 25717,25722 **** --- 25842,25848 ---- c3d8d9d591ce2602aec62d28145126dc gcc/testsuite/gfortran.dg/pr35944-1.f90 ce802e660dd6ddcab25947ffd916c160 gcc/testsuite/gfortran.dg/pr35944-2.f90 8d453cb6e0829391049253a2100009e1 gcc/testsuite/gfortran.dg/pr35983.f90 + 95b9cf0e2306746c58de7e5ee6ab02f3 gcc/testsuite/gfortran.dg/pr38868.f 6ff99f4b0021f30bee039a61db7cba9d gcc/testsuite/gfortran.dg/predcom-1.f 20a411a7e5a57891297c4c6a96d92009 gcc/testsuite/gfortran.dg/predcom-2.f c1ed4aee35f394f952b49fcdcfc84fba gcc/testsuite/gfortran.dg/present_1.f90 *************** afcf87b5402a549af19595076a3e6095 gcc/te *** 25788,25793 **** --- 25914,25920 ---- b4a55822ea7fb8465626dd436935352d gcc/testsuite/gfortran.dg/read_logical.f90 a0c95bcf27393cbce0fb60164c3f83b4 gcc/testsuite/gfortran.dg/read_many_1.f 2247ab4e69745fa00f2ac26a0539b578 gcc/testsuite/gfortran.dg/read_noadvance.f90 + efbee4def2644aa1f06469edc5ca97e7 gcc/testsuite/gfortran.dg/read_repeat.f90 069a53ed4777225498da7e0f0fe34798 gcc/testsuite/gfortran.dg/read_size_noadvance.f90 f3b42dde0a1bd6f3702be6e6eac82ea9 gcc/testsuite/gfortran.dg/read_x_eor.f90 a531502021b625a46b573fc5ac60bee9 gcc/testsuite/gfortran.dg/read_x_past.f *************** aa8b7dda77210b77a551d2bd749a4cd5 gcc/te *** 25990,25995 **** --- 26117,26123 ---- b2894fa39de9e0d0ed80917f01ff6923 gcc/testsuite/gfortran.dg/unf_short_record_1.f90 c19e1fbfa654d32b17752165f6651fb0 gcc/testsuite/gfortran.dg/unformatted_recl_1.f90 c179cff1d12d908ac0ed88d4b4d8e3bd gcc/testsuite/gfortran.dg/unformatted_subrecord_1.f90 + f4f968a71251bd464432e9b764c176e3 gcc/testsuite/gfortran.dg/unit_1.f90 77425eab660cd99123828c97f2657ca9 gcc/testsuite/gfortran.dg/unpack_mask_1.f90 21ad1ac865ebfe7d633e040a09836574 gcc/testsuite/gfortran.dg/unpack_zerosize_1.f90 5c12010c67985a2da6a133d11a0d7b95 gcc/testsuite/gfortran.dg/unreferenced_use_assoc_1.f90 *************** d0524c5c5524877bda8e623f08efa35f gcc/te *** 26804,26810 **** 9a908bb507989b82eddfeb9d23c66587 gcc/testsuite/lib/scantree.exp 0af2543f9f8b09b8bf77c28d5b2f147a gcc/testsuite/lib/target-libpath.exp 0d329dc66b2b97ac6a2fc1ba50ca74da gcc/testsuite/lib/target-supports-dg.exp ! 4f8e3a049c9b7895e545b6382ab6718a gcc/testsuite/lib/target-supports.exp 3247a569c87014396b4682567b02c72f gcc/testsuite/lib/timeout-dg.exp 3b7f74ee8537decb5895ed7a3c008b6e gcc/testsuite/lib/timeout.exp 79ac90a6a1627fc40f4be76ee6d3e10a gcc/testsuite/lib/torture-options.exp --- 26932,26938 ---- 9a908bb507989b82eddfeb9d23c66587 gcc/testsuite/lib/scantree.exp 0af2543f9f8b09b8bf77c28d5b2f147a gcc/testsuite/lib/target-libpath.exp 0d329dc66b2b97ac6a2fc1ba50ca74da gcc/testsuite/lib/target-supports-dg.exp ! fe95f7da59cd322b7c41fbe63e00fd35 gcc/testsuite/lib/target-supports.exp 3247a569c87014396b4682567b02c72f gcc/testsuite/lib/timeout-dg.exp 3b7f74ee8537decb5895ed7a3c008b6e gcc/testsuite/lib/timeout.exp 79ac90a6a1627fc40f4be76ee6d3e10a gcc/testsuite/lib/torture-options.exp *************** e685150eb68a8ccf34ca1af5978f2d60 gcc/te *** 26943,26948 **** --- 27071,27077 ---- c772995ff9bc8013a6893182686d19f7 gcc/testsuite/obj-c++.dg/va-meth-1.mm 3b8fd8c2ee22e0099d80e4fa89e2befc gcc/testsuite/objc.dg/alias.m a1be9e5501b4997f5240469850890333 gcc/testsuite/objc.dg/anon-1.m + c1d4050abcc6da372bee4c73bd0f2fb7 gcc/testsuite/objc.dg/bad-receiver-type-2.m 49a556b9488737a9b46ba483eb73a629 gcc/testsuite/objc.dg/bad-receiver-type.m 78ba3f1e49ecbf82a9c24165dae0c507 gcc/testsuite/objc.dg/bitfield-1.m 49675f4f06303a402845baa4ba77c171 gcc/testsuite/objc.dg/bitfield-2.m *************** ac0b35dcfcf72480c040349b2b8a874b gcc/te *** 26967,26972 **** --- 27096,27102 ---- ff192eb53975468b7f7bfd43698d8b9e gcc/testsuite/objc.dg/comp-types-7.m a0ab44df3d62ecb4c161f1393a7ea4c7 gcc/testsuite/objc.dg/comp-types-8.m fcbd6d34fab967afc68044cbc6bebd90 gcc/testsuite/objc.dg/comp-types-9.m + 07adde78c76317f383222a3b1cb5b4bc gcc/testsuite/objc.dg/conditional-1.m 7956ed2705023777b0d68e104790ebec gcc/testsuite/objc.dg/const-str-1.m fc24f476ce5e7ef0216f5a2a31dca825 gcc/testsuite/objc.dg/const-str-10.m fef71d1616e3bb71bdbaa9bce6f07ec0 gcc/testsuite/objc.dg/const-str-11.m *************** d77ab725798547aaec5fe03dfdd02495 gcc/te *** 27006,27012 **** db6ac9c4cab360de1e62ae24781a65aa gcc/testsuite/objc.dg/gnu-encoding/generate-random.c a3ac98dcec269f59ea0f7ebc9b8c3297 gcc/testsuite/objc.dg/gnu-encoding/generate-random.h 73fd2a43073b565b250e87dcce3fb9b1 gcc/testsuite/objc.dg/gnu-encoding/generate-random_r.c ! 15a7925308d011d82a1f1e3ce0d5ac81 gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp c41a6661b12b159d108661dd40bac309 gcc/testsuite/objc.dg/gnu-encoding/struct-layout-1.h b602f2a3cc56cd39c738d2241938856f gcc/testsuite/objc.dg/gnu-encoding/struct-layout-1_test.h 84cbe6b2a41d78efc68f95e4f72b8830 gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c --- 27136,27142 ---- db6ac9c4cab360de1e62ae24781a65aa gcc/testsuite/objc.dg/gnu-encoding/generate-random.c a3ac98dcec269f59ea0f7ebc9b8c3297 gcc/testsuite/objc.dg/gnu-encoding/generate-random.h 73fd2a43073b565b250e87dcce3fb9b1 gcc/testsuite/objc.dg/gnu-encoding/generate-random_r.c ! 713de093c71aaff73eb48e8b2aa96738 gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp c41a6661b12b159d108661dd40bac309 gcc/testsuite/objc.dg/gnu-encoding/struct-layout-1.h b602f2a3cc56cd39c738d2241938856f gcc/testsuite/objc.dg/gnu-encoding/struct-layout-1_test.h 84cbe6b2a41d78efc68f95e4f72b8830 gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c *************** e2b871afc37f1772b337d989244b97c6 gcc/te *** 27056,27061 **** --- 27186,27192 ---- 8c15bc469e56fdb17a7b24540bf21491 gcc/testsuite/objc.dg/pch/interface-1.hs 71da4e106e38b3671b4f4ae8a237e55f gcc/testsuite/objc.dg/pch/interface-1.m d47075ad7955cf0021c75880e0b42500 gcc/testsuite/objc.dg/pch/pch.exp + 87f420348d60432ad67f49edc0432eb4 gcc/testsuite/objc.dg/pr28050.m ae38ce0519cd2abd48a44f17d74c6b98 gcc/testsuite/objc.dg/pragma-1.m bbb9e9964ba890fd063f19dd542cd683 gcc/testsuite/objc.dg/private-1.m fe3ca05ce80d57fadc06b2f9fe6b480c gcc/testsuite/objc.dg/private-2.m *************** bc09762b3e74fc0227216052a970a32c gcc/te *** 27218,27224 **** 318a61b0250e72af17f13433cbe7c899 gcc/testsuite/objc/execute/string3.m 745164878e340e7e3913196da0f9cbab gcc/testsuite/objc/execute/string4.m a15f4a807f9ba61e7f1f938b35d010a1 gcc/testsuite/objc/execute/va_method.m ! b1d73fec017faef5802a942a406e38d6 gcc/testsuite/treelang/ChangeLog 454cfe5b1bbbcf87f68aada2d6b8e61d gcc/testsuite/treelang/Makefile.in bf22e28b9aea9db69f316d07777d7eb0 gcc/testsuite/treelang/compile/autofunc.tree 9787b9901d0eae3abfa0a7279a68ca08 gcc/testsuite/treelang/compile/badchar.tree --- 27349,27355 ---- 318a61b0250e72af17f13433cbe7c899 gcc/testsuite/objc/execute/string3.m 745164878e340e7e3913196da0f9cbab gcc/testsuite/objc/execute/string4.m a15f4a807f9ba61e7f1f938b35d010a1 gcc/testsuite/objc/execute/va_method.m ! 891f37898fe7df0d4d3a3824f12c422b gcc/testsuite/treelang/ChangeLog 454cfe5b1bbbcf87f68aada2d6b8e61d gcc/testsuite/treelang/Makefile.in bf22e28b9aea9db69f316d07777d7eb0 gcc/testsuite/treelang/compile/autofunc.tree 9787b9901d0eae3abfa0a7279a68ca08 gcc/testsuite/treelang/compile/badchar.tree *************** a6fac8c4e267216520925ffc8a818611 gcc/ti *** 27254,27270 **** 539325ec6356925da1f9f68cb7df3db2 gcc/timevar.def 0073c65b0f2a11f66fb766036a2d0396 gcc/timevar.h 3a86494b329f0b01bb0b0301a7e15695 gcc/tlink.c ! 172cf3d339251bb6c4cfce3b4a3d26ed gcc/toplev.c 84b2489a9c9b5728f32a4d02fa098204 gcc/toplev.h f10dcc5e05186f70e06030d466d991d4 gcc/tracer.c 6dde56d073bba83c6d3962c2e343a9c3 gcc/tree-affine.c 1de14505ecdba0a1e07cb3cc4b18d780 gcc/tree-affine.h 0ce49de91d4637174220adcd6d5f5d6c gcc/tree-browser.c 95cd7c79620ee7114d993efc771f7fd8 gcc/tree-browser.def ! 35a1071f04ad447f74214c4393aa0b50 gcc/tree-cfg.c eff713bd3c5475321fe0ce2f039cdde7 gcc/tree-cfgcleanup.c ! ca177abdb49b21288c6f73648b595fb4 gcc/tree-chrec.c ! 1eeaf101223c531fd266716be04b78b8 gcc/tree-chrec.h a96b64b1ebca682e683f9451db4ba8c6 gcc/tree-complex.c 3bea935cd44d3efd439b5033f80a98b5 gcc/tree-data-ref.c 8ac4c6fd65d874cb86ff23593664b89e gcc/tree-data-ref.h --- 27385,27401 ---- 539325ec6356925da1f9f68cb7df3db2 gcc/timevar.def 0073c65b0f2a11f66fb766036a2d0396 gcc/timevar.h 3a86494b329f0b01bb0b0301a7e15695 gcc/tlink.c ! 33a93fa5b5f168151df76b0e267e4d13 gcc/toplev.c 84b2489a9c9b5728f32a4d02fa098204 gcc/toplev.h f10dcc5e05186f70e06030d466d991d4 gcc/tracer.c 6dde56d073bba83c6d3962c2e343a9c3 gcc/tree-affine.c 1de14505ecdba0a1e07cb3cc4b18d780 gcc/tree-affine.h 0ce49de91d4637174220adcd6d5f5d6c gcc/tree-browser.c 95cd7c79620ee7114d993efc771f7fd8 gcc/tree-browser.def ! a65dcf4b9d3b047ae59ad6f756e5e860 gcc/tree-cfg.c eff713bd3c5475321fe0ce2f039cdde7 gcc/tree-cfgcleanup.c ! abe55823ebd6ee3a823f6df3da114979 gcc/tree-chrec.c ! bc439e14389310c9def2759fc0de1f10 gcc/tree-chrec.h a96b64b1ebca682e683f9451db4ba8c6 gcc/tree-complex.c 3bea935cd44d3efd439b5033f80a98b5 gcc/tree-data-ref.c 8ac4c6fd65d874cb86ff23593664b89e gcc/tree-data-ref.h *************** eb1017d4c17461ddb810ebb2d4520b4b gcc/tr *** 27297,27340 **** abe937b665f4da939699e576af4c7e43 gcc/tree-predcom.c 5f9204f3d51e2545e3aec43f24d85f50 gcc/tree-pretty-print.c e91e58bb81a73ee9438d6ebf52e6ab77 gcc/tree-profile.c ! d30cb0126eb6103accfcaf516de59525 gcc/tree-scalar-evolution.c ! 5a08711f36350f4cb6356efdbca0366d gcc/tree-scalar-evolution.h fde71d87e2773a9aa084b42bff3310d2 gcc/tree-sra.c 1aaa20de02e0df1fc3d97a092a6115fc gcc/tree-ssa-address.c 8fa632dc4ecadbea1b20f26fff838835 gcc/tree-ssa-alias-warnings.c 93bdfaa6bdc7b0a309e4b23a8f0b08dc gcc/tree-ssa-alias.c ! 99b41406f0c0ee6e71bc75635f3b7705 gcc/tree-ssa-ccp.c ee98e2dca71b239c0d1f6822c4c18353 gcc/tree-ssa-coalesce.c d8846f087af65f8cf03da9af4a7b7e08 gcc/tree-ssa-copy.c 00027a2dd0c944a3bb86788736dc0f29 gcc/tree-ssa-copyrename.c c4feecb856b0411a214aa0ce5b7a8a2a gcc/tree-ssa-dce.c 4cf172446db4138054badd013635ff7a gcc/tree-ssa-dom.c e91ced82680d7a1596d27fa6b9ac8fee gcc/tree-ssa-dse.c ! 5194c63b44bd65d4ac7fb9fd8b2ae2f2 gcc/tree-ssa-forwprop.c 5985b6580da51b1d347a3a0257cdbe8e gcc/tree-ssa-ifcombine.c e5b1670dc7d490d46b87a11808a416e2 gcc/tree-ssa-live.c 947376fe16e52960f8e379125ebcdb4e gcc/tree-ssa-live.h 1127196386285cb1a20ce20e66342dc1 gcc/tree-ssa-loop-ch.c ! 97b3cf87ff58ed9f86ec9fc615a8bd93 gcc/tree-ssa-loop-im.c b5d4f7e46f98f7cd88099e24b4469238 gcc/tree-ssa-loop-ivcanon.c ! b5f258db1dc6db4900437d5bd19f1335 gcc/tree-ssa-loop-ivopts.c aa17605120370e8cc64e23154e488116 gcc/tree-ssa-loop-manip.c ! e3a00497f27cc1de9d180f87188b10fd gcc/tree-ssa-loop-niter.c 00659ae7f815ad853b6434ec72b561c2 gcc/tree-ssa-loop-prefetch.c a3cbe11e11adfb4cc2d8a9f45c327e54 gcc/tree-ssa-loop-unswitch.c c2959e83df0639f7c282b5b584f38246 gcc/tree-ssa-loop.c f56d9b3aaf2cb91fc86624000e95c44b gcc/tree-ssa-math-opts.c ! a4af5ea37b08dac8bd117771ce500962 gcc/tree-ssa-operands.c 2fbfafd8ca9082e01690e5365232c11d gcc/tree-ssa-operands.h 3c4e391dd41cf28a557b76606c2a5c9d gcc/tree-ssa-phiopt.c 8536bbf94aa0917be5f83d06fda0dd24 gcc/tree-ssa-pre.c 818f51dba02ada7d02810e73c0b0f06f gcc/tree-ssa-propagate.c d9fb9da15af8877b0a3339abe5a7cb22 gcc/tree-ssa-propagate.h aab0739549608f4f7f418182be6c7237 gcc/tree-ssa-reassoc.c ! 0452464604f71f1b74e28b590e8f76e6 gcc/tree-ssa-sccvn.c 8f37823071c455e070aecbf95e53dc19 gcc/tree-ssa-sccvn.h 0c3bcfc24f4003f763403e8011b8917a gcc/tree-ssa-sink.c ! d3d2356a2181bec1577dcaa6f809b10f gcc/tree-ssa-structalias.c ea1bf7f9924293bd071b6af4584fdfb4 gcc/tree-ssa-structalias.h a9b0661b6edc243fb90204ededf95671 gcc/tree-ssa-ter.c 935728d2c60201d2702468c0d7c0e38e gcc/tree-ssa-threadedge.c --- 27428,27471 ---- abe937b665f4da939699e576af4c7e43 gcc/tree-predcom.c 5f9204f3d51e2545e3aec43f24d85f50 gcc/tree-pretty-print.c e91e58bb81a73ee9438d6ebf52e6ab77 gcc/tree-profile.c ! 201aa53efd0631ca0c684d29a586c9a3 gcc/tree-scalar-evolution.c ! c8cf5d2d1ed87dde8c604b32b45f5fae gcc/tree-scalar-evolution.h fde71d87e2773a9aa084b42bff3310d2 gcc/tree-sra.c 1aaa20de02e0df1fc3d97a092a6115fc gcc/tree-ssa-address.c 8fa632dc4ecadbea1b20f26fff838835 gcc/tree-ssa-alias-warnings.c 93bdfaa6bdc7b0a309e4b23a8f0b08dc gcc/tree-ssa-alias.c ! ebadf9cf783d337f7837115fbda54377 gcc/tree-ssa-ccp.c ee98e2dca71b239c0d1f6822c4c18353 gcc/tree-ssa-coalesce.c d8846f087af65f8cf03da9af4a7b7e08 gcc/tree-ssa-copy.c 00027a2dd0c944a3bb86788736dc0f29 gcc/tree-ssa-copyrename.c c4feecb856b0411a214aa0ce5b7a8a2a gcc/tree-ssa-dce.c 4cf172446db4138054badd013635ff7a gcc/tree-ssa-dom.c e91ced82680d7a1596d27fa6b9ac8fee gcc/tree-ssa-dse.c ! 38f9c958af9713e6d34784742cc6e64f gcc/tree-ssa-forwprop.c 5985b6580da51b1d347a3a0257cdbe8e gcc/tree-ssa-ifcombine.c e5b1670dc7d490d46b87a11808a416e2 gcc/tree-ssa-live.c 947376fe16e52960f8e379125ebcdb4e gcc/tree-ssa-live.h 1127196386285cb1a20ce20e66342dc1 gcc/tree-ssa-loop-ch.c ! c180ed1009ffc9a81f20e12bf6f955a7 gcc/tree-ssa-loop-im.c b5d4f7e46f98f7cd88099e24b4469238 gcc/tree-ssa-loop-ivcanon.c ! 0c1517e3658084eacddfa2b8de207d28 gcc/tree-ssa-loop-ivopts.c aa17605120370e8cc64e23154e488116 gcc/tree-ssa-loop-manip.c ! 94ac3397a4e5017046670f291052459d gcc/tree-ssa-loop-niter.c 00659ae7f815ad853b6434ec72b561c2 gcc/tree-ssa-loop-prefetch.c a3cbe11e11adfb4cc2d8a9f45c327e54 gcc/tree-ssa-loop-unswitch.c c2959e83df0639f7c282b5b584f38246 gcc/tree-ssa-loop.c f56d9b3aaf2cb91fc86624000e95c44b gcc/tree-ssa-math-opts.c ! 2518f8840715dad490c3471fd103c5c5 gcc/tree-ssa-operands.c 2fbfafd8ca9082e01690e5365232c11d gcc/tree-ssa-operands.h 3c4e391dd41cf28a557b76606c2a5c9d gcc/tree-ssa-phiopt.c 8536bbf94aa0917be5f83d06fda0dd24 gcc/tree-ssa-pre.c 818f51dba02ada7d02810e73c0b0f06f gcc/tree-ssa-propagate.c d9fb9da15af8877b0a3339abe5a7cb22 gcc/tree-ssa-propagate.h aab0739549608f4f7f418182be6c7237 gcc/tree-ssa-reassoc.c ! 1139548fb668199d0bb432f05be2cbcc gcc/tree-ssa-sccvn.c 8f37823071c455e070aecbf95e53dc19 gcc/tree-ssa-sccvn.h 0c3bcfc24f4003f763403e8011b8917a gcc/tree-ssa-sink.c ! 1e34bf85a637b74eab992a1bfd18d3bd gcc/tree-ssa-structalias.c ea1bf7f9924293bd071b6af4584fdfb4 gcc/tree-ssa-structalias.h a9b0661b6edc243fb90204ededf95671 gcc/tree-ssa-ter.c 935728d2c60201d2702468c0d7c0e38e gcc/tree-ssa-threadedge.c *************** c20c6452cf2842d68b8b48e0af72efec gcc/tr *** 27344,27362 **** fd6bef81317aa14733e83e94f098a20c gcc/tree-ssanames.c 2e486fd1e576805eb9cd3bd42cf48c80 gcc/tree-stdarg.c 9dc7ea806141e247f0061ebed82e5f57 gcc/tree-stdarg.h ! b85d0be2e90cf3382508d9a8897addc0 gcc/tree-tailcall.c ! c361ebc12509fab2047e992c714b2871 gcc/tree-vect-analyze.c ! 59478f87a261171022422d29ae432256 gcc/tree-vect-generic.c a8d9f9d4aa9fda7555c571af62e9644c gcc/tree-vect-patterns.c 599056628694a59e4167dc83e6272f27 gcc/tree-vect-transform.c 9be16dc6bf39de0f691b58cc3ab59998 gcc/tree-vectorizer.c ccb8ad7f6d9fcf516376907e74a33fcc gcc/tree-vectorizer.h 2a2863a5383e137c19380d6bf2973a0a gcc/tree-vn.c ! cd5e4cd253845a1919de8e240dbe5a4e gcc/tree-vrp.c ! 4ce0b717b440c42d45ab2179324b24f1 gcc/tree.c 5bc2d2f3c4f8092d8c9c4edec04b8d34 gcc/tree.def ! 4ae0694f146cbd9c70f55a1a78cfa3f2 gcc/tree.h ! 592743f53ad6f4ca487c1b9510f3096f gcc/treelang/ChangeLog b66c6df2f7a23659c105606661d38b7d gcc/treelang/Make-lang.in 760e83cfd90fc02bffdf85e5e4d77bb3 gcc/treelang/README 5da81b4e679c014bea3dbbfca9a83217 gcc/treelang/config-lang.in --- 27475,27493 ---- fd6bef81317aa14733e83e94f098a20c gcc/tree-ssanames.c 2e486fd1e576805eb9cd3bd42cf48c80 gcc/tree-stdarg.c 9dc7ea806141e247f0061ebed82e5f57 gcc/tree-stdarg.h ! f728598f7f4670b3e3ff88ff3e5189f4 gcc/tree-tailcall.c ! 000c1df2e59aa3430b017de3057041de gcc/tree-vect-analyze.c ! eccf8db14146499c66c8439c783dc888 gcc/tree-vect-generic.c a8d9f9d4aa9fda7555c571af62e9644c gcc/tree-vect-patterns.c 599056628694a59e4167dc83e6272f27 gcc/tree-vect-transform.c 9be16dc6bf39de0f691b58cc3ab59998 gcc/tree-vectorizer.c ccb8ad7f6d9fcf516376907e74a33fcc gcc/tree-vectorizer.h 2a2863a5383e137c19380d6bf2973a0a gcc/tree-vn.c ! 08c99cc5507412ea3c523f06bf4c10e5 gcc/tree-vrp.c ! a9bd2c314a1bc8707ad62950a5d9d94c gcc/tree.c 5bc2d2f3c4f8092d8c9c4edec04b8d34 gcc/tree.def ! 157b367386363fa1345a0977a9ae4f4b gcc/tree.h ! d7710616f92d7bdd1196cb8b537e5078 gcc/treelang/ChangeLog b66c6df2f7a23659c105606661d38b7d gcc/treelang/Make-lang.in 760e83cfd90fc02bffdf85e5e4d77bb3 gcc/treelang/README 5da81b4e679c014bea3dbbfca9a83217 gcc/treelang/config-lang.in *************** e0a0b51f2484cec3065192192090f666 gcc/we *** 27406,27418 **** 42adadee6c316f624c86e3ccfdeee75c gcc/xcoff.h 8a2415aa67c1a2ab0012edd92c60d5dc gcc/xcoffout.c 8c56db5e59eea9e7c72612f05785cce6 gcc/xcoffout.h ! e0d7e49436fb1c820d5012284b4f271b gnattools/ChangeLog 23fa937d5932f6d04646e94cfd767f37 gnattools/Makefile.in c54636491ff1ff89a1805f5f8b8a0cdd gnattools/configure b3d74fcaa8ddebab0f0503c23953d830 gnattools/configure.ac 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! af10dd41cf7d3868d4b2f345499224a0 include/ChangeLog 24516b717009640ce59780ea65675d4f include/ChangeLog-9103 f7d3e7ee65516643f4847560778a30cf include/ansidecl.h c761fbe28e130c5e46a936fa663b0f6c include/demangle.h --- 27537,27549 ---- 42adadee6c316f624c86e3ccfdeee75c gcc/xcoff.h 8a2415aa67c1a2ab0012edd92c60d5dc gcc/xcoffout.c 8c56db5e59eea9e7c72612f05785cce6 gcc/xcoffout.h ! 8adea5083e90ddb8d48f2fe949a737c2 gnattools/ChangeLog 23fa937d5932f6d04646e94cfd767f37 gnattools/Makefile.in c54636491ff1ff89a1805f5f8b8a0cdd gnattools/configure b3d74fcaa8ddebab0f0503c23953d830 gnattools/configure.ac 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! c7e5230b1a5eb592f86e8da1eb33d9ff include/ChangeLog 24516b717009640ce59780ea65675d4f include/ChangeLog-9103 f7d3e7ee65516643f4847560778a30cf include/ansidecl.h c761fbe28e130c5e46a936fa663b0f6c include/demangle.h *************** c665cdb0d6c3bfb5d86841b168a2d1f9 includ *** 27436,27442 **** 0294cecbb1f66d640ccba3a5d862d05b include/xregex2.h 31fd4b5d7f1f63a5d361533029b50a46 include/xtensa-config.h aded5875c5d5830de6653181e8ced19c install-sh ! f7a6da3d6066d302d5d88ab37fe4bc16 intl/ChangeLog d2413516bb4932a3f3a3642164ac38f8 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION --- 27567,27573 ---- 0294cecbb1f66d640ccba3a5d862d05b include/xregex2.h 31fd4b5d7f1f63a5d361533029b50a46 include/xtensa-config.h aded5875c5d5830de6653181e8ced19c install-sh ! aa91fe2c5f1aa9128619440358cadff0 intl/ChangeLog d2413516bb4932a3f3a3642164ac38f8 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION *************** d50a8c6c5b41089930accbdce767d3c0 intl/p *** 27478,27488 **** b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! a30cc127362f556a7f591380566cbead libada/ChangeLog 962e410d487de07a684a647bbcd697e7 libada/Makefile.in 2cb2fd3fee4a620a3d3896a05e2924db libada/configure 0e6eee9ef33cbe4c3e9c2454ed64fa59 libada/configure.ac ! 4155c9e1702f186981627dde960bce03 libcpp/ChangeLog cb9c9729dfdf557e159aa72dc1105198 libcpp/Makefile.in 647f30740ad5a45cc52fdcd1751083bf libcpp/aclocal.m4 385e5d212def1f3cf5916d3a8640b05a libcpp/charset.c --- 27609,27619 ---- b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! 2abc0d05b8d497f8f837f8db2d25039c libada/ChangeLog 962e410d487de07a684a647bbcd697e7 libada/Makefile.in 2cb2fd3fee4a620a3d3896a05e2924db libada/configure 0e6eee9ef33cbe4c3e9c2454ed64fa59 libada/configure.ac ! 8ebb164b43588452977a4ae6557068b9 libcpp/ChangeLog cb9c9729dfdf557e159aa72dc1105198 libcpp/Makefile.in 647f30740ad5a45cc52fdcd1751083bf libcpp/aclocal.m4 385e5d212def1f3cf5916d3a8640b05a libcpp/charset.c *************** bd3ad232a81e8a65301172800949c9b8 libcpp *** 27509,27515 **** f534edcdcc5f5c162170f3c205980359 libcpp/makeucnid.c ac4b591a13a5571e94feae523a15c8ec libcpp/mkdeps.c e00c90c59ce7354651ccd2ccde68d616 libcpp/pch.c ! 3edd959c038f6758a42eab7be2b5d40b libcpp/po/ChangeLog 8cac39022160a193831834af2ffa5ea3 libcpp/po/be.gmo c81dc225648b0d8a56da6c01a809ff51 libcpp/po/be.po 9c185edf5e16ab726119f687bde9881b libcpp/po/ca.gmo --- 27640,27646 ---- f534edcdcc5f5c162170f3c205980359 libcpp/makeucnid.c ac4b591a13a5571e94feae523a15c8ec libcpp/mkdeps.c e00c90c59ce7354651ccd2ccde68d616 libcpp/pch.c ! 4cf2b24dd8ab9f5836c693586f49ac28 libcpp/po/ChangeLog 8cac39022160a193831834af2ffa5ea3 libcpp/po/be.gmo c81dc225648b0d8a56da6c01a809ff51 libcpp/po/be.po 9c185edf5e16ab726119f687bde9881b libcpp/po/ca.gmo *************** e748b11a8760b4a8717f37cd32b26eae libcpp *** 27548,27554 **** a0dcc3314ad9ee85b8648e3503e149ae libcpp/traditional.c 273f6edd239910923af1435d8fef46fc libcpp/ucnid.h 62b01578743d74de9c0d15087276717c libcpp/ucnid.tab ! 288abc4bfeab8d57543df77889d0c37b libdecnumber/ChangeLog 3ec2aac10bc63bbe06dca92ebe39865c libdecnumber/Makefile.in 44f4920dd8bf48cc126c580e7fa143fc libdecnumber/aclocal.m4 368025fbca677831a7e5eeb189c8cd7a libdecnumber/bid/bid-dpd.h --- 27679,27685 ---- a0dcc3314ad9ee85b8648e3503e149ae libcpp/traditional.c 273f6edd239910923af1435d8fef46fc libcpp/ucnid.h 62b01578743d74de9c0d15087276717c libcpp/ucnid.tab ! a310afa4132f0507df9ce62c2093b83f libdecnumber/ChangeLog 3ec2aac10bc63bbe06dca92ebe39865c libdecnumber/Makefile.in 44f4920dd8bf48cc126c580e7fa143fc libdecnumber/aclocal.m4 368025fbca677831a7e5eeb189c8cd7a libdecnumber/bid/bid-dpd.h *************** a97c47969dfc92a7666dfe3c2e1e1448 libdec *** 27610,27616 **** c270d50ddfac9324cee8524acd30a124 libdecnumber/dpd/decimal64.c 77337fb64594d9c488a93554cfa792d5 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 0c0736a5230359aa63398e8e38ebe565 libffi/ChangeLog fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 085f9917800070e791f49bf4733e23fa libffi/LICENSE --- 27741,27747 ---- c270d50ddfac9324cee8524acd30a124 libdecnumber/dpd/decimal64.c 77337fb64594d9c488a93554cfa792d5 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! c74d70b6ca5b55826c3adc7fe0e815cb libffi/ChangeLog fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 085f9917800070e791f49bf4733e23fa libffi/LICENSE *************** b84890d83f011c1b342ba72165c5337b libffi *** 27812,27818 **** 92159904883229dd38630b1d0cee3534 libffi/testsuite/libffi.special/special.exp f66daec7c7f631f03fad7424a605034b libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 1d3b8818d08296ae50b92996e09cd6e1 libgcc/ChangeLog 877c1d02f9bc31b4163cd7a60d875bde libgcc/Makefile.in da2798b6ac789eeff1608336a68379c0 libgcc/config.host 4d2e967f3d00f422f15be583a4ca4881 libgcc/config/alpha/t-crtfm --- 27943,27949 ---- 92159904883229dd38630b1d0cee3534 libffi/testsuite/libffi.special/special.exp f66daec7c7f631f03fad7424a605034b libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 0235d5d32cde541fbec9654f50e64ff3 libgcc/ChangeLog 877c1d02f9bc31b4163cd7a60d875bde libgcc/Makefile.in da2798b6ac789eeff1608336a68379c0 libgcc/config.host 4d2e967f3d00f422f15be583a4ca4881 libgcc/config/alpha/t-crtfm *************** b327c22ab49cc6d437dfa1511120ce05 libgcc *** 27824,27830 **** 1db6a856e71a77322048ac264691101d libgcc/config/i386/t-nwld c2b9707d430ed58a16cc4e52a6be4b04 libgcc/config/i386/t-sol2 721bfee787d81d97c021d28b97dc3415 libgcc/config/ia64/t-ia64 ! 3f6307f3a7253d229ebc314e6cccde24 libgcc/config/libbid/ChangeLog 188339757aa8b3a344fbb2d04fa4168e libgcc/config/libbid/_addsub_dd.c 93c949c5cbe0149d86da6db2f8173fdd libgcc/config/libbid/_addsub_sd.c 50b3eb2c6e3370ffdcfe30f4ec944720 libgcc/config/libbid/_addsub_td.c --- 27955,27961 ---- 1db6a856e71a77322048ac264691101d libgcc/config/i386/t-nwld c2b9707d430ed58a16cc4e52a6be4b04 libgcc/config/i386/t-sol2 721bfee787d81d97c021d28b97dc3415 libgcc/config/ia64/t-ia64 ! 7c9f06ba32670a23da367d5e43a5f516 libgcc/config/libbid/ChangeLog 188339757aa8b3a344fbb2d04fa4168e libgcc/config/libbid/_addsub_dd.c 93c949c5cbe0149d86da6db2f8173fdd libgcc/config/libbid/_addsub_sd.c 50b3eb2c6e3370ffdcfe30f4ec944720 libgcc/config/libbid/_addsub_td.c *************** c7b70dcc1f2024624fcba54a60ffcdda libgcc *** 27997,28003 **** c326222d0001569c09d987898e433cee libgcc/shared-object.mk e46c2a78dca584dfd7a4b4673666ab86 libgcc/siditi-object.mk 4f944647ef4ccaaaf9bb117b88d3cfd8 libgcc/static-object.mk ! d1d73236b200864401ba21958a05cd39 libgfortran/ChangeLog 2c771a7b083f9d4ba381a572d357758a libgfortran/ChangeLog-2002 67e64c8bcbf53773807721aeb4785c9e libgfortran/ChangeLog-2003 9d1927b41c85e097fe773c06a3229dba libgfortran/ChangeLog-2004 --- 28128,28134 ---- c326222d0001569c09d987898e433cee libgcc/shared-object.mk e46c2a78dca584dfd7a4b4673666ab86 libgcc/siditi-object.mk 4f944647ef4ccaaaf9bb117b88d3cfd8 libgcc/static-object.mk ! 19d285edabaf35a50252328462a89618 libgfortran/ChangeLog 2c771a7b083f9d4ba381a572d357758a libgfortran/ChangeLog-2002 67e64c8bcbf53773807721aeb4785c9e libgfortran/ChangeLog-2003 9d1927b41c85e097fe773c06a3229dba libgfortran/ChangeLog-2004 *************** d979b27e3923fe846ff7fcfe223b0309 libgfo *** 28507,28513 **** 2e57071191fff472e09a945b70f26885 libgfortran/io/inquire.c 7c30c02bf44fae82cbe4c67290704ad5 libgfortran/io/intrinsics.c 2158be28bb825006f8bd4878ae2b7d50 libgfortran/io/io.h ! 075b131757a814dbfb2d52f4cb5a05f8 libgfortran/io/list_read.c 09d4969b0d629292dcb3362a5a242617 libgfortran/io/lock.c 4c5c943e309f4f03ececa70596cc017c libgfortran/io/open.c c113b686c5622955d015c7576cf954fc libgfortran/io/read.c --- 28638,28644 ---- 2e57071191fff472e09a945b70f26885 libgfortran/io/inquire.c 7c30c02bf44fae82cbe4c67290704ad5 libgfortran/io/intrinsics.c 2158be28bb825006f8bd4878ae2b7d50 libgfortran/io/io.h ! d1065ddff8780696fa72d54ef2745a4e libgfortran/io/list_read.c 09d4969b0d629292dcb3362a5a242617 libgfortran/io/lock.c 4c5c943e309f4f03ececa70596cc017c libgfortran/io/open.c c113b686c5622955d015c7576cf954fc libgfortran/io/read.c *************** d13bba133c279ec1fc61e44be0bbae42 libgfo *** 28573,28579 **** ca65253a24d34223c548d4791f67734c libgfortran/runtime/select.c 3dc1c47e9a4b97877232c9aba6fc620d libgfortran/runtime/stop.c 6aabaecd0edf536525884728a2f52a32 libgfortran/runtime/string.c ! ba9e3c8e8a2182a2731e4bde322c8c6f libgomp/ChangeLog f063c3db3ad8911d2e60245abc128608 libgomp/Makefile.am 78751d4257a6542805824ac40d208e36 libgomp/Makefile.in f240afc042f089598063e6e9e3b33b8b libgomp/acinclude.m4 --- 28704,28710 ---- ca65253a24d34223c548d4791f67734c libgfortran/runtime/select.c 3dc1c47e9a4b97877232c9aba6fc620d libgfortran/runtime/stop.c 6aabaecd0edf536525884728a2f52a32 libgfortran/runtime/string.c ! a4f78bb28416435823dfd0a26f6addbb libgomp/ChangeLog f063c3db3ad8911d2e60245abc128608 libgomp/Makefile.am 78751d4257a6542805824ac40d208e36 libgomp/Makefile.in f240afc042f089598063e6e9e3b33b8b libgomp/acinclude.m4 *************** b96c95e157aff9ce84bf4e0162af08a5 libgom *** 28621,28627 **** f3855e00cf2e71145c033e8d3b0d86e1 libgomp/fortran.c 744b4b3968a3a07d84db826396cdafdf libgomp/iter.c b28e05ac428e7e20d5dd5e1f6090d43f libgomp/libgomp.h ! 8670425f2b683b5d604334a0490ce871 libgomp/libgomp.info 89eb36d54b77f19545f66a3c7e60e9c3 libgomp/libgomp.map 591ff20dfd2b81e3c919249b5db8a967 libgomp/libgomp.spec.in d94ccd236f514fa00b545822f8453582 libgomp/libgomp.texi --- 28752,28758 ---- f3855e00cf2e71145c033e8d3b0d86e1 libgomp/fortran.c 744b4b3968a3a07d84db826396cdafdf libgomp/iter.c b28e05ac428e7e20d5dd5e1f6090d43f libgomp/libgomp.h ! 4bd9fc74a741dd58a71bf11ad86c22e2 libgomp/libgomp.info 89eb36d54b77f19545f66a3c7e60e9c3 libgomp/libgomp.map 591ff20dfd2b81e3c919249b5db8a967 libgomp/libgomp.spec.in d94ccd236f514fa00b545822f8453582 libgomp/libgomp.texi *************** ee9b4e6286720c9e31c8afb5899375cf libgom *** 28876,28882 **** 10994954f2e9828dd2a982c245ff4a59 libgomp/testsuite/libgomp.fortran/workshare1.f90 a999cc9909607f39f1b668bed6f501bf libgomp/work.c a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! 96be02fb422ab963b126a09e8e029304 libiberty/ChangeLog 70e8a3e4810e436a1e73bf061ee1a1a9 libiberty/Makefile.in 294191545dc71f5ad13229b0a5bfd7b1 libiberty/README 8797cb1a6faa84f3c7fe3d12164a4b13 libiberty/_doprnt.c --- 29007,29013 ---- 10994954f2e9828dd2a982c245ff4a59 libgomp/testsuite/libgomp.fortran/workshare1.f90 a999cc9909607f39f1b668bed6f501bf libgomp/work.c a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! fb15a47b4f7be891511ab0c9dc1b5c23 libiberty/ChangeLog 70e8a3e4810e436a1e73bf061ee1a1a9 libiberty/Makefile.in 294191545dc71f5ad13229b0a5bfd7b1 libiberty/README 8797cb1a6faa84f3c7fe3d12164a4b13 libiberty/_doprnt.c *************** dd2971acf38c8b94a06c8309086d6de5 libibe *** 28902,28909 **** 044204f5b4bcac5eae2face0602129ae libiberty/config/mh-fbsd21 904bdcd9daf97fa55a9ca8901ffe7435 libiberty/config/mh-openedition 38e76da568ab25260754fdb9d5080513 libiberty/config/mh-windows ! becde32ab10bd3f19a832596c208b520 libiberty/configure ! 048dfcffa3f90547aed5c13366ad78db libiberty/configure.ac a8959f1d1758eb14819753023f89d199 libiberty/copying-lib.texi fe053283d3559af3ec5cac45f8ead009 libiberty/copysign.c 9b4cbcd99144a04e69692a22369e6174 libiberty/cp-demangle.c --- 29033,29040 ---- 044204f5b4bcac5eae2face0602129ae libiberty/config/mh-fbsd21 904bdcd9daf97fa55a9ca8901ffe7435 libiberty/config/mh-openedition 38e76da568ab25260754fdb9d5080513 libiberty/config/mh-windows ! d397e2b0777046673754da0e187e2a70 libiberty/configure ! 8a3f7391d50ec112d09299dc465ecfa1 libiberty/configure.ac a8959f1d1758eb14819753023f89d199 libiberty/copying-lib.texi fe053283d3559af3ec5cac45f8ead009 libiberty/copysign.c 9b4cbcd99144a04e69692a22369e6174 libiberty/cp-demangle.c *************** cdc140ce93944c5bb2ac62cd3dfd86d6 libibe *** 29013,29019 **** 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c c6e7ef53b4ff115a136d917511222656 libiberty/xstrndup.c 94d55d512a9ba36caa9b7df079bae19f libjava/COPYING ! d1b72f17a612bcb65fb14d7b220ef984 libjava/ChangeLog 03e1f38b916604fdf1470238201325f3 libjava/ChangeLog-1998 691acb61fbd6a2235826ff55db5578be libjava/ChangeLog-1999 b58c6701706771a02bf00a77666941ef libjava/ChangeLog-2000 --- 29144,29150 ---- 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c c6e7ef53b4ff115a136d917511222656 libiberty/xstrndup.c 94d55d512a9ba36caa9b7df079bae19f libjava/COPYING ! b9bfc2e00358ec88003f106f67f31d04 libjava/ChangeLog 03e1f38b916604fdf1470238201325f3 libjava/ChangeLog-1998 691acb61fbd6a2235826ff55db5578be libjava/ChangeLog-1999 b58c6701706771a02bf00a77666941ef libjava/ChangeLog-2000 *************** d20dd09834420c921e1a92e09aff0c88 libjav *** 29025,29032 **** ae961717bc1539baf6df7fd0fe9c323e libjava/ChangeLog-2006 e3569e8ae13ffbdc1c68429ef8058a6b libjava/HACKING e6044391ca5876bd430bc51e9e144cf6 libjava/LIBGCJ_LICENSE ! f6c58b8f22036826db1ef63bc05daf0f libjava/Makefile.am ! c155b0a038d8ccf7e2249e079489cf0d libjava/Makefile.in 9dd432872e3bbb6e7cd07279a4a71baa libjava/NEWS b8af03ff64b9879992c9382503d9910e libjava/README fcab9c26cd6f539addaab81491b62c25 libjava/THANKS --- 29156,29163 ---- ae961717bc1539baf6df7fd0fe9c323e libjava/ChangeLog-2006 e3569e8ae13ffbdc1c68429ef8058a6b libjava/HACKING e6044391ca5876bd430bc51e9e144cf6 libjava/LIBGCJ_LICENSE ! 50c88884cc9864ad43d142a1d5aebcbc libjava/Makefile.am ! 8a46f19f353b7d2f144620c04136397f libjava/Makefile.in 9dd432872e3bbb6e7cd07279a4a71baa libjava/NEWS b8af03ff64b9879992c9382503d9910e libjava/README fcab9c26cd6f539addaab81491b62c25 libjava/THANKS *************** de54f80484e640306e109e785e4611c8 libjav *** 29048,29059 **** 2b259cd8321e524da97bf5cc464f88ce libjava/classpath/AUTHORS efd97e0bb913655e0c8b16fa78bdded4 libjava/classpath/BUGS af0004801732bc4b20d90f351cf80510 libjava/classpath/COPYING ! 87012bba9610b3e7339d3a4e6213db19 libjava/classpath/ChangeLog 539139753b2aae955026b6567ec391ea libjava/classpath/ChangeLog-2003 5116cb4fcf31e76c9ed4f96269a0aceb libjava/classpath/ChangeLog-2004 51a83c01385f4cc01e86297dc0991b56 libjava/classpath/ChangeLog-2005 0dba21f6ba7fe678d161f970a31cd505 libjava/classpath/ChangeLog-2006 ! 30d64c01879953c35197d79e58f43c13 libjava/classpath/ChangeLog.gcj a09dff495a9043fcf7b463f0b5c4fdd6 libjava/classpath/ChangeLog.gnujaxp.1 3353fabfae7cca9e6c4f821919e4275c libjava/classpath/ChangeLog.gnujaxp.2 b35964059a02f01f39b05a95b401f586 libjava/classpath/ChangeLog.libxmlj --- 29179,29190 ---- 2b259cd8321e524da97bf5cc464f88ce libjava/classpath/AUTHORS efd97e0bb913655e0c8b16fa78bdded4 libjava/classpath/BUGS af0004801732bc4b20d90f351cf80510 libjava/classpath/COPYING ! d267f8b15df03ec2a3fb0ecd65b2e363 libjava/classpath/ChangeLog 539139753b2aae955026b6567ec391ea libjava/classpath/ChangeLog-2003 5116cb4fcf31e76c9ed4f96269a0aceb libjava/classpath/ChangeLog-2004 51a83c01385f4cc01e86297dc0991b56 libjava/classpath/ChangeLog-2005 0dba21f6ba7fe678d161f970a31cd505 libjava/classpath/ChangeLog-2006 ! e9b968826195735747fd61b98919fb34 libjava/classpath/ChangeLog.gcj a09dff495a9043fcf7b463f0b5c4fdd6 libjava/classpath/ChangeLog.gnujaxp.1 3353fabfae7cca9e6c4f821919e4275c libjava/classpath/ChangeLog.gnujaxp.2 b35964059a02f01f39b05a95b401f586 libjava/classpath/ChangeLog.libxmlj *************** ee4340275fed07d67857e63c13ee7589 libjav *** 29072,29079 **** b2a35e98453194ca837c363ee9c0d379 libjava/classpath/compile 58489e53f09d86b455bf5e337ba537e3 libjava/classpath/config.guess 32d4c1295cab1811733b0cb8ab1ec69c libjava/classpath/config.sub ! e25cd5f6e18f10370cb4d80b6d503c16 libjava/classpath/configure ! bf9092eeb3e0894fdfcd88ea3ddb52d1 libjava/classpath/configure.ac d7d8db17e074dcabf513d766b728993d libjava/classpath/depcomp a6cedb4991503f803e9f0870daf59c13 libjava/classpath/doc/.cvsignore 32a603db3d7804949c97f51174dbd853 libjava/classpath/doc/Makefile.am --- 29203,29210 ---- b2a35e98453194ca837c363ee9c0d379 libjava/classpath/compile 58489e53f09d86b455bf5e337ba537e3 libjava/classpath/config.guess 32d4c1295cab1811733b0cb8ab1ec69c libjava/classpath/config.sub ! 1d3123fe79b75fa2142270125d9fb2d9 libjava/classpath/configure ! 6fb620e52ce820f5015ea110d97da1d9 libjava/classpath/configure.ac d7d8db17e074dcabf513d766b728993d libjava/classpath/depcomp a6cedb4991503f803e9f0870daf59c13 libjava/classpath/doc/.cvsignore 32a603db3d7804949c97f51174dbd853 libjava/classpath/doc/Makefile.am *************** a6cedb4991503f803e9f0870daf59c13 libjav *** 29083,29102 **** 10871e5063b5a4c438b91a3aae379f05 libjava/classpath/doc/api/Makefile.am 55aa666f784f931a6a22153f3d1985da libjava/classpath/doc/api/Makefile.in 4e32abb6ea3c9e818d3142042085405d libjava/classpath/doc/cp-hacking.texinfo ! 5baf763938843fc6105883caa9e2307b libjava/classpath/doc/cp-tools.info 722ba72ca7036bea911e388b5b770276 libjava/classpath/doc/cp-tools.texinfo fcc1a3dcc9b3d818f14b451d76a9c71b libjava/classpath/doc/cp-vmintegration.texinfo ! 3abb469905a2fb4153e01069ef1a78f8 libjava/classpath/doc/gappletviewer.1 ! 78e7cd361434e99a241c699ed30ebf20 libjava/classpath/doc/gjar.1 ! b4ba33e781ba4020de0a43d6c09ece39 libjava/classpath/doc/gjarsigner.1 ! 467e1cf714071451cdf85d2eb4da88d0 libjava/classpath/doc/gjavah.1 ! 544675e7d64a928960476aaee6497af9 libjava/classpath/doc/gkeytool.1 ! 4df5add6a4dfb8ddfadfef5e1810c8e5 libjava/classpath/doc/gnative2ascii.1 ! c425a6751a4fa9af77ada149ec0ca6eb libjava/classpath/doc/gorbd.1 ! a4123840a7708319ed704f48ee642410 libjava/classpath/doc/grmid.1 ! 2bdc9c1f64254a8611b96d5e5635559f libjava/classpath/doc/grmiregistry.1 ! e5aaefa5fca1eab7a49e63b53ba5d80a libjava/classpath/doc/gserialver.1 ! 80a22c9a41f78eced86f416855ed3691 libjava/classpath/doc/gtnameserv.1 7e4e31659df1c7e815f9151958dceef2 libjava/classpath/doc/texi2pod.pl 330cc83e650cc581dc85ffaa9cabb184 libjava/classpath/doc/texinfo.tex b1e0c0c30547d57d7a09b04d47c70b06 libjava/classpath/examples/.cvsignore --- 29214,29233 ---- 10871e5063b5a4c438b91a3aae379f05 libjava/classpath/doc/api/Makefile.am 55aa666f784f931a6a22153f3d1985da libjava/classpath/doc/api/Makefile.in 4e32abb6ea3c9e818d3142042085405d libjava/classpath/doc/cp-hacking.texinfo ! c6dd785445e6f342ecc5e6aed41d9b7e libjava/classpath/doc/cp-tools.info 722ba72ca7036bea911e388b5b770276 libjava/classpath/doc/cp-tools.texinfo fcc1a3dcc9b3d818f14b451d76a9c71b libjava/classpath/doc/cp-vmintegration.texinfo ! 8312fa9aa86dbf9c67eb1404b68c0a92 libjava/classpath/doc/gappletviewer.1 ! f8eafe260a7755b3799e116d078d8a08 libjava/classpath/doc/gjar.1 ! 9cec7498a9874320c9ec4bd1e38cb110 libjava/classpath/doc/gjarsigner.1 ! 6b80a867be09a6beb8170aa9aea5629e libjava/classpath/doc/gjavah.1 ! c977ac74b6c8446b5d861d7bbde27f01 libjava/classpath/doc/gkeytool.1 ! cc58ded517fa6300c1576e1c9549bf87 libjava/classpath/doc/gnative2ascii.1 ! 59ea60e6eb074d5a9ecabd459beaf72c libjava/classpath/doc/gorbd.1 ! 6253bfd821234c27a4ef72eb5c5fcaf4 libjava/classpath/doc/grmid.1 ! b9df0ab5e6c3224e4441046a6c22135a libjava/classpath/doc/grmiregistry.1 ! 77f6bf7f44c61e4d45ba50d234606c25 libjava/classpath/doc/gserialver.1 ! 7c906b0579ec708ef5192d9f88ac20e2 libjava/classpath/doc/gtnameserv.1 7e4e31659df1c7e815f9151958dceef2 libjava/classpath/doc/texi2pod.pl 330cc83e650cc581dc85ffaa9cabb184 libjava/classpath/doc/texinfo.tex b1e0c0c30547d57d7a09b04d47c70b06 libjava/classpath/examples/.cvsignore *************** d55cd2873e88acc287bbe780bcb29559 libjav *** 43837,43847 **** 851fa7c60828ad1f1741ff4abdd6e4c2 libjava/classpath/vm/reference/sun/misc/Unsafe.java d8b9d62b3d4b77c2c9db9a8dd775afbf libjava/classpath/vm/reference/sun/reflect/Reflection.java df8921743087523404a2b30bdb83d3a6 libjava/classpath/vm/reference/sun/reflect/misc/ReflectUtil.java ! e664276ab6b82ad433d70176d0e6c12b libjava/configure ! 27a1a4663dc395c89b6b620d8ec58e5e libjava/configure.ac d88760a3360c9ac9203b70d059bbcf3a libjava/configure.host 2860a121ccf1ea8283e048e7817694ae libjava/darwin.cc 4c8dd6544a16119779a1478f4be13eef libjava/defineclass.cc 536f043fca86f336bd8c128d137b5606 libjava/exception.cc 554b018d0c459bbb31eb8dc86896eeda libjava/gcj/Makefile.am 5e811d4d270057abb7f6d6a0e8ff35af libjava/gcj/Makefile.in --- 43968,43979 ---- 851fa7c60828ad1f1741ff4abdd6e4c2 libjava/classpath/vm/reference/sun/misc/Unsafe.java d8b9d62b3d4b77c2c9db9a8dd775afbf libjava/classpath/vm/reference/sun/reflect/Reflection.java df8921743087523404a2b30bdb83d3a6 libjava/classpath/vm/reference/sun/reflect/misc/ReflectUtil.java ! 51dbc0724bbb0271bc7b7c8152b725a6 libjava/configure ! e3a95a6857bde4fe6856eb0d35203db5 libjava/configure.ac d88760a3360c9ac9203b70d059bbcf3a libjava/configure.host 2860a121ccf1ea8283e048e7817694ae libjava/darwin.cc 4c8dd6544a16119779a1478f4be13eef libjava/defineclass.cc + e1dd1714c23cee8198d9b019d6f811e3 libjava/ecjx.cc 536f043fca86f336bd8c128d137b5606 libjava/exception.cc 554b018d0c459bbb31eb8dc86896eeda libjava/gcj/Makefile.am 5e811d4d270057abb7f6d6a0e8ff35af libjava/gcj/Makefile.in *************** fed9896dc46670ec15adeb94a6168fa0 libjav *** 47905,47911 **** dd217172da39237791f66e9ea4b205a2 libjava/java/lang/management/VMManagementFactory.java 53666975d53a106d4470daf980c5ebd4 libjava/java/lang/natCharacter.cc a71e52696515052424388cdf9e56eb9d libjava/java/lang/natClass.cc ! ebdde59e721801c2c6c6b9f1c643bab0 libjava/java/lang/natClassLoader.cc 0428600f80b2d42232efa351faaad7ef libjava/java/lang/natEcosProcess.cc 38f692d64cb2de9c49202f41d4392825 libjava/java/lang/natMath.cc cd3a737f2db795fb827d767120fffa58 libjava/java/lang/natObject.cc --- 48037,48043 ---- dd217172da39237791f66e9ea4b205a2 libjava/java/lang/management/VMManagementFactory.java 53666975d53a106d4470daf980c5ebd4 libjava/java/lang/natCharacter.cc a71e52696515052424388cdf9e56eb9d libjava/java/lang/natClass.cc ! 18fecfd4d911f6e06ebc9f544990d3f1 libjava/java/lang/natClassLoader.cc 0428600f80b2d42232efa351faaad7ef libjava/java/lang/natEcosProcess.cc 38f692d64cb2de9c49202f41d4392825 libjava/java/lang/natMath.cc cd3a737f2db795fb827d767120fffa58 libjava/java/lang/natObject.cc *************** d04590c4dc6a61734d09958671cba4da libjav *** 50999,51005 **** 13fc127864a775b5feed8f9c90cef50f libjava/libgcj.ver 918dbf24a14342419952d27897572c0d libjava/libgcj_bc.c e3eda01d9815f8d24aae2dbd89b68b06 libjava/libltdl/COPYING.LIB ! eaa988f33115c1fea9839dae525c6883 libjava/libltdl/ChangeLog 687405b58bc7fffede3a92c2d9d39bcf libjava/libltdl/Makefile.am 129915ab2faa96ebc5d04ca1524bbf5e libjava/libltdl/Makefile.in 36da24f9facf00b349ea10dba3789d92 libjava/libltdl/README --- 51131,51137 ---- 13fc127864a775b5feed8f9c90cef50f libjava/libgcj.ver 918dbf24a14342419952d27897572c0d libjava/libgcj_bc.c e3eda01d9815f8d24aae2dbd89b68b06 libjava/libltdl/COPYING.LIB ! 732efd419ecbabe8f52ee4dcff9ae337 libjava/libltdl/ChangeLog 687405b58bc7fffede3a92c2d9d39bcf libjava/libltdl/Makefile.am 129915ab2faa96ebc5d04ca1524bbf5e libjava/libltdl/Makefile.in 36da24f9facf00b349ea10dba3789d92 libjava/libltdl/README *************** d41d8cd98f00b204e9800998ecf8427e libjav *** 52690,52696 **** 434ac04eb066f5075299583492846410 libjava/verify.cc 355440a0c2fb5e16259d7ae381b37ed5 libjava/win32-threads.cc 434d5e5e91727dec004f0d1d1fab47ec libjava/win32.cc ! 5dac79fb65173c360cee21bba63c197a libmudflap/ChangeLog 6d4defe09ae6115619c10f3496c4ab64 libmudflap/Makefile.am b59d0bc406938469215a069822af79d8 libmudflap/Makefile.in 9883ed42b491d8aea83fdde90561cf2a libmudflap/acinclude.m4 --- 52822,52828 ---- 434ac04eb066f5075299583492846410 libjava/verify.cc 355440a0c2fb5e16259d7ae381b37ed5 libjava/win32-threads.cc 434d5e5e91727dec004f0d1d1fab47ec libjava/win32.cc ! 4601291943d9c2d6b2366373aecc7268 libmudflap/ChangeLog 6d4defe09ae6115619c10f3496c4ab64 libmudflap/Makefile.am b59d0bc406938469215a069822af79d8 libmudflap/Makefile.in 9883ed42b491d8aea83fdde90561cf2a libmudflap/acinclude.m4 *************** c5335252518805ab1392c05df57648dd libmud *** 52829,52835 **** 9c6e0ee7556df21372ba89fcb2612d17 libmudflap/testsuite/libmudflap.cth/pass40-frag.c 725a94441658e42a6adf2add0a0a419d libmudflap/testsuite/libmudflap.cth/pass59-frag.c 60168171460c9277504005955b1ea1b8 libmudflap/testsuite/mfconfig.exp.in ! ae71098101019028f738f696d0b8e21b libobjc/ChangeLog 9357a1aab273ad9396979505944462e7 libobjc/Makefile.in b72b505ce44f731e074f50699c5692e8 libobjc/NXConstStr.m 601602b8688b4064b961b0c12d68360d libobjc/Object.m --- 52961,52967 ---- 9c6e0ee7556df21372ba89fcb2612d17 libmudflap/testsuite/libmudflap.cth/pass40-frag.c 725a94441658e42a6adf2add0a0a419d libmudflap/testsuite/libmudflap.cth/pass59-frag.c 60168171460c9277504005955b1ea1b8 libmudflap/testsuite/mfconfig.exp.in ! 1e30974db7624ba07123cf60fd7ae60c libobjc/ChangeLog 9357a1aab273ad9396979505944462e7 libobjc/Makefile.in b72b505ce44f731e074f50699c5692e8 libobjc/NXConstStr.m 601602b8688b4064b961b0c12d68360d libobjc/Object.m *************** dc40c43e3b37ec7b0fc4a64a75a54c87 libobj *** 52887,52893 **** dc40c43e3b37ec7b0fc4a64a75a54c87 libobjc/thr-vxworks.c 1e0b955d26e11a355d21cad4f2007898 libobjc/thr-win32.c 5314fd1def4a84ee5c5c93c8a9a1a8ba libobjc/thr.c ! d6505e4d1ceb5d265b1a0e0deac43c63 libssp/ChangeLog a002f5fa2dbe8101c1289dd1ce3c0f55 libssp/Makefile.am 2e1dd0ce4c1351ff336cfc434f688d31 libssp/Makefile.in f57d2b5646858d7b03698efe13d8bf27 libssp/aclocal.m4 --- 53019,53025 ---- dc40c43e3b37ec7b0fc4a64a75a54c87 libobjc/thr-vxworks.c 1e0b955d26e11a355d21cad4f2007898 libobjc/thr-win32.c 5314fd1def4a84ee5c5c93c8a9a1a8ba libobjc/thr.c ! 578302d9c6f67f25e2d46ca5e9318983 libssp/ChangeLog a002f5fa2dbe8101c1289dd1ce3c0f55 libssp/Makefile.am 2e1dd0ce4c1351ff336cfc434f688d31 libssp/Makefile.in f57d2b5646858d7b03698efe13d8bf27 libssp/aclocal.m4 *************** eedcb30bb5e1189173c5a377cae8e014 libssp *** 52916,52922 **** 062bfaca10505a776cb397b9ad6418b5 libssp/strncpy-chk.c 5b568b3f83a33ce26abd2184b4f49f87 libssp/vsnprintf-chk.c 7dbcd73efdcd7e29635d58af69cbd48d libssp/vsprintf-chk.c ! 48b4697145ce7f8141fb8b9792363e30 libstdc++-v3/ChangeLog 0cda0576312959181333fb6113d11fca libstdc++-v3/ChangeLog-1998 c1b0e4b61db61eeb710dcf9bb925f9eb libstdc++-v3/ChangeLog-1999 7b42e2258fc86c55d4a1196c3073f514 libstdc++-v3/ChangeLog-2000 --- 53048,53054 ---- 062bfaca10505a776cb397b9ad6418b5 libssp/strncpy-chk.c 5b568b3f83a33ce26abd2184b4f49f87 libssp/vsnprintf-chk.c 7dbcd73efdcd7e29635d58af69cbd48d libssp/vsprintf-chk.c ! 3f97bf53ede640aa4f9a29f6abdcec78 libstdc++-v3/ChangeLog 0cda0576312959181333fb6113d11fca libstdc++-v3/ChangeLog-1998 c1b0e4b61db61eeb710dcf9bb925f9eb libstdc++-v3/ChangeLog-1999 7b42e2258fc86c55d4a1196c3073f514 libstdc++-v3/ChangeLog-2000 *************** e14b6192bfaf2e60956dc9bdb9e584dd libstd *** 54074,54080 **** 644e32b5cfa31a9e01e3ee41731edce9 libstdc++-v3/include/parallel/algo.h 8eee7d3b0efffad83837e96a5f7e1f21 libstdc++-v3/include/parallel/algobase.h 4bbb52509d946af6a1ff611d327116fd libstdc++-v3/include/parallel/algorithm ! 9b1fad120abd7eb6880acdc9ef44f765 libstdc++-v3/include/parallel/algorithmfwd.h e3a8c89bcc7a1aba7282bd027d2a232b libstdc++-v3/include/parallel/balanced_quicksort.h 791c09e12deaae355eff0a4c2bb03efe libstdc++-v3/include/parallel/base.h 32288f9e29e49cf299199f336b825ce3 libstdc++-v3/include/parallel/basic_iterator.h --- 54206,54212 ---- 644e32b5cfa31a9e01e3ee41731edce9 libstdc++-v3/include/parallel/algo.h 8eee7d3b0efffad83837e96a5f7e1f21 libstdc++-v3/include/parallel/algobase.h 4bbb52509d946af6a1ff611d327116fd libstdc++-v3/include/parallel/algorithm ! 7c017a2ed541e13047c0b3e29e23948a libstdc++-v3/include/parallel/algorithmfwd.h e3a8c89bcc7a1aba7282bd027d2a232b libstdc++-v3/include/parallel/balanced_quicksort.h 791c09e12deaae355eff0a4c2bb03efe libstdc++-v3/include/parallel/base.h 32288f9e29e49cf299199f336b825ce3 libstdc++-v3/include/parallel/basic_iterator.h *************** d4bc67892b930b5efcd634a2182d7f4b libstd *** 54087,54104 **** cb7432178a7a106852343f961c202557 libstdc++-v3/include/parallel/find_selectors.h 7dd5fe80f4c38a9385d3cbd9356e044a libstdc++-v3/include/parallel/for_each.h e98eb0527159a7ba0ad798bbbd33de8c libstdc++-v3/include/parallel/for_each_selectors.h ! e412e8ff1ddab010ad74a690b0e5face libstdc++-v3/include/parallel/iterator.h 0a57adb2f0ada054ecb480dff18305f1 libstdc++-v3/include/parallel/list_partition.h a5cf7fa7b405ed80451e52b561f119dc libstdc++-v3/include/parallel/losertree.h dc21b46fe2cf5a9c0721442336687174 libstdc++-v3/include/parallel/merge.h cce0c22e97012ce0817b839e9306d8de libstdc++-v3/include/parallel/multiseq_selection.h 18170e68f72b9cd939cdfa8a24e4ff52 libstdc++-v3/include/parallel/multiway_merge.h f2297afc9e4a6eb66b9985da2bbe25f9 libstdc++-v3/include/parallel/multiway_mergesort.h ! fa1aea06aafe62bdaace80e543d93bcc libstdc++-v3/include/parallel/numeric ! 3abe95c47efcd96376ecfe3ae6d1ed54 libstdc++-v3/include/parallel/numericfwd.h a0ce6f311f431da0a5e0600bf358423e libstdc++-v3/include/parallel/omp_loop.h a4b34ed56346dd58fd354ba99954d6cf libstdc++-v3/include/parallel/omp_loop_static.h ! 9a3a9dac75173a0370836797edcc66d2 libstdc++-v3/include/parallel/par_loop.h 00178ac1345b5f432e4db0b753e865e2 libstdc++-v3/include/parallel/parallel.h 4eca4644e7fde51d6b36db3363557122 libstdc++-v3/include/parallel/partial_sum.h edae0b3307939d034c9b33255c2a9cde libstdc++-v3/include/parallel/partition.h --- 54219,54236 ---- cb7432178a7a106852343f961c202557 libstdc++-v3/include/parallel/find_selectors.h 7dd5fe80f4c38a9385d3cbd9356e044a libstdc++-v3/include/parallel/for_each.h e98eb0527159a7ba0ad798bbbd33de8c libstdc++-v3/include/parallel/for_each_selectors.h ! 1cf5adace3fe249b026db0e0736f86fb libstdc++-v3/include/parallel/iterator.h 0a57adb2f0ada054ecb480dff18305f1 libstdc++-v3/include/parallel/list_partition.h a5cf7fa7b405ed80451e52b561f119dc libstdc++-v3/include/parallel/losertree.h dc21b46fe2cf5a9c0721442336687174 libstdc++-v3/include/parallel/merge.h cce0c22e97012ce0817b839e9306d8de libstdc++-v3/include/parallel/multiseq_selection.h 18170e68f72b9cd939cdfa8a24e4ff52 libstdc++-v3/include/parallel/multiway_merge.h f2297afc9e4a6eb66b9985da2bbe25f9 libstdc++-v3/include/parallel/multiway_mergesort.h ! e1c9c63e700df11571d44ef8f5e2780f libstdc++-v3/include/parallel/numeric ! 9333247846d05c2e307ef939fdf3aa97 libstdc++-v3/include/parallel/numericfwd.h a0ce6f311f431da0a5e0600bf358423e libstdc++-v3/include/parallel/omp_loop.h a4b34ed56346dd58fd354ba99954d6cf libstdc++-v3/include/parallel/omp_loop_static.h ! 979610eb02130a83b3228c965d50a4ce libstdc++-v3/include/parallel/par_loop.h 00178ac1345b5f432e4db0b753e865e2 libstdc++-v3/include/parallel/parallel.h 4eca4644e7fde51d6b36db3363557122 libstdc++-v3/include/parallel/partial_sum.h edae0b3307939d034c9b33255c2a9cde libstdc++-v3/include/parallel/partition.h *************** fdf565d5aad582828d75ccad4fad1bf0 libstd *** 54148,54154 **** a87625f8d86380687af1a19155715238 libstdc++-v3/include/std/streambuf 993cb89abef226074bf64fc88208210c libstdc++-v3/include/std/string 20eb7c79a3bb590388d96badd5e464f2 libstdc++-v3/include/std/tuple ! 931cd178fcce95fed5bfe7b723641d50 libstdc++-v3/include/std/type_traits 22d15c1aee8e587ece1e66fa0ae76243 libstdc++-v3/include/std/unordered_map bddb39c3af35835686a9c0674e0de70a libstdc++-v3/include/std/unordered_set efb0ab277b3522b1b3ce174aee72d044 libstdc++-v3/include/std/utility --- 54280,54286 ---- a87625f8d86380687af1a19155715238 libstdc++-v3/include/std/streambuf 993cb89abef226074bf64fc88208210c libstdc++-v3/include/std/string 20eb7c79a3bb590388d96badd5e464f2 libstdc++-v3/include/std/tuple ! 5ebadfb2fd615e07d65ff18b67414a12 libstdc++-v3/include/std/type_traits 22d15c1aee8e587ece1e66fa0ae76243 libstdc++-v3/include/std/unordered_map bddb39c3af35835686a9c0674e0de70a libstdc++-v3/include/std/unordered_set efb0ab277b3522b1b3ce174aee72d044 libstdc++-v3/include/std/utility *************** c3b22990a446a1fd05f218fad0435ff3 libstd *** 54306,54312 **** b1441422cec6381d9285b7681b666124 libstdc++-v3/scripts/check_compile 258b29ce74da33a8c040d1812d6fdc7d libstdc++-v3/scripts/check_performance a9ac493160cb9b1a6684135ad2d51eaa libstdc++-v3/scripts/create_testsuite_files ! e47831ef5105a9098495aeab6e335dbf libstdc++-v3/scripts/extract_symvers 755b77f929d926f07f3257df2e802f2e libstdc++-v3/scripts/gen_bind_includers.pl 85378fa65bc3dc46ffe255374b304560 libstdc++-v3/scripts/gen_includers.pl f1a84a17158780aaa37927191db4463a libstdc++-v3/scripts/gen_includers2.pl --- 54438,54444 ---- b1441422cec6381d9285b7681b666124 libstdc++-v3/scripts/check_compile 258b29ce74da33a8c040d1812d6fdc7d libstdc++-v3/scripts/check_performance a9ac493160cb9b1a6684135ad2d51eaa libstdc++-v3/scripts/create_testsuite_files ! 9091f2b6d549881d0b3ec9ccd7bbe8c1 libstdc++-v3/scripts/extract_symvers 755b77f929d926f07f3257df2e802f2e libstdc++-v3/scripts/gen_bind_includers.pl 85378fa65bc3dc46ffe255374b304560 libstdc++-v3/scripts/gen_includers.pl f1a84a17158780aaa37927191db4463a libstdc++-v3/scripts/gen_includers2.pl *************** d8fa9302faaa490d2f97e12702fd4f75 libstd *** 54560,54565 **** --- 54692,54698 ---- a55f43daab5fce5a3ff7aa03e4147fe0 libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc 768c3ce2cbd9ac57509cb4f191a93efb libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc 7db59b0ea094693377a3ea4a6e415cf7 libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc + 8b2511fe72ec2e2d2302980ee2854a6a libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc d9ce91fdfa39352526ed2832dc4519ad libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc cb406cb3f06174b1946847a838a5c4a3 libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc 89cd1bbe84efac3a4d2181b35df6c943 libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc *************** a4e4caf07df3015b94d8c3ae4c2ac315 libstd *** 57247,57252 **** --- 57380,57386 ---- 0c432946f27e64c11cc5ed9b41dae247 libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc 071aed32470951f196bbadaf9469add7 libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/casts/1.cc badecda3f30d62b74030fe077a78b51e libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/comparison/cmp.cc + 7b185d51d241ef4828499782e4bf2314 libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc 7d6a1aba7e51374d3953a00e3f085529 libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc 8afbf4b29571911a2001ee5016bffdec libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc d8a7c6a332dac594279d79f1205fca1c libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc *************** ab39e2547d8931ab4e7cc0320cdea973 ltmain *** 57915,57921 **** 453a1265f327eec81714e88992efe8c3 ltsugar.m4 6630b6f86dadfa5f58141ffa5f9e4d6d ltversion.m4 d0ab950e0a5f3cd19ddca722b93597b0 lt~obsolete.m4 ! b7ee7f133a1f3ab402ab498434cba12b maintainer-scripts/ChangeLog 9bf52719995189b7572953a25ad202ed maintainer-scripts/README ea61158974b53f6522e0e744fd371f21 maintainer-scripts/crontab 0c336d303912a4e0bed6304301f7aadf maintainer-scripts/gcc_release --- 58049,58055 ---- 453a1265f327eec81714e88992efe8c3 ltsugar.m4 6630b6f86dadfa5f58141ffa5f9e4d6d ltversion.m4 d0ab950e0a5f3cd19ddca722b93597b0 lt~obsolete.m4 ! 57b5bc29fb7f6480f845a19e9885130e maintainer-scripts/ChangeLog 9bf52719995189b7572953a25ad202ed maintainer-scripts/README ea61158974b53f6522e0e744fd371f21 maintainer-scripts/crontab 0c336d303912a4e0bed6304301f7aadf maintainer-scripts/gcc_release *************** fbe2467afef81c41c166173adeb0ee20 mkdep *** 57930,57936 **** a20215c156b06261d944ae7f30a3b75c move-if-change cf2baa0854f564a7785307e79f155efc symlink-tree e0a5f7e59d19edfd4b4d26479a141f02 ylwrap ! 993638dd733a26ceb2bc3fa65b05f859 zlib/ChangeLog 88bd8406a5a4e3af59b6096fd21426ce zlib/ChangeLog.gcj 2f46720fda5ab68a1e495009895d874c zlib/FAQ 8851ace55681b1664d97c045d71e339b zlib/INDEX --- 58064,58070 ---- a20215c156b06261d944ae7f30a3b75c move-if-change cf2baa0854f564a7785307e79f155efc symlink-tree e0a5f7e59d19edfd4b4d26479a141f02 ylwrap ! 19f4ad609aa730996d80c1a72096a724 zlib/ChangeLog 88bd8406a5a4e3af59b6096fd21426ce zlib/ChangeLog.gcj 2f46720fda5ab68a1e495009895d874c zlib/FAQ 8851ace55681b1664d97c045d71e339b zlib/INDEX diff -Nrcpad gcc-4.3.3/Makefile.def gcc-4.3.4/Makefile.def *** gcc-4.3.3/Makefile.def Tue Oct 23 15:53:18 2007 --- gcc-4.3.4/Makefile.def Sat Apr 25 05:55:24 2009 *************** host_modules= { module= gmp; lib_path=.l *** 64,70 **** host="none-${host_vendor}-${host_os}"; target="none-${host_vendor}-${host_os}"; }; host_modules= { module= mpfr; lib_path=.libs; bootstrap=true; ! extra_configure_flags='--disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'; no_install= true; host="none-${host_vendor}-${host_os}"; target="none-${host_vendor}-${host_os}"; }; --- 64,70 ---- host="none-${host_vendor}-${host_os}"; target="none-${host_vendor}-${host_os}"; }; host_modules= { module= mpfr; lib_path=.libs; bootstrap=true; ! extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@'; no_install= true; host="none-${host_vendor}-${host_os}"; target="none-${host_vendor}-${host_os}"; }; diff -Nrcpad gcc-4.3.3/Makefile.in gcc-4.3.4/Makefile.in *** gcc-4.3.3/Makefile.in Sat Aug 16 07:28:01 2008 --- gcc-4.3.4/Makefile.in Sat Apr 25 05:55:24 2009 *************** configure-mpfr: *** 16772,16778 **** libsrcdir="$$s/mpfr"; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ ! --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp \ || exit 1 @endif mpfr --- 16772,16778 ---- libsrcdir="$$s/mpfr"; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ ! --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared @extra_mpfr_configure_flags@ \ || exit 1 @endif mpfr *************** configure-stage1-mpfr: *** 16805,16811 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ \ ! --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap .PHONY: configure-stage2-mpfr maybe-configure-stage2-mpfr --- 16805,16811 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ \ ! --disable-intermodule $(STAGE1_CHECKING) --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap .PHONY: configure-stage2-mpfr maybe-configure-stage2-mpfr *************** configure-stage2-mpfr: *** 16836,16842 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap .PHONY: configure-stageb2g0-mpfr maybe-configure-stageb2g0-mpfr --- 16836,16842 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap .PHONY: configure-stageb2g0-mpfr maybe-configure-stageb2g0-mpfr *************** configure-stageb2g0-mpfr: *** 16867,16873 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap .PHONY: configure-stage3-mpfr maybe-configure-stage3-mpfr --- 16867,16873 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap .PHONY: configure-stage3-mpfr maybe-configure-stage3-mpfr *************** configure-stage3-mpfr: *** 16898,16904 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap .PHONY: configure-stageb3g2-mpfr maybe-configure-stageb3g2-mpfr --- 16898,16904 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap .PHONY: configure-stageb3g2-mpfr maybe-configure-stageb3g2-mpfr *************** configure-stageb3g2-mpfr: *** 16929,16935 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap .PHONY: configure-stage4-mpfr maybe-configure-stage4-mpfr --- 16929,16935 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap .PHONY: configure-stage4-mpfr maybe-configure-stage4-mpfr *************** configure-stage4-mpfr: *** 16960,16966 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap .PHONY: configure-stageprofile-mpfr maybe-configure-stageprofile-mpfr --- 16960,16966 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap .PHONY: configure-stageprofile-mpfr maybe-configure-stageprofile-mpfr *************** configure-stageprofile-mpfr: *** 16991,16997 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap .PHONY: configure-stagefeedback-mpfr maybe-configure-stagefeedback-mpfr --- 16991,16997 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap .PHONY: configure-stagefeedback-mpfr maybe-configure-stagefeedback-mpfr *************** configure-stagefeedback-mpfr: *** 17022,17028 **** $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp @endif mpfr-bootstrap --- 17022,17028 ---- $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \ --target=none-${host_vendor}-${host_os} $${srcdiroption} \ --with-build-libsubdir=$(HOST_SUBDIR) \ ! @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@ @endif mpfr-bootstrap *************** do-distclean: distclean-stage1 *** 51167,51172 **** --- 51167,51174 ---- # Provide a GCC build when we're building target libraries. This does # not work as a dependency, just as the minimum necessary to avoid errors. stage_last: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble # Same as unstage, but not phony and defaulting to stage1-start. We place diff -Nrcpad gcc-4.3.3/Makefile.tpl gcc-4.3.4/Makefile.tpl *** gcc-4.3.3/Makefile.tpl Sat Aug 16 07:28:01 2008 --- gcc-4.3.4/Makefile.tpl Thu Feb 5 15:37:38 2009 *************** do-distclean: distclean-stage1 *** 1432,1437 **** --- 1432,1439 ---- # Provide a GCC build when we're building target libraries. This does # not work as a dependency, just as the minimum necessary to avoid errors. stage_last: + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble # Same as unstage, but not phony and defaulting to stage1-start. We place diff -Nrcpad gcc-4.3.3/NEWS gcc-4.3.4/NEWS *** gcc-4.3.3/NEWS Sat Jan 24 10:32:57 2009 --- gcc-4.3.4/NEWS Tue Aug 4 11:29:44 2009 *************** http://gcc.gnu.org/gcc-4.3/index.html *** 9,32 **** GCC 4.3 Release Series ! August 27, 2008 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 4.3.2. This release is a bug-fix release, containing fixes for regressions in ! GCC 4.3.1 relative to previous releases of GCC. Release History GCC 4.3.2 ! August 27, 2008 ([2]changes) GCC 4.3.1 ! June 6, 2008 ([3]changes) GCC 4.3.0 ! March 5, 2008 ([4]changes) References and Acknowledgements --- 9,35 ---- GCC 4.3 Release Series ! January 24, 2009 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 4.3.3. This release is a bug-fix release, containing fixes for regressions in ! GCC 4.3.2 relative to previous releases of GCC. Release History + GCC 4.3.3 + January 24, 2009 ([2]changes) + GCC 4.3.2 ! August 27, 2008 ([3]changes) GCC 4.3.1 ! June 6, 2008 ([4]changes) GCC 4.3.0 ! March 5, 2008 ([5]changes) References and Acknowledgements *************** References and Acknowledgements *** 34,71 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [5]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 [6]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [7]GCC project ! web site or contact the [8]GCC development mailing list. ! To obtain GCC please use [9]our mirror sites or [10]our SVN server. ! Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There ! are also [12]other ways to contact the FSF. ! These pages are maintained by [13]the GCC team. 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 developer mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org. ! All of our lists have [18]public archives. Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2008-10-04 [19]Valid XHTML 1.0 References --- 37,74 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [6]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [7]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [8]GCC project ! web site or contact the [9]GCC development mailing list. ! To obtain GCC please use [10]our mirror sites or [11]our SVN server. ! Please send FSF & GNU inquiries & questions to [12]gnu@gnu.org. There ! are also [13]other ways to contact the FSF. ! These pages are maintained by [14]the GCC team. For questions related to the use of GCC, please consult these web ! pages and the [15]GCC manuals. If that fails, the ! [16]gcc-help@gcc.gnu.org mailing list might help. Please send comments on these web pages and the development of GCC to ! our developer mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org. ! All of our lists have [19]public archives. Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2009-01-24 [20]Valid XHTML 1.0 References *************** References *** 73,100 **** 2. http://gcc.gnu.org/gcc-4.3/changes.html 3. http://gcc.gnu.org/gcc-4.3/changes.html 4. http://gcc.gnu.org/gcc-4.3/changes.html ! 5. http://gcc.gnu.org/gcc-4.3/buildstat.html ! 6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 7. http://gcc.gnu.org/index.html ! 8. mailto:gcc@gcc.gnu.org ! 9. http://gcc.gnu.org/mirrors.html ! 10. http://gcc.gnu.org/svn.html ! 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://gcc.gnu.org/lists.html ! 19. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.3/changes.html GCC 4.3 Release Series Changes, New Features, and Fixes ! The latest release in the 4.3 release series is [1]GCC 4.3.2. Caveats --- 76,104 ---- 2. http://gcc.gnu.org/gcc-4.3/changes.html 3. http://gcc.gnu.org/gcc-4.3/changes.html 4. http://gcc.gnu.org/gcc-4.3/changes.html ! 5. http://gcc.gnu.org/gcc-4.3/changes.html ! 6. http://gcc.gnu.org/gcc-4.3/buildstat.html ! 7. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 8. http://gcc.gnu.org/index.html ! 9. mailto:gcc@gcc.gnu.org ! 10. http://gcc.gnu.org/mirrors.html ! 11. http://gcc.gnu.org/svn.html ! 12. mailto:gnu@gnu.org ! 13. http://www.gnu.org/home.html#ContactInfo ! 14. http://gcc.gnu.org/about.html ! 15. http://gcc.gnu.org/onlinedocs/ ! 16. mailto:gcc-help@gcc.gnu.org ! 17. mailto:gcc@gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. http://gcc.gnu.org/lists.html ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.3/changes.html GCC 4.3 Release Series Changes, New Features, and Fixes ! The latest release in the 4.3 release series is [1]GCC 4.3.3. Caveats *************** GCC 4.3.2 *** 823,851 **** not be complete (that is, it is possible that some PRs that have been fixed are not listed here). ! Please send FSF & GNU inquiries & questions to [27]gnu@gnu.org. There ! are also [28]other ways to contact the FSF. ! These pages are maintained by [29]the GCC team. For questions related to the use of GCC, please consult these web ! pages and the [30]GCC manuals. If that fails, the ! [31]gcc-help@gcc.gnu.org mailing list might help. Please send comments on these web pages and the development of GCC to ! our developer mailing list at [32]gcc@gnu.org or [33]gcc@gcc.gnu.org. ! All of our lists have [34]public archives. Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2008-08-27 [35]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/gcc-4.3/changes.html#4.3.2 2. http://gmplib.org/ 3. http://www.mpfr.org/ 4. http://gcc.gnu.org/install/prerequisites.html --- 827,869 ---- not be complete (that is, it is possible that some PRs that have been fixed are not listed here). ! GCC 4.3.3 ! This is the [27]list of problem reports (PRs) from GCC's bug tracking ! system that are known to be fixed in the 4.3.3 release. This list might ! not be complete (that is, it is possible that some PRs that have been ! fixed are not listed here). ! ! GCC 4.3.4 ! ! This is the [28]list of problem reports (PRs) from GCC's bug tracking ! system that are known to be fixed in the 4.3.4 release. This list might ! not be complete (that is, it is possible that some PRs that have been ! fixed are not listed here). ! ! Please send FSF & GNU inquiries & questions to [29]gnu@gnu.org. There ! are also [30]other ways to contact the FSF. ! ! These pages are maintained by [31]the GCC team. For questions related to the use of GCC, please consult these web ! pages and the [32]GCC manuals. If that fails, the ! [33]gcc-help@gcc.gnu.org mailing list might help. Please send comments on these web pages and the development of GCC to ! our developer mailing list at [34]gcc@gnu.org or [35]gcc@gcc.gnu.org. ! All of our lists have [36]public archives. Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2009-08-04 [37]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/gcc-4.3/changes.html#4.3.3 2. http://gmplib.org/ 3. http://www.mpfr.org/ 4. http://gcc.gnu.org/install/prerequisites.html *************** References *** 871,885 **** 24. http://gcc.gnu.org/onlinedocs/libstdc++/ 25. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.1 26. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.2 ! 27. mailto:gnu@gnu.org ! 28. http://www.gnu.org/home.html#ContactInfo ! 29. http://gcc.gnu.org/about.html ! 30. http://gcc.gnu.org/onlinedocs/ ! 31. mailto:gcc-help@gcc.gnu.org ! 32. mailto:gcc@gnu.org ! 33. mailto:gcc@gcc.gnu.org ! 34. http://gcc.gnu.org/lists.html ! 35. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.2/index.html --- 889,905 ---- 24. http://gcc.gnu.org/onlinedocs/libstdc++/ 25. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.1 26. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.2 ! 27. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.3 ! 28. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.4 ! 29. mailto:gnu@gnu.org ! 30. http://www.gnu.org/home.html#ContactInfo ! 31. http://gcc.gnu.org/about.html ! 32. http://gcc.gnu.org/onlinedocs/ ! 33. mailto:gcc-help@gcc.gnu.org ! 34. mailto:gcc@gnu.org ! 35. mailto:gcc@gcc.gnu.org ! 36. http://gcc.gnu.org/lists.html ! 37. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.2/index.html *************** Other significant improvements *** 1284,1290 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2008-06-15 [16]Valid XHTML 1.0 References --- 1304,1310 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2009-01-25 [16]Valid XHTML 1.0 References *************** GCC 4.1.2 *** 1936,1942 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2007-09-19 [15]Valid XHTML 1.0 References --- 1956,1962 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2009-01-25 [15]Valid XHTML 1.0 References *************** GCC 4.0.4 *** 2556,2562 **** Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2009-01-01 [24]Valid XHTML 1.0 References --- 2576,2582 ---- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! Last modified 2009-01-25 [24]Valid XHTML 1.0 References diff -Nrcpad gcc-4.3.3/config/ChangeLog gcc-4.3.4/config/ChangeLog *** gcc-4.3.3/config/ChangeLog Sat Jan 24 10:17:57 2009 --- gcc-4.3.4/config/ChangeLog Tue Aug 4 11:00:33 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/configure gcc-4.3.4/configure *** gcc-4.3.3/configure Sat Feb 2 03:29:30 2008 --- gcc-4.3.4/configure Sat Apr 25 05:55:24 2009 *************** PACKAGE_STRING= *** 272,278 **** PACKAGE_BUGREPORT= ac_unique_file="move-if-change" ! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS' ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag' # Initialize some variables set by options. --- 272,278 ---- PACKAGE_BUGREPORT= ac_unique_file="move-if-change" ! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS' ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag' # Initialize some variables set by options. *************** fi *** 4469,4474 **** --- 4469,4475 ---- if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc" + extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp' # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet # but it would be included on the link line in the version check below *************** fi *** 4683,4688 **** --- 4684,4690 ---- + # By default, C is the only stage 1 language. stage1_languages=,c, *************** s,@ac_ct_GNATMAKE@,$ac_ct_GNATMAKE,;t t *** 12822,12827 **** --- 12824,12830 ---- s,@do_compare@,$do_compare,;t t s,@gmplibs@,$gmplibs,;t t s,@gmpinc@,$gmpinc,;t t + s,@extra_mpfr_configure_flags@,$extra_mpfr_configure_flags,;t t s,@stage1_languages@,$stage1_languages,;t t s,@SYSROOT_CFLAGS_FOR_TARGET@,$SYSROOT_CFLAGS_FOR_TARGET,;t t s,@DEBUG_PREFIX_CFLAGS_FOR_TARGET@,$DEBUG_PREFIX_CFLAGS_FOR_TARGET,;t t diff -Nrcpad gcc-4.3.3/configure.ac gcc-4.3.4/configure.ac *** gcc-4.3.3/configure.ac Sat Feb 2 03:29:30 2008 --- gcc-4.3.4/configure.ac Sat Apr 25 05:55:24 2009 *************** fi *** 1201,1206 **** --- 1201,1207 ---- if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc" + extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp' # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet # but it would be included on the link line in the version check below *************** fi *** 1265,1270 **** --- 1266,1272 ---- # Flags needed for both GMP and/or MPFR AC_SUBST(gmplibs) AC_SUBST(gmpinc) + AC_SUBST(extra_mpfr_configure_flags) # By default, C is the only stage 1 language. stage1_languages=,c, diff -Nrcpad gcc-4.3.3/contrib/ChangeLog gcc-4.3.4/contrib/ChangeLog *** gcc-4.3.3/contrib/ChangeLog Sat Jan 24 10:17:51 2009 --- gcc-4.3.4/contrib/ChangeLog Tue Aug 4 11:00:26 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/contrib/reghunt/ChangeLog gcc-4.3.4/contrib/reghunt/ChangeLog *** gcc-4.3.3/contrib/reghunt/ChangeLog Sat Jan 24 10:17:45 2009 --- gcc-4.3.4/contrib/reghunt/ChangeLog Tue Aug 4 11:00:20 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/contrib/regression/ChangeLog gcc-4.3.4/contrib/regression/ChangeLog *** gcc-4.3.3/contrib/regression/ChangeLog Sat Jan 24 10:17:38 2009 --- gcc-4.3.4/contrib/regression/ChangeLog Tue Aug 4 11:00:05 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/fixincludes/ChangeLog gcc-4.3.4/fixincludes/ChangeLog *** gcc-4.3.3/fixincludes/ChangeLog Sat Jan 24 10:18:47 2009 --- gcc-4.3.4/fixincludes/ChangeLog Tue Aug 4 11:01:26 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/gcc/BASE-VER gcc-4.3.4/gcc/BASE-VER *** gcc-4.3.3/gcc/BASE-VER Wed Aug 27 21:24:42 2008 --- gcc-4.3.4/gcc/BASE-VER Sat Jan 24 14:04:57 2009 *************** *** 1 **** ! 4.3.3 --- 1 ---- ! 4.3.4 diff -Nrcpad gcc-4.3.3/gcc/ChangeLog gcc-4.3.4/gcc/ChangeLog *** gcc-4.3.3/gcc/ChangeLog Sat Jan 24 10:16:13 2009 --- gcc-4.3.4/gcc/ChangeLog Tue Aug 4 10:58:45 2009 *************** *** 1,3 **** --- 1,878 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + + 2009-08-03 Janis Johnson + + PR c/39902 + * simplify-rtx.c (simplify_binary_operation_1): Disable + simplifications for decimal float operations. + + PR c/39902 + * tree.c (real_zerop, real_onep, real_twop, real_minus_onep): + Special-case decimal float constants. + + 2009-07-27 John David Anglin + + Backport from mainline: + 2009-07-20 John David Anglin + + * pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb. + Cast "1" to unsigned HOST_WIDE_INT. + (compute_zdepdi_operands): Limit maximum length to 64 bits. Limit + deposit length to the maximum length - lsb. Extend length if + HOST_BITS_PER_WIDE_INT is 32. + + 2009-07-23 Uros Bizjak + + PR target/40832 + * config/i386/i386.c (output_387_ffreep): Rewrite to use + ASM_SHORT instead of .word. + * config/i386/i386.md (*tls_global_dynamic_64): Use ASM_SHORT + instead of .word in asm template. + + 2009-07-21 Uros Bizjak + + Backport from mainline: + 2009-04-29 Richard Guenther + + PR target/39943 + * config/i386/i386.c (ix86_vectorize_builtin_conversion): Only + allow conversion to signed integers. + + 2009-07-18 Eric Botcazou + + PR rtl-optimization/40710 + * resource.c (mark_target_live_regs): Reset DF problem to LR. + + 2009-07-14 Richard Guenther + + Backport from mainline + 2009-02-05 Paolo Bonzini + + PR rtl-optimization/39110 + * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned + addresses, not aligned ones. + + 2009-02-04 Paolo Bonzini + Hans-Peter Nilsson + + PR rtl-optimization/37889 + * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments. + Move offset handling from PLUS to before the switch. Use new + arguments when considering SYMBOL_REFs too. + (rtx_addr_can_trap_p): Pass dummy offset and size. + (enum may_trap_p_flags): Remove. + (may_trap_p_1): Pass size from MEM_SIZE. + + PR rtl-optimization/38921 + * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p. + * rtl.h (may_trap_after_code_motion_p): Delete prototype. + * rtlanal.c (may_trap_after_code_motion_p): Delete. + (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags. + + 2009-07-10 Richard Guenther + + Backport from mainline + 2009-06-30 Jakub Jelinek + + PR c++/40566 + * convert.c (convert_to_integer) : Don't convert + to type arguments that have void type. + + 2009-07-10 Richard Guenther + + Backport from mainline + 2009-05-29 Jakub Jelinek + + PR middle-end/40291 + * builtins.c (expand_builtin_memcmp): Convert len to sizetype + before expansion. + + 2009-07-10 Richard Guenther + + Backport from mainline + 2009-01-28 Jakub Jelinek + + PR middle-end/38934 + * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR + set to varying whenever max has TREE_OVERFLOW set, similarly + for GE_EXPR and GT_EXPR and TREE_OVERFLOW min. + + 2009-07-07 Richard Guenther + + PR middle-end/40328 + PR tree-optimization/40669 + * tree-tailcall.c (adjust_accumulator_values): Properly + set DECL_GIMPLE_REG_P. + (adjust_return_value): Likewise. + (tree_optimize_tail_calls_1): Likewise. + * fold-const.c (fold_convert): Fold the built COMPLEX_EXPR. + + 2009-07-02 Richard Guenther + + PR middle-end/40585 + * tree-cfg.c (gimple_can_duplicate_bb_p): Disallow duplicating + basic blocks with GIMPLE_RESX. + + 2009-07-01 Ben Elliston + + Backport from mainline: + + 2008-10-04 Anton Blanchard + + * config/rs6000/rs6000.c (rs6000_emit_sync): Use gen_lwsync(). + (rs6000_split_atomic_op): Same. + (rs6000_split_compare_and_swap): Same. + (rs6000_split_compare_and_swapqhi): Same. + + 2009-06-30 Ira Rosen + + PR tree-optimization/40542 + * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't + vectorize volatile types. + + 2009-06-29 Richard Guenther + + PR tree-optimization/40579 + * tree-vrp.c (vrp_evaluate_conditional_warnv): Bail out early if + the IL to simplify has constants that overflowed. + + 2009-06-28 Uros Bizjak + + PR tree-optimization/40550 + * tree-vect-generic.c (expand_vector_operations_1): Compute in + vector_compute_type only when the size of vector_compute_type is + less than the size of type. + + 2009-06-27 Kai Tietz + + Merged from trunk rev/148061 + 2009-06-01 Jakub Jelinek + PR other/40024 + * emutls.c (__emutls_get_address): Change arr->size to mean number + of allocated arr->data entries instead of # of slots + 1. + + 2009-06-25 Richard Guenther + + * c-parser.c (c_parser_postfix_expression): Fix merge glitch. + + 2009-06-25 Richard Guenther + + Backport from mainline + 2009-01-07 Richard Guenther + + PR middle-end/38751 + * fold-const.c (extract_muldiv): Remove obsolete comment. + (fold_plusminus_mult_expr): Undo MINUS_EXPR + to PLUS_EXPR canonicalization for the canonicalization. + + 2009-06-25 Richard Guenther + + Backport from mainline + 2009-01-12 Jakub Jelinek + + PR c/32041 + * c-parser.c (c_parser_postfix_expression): Allow `->' in + offsetof member-designator, handle it as `[0].'. + + 2008-09-28 Andrew Pinski + Kaushal Kantawala + + PR tree-optimization/36891 + * tree-ssa-loop-im.c (rewrite_reciprocal): Set DECL_GIMPLE_REG_P on + the newly created variable. + Create a VECTOR_CST of all 1s for vector types. + + 2009-06-22 Steven Bosscher + Matthias Klose + + PR objc/28050 + * c-parser.c (c_parser_objc_message_args): Return error_mark_node + instead of NULL if a parser error occurs. + + 2009-06-19 Richard Guenther + + Backport from mainline: + 2009-02-03 Andrew Pinski + + PR C++/36607 + * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE. + + 2009-05-20 Jakub Jelinek + + PR middle-end/40204 + * fold-const.c (fold_binary) : Avoid infinite + recursion if build_int_cst_type returns the same INTEGER_CST as + arg1. + + 2009-02-03 Jakub Jelinek + + PR target/35318 + * function.c (match_asm_constraints_1): Skip over + initial optional % in the constraint. + + 2009-06-19 Richard Guenther + + Backport from mainline: + 2009-02-20 Jakub Jelinek + + PR target/39240 + * calls.c (expand_call): Clear try_tail_call if caller and callee + disagree in promotion of function return value. + + 2009-06-19 Richard Guenther + + Backport from mainline: + 2009-01-30 Jakub Jelinek + + PR target/39013 + * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared + inline but never defined. + + 2009-04-22 Jakub Jelinek + + PR c/39855 + * fold-const.c (fold_binary) : When optimizing + into 0, use omit_one_operand. + + 2009-06-18 H.J. Lu + + Backport from mainline: + 2009-06-18 H.J. Lu + + PR target/40470 + * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Add SSE_FIRST_REG. + + 2009-06-18 Tobias Burnus + Mikael Pettersson + + PR debug/40061 + * dwarf2out.c (add_subscript_info): Fix build for + MIPS_DEBUGGING_INFO. + + 2009-06-17 Richard Guenther + + Backport from mainline + 2009-03-16 Jakub Jelinek + + PR tree-optimization/39455 + * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types + mismatches for POINTER_TYPE_P (type). + (number_of_iterations_le): Likewise. + + 2009-05-19 Zdenek Dvorak + + PR tree-optimization/40087 + * tree-ssa-loop-niter.c (number_of_iterations_ne_max, + number_of_iterations_ne): Rename never_infinite argument. + (number_of_iterations_lt_to_ne, number_of_iterations_lt, + number_of_iterations_le): Handle pointer-type ivs when + exit_must_be_taken is false. + (number_of_iterations_cond): Do not always assume that + exit_must_be_taken if the control variable is a pointer. + + 2009-06-17 Richard Guenther + + PR middle-end/40404 + * fold-const.c (fold_binary): Verify the type precision of the + stripped arguments of the comparison are the same before + folding the comparison. + + 2009-06-17 Richard Guenther + + PR middle-end/40389 + * tree-ssa-operands.c (get_modify_stmt_operands): Add NRV + results to the addresses taken bitmap. + * tree-scalar-evolution.c (scev_const_prop): Do not insert + incomplete stmts into the instruction stream. + + 2009-06-17 Richard Guenther + + PR middle-end/40460 + * tree-chrec.h (build_polynomial_chrec): If we cannot determine + if there is no evolution of left in the loop bail out. + * tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one + chrec_fold_multiply. + + 2009-06-11 Uros Bizjak + + Backport from mainline: + 2008-11-22 Uros Bizjak + + PR target/38222 + * config/i386/i386.md (SWI248): New mode iterator. + (popcount2): Rename from popcounthi2, popcountsi2 and + popcounthi2 insn patterns. Macroize pattern using SWI248 mode + iterator. Generate popcnt mnemonic without mode extensions + for Darwin x86 targets. + (*popcount2_cmp): Ditto. + (*popcountsi2_cmp_zext): Generate popcnt mnemonic without mode + extensions for Darwin x86 targets. + + + 2009-05-26 Richard Guenther + + Backport from mainline + 2008-12-12 Zdenek Dvorak + + PR tree-optimization/32044 + * tree-scalar-evolution.h (expression_expensive_p): Declare. + * tree-scalar-evolution.c (expression_expensive_p): New function. + (scev_const_prop): Avoid introducing expensive expressions. + * tree-ssa-loop-ivopts.c (may_eliminate_iv): Ditto. + + 2009-05-23 Eric Botcazou + + * doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA. + Remove outdated reference to flow.c and fix nits. + * doc/gccint.texi: Tweak RTL description. + * doc/rtl.texi: Likewise. + + 2009-05-21 Kaz Kojima + + PR rtl-optimization/40105 + Backport from mainline: + + 2009-04-29 Eric Botcazou + Steven Bosscher + + * Makefile.in (cfgrtl.o): Add $(INSN_ATTR_H). + * cfgrtl.c: Include insn-attr.h. + (rest_of_pass_free_cfg): New function. + (pass_free_cfg): Use rest_of_pass_free_cfg as execute function. + + 2009-04-27 Richard Sandiford + Eric Botcazou + + * resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up + a label's basic block. + (mark_target_live_regs): Tidy and rework obsolete comments. + Change back DF problem to LIVE. If a label starts a basic block, + assume that all registers that used to be live then still are. + (init_resource_info): If a label starts a basic block, set its + BLOCK_FOR_INSN accordingly. + (free_resource_info): Undo the setting of BLOCK_FOR_INSN. + + 2009-05-21 Jakub Jelinek + + PR target/39942 + * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Don't emit second + .p2align 3 if MAX_SKIP is smaller than 7. + * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. + + 2009-05-18 Dodji Seketeli + + PR debug/40109 + * dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a + child of the containing namespace's DIE. + + 2009-05-16 Richard Earnshaw + + PR target/40153 + * arm.md (cstoresi_nltu_thumb1): Use a neg of ltu as the pattern name + implies. + + 2009-05-16 Richard Earnshaw + + * arm.md (movdi2): Copy non-reg values to DImode registers. + + 2009-05-16 Richard Earnshaw + + PR target/39501 + * arm.md (movsfcc): Disable if not TARGET_HARD_FLOAT. + * testsuite/gcc.c-torture/execute/pr39501.c: New file. + * testsuite/gcc.c-torture/execute/pr39501.x: New file. + + 2009-05-14 H.J. Lu + + Backport from mainline: + 2009-05-14 H.J. Lu + + PR middle-end/40147 + * ipa-utils.h (memory_identifier_string): Moved to ... + * tree.h (memory_identifier_string): Here. Add GTY(()). + + 2009-05-14 Uros Bizjak + + PR target/37179 + * config/i386/driver-i386.c (vendor_signatures): New enum. + (processor_signatures): Ditto. + (host_detect_local_cpu): Use vendor_signatures and + processor_signatures enums. For SIG_AMD vendor, check for + SIG_GEODE processor signature to detect geode processor. + + 2009-05-12 Tobias Burnus + + PR bootstrap/40061 + * dwarf2.out.c (add_subscript_info): Initialize dimension for + MIPS_DEBUGGING_INFO. + + 2009-05-08 Richard Guenther + + PR tree-optimization/40062 + * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi): + Avoid exponential behavior. + + 2009-05-07 Janis Johnson + + PR middle-end/39986 + * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64, + decode_decimal64, encode_decimal128, decode_decimal128): Avoid + 32-bit copy into long. + + 2009-05-07 Jakub Jelinek + + PR middle-end/40057 + * dojump.c (prefer_and_bit_test): Use immed_double_const instead of + GEN_INT for 1 << bitnum. + (do_jump) : Use build_int_cst_wide_type instead of + build_int_cst_type. + + 2009-04-29 Kaveh R. Ghazi + + * toplev.c (print_version): Update GMP version string calculation. + + 2009-04-24 Tobias Burnus + + PR fortran/39791 + Backport from mainline: + + 2008-08-22 Jakub Jelinek + + * dwarf2out.c (add_subscript_info): Stop on Fortran TYPE_STRING_FLAG + types. + (gen_array_type_die): Emit DW_TAG_string_type for Fortran character + types. + + 2009-04-23 Ulrich Weigand + + * config/spu/spu-builtins.h: Delete file. + + * config/spu/spu.h (enum spu_builtin_type): Move here from + spu-builtins.h. + (struct spu_builtin_description): Likewise. Add GTY marker. + Do not use enum spu_function_code or enum insn_code. + (spu_builtins): Add extern declaration. + + * config/spu/spu.c: Do not include "spu-builtins.h". + (enum spu_function_code, enum spu_builtin_type_index, + V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node, + V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node, + unsigned_V8HI_type_node, unsigned_V4SI_type_node, + unsigned_V2DI_type_node): Move here from spu-builtins.h. + (spu_builtin_types): Make static. Add GTY marker. + (spu_builtins): Add extern declaration with GTY marker. + Include "gt-spu.h". + + * config/spu/spu-c.c: Do not include "spu-builtins.h". + (spu_resolve_overloaded_builtin): Do not use spu_function_code. + Check programmatically whether all parameters are scalar. + + * config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies. + + 2009-04-22 Richard Guenther + + Backport from mainline: + PR target/39496 + * config/i386/i386.c (ix86_function_regparm): Don't optimize + local functions using regparm calling conventions when not + optimizing. + (ix86_function_sseregparm): Similarly for sseregparm calling + conventions. + + 2009-04-14 Uros Bizjak + + Backport from mainline: + 2009-04-12 Uros Bizjak + + PR target/39740 + * config/alpha/predicates.md (local_symbolic_operand): Return 1 for + offseted label references. + + 2009-04-07 Alan Modra + + PR target/39634 + * config.gcc (powerpc-*-linux*): Include soft-fp/t-softfp after + rs6000/t-linux64. + + 2009-04-02 David Ayers + + PR objc/27377 + * c-typeck.c (build_conditional_expr): Emit ObjC warnings + by calling objc_compare_types and surpress warnings about + incompatible C pointers that are compatible ObjC pointers. + + 2009-04-01 Eric Botcazou + + PR rtl-optimization/39588 + * combine.c (merge_outer_ops): Do not set the constant when this + is not necessary. + (simplify_shift_const_1): Do not modify it either in this case. + + 2009-03-26 Ben Elliston + + Backport from mainline: + 2009-02-19 Jakub Jelinek + + PR target/39175 + * c-common.c (c_determine_visibility): If visibility changed and + DECL_RTL has been already set, call make_decl_rtl to update symbol + flags. + + 2009-03-24 Ralf Corsépius + + * config/m68k/t-rtems: Add m5329 multilib. + + 2009-03-23 Uros Bizjak + + Backport from mainline: + 2009-03-17 Uros Bizjak + + PR target/39482 + * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers + from different units in a single alternative. + (*truncdfsf_i387): Ditto. + (*truncxfsf2_mixed): Ditto. + (*truncxfdf2_mixed): Ditto. + + 2009-03-17 H.J. Lu + + Backport from mainline: + 2009-03-17 H.J. Lu + + PR target/39477 + * doc/extend.texi: Correct register behavior for regparm on Intel 386. + + 2009-03-12 H.J. Lu + + Backport from mainline: + 2009-03-12 H.J. Lu + + PR target/39327 + * config/i386/sse.md (sse3_addsubv4sf3): Correct item bits. + (sse3_addsubv2df3): Likewise. + + 2009-03-09 Denis Chertykov + + * config/avr/avr.md ("andsi3"): Fix wrong cc attribute. + + 2009-03-02 Richard Sandiford + + * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling + of ABI_64. + + 2009-03-02 Ulrich Weigand + + * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define. + (spu_section_type_flags): New function. + + 2009-02-28 Martin Jambor + + Backport from mainline: + 2008-12-02 Martin Jambor + + PR middle-end/37861 + * tree-ssa-forwprop.c + (forward_propagate_addr_into_variable_array_index): Check that the + offset is not computed from a MULT_EXPR if element size is one. + + 2009-02-28 Uros Bizjak + + Backport from mainline: + 2009-02-26 Uros Bizjak + + * config/alpha/alpha.h (alpha_expand_mov): Return false if + force_const_mem returns NULL_RTX. + + 2009-02-26 Uros Bizjak + + Backport from mainline: + 2009-02-02 Jakub Jelinek + + PR inline-asm/39058 + * recog.h (asm_operand_ok): Add constraints argument. + * recog.c (asm_operand_ok): Likewise. If it is set, for digits + recurse on matching constraint. + (check_asm_operands): Pass constraints as 3rd argument to + asm_operand_ok. Don't look up matching constraint here. + * stmt.c (expand_asm_operands): Pass NULL as 3rd argument + to asm_operand_ok. + + 2009-02-25 Janis Johnson + + Backport from mainline: + 2008-10-29 Joseph Myers + + PR middle-end/36578 + * convert.c (convert_to_real): Do not optimize conversions of + binary arithmetic operations between binary and decimal + floating-point types. Consider mode of target type in determining + decimal type for arithmetic. Unless + flag_unsafe_math_optimizations, do not optimize binary conversions + where this may change rounding behavior. + * real.c (real_can_shorten_arithmetic): New. + * real.h (real_can_shorten_arithmetic): Declare. + + 2009-02-21 Uros Bizjak + + Backport from mainline: + 2009-02-20 Jaka Mocnik + + * calls.c (emit_library_call_value_1): Use slot_offset instead of + offset when calculating bounds for indexing stack_usage_map. Fixes + a buffer overflow with certain target setups. + + 2009-02-20 Steve Ellcey + + PR target/38056 + * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check + TARGET_CONST_GP. + + 2009-02-19 Uros Bizjak + + PR target/39228 + * config/i386/i386.md (isinfxf2): Split from isinf2. + (UNSPEC_FXAM_MEM): New unspec. + (fxam2_i387_with_temp): New insn and split pattern. + (isinf2): Use MODEF mode iterator. Force operand[1] through + memory using fxam2_i387_with_temp to remove excess precision. + + 2009-02-17 Uros Bizjak + + * config/soft-fp/double.h: Update from glibc CVS. + + 2009-02-17 Joseph Myers + + PR c/35446 + * c-parser.c (c_parser_braced_init): Call pop_init_level when + skipping until next close brace. + + 2009-02-13 Joseph Myers + + PR c/35444 + * c-parser.c (c_parser_parms_list_declarator): Discard pending + sizes on syntax error after some arguments have been parsed. + + 2009-02-11 Uros Bizjak + Jakub Jelinek + + PR target/39118 + * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant. + (memory_blockage): New expander. + (*memory_blockage): New insn pattern. + * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage + instead of general blockage at the end of function prologue when + frame pointer is used to access red zone area. Do not emit blockage + when profiling, it is emitted in generic code. + (ix86_expand_epilogue): Emit memory_blockage at the beginning of + function epilogue when frame pointer is used to access red zone area. + + 2009-02-10 Steve Ellcey + + PR c/39084 + * c-decl.c (start_struct): Return NULL on error. + + 2009-02-10 Uros Bizjak + + PR target/39118 + * config/i386/i386.c (expand_prologue): Emit blockage at the end + of function prologue when frame pointer is used to access + red zone area. + + 2009-02-09 Janis Johnson + + PR c/39035 + * real.c (do_compare): Special-case compare of zero against + decimal float value. + + 2009-02-08 Joseph Myers + + PR c/35434 + * c-common.c (handle_alias_attribute): Disallow attribute for + anything not a FUNCTION_DECL or VAR_DECL. + + 2009-02-08 Joseph Myers + + PR c/36432 + * c-decl.c (grokdeclarator): Don't treat [] declarators in fields + as indicating flexible array members unless the field itself is + being declarared as the incomplete array. + + 2009-02-07 Kaz Kojima + + Backport from mainline: + 2009-02-05 Kaz Kojima + + PR target/38991 + * config/sh/predicates.md (general_movsrc_operand): Don't check + the subreg of system registers here. + + 2009-02-05 Joseph Myers + + PR c/35435 + * c-common.c (handle_tls_model_attribute): Ignore attribute for + non-VAR_DECLs without checking DECL_THREAD_LOCAL_P. + + 2009-02-05 Richard Guenther + + Backport from mainline + 2009-02-05 Daniel Berlin + Richard Guenther + + PR tree-optimization/39100 + * tree-ssa-structalias.c (do_ds_constraint): Actually do what the + comment says and add edges. + + 2009-02-04 Ramana Radhakrishnan + + PR rtl-optimization/39076 + Backport from mainline: + 2008-06-28 Andrew Jenner + + * regrename.c (build_def_use): Don't copy RTX. + + 2009-02-04 Joseph Myers + + PR c/35433 + * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT + for composite type involving a zero-length array type. + + 2009-02-02 Catherine Moore + + * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as + -mabicalls. + + 2009-01-31 John David Anglin + + * config/pa/fptr.c: Revert license to GPL 2. + * config/pa/milli64.S: Likewise. + + 2009-01-30 Richard Guenther + + PR tree-optimization/39041 + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): + Propagate variable indices only if the types match for this stmt. + + 2009-01-29 Uros Bizjak + + Backport from mainline: + 2009-01-28 Uros Bizjak + + PR target/38988 + * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref. + (set_got_offset_rex64): Ditto. + + 2009-01-27 Uros Bizjak + + PR middle-end/38969 + * calls.c (initialize_argument_information): Do not wrap complex + arguments in SAVE_EXPR. + + 2009-01-27 Steve Ellcey + + PR middle-end/38615 + * gimplify.c (gimplify_init_constructor): Fix promotion of const + variables to static. + * doc/invoke.texi (-fmerge-all-constants): Update description. + + 2009-01-27 Uros Bizjak + + Backport from mainline: + 2009-01-13 Uros Bizjak + + * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit + relocations of local symbols wider than UNITS_PER_WORD are not valid. + (alpha_legitimize_address): Do not split local symbols wider than + UNITS_PER_WORD into HIGH/LO_SUM parts. + + 2009-01-07 Uros Bizjak + + PR target/38706 + * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call + free_after_compilation when outputting a thunk. + (alpha_output_mi_thunk_osf): Assert that we are processing a thunk. + Do not call free_after_compilation here. + + 2008-12-22 Uros Bizjak + + * config/alpha/elf.h (ASM_OUTPUT_EXTERNAL): New macro. + + 2008-12-21 Uros Bizjak + + * config/alpha/alpha.c (alpha_pad_noreturn): New static function. + (alpha_reorg): Call alpha_pad_noreturn. + + 2008-12-08 Uros Bizjak + + * config/alpha/alpha.c (alpha_set_memflags): Process memory + references in full insn sequence. + + 2008-12-05 Uros Bizjak + + * config/alpha/alpha.c (alpha_fold_vector_minmax): Create + VIEW_CONVERT_EXPR to convert output to long_integer_type_node. + + (alpha_emit_conditional_branch): Do not generate direct branch + for UNORDERED comparisons. + + 2008-01-26 Paolo Bonzini + + PR tree-optimization/38932 + * fold-const.c (fold_unary_ignore_overflow): New. + * tree.h (fold_unary_ignore_overflow): Declare. + * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow. + * tree-ssa-sccvn.c (simplify_unary_expression): Likewise. + + 2009-01-25 Uros Bizjak + + Backport from mainline: + 2009-01-22 Uros Bizjak + + PR target/38931 + * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2. + (*movdi_1_rex64): Use type "mmx" for alternative 5. + + 2009-01-21 Uros Bizjak + + PR rtl-optimization/38879 + * alias.c (base_alias_check): Unaligned access via AND address can + alias all surrounding object types except those with sizes equal + or wider than the size of unaligned access. + + 2009-01-25 Richard Guenther + + Backport from mainline: + 2008-12-02 Richard Guenther + + PR tree-optimization/38359 + * fold-const.c (fold_binary): Fold -1 >> x to -1 only for + non-negative x. + + 2009-01-24 Eric Botcazou + + * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete. + * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise. + * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise. + + 2009-01-24 H.J. Lu + + PR target/38902 + Backport from mainline: + 2008-12-23 Jakub Jelinek + + * config/i386/i386.c (expand_movmem_via_rep_mov): Set MEM_SIZE + correctly. + (expand_setmem_via_rep_stos): Add ORIG_VALUE argument. If + ORIG_VALUE is const0_rtx and COUNT is constant, set MEM_SIZE + on DESTMEM. + (ix86_expand_setmem): Adjust callers. + + 2008-01-24 Richard Guenther + + * BASE-VER: Set to 4.3.4. + * DEV-PHASE: Set to prerelease. + 2009-01-24 Release Manager * GCC 4.3.3 released. *************** *** 5,12 **** 2009-01-20 Joseph Myers PR other/38758 ! * longlong.h: Update copyright years. Use soft-fp license ! notice. 2009-01-19 Richard Guenther --- 880,886 ---- 2009-01-20 Joseph Myers PR other/38758 ! * longlong.h: Update copyright years. Use soft-fp license notice. 2009-01-19 Richard Guenther *************** *** 41,47 **** 2009-01-11 Matthias Klose ! PR middle-end/38616, backport from mainline: 2008-05-04 Uros Bizjak * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives. --- 915,922 ---- 2009-01-11 Matthias Klose ! PR middle-end/38616 ! Backport from mainline: 2008-05-04 Uros Bizjak * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives. *************** *** 509,516 **** PR tree-optimization/37102 * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args from a node. Check to see if another PHI is dead. ! (eliminate_useless_phis): Rename from eliminate_virtual_phis and remove ! real PHIs which have no uses. (rewrite_out_of_ssa): Call eliminate_useless_phis. 2008-10-08 Simon Martin --- 1384,1391 ---- PR tree-optimization/37102 * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args from a node. Check to see if another PHI is dead. ! (eliminate_useless_phis): Rename from eliminate_virtual_phis and ! remove real PHIs which have no uses. (rewrite_out_of_ssa): Call eliminate_useless_phis. 2008-10-08 Simon Martin *************** *** 986,993 **** (MFC_MIN_DMA_LIST_ELEMENTS): New define. (MFC_MAX_DMA_LIST_ELEMENTS): Likewise. ! (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of MFC_MIN_DMA_LIST_ELEMENTS. ! (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of MFC_MAX_DMA_LIST_ELEMENTS. (MFC_START_ENABLE): Remove PPU-only define. (MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise. --- 1861,1870 ---- (MFC_MIN_DMA_LIST_ELEMENTS): New define. (MFC_MAX_DMA_LIST_ELEMENTS): Likewise. ! (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of ! MFC_MIN_DMA_LIST_ELEMENTS. ! (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of ! MFC_MAX_DMA_LIST_ELEMENTS. (MFC_START_ENABLE): Remove PPU-only define. (MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise. diff -Nrcpad gcc-4.3.3/gcc/DATESTAMP gcc-4.3.4/gcc/DATESTAMP *** gcc-4.3.3/gcc/DATESTAMP Sat Jan 24 00:16:35 2009 --- gcc-4.3.4/gcc/DATESTAMP Tue Aug 4 00:16:29 2009 *************** *** 1 **** ! 20090124 --- 1 ---- ! 20090804 diff -Nrcpad gcc-4.3.3/gcc/Makefile.in gcc-4.3.4/gcc/Makefile.in *** gcc-4.3.3/gcc/Makefile.in Thu Dec 4 23:00:19 2008 --- gcc-4.3.4/gcc/Makefile.in Thu May 21 23:31:44 2009 *************** cfgexpand.o : cfgexpand.c $(TREE_FLOW_H) *** 2664,2670 **** value-prof.h cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h \ ! output.h toplev.h $(FUNCTION_H) except.h $(TM_P_H) insn-config.h $(EXPR_H) \ $(CFGLAYOUT_H) $(CFGLOOP_H) $(OBSTACK_H) $(TARGET_H) $(TREE_H) \ tree-pass.h $(DF_H) cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ --- 2664,2671 ---- value-prof.h cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h \ ! output.h toplev.h $(FUNCTION_H) except.h $(TM_P_H) $(INSN_ATTR_H) \ ! insn-config.h $(EXPR_H) \ $(CFGLAYOUT_H) $(CFGLOOP_H) $(OBSTACK_H) $(TARGET_H) $(TREE_H) \ tree-pass.h $(DF_H) cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ diff -Nrcpad gcc-4.3.3/gcc/alias.c gcc-4.3.4/gcc/alias.c *** gcc-4.3.3/gcc/alias.c Wed Mar 19 10:06:52 2008 --- gcc-4.3.4/gcc/alias.c Sun Jan 25 12:26:15 2009 *************** base_alias_check (rtx x, rtx y, enum mac *** 1508,1533 **** if (rtx_equal_p (x_base, y_base)) return 1; ! /* The base addresses of the read and write are different expressions. ! If they are both symbols and they are not accessed via AND, there is ! no conflict. We can bring knowledge of object alignment into play ! here. For example, on alpha, "char a, b;" can alias one another, ! though "char a; long b;" cannot. */ if (GET_CODE (x_base) != ADDRESS && GET_CODE (y_base) != ADDRESS) ! { ! if (GET_CODE (x) == AND && GET_CODE (y) == AND) ! return 1; ! if (GET_CODE (x) == AND ! && (GET_CODE (XEXP (x, 1)) != CONST_INT ! || (int) GET_MODE_UNIT_SIZE (y_mode) < -INTVAL (XEXP (x, 1)))) ! return 1; ! if (GET_CODE (y) == AND ! && (GET_CODE (XEXP (y, 1)) != CONST_INT ! || (int) GET_MODE_UNIT_SIZE (x_mode) < -INTVAL (XEXP (y, 1)))) ! return 1; ! /* Differing symbols never alias. */ ! return 0; ! } /* If one address is a stack reference there can be no alias: stack references using different base registers do not alias, --- 1508,1534 ---- if (rtx_equal_p (x_base, y_base)) return 1; ! /* The base addresses are different expressions. If they are not accessed ! via AND, there is no conflict. We can bring knowledge of object ! alignment into play here. For example, on alpha, "char a, b;" can ! alias one another, though "char a; long b;" cannot. AND addesses may ! implicitly alias surrounding objects; i.e. unaligned access in DImode ! via AND address can alias all surrounding object types except those ! with aligment 8 or higher. */ ! if (GET_CODE (x) == AND && GET_CODE (y) == AND) ! return 1; ! if (GET_CODE (x) == AND ! && (GET_CODE (XEXP (x, 1)) != CONST_INT ! || (int) GET_MODE_UNIT_SIZE (y_mode) < -INTVAL (XEXP (x, 1)))) ! return 1; ! if (GET_CODE (y) == AND ! && (GET_CODE (XEXP (y, 1)) != CONST_INT ! || (int) GET_MODE_UNIT_SIZE (x_mode) < -INTVAL (XEXP (y, 1)))) ! return 1; ! ! /* Differing symbols not accessed via AND never alias. */ if (GET_CODE (x_base) != ADDRESS && GET_CODE (y_base) != ADDRESS) ! return 0; /* If one address is a stack reference there can be no alias: stack references using different base registers do not alias, diff -Nrcpad gcc-4.3.3/gcc/builtins.c gcc-4.3.4/gcc/builtins.c *** gcc-4.3.3/gcc/builtins.c Tue Aug 19 16:37:13 2008 --- gcc-4.3.4/gcc/builtins.c Fri Jul 10 16:01:34 2009 *************** expand_builtin_memcmp (tree exp, rtx tar *** 4119,4125 **** arg1_rtx = get_memory_rtx (arg1, len); arg2_rtx = get_memory_rtx (arg2, len); ! arg3_rtx = expand_normal (len); /* Set MEM_SIZE as appropriate. */ if (GET_CODE (arg3_rtx) == CONST_INT) --- 4119,4125 ---- arg1_rtx = get_memory_rtx (arg1, len); arg2_rtx = get_memory_rtx (arg2, len); ! arg3_rtx = expand_normal (fold_convert (sizetype, len)); /* Set MEM_SIZE as appropriate. */ if (GET_CODE (arg3_rtx) == CONST_INT) diff -Nrcpad gcc-4.3.3/gcc/c-common.c gcc-4.3.4/gcc/c-common.c *** gcc-4.3.3/gcc/c-common.c Wed Nov 12 22:08:01 2008 --- gcc-4.3.4/gcc/c-common.c Wed Mar 25 22:05:08 2009 *************** *** 1,6 **** /* Subroutines shared by all languages that are variants of C. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ! 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GCC. --- 1,7 ---- /* Subroutines shared by all languages that are variants of C. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ! 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 ! Free Software Foundation, Inc. This file is part of GCC. *************** handle_alias_attribute (tree *node, tree *** 5534,5540 **** { tree decl = *node; ! if ((TREE_CODE (decl) == FUNCTION_DECL && DECL_INITIAL (decl)) || (TREE_CODE (decl) != FUNCTION_DECL && TREE_PUBLIC (decl) && !DECL_EXTERNAL (decl)) /* A static variable declaration is always a tentative definition, --- 5535,5546 ---- { tree decl = *node; ! if (TREE_CODE (decl) != FUNCTION_DECL && TREE_CODE (decl) != VAR_DECL) ! { ! warning (OPT_Wattributes, "%qE attribute ignored", name); ! *no_add_attrs = true; ! } ! else if ((TREE_CODE (decl) == FUNCTION_DECL && DECL_INITIAL (decl)) || (TREE_CODE (decl) != FUNCTION_DECL && TREE_PUBLIC (decl) && !DECL_EXTERNAL (decl)) /* A static variable declaration is always a tentative definition, *************** c_determine_visibility (tree decl) *** 5763,5770 **** visibility_specified depending on #pragma GCC visibility. */ if (!DECL_VISIBILITY_SPECIFIED (decl)) { ! DECL_VISIBILITY (decl) = default_visibility; ! DECL_VISIBILITY_SPECIFIED (decl) = visibility_options.inpragma; } return false; } --- 5769,5786 ---- visibility_specified depending on #pragma GCC visibility. */ if (!DECL_VISIBILITY_SPECIFIED (decl)) { ! if (visibility_options.inpragma ! || DECL_VISIBILITY (decl) != default_visibility) ! { ! DECL_VISIBILITY (decl) = default_visibility; ! DECL_VISIBILITY_SPECIFIED (decl) = visibility_options.inpragma; ! /* If visibility changed and DECL already has DECL_RTL, ensure ! symbol flags are updated. */ ! if (((TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl)) ! || TREE_CODE (decl) == FUNCTION_DECL) ! && DECL_RTL_SET_P (decl)) ! make_decl_rtl (decl); ! } } return false; } *************** handle_tls_model_attribute (tree *node, *** 5782,5788 **** *no_add_attrs = true; ! if (!DECL_THREAD_LOCAL_P (decl)) { warning (OPT_Wattributes, "%qE attribute ignored", name); return NULL_TREE; --- 5798,5804 ---- *no_add_attrs = true; ! if (TREE_CODE (decl) != VAR_DECL || !DECL_THREAD_LOCAL_P (decl)) { warning (OPT_Wattributes, "%qE attribute ignored", name); return NULL_TREE; diff -Nrcpad gcc-4.3.3/gcc/c-decl.c gcc-4.3.4/gcc/c-decl.c *** gcc-4.3.3/gcc/c-decl.c Thu Jun 26 15:42:07 2008 --- gcc-4.3.4/gcc/c-decl.c Fri Jun 19 12:23:16 2009 *************** pop_scope (void) *** 779,792 **** error ("nested function %q+D declared but never defined", p); undef_nested_function = true; } - /* C99 6.7.4p6: "a function with external linkage... declared - with an inline function specifier ... shall also be defined in the - same translation unit." */ else if (DECL_DECLARED_INLINE_P (p) && TREE_PUBLIC (p) ! && !DECL_INITIAL (p) ! && !flag_gnu89_inline) ! pedwarn ("inline function %q+D declared but never defined", p); goto common_symbol; --- 779,795 ---- error ("nested function %q+D declared but never defined", p); undef_nested_function = true; } else if (DECL_DECLARED_INLINE_P (p) && TREE_PUBLIC (p) ! && !DECL_INITIAL (p)) ! { ! /* C99 6.7.4p6: "a function with external linkage... declared ! with an inline function specifier ... shall also be defined ! in the same translation unit." */ ! if (!flag_gnu89_inline) ! pedwarn ("inline function %q+D declared but never defined", p); ! DECL_EXTERNAL (p) = 1; ! } goto common_symbol; *************** grokdeclarator (const struct c_declarato *** 4386,4397 **** } else if (decl_context == FIELD) { ! if (pedantic && !flag_isoc99 && !in_system_header) pedwarn ("ISO C90 does not support flexible array members"); /* ISO C99 Flexible array members are effectively identical to GCC's zero-length array extension. */ ! itype = build_range_type (sizetype, size_zero_node, NULL_TREE); } else if (decl_context == PARM) { --- 4389,4408 ---- } else if (decl_context == FIELD) { ! bool flexible_array_member = false; ! const struct c_declarator *t = declarator; ! while (t->kind == cdk_attrs) ! t = t->declarator; ! flexible_array_member = (t->kind == cdk_id); ! if (flexible_array_member ! && pedantic && !flag_isoc99 && !in_system_header) pedwarn ("ISO C90 does not support flexible array members"); /* ISO C99 Flexible array members are effectively identical to GCC's zero-length array extension. */ ! if (flexible_array_member || array_parm_vla_unspec_p) ! itype = build_range_type (sizetype, size_zero_node, ! NULL_TREE); } else if (decl_context == PARM) { *************** start_struct (enum tree_code code, tree *** 5362,5367 **** --- 5373,5380 ---- error ("redefinition of %", name); else error ("redefinition of %", name); + /* Don't create structures using a name already in use. */ + ref = NULL_TREE; } else if (C_TYPE_BEING_DEFINED (ref)) { diff -Nrcpad gcc-4.3.3/gcc/c-parser.c gcc-4.3.4/gcc/c-parser.c *** gcc-4.3.3/gcc/c-parser.c Thu Apr 3 21:24:28 2008 --- gcc-4.3.4/gcc/c-parser.c Thu Jun 25 14:36:43 2009 *************** c_parser_parms_list_declarator (c_parser *** 2680,2685 **** --- 2680,2686 ---- "expected %<;%>, %<,%> or %<)%>")) { c_parser_skip_until_found (parser, CPP_CLOSE_PAREN, NULL); + get_pending_sizes (); return NULL; } if (c_parser_next_token_is (parser, CPP_ELLIPSIS)) *************** c_parser_parms_list_declarator (c_parser *** 2707,2712 **** --- 2708,2714 ---- { c_parser_skip_until_found (parser, CPP_CLOSE_PAREN, "expected %<)%>"); + get_pending_sizes (); return NULL; } } *************** c_parser_braced_init (c_parser *parser, *** 3132,3137 **** --- 3134,3140 ---- ret.value = error_mark_node; ret.original_code = ERROR_MARK; c_parser_skip_until_found (parser, CPP_CLOSE_BRACE, "expected %<}%>"); + pop_init_level (0); return ret; } c_parser_consume_token (parser); *************** c_parser_postfix_expression (c_parser *p *** 5347,5356 **** c_parser_consume_token (parser); while (c_parser_next_token_is (parser, CPP_DOT) || c_parser_next_token_is (parser, ! CPP_OPEN_SQUARE)) { ! if (c_parser_next_token_is (parser, CPP_DOT)) { c_parser_consume_token (parser); if (c_parser_next_token_is_not (parser, CPP_NAME)) --- 5350,5368 ---- c_parser_consume_token (parser); while (c_parser_next_token_is (parser, CPP_DOT) || c_parser_next_token_is (parser, ! CPP_OPEN_SQUARE) ! || c_parser_next_token_is (parser, ! CPP_DEREF)) { ! if (c_parser_next_token_is (parser, CPP_DEREF)) { + offsetof_ref = build_array_ref (offsetof_ref, + integer_zero_node); + goto do_dot; + } + else if (c_parser_next_token_is (parser, CPP_DOT)) + { + do_dot: c_parser_consume_token (parser); if (c_parser_next_token_is_not (parser, CPP_NAME)) *************** c_parser_objc_message_args (c_parser *pa *** 6604,6610 **** { tree keywordexpr; if (!c_parser_require (parser, CPP_COLON, "expected %<:%>")) ! return list; keywordexpr = c_parser_objc_keywordexpr (parser); list = chainon (list, build_tree_list (sel, keywordexpr)); sel = c_parser_objc_selector (parser); --- 6616,6622 ---- { tree keywordexpr; if (!c_parser_require (parser, CPP_COLON, "expected %<:%>")) ! return error_mark_node; keywordexpr = c_parser_objc_keywordexpr (parser); list = chainon (list, build_tree_list (sel, keywordexpr)); sel = c_parser_objc_selector (parser); diff -Nrcpad gcc-4.3.3/gcc/c-typeck.c gcc-4.3.4/gcc/c-typeck.c *** gcc-4.3.3/gcc/c-typeck.c Tue Jan 29 23:19:07 2008 --- gcc-4.3.4/gcc/c-typeck.c Thu Apr 2 12:40:48 2009 *************** composite_type (tree t1, tree t2) *** 327,336 **** --- 327,340 ---- tree d2 = TYPE_DOMAIN (t2); bool d1_variable, d2_variable; bool d1_zero, d2_zero; + bool t1_complete, t2_complete; /* We should not have any type quals on arrays at all. */ gcc_assert (!TYPE_QUALS (t1) && !TYPE_QUALS (t2)); + t1_complete = COMPLETE_TYPE_P (t1); + t2_complete = COMPLETE_TYPE_P (t2); + d1_zero = d1 == 0 || !TYPE_MAX_VALUE (d1); d2_zero = d2 == 0 || !TYPE_MAX_VALUE (d2); *************** composite_type (tree t1, tree t2) *** 370,375 **** --- 374,388 ---- || !d1_variable)) ? t1 : t2)); + /* Ensure a composite type involving a zero-length array type + is a zero-length type not an incomplete type. */ + if (d1_zero && d2_zero + && (t1_complete || t2_complete) + && !COMPLETE_TYPE_P (t1)) + { + TYPE_SIZE (t1) = bitsize_zero_node; + TYPE_SIZE_UNIT (t1) = size_zero_node; + } t1 = c_build_qualified_type (t1, quals); return build_type_attribute_variant (t1, attributes); } *************** build_conditional_expr (tree ifexp, tree *** 3380,3385 **** --- 3393,3399 ---- enum tree_code code2; tree result_type = NULL; tree orig_op1 = op1, orig_op2 = op2; + bool objc_ok; /* Promote both alternatives. */ *************** build_conditional_expr (tree ifexp, tree *** 3406,3411 **** --- 3420,3427 ---- return error_mark_node; } + objc_ok = objc_compare_types (type1, type2, -3, NULL_TREE); + /* Quickly detect the usual case where op1 and op2 have the same type after promotion. */ if (TYPE_MAIN_VARIANT (type1) == TYPE_MAIN_VARIANT (type2)) *************** build_conditional_expr (tree ifexp, tree *** 3486,3492 **** } else { ! pedwarn ("pointer type mismatch in conditional expression"); result_type = build_pointer_type (void_type_node); } } --- 3502,3509 ---- } else { ! if (!objc_ok) ! pedwarn ("pointer type mismatch in conditional expression"); result_type = build_pointer_type (void_type_node); } } diff -Nrcpad gcc-4.3.3/gcc/calls.c gcc-4.3.4/gcc/calls.c *** gcc-4.3.3/gcc/calls.c Tue Jun 24 07:58:17 2008 --- gcc-4.3.4/gcc/calls.c Fri Jun 19 16:13:53 2009 *************** initialize_argument_information (int num *** 978,984 **** && targetm.calls.split_complex_arg (argtype)) { tree subtype = TREE_TYPE (argtype); - arg = save_expr (arg); args[j].tree_value = build1 (REALPART_EXPR, subtype, arg); j += inc; args[j].tree_value = build1 (IMAGPART_EXPR, subtype, arg); --- 978,983 ---- *************** expand_call (tree exp, rtx target, int i *** 2302,2307 **** --- 2301,2337 ---- || !lang_hooks.decls.ok_for_sibcall (fndecl)) try_tail_call = 0; + /* Check if caller and callee disagree in promotion of function + return value. */ + if (try_tail_call) + { + enum machine_mode caller_mode, caller_promoted_mode; + enum machine_mode callee_mode, callee_promoted_mode; + int caller_unsignedp, callee_unsignedp; + tree caller_res = DECL_RESULT (current_function_decl); + + caller_unsignedp = TYPE_UNSIGNED (TREE_TYPE (caller_res)); + caller_mode = caller_promoted_mode = DECL_MODE (caller_res); + callee_unsignedp = TYPE_UNSIGNED (TREE_TYPE (funtype)); + callee_mode = callee_promoted_mode = TYPE_MODE (TREE_TYPE (funtype)); + if (targetm.calls.promote_function_return (TREE_TYPE (current_function_decl))) + caller_promoted_mode + = promote_mode (TREE_TYPE (caller_res), caller_mode, + &caller_unsignedp, 1); + if (targetm.calls.promote_function_return (funtype)) + callee_promoted_mode + = promote_mode (TREE_TYPE (funtype), callee_mode, + &callee_unsignedp, 1); + if (caller_mode != VOIDmode + && (caller_promoted_mode != callee_promoted_mode + || ((caller_mode != caller_promoted_mode + || callee_mode != callee_promoted_mode) + && (caller_unsignedp != callee_unsignedp + || GET_MODE_BITSIZE (caller_mode) + < GET_MODE_BITSIZE (callee_mode))))) + try_tail_call = 0; + } + /* Ensure current function's preferred stack boundary is at least what we need. */ if (cfun->preferred_stack_boundary < preferred_stack_boundary) *************** emit_library_call_value_1 (int retval, r *** 3678,3687 **** #ifdef ARGS_GROW_DOWNWARD /* stack_slot is negative, but we want to index stack_usage_map with positive values. */ ! upper_bound = -argvec[argnum].locate.offset.constant + 1; lower_bound = upper_bound - argvec[argnum].locate.size.constant; #else ! lower_bound = argvec[argnum].locate.offset.constant; upper_bound = lower_bound + argvec[argnum].locate.size.constant; #endif --- 3708,3717 ---- #ifdef ARGS_GROW_DOWNWARD /* stack_slot is negative, but we want to index stack_usage_map with positive values. */ ! upper_bound = -argvec[argnum].locate.slot_offset.constant + 1; lower_bound = upper_bound - argvec[argnum].locate.size.constant; #else ! lower_bound = argvec[argnum].locate.slot_offset.constant; upper_bound = lower_bound + argvec[argnum].locate.size.constant; #endif diff -Nrcpad gcc-4.3.3/gcc/cfgrtl.c gcc-4.3.4/gcc/cfgrtl.c *** gcc-4.3.3/gcc/cfgrtl.c Fri Nov 30 17:02:43 2007 --- gcc-4.3.4/gcc/cfgrtl.c Thu May 21 23:31:44 2009 *************** along with GCC; see the file COPYING3. *** 53,58 **** --- 53,59 ---- #include "toplev.h" #include "tm_p.h" #include "obstack.h" + #include "insn-attr.h" #include "insn-config.h" #include "cfglayout.h" #include "expr.h" *************** free_bb_for_insn (void) *** 427,437 **** return 0; } struct tree_opt_pass pass_free_cfg = { NULL, /* name */ NULL, /* gate */ ! free_bb_for_insn, /* execute */ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ --- 428,452 ---- return 0; } + static unsigned int + rest_of_pass_free_cfg (void) + { + #ifdef DELAY_SLOTS + /* The resource.c machinery uses DF but the CFG isn't guaranteed to be + valid at that point so it would be too late to call df_analyze. */ + if (optimize > 0 && flag_delayed_branch) + df_analyze (); + #endif + + free_bb_for_insn (); + return 0; + } + struct tree_opt_pass pass_free_cfg = { NULL, /* name */ NULL, /* gate */ ! rest_of_pass_free_cfg, /* execute */ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ diff -Nrcpad gcc-4.3.3/gcc/combine.c gcc-4.3.4/gcc/combine.c *** gcc-4.3.3/gcc/combine.c Mon Nov 10 10:43:35 2008 --- gcc-4.3.4/gcc/combine.c Wed Apr 1 20:48:33 2009 *************** merge_outer_ops (enum rtx_code *pop0, HO *** 8970,8982 **** && op0 == AND) op0 = UNKNOWN; /* ??? Slightly redundant with the above mask, but not entirely. Moving this above means we'd have to sign-extend the mode mask for the final test. */ ! const0 = trunc_int_for_mode (const0, mode); ! ! *pop0 = op0; ! *pconst0 = const0; return 1; } --- 8970,8982 ---- && op0 == AND) op0 = UNKNOWN; + *pop0 = op0; + /* ??? Slightly redundant with the above mask, but not entirely. Moving this above means we'd have to sign-extend the mode mask for the final test. */ ! if (op0 != UNKNOWN && op0 != NEG) ! *pconst0 = trunc_int_for_mode (const0, mode); return 1; } *************** simplify_shift_const_1 (enum rtx_code co *** 9699,9705 **** if (outer_op != UNKNOWN) { ! if (GET_MODE_BITSIZE (result_mode) < HOST_BITS_PER_WIDE_INT) outer_const = trunc_int_for_mode (outer_const, result_mode); if (outer_op == AND) --- 9699,9706 ---- if (outer_op != UNKNOWN) { ! if (GET_RTX_CLASS (outer_op) != RTX_UNARY ! && GET_MODE_BITSIZE (result_mode) < HOST_BITS_PER_WIDE_INT) outer_const = trunc_int_for_mode (outer_const, result_mode); if (outer_op == AND) diff -Nrcpad gcc-4.3.3/gcc/config/alpha/alpha.c gcc-4.3.4/gcc/config/alpha/alpha.c *** gcc-4.3.3/gcc/config/alpha/alpha.c Mon Sep 8 23:16:55 2008 --- gcc-4.3.4/gcc/config/alpha/alpha.c Sat Feb 28 17:22:52 2009 *************** *** 1,6 **** /* Subroutines used for code generation on the DEC Alpha. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) This file is part of GCC. --- 1,7 ---- /* Subroutines used for code generation on the DEC Alpha. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 ! Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) This file is part of GCC. *************** alpha_legitimate_address_p (enum machine *** 863,871 **** } } ! /* If we're managing explicit relocations, LO_SUM is valid, as ! are small data symbols. */ ! else if (TARGET_EXPLICIT_RELOCS) { if (small_symbolic_operand (x, Pmode)) return true; --- 864,874 ---- } } ! /* If we're managing explicit relocations, LO_SUM is valid, as are small ! data symbols. Avoid explicit relocations in modes larger than word ! mode since i.e. $LC0+8($1) can fold around +/- 32k offset. */ ! else if (TARGET_EXPLICIT_RELOCS ! && GET_MODE_SIZE (mode) <= UNITS_PER_WORD) { if (small_symbolic_operand (x, Pmode)) return true; *************** get_tls_get_addr (void) *** 915,922 **** to be legitimate. If we find one, return the new, valid address. */ rtx ! alpha_legitimize_address (rtx x, rtx scratch, ! enum machine_mode mode ATTRIBUTE_UNUSED) { HOST_WIDE_INT addend; --- 918,924 ---- to be legitimate. If we find one, return the new, valid address. */ rtx ! alpha_legitimize_address (rtx x, rtx scratch, enum machine_mode mode) { HOST_WIDE_INT addend; *************** alpha_legitimize_address (rtx x, rtx scr *** 964,971 **** goto split_addend; } ! /* If this is a local symbol, split the address into HIGH/LO_SUM parts. */ ! if (TARGET_EXPLICIT_RELOCS && symbolic_operand (x, Pmode)) { rtx r0, r16, eqv, tga, tp, insn, dest, seq; --- 966,977 ---- goto split_addend; } ! /* If this is a local symbol, split the address into HIGH/LO_SUM parts. ! Avoid modes larger than word mode since i.e. $LC0+8($1) can fold ! around +/- 32k offset. */ ! if (TARGET_EXPLICIT_RELOCS ! && GET_MODE_SIZE (mode) <= UNITS_PER_WORD ! && symbolic_operand (x, Pmode)) { rtx r0, r16, eqv, tga, tp, insn, dest, seq; *************** alpha_set_memflags_1 (rtx *xp, void *dat *** 1602,1619 **** return -1; } ! /* Given INSN, which is an INSN list or the PATTERN of a single insn ! generated to perform a memory operation, look for any MEMs in either a SET_DEST or a SET_SRC and copy the in-struct, unchanging, and volatile flags from REF into each of the MEMs found. If REF is not a MEM, don't do anything. */ void ! alpha_set_memflags (rtx insn, rtx ref) { ! rtx *base_ptr; ! if (GET_CODE (ref) != MEM) return; /* This is only called from alpha.md, after having had something --- 1608,1624 ---- return -1; } ! /* Given SEQ, which is an INSN list, look for any MEMs in either a SET_DEST or a SET_SRC and copy the in-struct, unchanging, and volatile flags from REF into each of the MEMs found. If REF is not a MEM, don't do anything. */ void ! alpha_set_memflags (rtx seq, rtx ref) { ! rtx insn; ! if (!MEM_P (ref)) return; /* This is only called from alpha.md, after having had something *************** alpha_set_memflags (rtx insn, rtx ref) *** 1626,1636 **** && !MEM_READONLY_P (ref)) return; ! if (INSN_P (insn)) ! base_ptr = &PATTERN (insn); ! else ! base_ptr = &insn; ! for_each_rtx (base_ptr, alpha_set_memflags_1, (void *) ref); } static rtx alpha_emit_set_const (rtx, enum machine_mode, HOST_WIDE_INT, --- 1631,1641 ---- && !MEM_READONLY_P (ref)) return; ! for (insn = seq; insn; insn = NEXT_INSN (insn)) ! if (INSN_P (insn)) ! for_each_rtx (&PATTERN (insn), alpha_set_memflags_1, (void *) ref); ! else ! gcc_unreachable (); } static rtx alpha_emit_set_const (rtx, enum machine_mode, HOST_WIDE_INT, *************** alpha_split_const_mov (enum machine_mode *** 2118,2123 **** --- 2123,2130 ---- bool alpha_expand_mov (enum machine_mode mode, rtx *operands) { + rtx tmp; + /* If the output is not a register, the input must be. */ if (GET_CODE (operands[0]) == MEM && ! reg_or_0_operand (operands[1], mode)) *************** alpha_expand_mov (enum machine_mode mode *** 2126,2133 **** /* Allow legitimize_address to perform some simplifications. */ if (mode == Pmode && symbolic_operand (operands[1], mode)) { - rtx tmp; - tmp = alpha_legitimize_address (operands[1], operands[0], mode); if (tmp) { --- 2133,2138 ---- *************** alpha_expand_mov (enum machine_mode mode *** 2152,2165 **** } /* Otherwise we've nothing left but to drop the thing to memory. */ ! operands[1] = force_const_mem (mode, operands[1]); if (reload_in_progress) { ! emit_move_insn (operands[0], XEXP (operands[1], 0)); ! operands[1] = replace_equiv_address (operands[1], operands[0]); } else ! operands[1] = validize_mem (operands[1]); return false; } --- 2157,2174 ---- } /* Otherwise we've nothing left but to drop the thing to memory. */ ! tmp = force_const_mem (mode, operands[1]); ! ! if (tmp == NULL_RTX) ! return false; ! if (reload_in_progress) { ! emit_move_insn (operands[0], XEXP (tmp, 0)); ! operands[1] = replace_equiv_address (tmp, operands[0]); } else ! operands[1] = validize_mem (tmp); return false; } *************** alpha_emit_conditional_branch (enum rtx_ *** 2452,2458 **** if (alpha_compare.fp_p) { cmp_mode = DFmode; ! if (flag_unsafe_math_optimizations) { /* When we are not as concerned about non-finite values, and we are comparing against zero, we can branch directly. */ --- 2461,2467 ---- if (alpha_compare.fp_p) { cmp_mode = DFmode; ! if (flag_unsafe_math_optimizations && cmp_code != UNORDERED) { /* When we are not as concerned about non-finite values, and we are comparing against zero, we can branch directly. */ *************** alpha_fold_vector_minmax (enum tree_code *** 6794,6800 **** tree op0 = fold_convert (vtype, op[0]); tree op1 = fold_convert (vtype, op[1]); tree val = fold_build2 (code, vtype, op0, op1); ! return fold_convert (long_integer_type_node, val); } static tree --- 6803,6809 ---- tree op0 = fold_convert (vtype, op[0]); tree op1 = fold_convert (vtype, op[1]); tree val = fold_build2 (code, vtype, op0, op1); ! return fold_build1 (VIEW_CONVERT_EXPR, long_integer_type_node, val); } static tree *************** alpha_end_function (FILE *file, const ch *** 8242,8247 **** --- 8251,8261 ---- if (GET_CODE (insn) == CALL_INSN) output_asm_insn (get_insn_template (CODE_FOR_nop, NULL), NULL); + #if TARGET_ABI_OSF + if (current_function_is_thunk) + free_after_compilation (cfun); + #endif + #if TARGET_ABI_OPEN_VMS alpha_write_linkage (file, fnname, decl); #endif *************** alpha_output_mi_thunk_osf (FILE *file, t *** 8281,8286 **** --- 8295,8302 ---- HOST_WIDE_INT hi, lo; rtx this, insn, funexp; + gcc_assert (current_function_is_thunk); + /* We always require a valid GP. */ emit_insn (gen_prologue_ldgp ()); emit_note (NOTE_INSN_PROLOGUE_END); *************** alpha_align_insns (unsigned int max_alig *** 9268,9279 **** --- 9284,9351 ---- i = next; } } + + /* Insert an unop between a noreturn function call and GP load. */ + + static void + alpha_pad_noreturn (void) + { + rtx insn, next; + + for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) + { + rtx pat; + + if (!CALL_P (insn) + || !find_reg_note (insn, REG_NORETURN, NULL_RTX)) + continue; + + next = next_active_insn (insn); + + if (next) + { + pat = PATTERN (next); + + if (GET_CODE (pat) == SET + && GET_CODE (SET_SRC (pat)) == UNSPEC_VOLATILE + && XINT (SET_SRC (pat), 1) == UNSPECV_LDGP1) + emit_insn_after (gen_unop (), insn); + } + } + } /* Machine dependent reorg pass. */ static void alpha_reorg (void) { + /* Workaround for a linker error that triggers when an + exception handler immediatelly follows a noreturn function. + + The instruction stream from an object file: + + 54: 00 40 5b 6b jsr ra,(t12),58 <__func+0x58> + 58: 00 00 ba 27 ldah gp,0(ra) + 5c: 00 00 bd 23 lda gp,0(gp) + 60: 00 00 7d a7 ldq t12,0(gp) + 64: 00 40 5b 6b jsr ra,(t12),68 <__func+0x68> + + was converted in the final link pass to: + + fdb24: a0 03 40 d3 bsr ra,fe9a8 <_called_func+0x8> + fdb28: 00 00 fe 2f unop + fdb2c: 00 00 fe 2f unop + fdb30: 30 82 7d a7 ldq t12,-32208(gp) + fdb34: 00 40 5b 6b jsr ra,(t12),fdb38 <__func+0x68> + + GP load instructions were wrongly cleared by the linker relaxation + pass. This workaround prevents removal of GP loads by inserting + an unop instruction between a noreturn function call and + exception handler prologue. */ + + if (current_function_has_exception_handlers ()) + alpha_pad_noreturn (); + if (alpha_tp != ALPHA_TP_PROG || flag_exceptions) alpha_handle_trap_shadows (); diff -Nrcpad gcc-4.3.3/gcc/config/alpha/elf.h gcc-4.3.4/gcc/config/alpha/elf.h *** gcc-4.3.3/gcc/config/alpha/elf.h Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/alpha/elf.h Tue Jan 27 11:39:42 2009 *************** extern int alpha_this_gpdisp_sequence_nu *** 423,425 **** --- 423,435 ---- #if defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif + + /* A C statement (sans semicolon) to output to the stdio stream STREAM + any text necessary for declaring the name of an external symbol + named NAME which is referenced in this compilation but not defined. + It is needed to properly support non-default visibility. */ + + #ifndef ASM_OUTPUT_EXTERNAL + #define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ + default_elf_asm_output_external (FILE, DECL, NAME) + #endif diff -Nrcpad gcc-4.3.3/gcc/config/alpha/predicates.md gcc-4.3.4/gcc/config/alpha/predicates.md *** gcc-4.3.3/gcc/config/alpha/predicates.md Sun Jan 11 14:33:28 2009 --- gcc-4.3.4/gcc/config/alpha/predicates.md Tue Apr 14 10:31:29 2009 *************** *** 324,337 **** (define_predicate "local_symbolic_operand" (match_code "label_ref,const,symbol_ref") { - if (GET_CODE (op) == LABEL_REF) - return 1; - if (GET_CODE (op) == CONST && GET_CODE (XEXP (op, 0)) == PLUS && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT) op = XEXP (XEXP (op, 0), 0); if (GET_CODE (op) != SYMBOL_REF) return 0; --- 324,337 ---- (define_predicate "local_symbolic_operand" (match_code "label_ref,const,symbol_ref") { if (GET_CODE (op) == CONST && GET_CODE (XEXP (op, 0)) == PLUS && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT) op = XEXP (XEXP (op, 0), 0); + if (GET_CODE (op) == LABEL_REF) + return 1; + if (GET_CODE (op) != SYMBOL_REF) return 0; diff -Nrcpad gcc-4.3.3/gcc/config/arm/arm.md gcc-4.3.4/gcc/config/arm/arm.md *** gcc-4.3.3/gcc/config/arm/arm.md Tue Sep 4 04:44:47 2007 --- gcc-4.3.4/gcc/config/arm/arm.md Sat May 16 23:04:06 2009 *************** *** 383,391 **** if (TARGET_THUMB1) { if (GET_CODE (operands[1]) != REG) ! operands[1] = force_reg (SImode, operands[1]); if (GET_CODE (operands[2]) != REG) ! operands[2] = force_reg (SImode, operands[2]); } " ) --- 383,391 ---- if (TARGET_THUMB1) { if (GET_CODE (operands[1]) != REG) ! operands[1] = force_reg (DImode, operands[1]); if (GET_CODE (operands[2]) != REG) ! operands[2] = force_reg (DImode, operands[2]); } " ) *************** *** 8005,8011 **** (define_insn "cstoresi_nltu_thumb1" [(set (match_operand:SI 0 "s_register_operand" "=l,l") ! (neg:SI (gtu:SI (match_operand:SI 1 "s_register_operand" "l,*h") (match_operand:SI 2 "thumb1_cmp_operand" "lI*h,*r"))))] "TARGET_THUMB1" "cmp\\t%1, %2\;sbc\\t%0, %0, %0" --- 8005,8011 ---- (define_insn "cstoresi_nltu_thumb1" [(set (match_operand:SI 0 "s_register_operand" "=l,l") ! (neg:SI (ltu:SI (match_operand:SI 1 "s_register_operand" "l,*h") (match_operand:SI 2 "thumb1_cmp_operand" "lI*h,*r"))))] "TARGET_THUMB1" "cmp\\t%1, %2\;sbc\\t%0, %0, %0" *************** *** 8051,8057 **** (if_then_else:SF (match_operand 1 "arm_comparison_operator" "") (match_operand:SF 2 "s_register_operand" "") (match_operand:SF 3 "nonmemory_operand" "")))] ! "TARGET_32BIT" " { enum rtx_code code = GET_CODE (operands[1]); --- 8051,8057 ---- (if_then_else:SF (match_operand 1 "arm_comparison_operator" "") (match_operand:SF 2 "s_register_operand" "") (match_operand:SF 3 "nonmemory_operand" "")))] ! "TARGET_32BIT && TARGET_HARD_FLOAT" " { enum rtx_code code = GET_CODE (operands[1]); diff -Nrcpad gcc-4.3.3/gcc/config/avr/avr.md gcc-4.3.4/gcc/config/avr/avr.md *** gcc-4.3.3/gcc/config/avr/avr.md Fri Sep 12 17:29:38 2008 --- gcc-4.3.4/gcc/config/avr/avr.md Mon Mar 9 20:49:28 2009 *************** *** 1,8 **** ;; -*- Mode: Scheme -*- ;; Machine description for GNU compiler, ;; for ATMEL AVR micro controllers. ! ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008 ! ;; Free Software Foundation, Inc. ;; Contributed by Denis Chertykov (denisc@overta.ru) ;; This file is part of GCC. --- 1,8 ---- ;; -*- Mode: Scheme -*- ;; Machine description for GNU compiler, ;; for ATMEL AVR micro controllers. ! ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, ! ;; 2009 Free Software Foundation, Inc. ;; Contributed by Denis Chertykov (denisc@overta.ru) ;; This file is part of GCC. *************** *** 1180,1186 **** return \"bug\"; }" [(set_attr "length" "4,4") ! (set_attr "cc" "set_n,set_n")]) ;;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; ior --- 1180,1186 ---- return \"bug\"; }" [(set_attr "length" "4,4") ! (set_attr "cc" "set_n,clobber")]) ;;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; ior diff -Nrcpad gcc-4.3.3/gcc/config/i386/driver-i386.c gcc-4.3.4/gcc/config/i386/driver-i386.c *** gcc-4.3.3/gcc/config/i386/driver-i386.c Tue Nov 6 20:14:22 2007 --- gcc-4.3.4/gcc/config/i386/driver-i386.c Thu May 14 08:23:31 2009 *************** *** 1,5 **** /* Subroutines for the gcc driver. ! Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GCC. --- 1,5 ---- /* Subroutines for the gcc driver. ! Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. This file is part of GCC. *************** detect_caches_intel (unsigned max_level) *** 151,156 **** --- 151,167 ---- return describe_cache (l1_sizekb, l1_line, assoc); } + enum vendor_signatures + { + SIG_INTEL = 0x756e6547 /* Genu */, + SIG_AMD = 0x68747541 /* Auth */ + }; + + enum processor_signatures + { + SIG_GEODE = 0x646f6547 /* Geod */ + }; + /* This will be called by the spec parser in gcc.c when it sees a %:local_cpu_detect(args) construct. Currently it will be called with either "arch" or "tune" as argument depending on if -march=native *************** const char *host_detect_local_cpu (int a *** 231,257 **** if (!arch) { ! if (vendor == *(unsigned int*) "Auth") cache = detect_caches_amd (ext_level); ! else if (vendor == *(unsigned int*) "Genu") cache = detect_caches_intel (max_level); } ! if (vendor == *(unsigned int*) "Auth") { ! processor = PROCESSOR_PENTIUM; ! if (has_mmx) ! processor = PROCESSOR_K6; ! if (has_3dnowp) ! processor = PROCESSOR_ATHLON; ! if (has_sse2 || has_longmode) ! processor = PROCESSOR_K8; ! if (has_sse4a) processor = PROCESSOR_AMDFAM10; } - else if (vendor == *(unsigned int*) "Geod") - processor = PROCESSOR_GEODE; else { switch (family) --- 242,276 ---- if (!arch) { ! if (vendor == SIG_AMD) cache = detect_caches_amd (ext_level); ! else if (vendor == SIG_INTEL) cache = detect_caches_intel (max_level); } ! if (vendor == SIG_AMD) { ! unsigned int name; ! /* Detect geode processor by its processor signature. */ ! if (ext_level > 0x80000001) ! __cpuid (0x80000002, name, ebx, ecx, edx); ! else ! name = 0; ! ! if (name == SIG_GEODE) ! processor = PROCESSOR_GEODE; ! else if (has_sse4a) processor = PROCESSOR_AMDFAM10; + else if (has_sse2 || has_longmode) + processor = PROCESSOR_K8; + else if (has_3dnowp) + processor = PROCESSOR_ATHLON; + else if (has_mmx) + processor = PROCESSOR_K6; + else + processor = PROCESSOR_PENTIUM; } else { switch (family) diff -Nrcpad gcc-4.3.3/gcc/config/i386/i386.c gcc-4.3.4/gcc/config/i386/i386.c *** gcc-4.3.3/gcc/config/i386/i386.c Thu Aug 28 13:31:33 2008 --- gcc-4.3.4/gcc/config/i386/i386.c Thu Jul 23 10:23:43 2009 *************** ix86_function_regparm (const_tree type, *** 3239,3245 **** /* Use register calling convention for local functions when possible. */ if (decl && TREE_CODE (decl) == FUNCTION_DECL ! && flag_unit_at_a_time && !profile_flag) { /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */ struct cgraph_local_info *i = cgraph_local_info (CONST_CAST_TREE(decl)); --- 3239,3245 ---- /* Use register calling convention for local functions when possible. */ if (decl && TREE_CODE (decl) == FUNCTION_DECL ! && flag_unit_at_a_time && optimize && !profile_flag) { /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */ struct cgraph_local_info *i = cgraph_local_info (CONST_CAST_TREE(decl)); *************** ix86_function_sseregparm (const_tree typ *** 3326,3332 **** /* For local functions, pass up to SSE_REGPARM_MAX SFmode (and DFmode for SSE2) arguments in SSE registers. */ ! if (decl && TARGET_SSE_MATH && flag_unit_at_a_time && !profile_flag) { /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */ struct cgraph_local_info *i = cgraph_local_info (CONST_CAST_TREE(decl)); --- 3326,3333 ---- /* For local functions, pass up to SSE_REGPARM_MAX SFmode (and DFmode for SSE2) arguments in SSE registers. */ ! if (decl && TARGET_SSE_MATH ! && flag_unit_at_a_time && optimize && !profile_flag) { /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */ struct cgraph_local_info *i = cgraph_local_info (CONST_CAST_TREE(decl)); *************** ix86_expand_prologue (void) *** 6483,6496 **** insn = emit_insn (gen_set_got (pic_offset_table_rtx)); } ! /* Prevent function calls from being scheduled before the call to mcount. ! In the pic_reg_used case, make sure that the got load isn't deleted. */ ! if (current_function_profile) ! { ! if (pic_reg_used) ! emit_insn (gen_prologue_use (pic_offset_table_rtx)); ! emit_insn (gen_blockage ()); ! } /* Emit cld instruction if stringops are used in the function. */ if (TARGET_CLD && ix86_current_function_needs_cld) --- 6484,6504 ---- insn = emit_insn (gen_set_got (pic_offset_table_rtx)); } ! /* In the pic_reg_used case, make sure that the got load isn't deleted ! when mcount needs it. Blockage to avoid call movement across mcount ! call is emitted in generic code after the NOTE_INSN_PROLOGUE_END ! note. */ ! if (current_function_profile && pic_reg_used) ! emit_insn (gen_prologue_use (pic_offset_table_rtx)); ! ! /* Prevent instructions from being scheduled into register save push ! sequence when access to the redzone area is done through frame pointer. ! The offset betweeh the frame pointer and the stack pointer is calculated ! relative to the value of the stack pointer at the end of the function ! prologue, and moving instructions that access redzone area via frame ! pointer inside push sequence violates this assumption. */ ! if (frame_pointer_needed && frame.red_zone_size) ! emit_insn (gen_memory_blockage ()); /* Emit cld instruction if stringops are used in the function. */ if (TARGET_CLD && ix86_current_function_needs_cld) *************** ix86_expand_epilogue (int style) *** 6539,6544 **** --- 6547,6557 ---- ix86_compute_frame_layout (&frame); + /* See the comment about red zone and frame + pointer usage in ix86_expand_prologue. */ + if (frame_pointer_needed && frame.red_zone_size) + emit_insn (gen_memory_blockage ()); + /* Calculate start of saved registers relative to ebp. Special care must be taken for the normal return case of a function using eh_return: the eax and edx registers are marked as saved, but not *************** static const char * *** 9921,9936 **** output_387_ffreep (rtx *operands ATTRIBUTE_UNUSED, int opno) { if (TARGET_USE_FFREEP) ! #if HAVE_AS_IX86_FFREEP return opno ? "ffreep\t%y1" : "ffreep\t%y0"; #else { ! static char retval[] = ".word\t0xc_df"; int regno = REGNO (operands[opno]); gcc_assert (FP_REGNO_P (regno)); ! retval[9] = '0' + (regno - FIRST_STACK_REG); return retval; } #endif --- 9934,9951 ---- output_387_ffreep (rtx *operands ATTRIBUTE_UNUSED, int opno) { if (TARGET_USE_FFREEP) ! #ifdef HAVE_AS_IX86_FFREEP return opno ? "ffreep\t%y1" : "ffreep\t%y0"; #else { ! static char retval[32]; int regno = REGNO (operands[opno]); gcc_assert (FP_REGNO_P (regno)); ! regno -= FIRST_STACK_REG; ! ! snprintf (retval, sizeof (retval), ASM_SHORT "0xc%ddf", regno); return retval; } #endif *************** expand_movmem_via_rep_mov (rtx destmem, *** 14773,14778 **** --- 14788,14809 ---- destexp = gen_rtx_PLUS (Pmode, destptr, countreg); srcexp = gen_rtx_PLUS (Pmode, srcptr, countreg); } + if (CONST_INT_P (count)) + { + count = GEN_INT (INTVAL (count) + & ~((HOST_WIDE_INT) GET_MODE_SIZE (mode) - 1)); + destmem = shallow_copy_rtx (destmem); + srcmem = shallow_copy_rtx (srcmem); + set_mem_size (destmem, count); + set_mem_size (srcmem, count); + } + else + { + if (MEM_SIZE (destmem)) + set_mem_size (destmem, NULL_RTX); + if (MEM_SIZE (srcmem)) + set_mem_size (srcmem, NULL_RTX); + } emit_insn (gen_rep_mov (destptr, destmem, srcptr, srcmem, countreg, destexp, srcexp)); } *************** expand_movmem_via_rep_mov (rtx destmem, *** 14781,14788 **** Arguments have same meaning as for previous function */ static void expand_setmem_via_rep_stos (rtx destmem, rtx destptr, rtx value, ! rtx count, ! enum machine_mode mode) { rtx destexp; rtx countreg; --- 14812,14819 ---- Arguments have same meaning as for previous function */ static void expand_setmem_via_rep_stos (rtx destmem, rtx destptr, rtx value, ! rtx count, enum machine_mode mode, ! rtx orig_value) { rtx destexp; rtx countreg; *************** expand_setmem_via_rep_stos (rtx destmem, *** 14799,14804 **** --- 14830,14844 ---- } else destexp = gen_rtx_PLUS (Pmode, destptr, countreg); + if (orig_value == const0_rtx && CONST_INT_P (count)) + { + count = GEN_INT (INTVAL (count) + & ~((HOST_WIDE_INT) GET_MODE_SIZE (mode) - 1)); + destmem = shallow_copy_rtx (destmem); + set_mem_size (destmem, count); + } + else if (MEM_SIZE (destmem)) + set_mem_size (destmem, NULL_RTX); emit_insn (gen_rep_stos (destptr, countreg, destmem, value, destexp)); } *************** ix86_expand_setmem (rtx dst, rtx count_e *** 15871,15885 **** break; case rep_prefix_8_byte: expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp, ! DImode); break; case rep_prefix_4_byte: expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp, ! SImode); break; case rep_prefix_1_byte: expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp, ! QImode); break; } /* Adjust properly the offset of src and dest memory for aliasing. */ --- 15911,15925 ---- break; case rep_prefix_8_byte: expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp, ! DImode, val_exp); break; case rep_prefix_4_byte: expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp, ! SImode, val_exp); break; case rep_prefix_1_byte: expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp, ! QImode, val_exp); break; } /* Adjust properly the offset of src and dest memory for aliasing. */ *************** ix86_veclibabi_acml (enum built_in_funct *** 21481,21487 **** static tree ix86_vectorize_builtin_conversion (unsigned int code, tree type) { ! if (TREE_CODE (type) != VECTOR_TYPE) return NULL_TREE; switch (code) --- 21521,21529 ---- static tree ix86_vectorize_builtin_conversion (unsigned int code, tree type) { ! if (TREE_CODE (type) != VECTOR_TYPE ! /* There are only conversions from/to signed integers. */ ! || TYPE_UNSIGNED (TREE_TYPE (type))) return NULL_TREE; switch (code) diff -Nrcpad gcc-4.3.3/gcc/config/i386/i386.h gcc-4.3.4/gcc/config/i386/i386.h *** gcc-4.3.3/gcc/config/i386/i386.h Wed May 21 08:54:15 2008 --- gcc-4.3.4/gcc/config/i386/i386.h Thu Jun 18 21:23:29 2009 *************** enum reg_class *** 1550,1555 **** --- 1550,1556 ---- || ((CLASS) == AD_REGS) \ || ((CLASS) == SIREG) \ || ((CLASS) == DIREG) \ + || ((CLASS) == SSE_FIRST_REG) \ || ((CLASS) == FP_TOP_REG) \ || ((CLASS) == FP_SECOND_REG)) diff -Nrcpad gcc-4.3.3/gcc/config/i386/i386.md gcc-4.3.4/gcc/config/i386/i386.md *** gcc-4.3.3/gcc/config/i386/i386.md Sun Jan 11 17:29:23 2009 --- gcc-4.3.4/gcc/config/i386/i386.md Thu Jul 23 10:23:43 2009 *************** *** 67,78 **** (UNSPEC_DEF_CFA 15) (UNSPEC_SET_RIP 16) (UNSPEC_SET_GOT_OFFSET 17) ; TLS support ! (UNSPEC_TP 18) ! (UNSPEC_TLS_GD 19) ! (UNSPEC_TLS_LD_BASE 20) ! (UNSPEC_TLSDESC 21) ; Other random patterns (UNSPEC_SCAS 30) --- 67,79 ---- (UNSPEC_DEF_CFA 15) (UNSPEC_SET_RIP 16) (UNSPEC_SET_GOT_OFFSET 17) + (UNSPEC_MEMORY_BLOCKAGE 18) ; TLS support ! (UNSPEC_TP 20) ! (UNSPEC_TLS_GD 21) ! (UNSPEC_TLS_LD_BASE 22) ! (UNSPEC_TLSDESC 23) ; Other random patterns (UNSPEC_SCAS 30) *************** *** 144,149 **** --- 145,151 ---- (UNSPEC_FPREM1_U 91) (UNSPEC_C2_FLAG 95) + (UNSPEC_FXAM_MEM 96) ; SSP patterns (UNSPEC_SP_SET 100) *************** *** 528,533 **** --- 530,538 ---- ;; All single word integer modes. (define_mode_iterator SWI [QI HI SI (DI "TARGET_64BIT")]) + ;; Single word integer modes without QImode. + (define_mode_iterator SWI248 [HI SI (DI "TARGET_64BIT")]) + ;; Instruction suffix for integer modes. (define_mode_attr imodesuffix [(QI "b") (HI "w") (SI "l") (DI "q")]) *************** *** 1397,1403 **** gcc_unreachable (); } ! case TYPE_MMXADD: return "pxor\t%0, %0"; case TYPE_MMXMOV: --- 1402,1408 ---- gcc_unreachable (); } ! case TYPE_MMX: return "pxor\t%0, %0"; case TYPE_MMXMOV: *************** *** 1415,1421 **** } [(set (attr "type") (cond [(eq_attr "alternative" "2") ! (const_string "mmxadd") (eq_attr "alternative" "3,4,5") (const_string "mmxmov") (eq_attr "alternative" "6") --- 1420,1426 ---- } [(set (attr "type") (cond [(eq_attr "alternative" "2") ! (const_string "mmx") (eq_attr "alternative" "3,4,5") (const_string "mmxmov") (eq_attr "alternative" "6") *************** *** 2231,2237 **** return "movq\t{%1, %0|%0, %1}"; case TYPE_SSELOG1: ! case TYPE_MMXADD: return "pxor\t%0, %0"; case TYPE_MULTI: --- 2236,2242 ---- return "movq\t{%1, %0|%0, %1}"; case TYPE_SSELOG1: ! case TYPE_MMX: return "pxor\t%0, %0"; case TYPE_MULTI: *************** *** 2252,2258 **** } [(set (attr "type") (cond [(eq_attr "alternative" "5") ! (const_string "mmxadd") (eq_attr "alternative" "6,7,8,9,10") (const_string "mmxmov") (eq_attr "alternative" "11") --- 2257,2263 ---- } [(set (attr "type") (cond [(eq_attr "alternative" "5") ! (const_string "mmx") (eq_attr "alternative" "6,7,8,9,10") (const_string "mmxmov") (eq_attr "alternative" "11") *************** *** 4178,4211 **** (set_attr "mode" "SF")]) (define_insn "*truncdfsf_mixed" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=m,?fx*r,Y2") (float_truncate:SF ! (match_operand:DF 1 "nonimmediate_operand" "f ,f ,Y2m"))) ! (clobber (match_operand:SF 2 "memory_operand" "=X,m ,X"))] "TARGET_MIX_SSE_I387" { switch (which_alternative) { case 0: return output_387_reg_move (insn, operands); - case 1: - return "#"; - case 2: return "cvtsd2ss\t{%1, %0|%0, %1}"; default: ! gcc_unreachable (); } } ! [(set_attr "type" "fmov,multi,ssecvt") ! (set_attr "unit" "*,i387,*") (set_attr "mode" "SF")]) (define_insn "*truncdfsf_i387" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=m,?fx*r") (float_truncate:SF ! (match_operand:DF 1 "nonimmediate_operand" "f,f"))) ! (clobber (match_operand:SF 2 "memory_operand" "=X,m"))] "TARGET_80387" { switch (which_alternative) --- 4183,4214 ---- (set_attr "mode" "SF")]) (define_insn "*truncdfsf_mixed" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=m,Y2 ,?f,?x,?*r") (float_truncate:SF ! (match_operand:DF 1 "nonimmediate_operand" "f ,Y2m,f ,f ,f"))) ! (clobber (match_operand:SF 2 "memory_operand" "=X,X ,m ,m ,m"))] "TARGET_MIX_SSE_I387" { switch (which_alternative) { case 0: return output_387_reg_move (insn, operands); case 1: return "cvtsd2ss\t{%1, %0|%0, %1}"; + default: ! return "#"; } } ! [(set_attr "type" "fmov,ssecvt,multi,multi,multi") ! (set_attr "unit" "*,*,i387,i387,i387") (set_attr "mode" "SF")]) (define_insn "*truncdfsf_i387" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=m,?f,?x,?*r") (float_truncate:SF ! (match_operand:DF 1 "nonimmediate_operand" "f ,f ,f ,f"))) ! (clobber (match_operand:SF 2 "memory_operand" "=X,m ,m ,m"))] "TARGET_80387" { switch (which_alternative) *************** *** 4213,4226 **** case 0: return output_387_reg_move (insn, operands); - case 1: - return "#"; default: ! gcc_unreachable (); } } ! [(set_attr "type" "fmov,multi") ! (set_attr "unit" "*,i387") (set_attr "mode" "SF")]) (define_insn "*truncdfsf2_i387_1" --- 4216,4227 ---- case 0: return output_387_reg_move (insn, operands); default: ! return "#"; } } ! [(set_attr "type" "fmov,multi,multi,multi") ! (set_attr "unit" "*,i387,i387,i387") (set_attr "mode" "SF")]) (define_insn "*truncdfsf2_i387_1" *************** *** 4271,4301 **** }) (define_insn "*truncxfsf2_mixed" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=m,?fx*r") (float_truncate:SF ! (match_operand:XF 1 "register_operand" "f,f"))) ! (clobber (match_operand:SF 2 "memory_operand" "=X,m"))] "TARGET_80387" { gcc_assert (!which_alternative); return output_387_reg_move (insn, operands); } ! [(set_attr "type" "fmov,multi") ! (set_attr "unit" "*,i387") (set_attr "mode" "SF")]) (define_insn "*truncxfdf2_mixed" ! [(set (match_operand:DF 0 "nonimmediate_operand" "=m,?fY2*r") (float_truncate:DF ! (match_operand:XF 1 "register_operand" "f,f"))) ! (clobber (match_operand:DF 2 "memory_operand" "=X,m"))] "TARGET_80387" { gcc_assert (!which_alternative); return output_387_reg_move (insn, operands); } ! [(set_attr "type" "fmov,multi") ! (set_attr "unit" "*,i387") (set_attr "mode" "DF")]) (define_insn "truncxf2_i387_noop" --- 4272,4302 ---- }) (define_insn "*truncxfsf2_mixed" ! [(set (match_operand:SF 0 "nonimmediate_operand" "=m,?f,?x,?*r") (float_truncate:SF ! (match_operand:XF 1 "register_operand" "f ,f ,f ,f"))) ! (clobber (match_operand:SF 2 "memory_operand" "=X,m ,m ,m"))] "TARGET_80387" { gcc_assert (!which_alternative); return output_387_reg_move (insn, operands); } ! [(set_attr "type" "fmov,multi,multi,multi") ! (set_attr "unit" "*,i387,i387,i387") (set_attr "mode" "SF")]) (define_insn "*truncxfdf2_mixed" ! [(set (match_operand:DF 0 "nonimmediate_operand" "=m,?f,?Y2,?*r") (float_truncate:DF ! (match_operand:XF 1 "register_operand" "f ,f ,f ,f"))) ! (clobber (match_operand:DF 2 "memory_operand" "=X,m ,m ,m"))] "TARGET_80387" { gcc_assert (!which_alternative); return output_387_reg_move (insn, operands); } ! [(set_attr "type" "fmov,multi,multi,multi") ! (set_attr "unit" "*,i387,i387,i387") (set_attr "mode" "DF")]) (define_insn "truncxf2_i387_noop" *************** *** 14877,14882 **** --- 14878,14901 ---- "" [(set_attr "length" "0")]) + ;; Do not schedule instructions accessing memory across this point. + + (define_expand "memory_blockage" + [(set (match_dup 0) + (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BLOCKAGE))] + "" + { + operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); + MEM_VOLATILE_P (operands[0]) = 1; + }) + + (define_insn "*memory_blockage" + [(set (match_operand:BLK 0 "" "") + (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BLOCKAGE))] + "" + "" + [(set_attr "length" "0")]) + ;; As USE insns aren't meaningful after reload, this is used instead ;; to prevent deleting instructions setting registers for PIC code (define_insn "prologue_use" *************** *** 15001,15007 **** (define_insn "set_rip_rex64" [(set (match_operand:DI 0 "register_operand" "=r") ! (unspec:DI [(match_operand:DI 1 "" "")] UNSPEC_SET_RIP))] "TARGET_64BIT" "lea{q}\t{%l1(%%rip), %0|%0, %l1[rip]}" [(set_attr "type" "lea") --- 15020,15026 ---- (define_insn "set_rip_rex64" [(set (match_operand:DI 0 "register_operand" "=r") ! (unspec:DI [(label_ref (match_operand 1 "" ""))] UNSPEC_SET_RIP))] "TARGET_64BIT" "lea{q}\t{%l1(%%rip), %0|%0, %l1[rip]}" [(set_attr "type" "lea") *************** *** 15009,15015 **** (define_insn "set_got_offset_rex64" [(set (match_operand:DI 0 "register_operand" "=r") ! (unspec:DI [(match_operand:DI 1 "" "")] UNSPEC_SET_GOT_OFFSET))] "TARGET_64BIT" "movabs{q}\t{$_GLOBAL_OFFSET_TABLE_-%l1, %0|%0, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_-%l1}" [(set_attr "type" "imov") --- 15028,15036 ---- (define_insn "set_got_offset_rex64" [(set (match_operand:DI 0 "register_operand" "=r") ! (unspec:DI ! [(label_ref (match_operand 1 "" ""))] ! UNSPEC_SET_GOT_OFFSET))] "TARGET_64BIT" "movabs{q}\t{$_GLOBAL_OFFSET_TABLE_-%l1, %0|%0, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_-%l1}" [(set_attr "type" "imov") *************** *** 15228,15255 **** [(set_attr "prefix_0f" "1") (set_attr "mode" "SI")]) ! (define_insn "popcountsi2" ! [(set (match_operand:SI 0 "register_operand" "=r") ! (popcount:SI (match_operand:SI 1 "nonimmediate_operand" "rm"))) (clobber (reg:CC FLAGS_REG))] "TARGET_POPCNT" ! "popcnt{l}\t{%1, %0|%0, %1}" [(set_attr "prefix_rep" "1") (set_attr "type" "bitmanip") ! (set_attr "mode" "SI")]) ! (define_insn "*popcountsi2_cmp" [(set (reg FLAGS_REG) (compare ! (popcount:SI (match_operand:SI 1 "nonimmediate_operand" "rm")) (const_int 0))) ! (set (match_operand:SI 0 "register_operand" "=r") ! (popcount:SI (match_dup 1)))] "TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)" ! "popcnt{l}\t{%1, %0|%0, %1}" [(set_attr "prefix_rep" "1") (set_attr "type" "bitmanip") ! (set_attr "mode" "SI")]) (define_insn "*popcountsi2_cmp_zext" [(set (reg FLAGS_REG) --- 15249,15290 ---- [(set_attr "prefix_0f" "1") (set_attr "mode" "SI")]) ! (define_insn "popcount2" ! [(set (match_operand:SWI248 0 "register_operand" "=r") ! (popcount:SWI248 ! (match_operand:SWI248 1 "nonimmediate_operand" "rm"))) (clobber (reg:CC FLAGS_REG))] "TARGET_POPCNT" ! { ! #if TARGET_MACHO ! return "popcnt\t{%1, %0|%0, %1}"; ! #else ! return "popcnt{}\t{%1, %0|%0, %1}"; ! #endif ! } [(set_attr "prefix_rep" "1") (set_attr "type" "bitmanip") ! (set_attr "mode" "")]) ! (define_insn "*popcount2_cmp" [(set (reg FLAGS_REG) (compare ! (popcount:SWI248 ! (match_operand:SWI248 1 "nonimmediate_operand" "rm")) (const_int 0))) ! (set (match_operand:SWI248 0 "register_operand" "=r") ! (popcount:SWI248 (match_dup 1)))] "TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)" ! { ! #if TARGET_MACHO ! return "popcnt\t{%1, %0|%0, %1}"; ! #else ! return "popcnt{}\t{%1, %0|%0, %1}"; ! #endif ! } [(set_attr "prefix_rep" "1") (set_attr "type" "bitmanip") ! (set_attr "mode" "")]) (define_insn "*popcountsi2_cmp_zext" [(set (reg FLAGS_REG) *************** *** 15259,15265 **** (set (match_operand:DI 0 "register_operand" "=r") (zero_extend:DI(popcount:SI (match_dup 1))))] "TARGET_64BIT && TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)" ! "popcnt{l}\t{%1, %0|%0, %1}" [(set_attr "prefix_rep" "1") (set_attr "type" "bitmanip") (set_attr "mode" "SI")]) --- 15294,15306 ---- (set (match_operand:DI 0 "register_operand" "=r") (zero_extend:DI(popcount:SI (match_dup 1))))] "TARGET_64BIT && TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)" ! { ! #if TARGET_MACHO ! return "popcnt\t{%1, %0|%0, %1}"; ! #else ! return "popcnt{}\t{%1, %0|%0, %1}"; ! #endif ! } [(set_attr "prefix_rep" "1") (set_attr "type" "bitmanip") (set_attr "mode" "SI")]) *************** *** 15355,15383 **** [(set_attr "prefix_0f" "1") (set_attr "mode" "DI")]) - (define_insn "popcountdi2" - [(set (match_operand:DI 0 "register_operand" "=r") - (popcount:DI (match_operand:DI 1 "nonimmediate_operand" "rm"))) - (clobber (reg:CC FLAGS_REG))] - "TARGET_64BIT && TARGET_POPCNT" - "popcnt{q}\t{%1, %0|%0, %1}" - [(set_attr "prefix_rep" "1") - (set_attr "type" "bitmanip") - (set_attr "mode" "DI")]) - - (define_insn "*popcountdi2_cmp" - [(set (reg FLAGS_REG) - (compare - (popcount:DI (match_operand:DI 1 "nonimmediate_operand" "rm")) - (const_int 0))) - (set (match_operand:DI 0 "register_operand" "=r") - (popcount:DI (match_dup 1)))] - "TARGET_64BIT && TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)" - "popcnt{q}\t{%1, %0|%0, %1}" - [(set_attr "prefix_rep" "1") - (set_attr "type" "bitmanip") - (set_attr "mode" "DI")]) - (define_expand "clzhi2" [(parallel [(set (match_operand:HI 0 "register_operand" "") --- 15396,15401 ---- *************** *** 15416,15444 **** [(set_attr "prefix_0f" "1") (set_attr "mode" "HI")]) - (define_insn "popcounthi2" - [(set (match_operand:HI 0 "register_operand" "=r") - (popcount:HI (match_operand:HI 1 "nonimmediate_operand" "rm"))) - (clobber (reg:CC FLAGS_REG))] - "TARGET_POPCNT" - "popcnt{w}\t{%1, %0|%0, %1}" - [(set_attr "prefix_rep" "1") - (set_attr "type" "bitmanip") - (set_attr "mode" "HI")]) - - (define_insn "*popcounthi2_cmp" - [(set (reg FLAGS_REG) - (compare - (popcount:HI (match_operand:HI 1 "nonimmediate_operand" "rm")) - (const_int 0))) - (set (match_operand:HI 0 "register_operand" "=r") - (popcount:HI (match_dup 1)))] - "TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)" - "popcnt{w}\t{%1, %0|%0, %1}" - [(set_attr "prefix_rep" "1") - (set_attr "type" "bitmanip") - (set_attr "mode" "HI")]) - (define_expand "paritydi2" [(set (match_operand:DI 0 "register_operand" "") (parity:DI (match_operand:DI 1 "register_operand" "")))] --- 15434,15439 ---- *************** *** 15625,15631 **** (unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")] UNSPEC_TLS_GD)] "TARGET_64BIT" ! ".byte\t0x66\;lea{q}\t{%a1@TLSGD(%%rip), %%rdi|rdi, %a1@TLSGD[rip]}\;.word\t0x6666\;rex64\;call\t%P2" [(set_attr "type" "multi") (set_attr "length" "16")]) --- 15620,15626 ---- (unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")] UNSPEC_TLS_GD)] "TARGET_64BIT" ! { return ".byte\t0x66\n\tlea{q}\t{%a1@TLSGD(%%rip), %%rdi|rdi, %a1@TLSGD[rip]}\n" ASM_SHORT "0x6666\n\trex64\n\tcall\t%P2"; } [(set_attr "type" "multi") (set_attr "length" "16")]) *************** *** 18472,18480 **** (set_attr "unit" "i387") (set_attr "mode" "")]) (define_expand "isinf2" [(use (match_operand:SI 0 "register_operand" "")) ! (use (match_operand:X87MODEF 1 "register_operand" ""))] "TARGET_USE_FANCY_MATH_387 && TARGET_C99_FUNCTIONS && !(SSE_FLOAT_MODE_P (mode) && TARGET_SSE_MATH)" --- 18467,18522 ---- (set_attr "unit" "i387") (set_attr "mode" "")]) + (define_insn_and_split "fxam2_i387_with_temp" + [(set (match_operand:HI 0 "register_operand" "") + (unspec:HI + [(match_operand:MODEF 1 "memory_operand" "")] + UNSPEC_FXAM_MEM))] + "TARGET_USE_FANCY_MATH_387 + && !(reload_completed || reload_in_progress)" + "#" + "&& 1" + [(set (match_dup 2)(match_dup 1)) + (set (match_dup 0) + (unspec:HI [(match_dup 2)] UNSPEC_FXAM))] + { + operands[2] = gen_reg_rtx (mode); + + MEM_VOLATILE_P (operands[1]) = 1; + } + [(set_attr "type" "multi") + (set_attr "unit" "i387") + (set_attr "mode" "")]) + + (define_expand "isinfxf2" + [(use (match_operand:SI 0 "register_operand" "")) + (use (match_operand:XF 1 "register_operand" ""))] + "TARGET_USE_FANCY_MATH_387 + && TARGET_C99_FUNCTIONS" + { + rtx mask = GEN_INT (0x45); + rtx val = GEN_INT (0x05); + + rtx cond; + + rtx scratch = gen_reg_rtx (HImode); + rtx res = gen_reg_rtx (QImode); + + emit_insn (gen_fxamxf2_i387 (scratch, operands[1])); + + emit_insn (gen_andqi_ext_0 (scratch, scratch, mask)); + emit_insn (gen_cmpqi_ext_3 (scratch, val)); + cond = gen_rtx_fmt_ee (EQ, QImode, + gen_rtx_REG (CCmode, FLAGS_REG), + const0_rtx); + emit_insn (gen_rtx_SET (VOIDmode, res, cond)); + emit_insn (gen_zero_extendqisi2 (operands[0], res)); + DONE; + }) + (define_expand "isinf2" [(use (match_operand:SI 0 "register_operand" "")) ! (use (match_operand:MODEF 1 "nonimmediate_operand" ""))] "TARGET_USE_FANCY_MATH_387 && TARGET_C99_FUNCTIONS && !(SSE_FLOAT_MODE_P (mode) && TARGET_SSE_MATH)" *************** *** 18487,18493 **** rtx scratch = gen_reg_rtx (HImode); rtx res = gen_reg_rtx (QImode); ! emit_insn (gen_fxam2_i387 (scratch, operands[1])); emit_insn (gen_andqi_ext_0 (scratch, scratch, mask)); emit_insn (gen_cmpqi_ext_3 (scratch, val)); cond = gen_rtx_fmt_ee (EQ, QImode, --- 18529,18546 ---- rtx scratch = gen_reg_rtx (HImode); rtx res = gen_reg_rtx (QImode); ! /* Remove excess precision by forcing value through memory. */ ! if (memory_operand (operands[1], VOIDmode)) ! emit_insn (gen_fxam2_i387_with_temp (scratch, operands[1])); ! else ! { ! int slot = virtuals_instantiated ? SLOT_TEMP : SLOT_VIRTUAL; ! rtx temp = assign_386_stack_local (mode, slot); ! ! emit_move_insn (temp, operands[1]); ! emit_insn (gen_fxam2_i387_with_temp (scratch, temp)); ! } ! emit_insn (gen_andqi_ext_0 (scratch, scratch, mask)); emit_insn (gen_cmpqi_ext_3 (scratch, val)); cond = gen_rtx_fmt_ee (EQ, QImode, diff -Nrcpad gcc-4.3.3/gcc/config/i386/linux.h gcc-4.3.4/gcc/config/i386/linux.h *** gcc-4.3.3/gcc/config/i386/linux.h Wed Nov 28 01:04:27 2007 --- gcc-4.3.4/gcc/config/i386/linux.h Thu May 21 13:26:13 2009 *************** along with GCC; see the file COPYING3. *** 148,154 **** fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ /* Make sure that we have at least 8 byte alignment if > 8 byte \ alignment is preferred. */ \ ! if ((LOG) > 3 && (1 << (LOG)) > ((MAX_SKIP) + 1)) \ fprintf ((FILE), "\t.p2align 3\n"); \ } \ } \ --- 148,156 ---- fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ /* Make sure that we have at least 8 byte alignment if > 8 byte \ alignment is preferred. */ \ ! if ((LOG) > 3 \ ! && (1 << (LOG)) > ((MAX_SKIP) + 1) \ ! && (MAX_SKIP) >= 7) \ fprintf ((FILE), "\t.p2align 3\n"); \ } \ } \ diff -Nrcpad gcc-4.3.3/gcc/config/i386/sse.md gcc-4.3.4/gcc/config/i386/sse.md *** gcc-4.3.3/gcc/config/i386/sse.md Mon Dec 1 12:28:05 2008 --- gcc-4.3.4/gcc/config/i386/sse.md Thu Mar 12 17:50:02 2009 *************** *** 737,743 **** (match_operand:V4SF 1 "register_operand" "0") (match_operand:V4SF 2 "nonimmediate_operand" "xm")) (minus:V4SF (match_dup 1) (match_dup 2)) ! (const_int 5)))] "TARGET_SSE3" "addsubps\t{%2, %0|%0, %2}" [(set_attr "type" "sseadd") --- 737,743 ---- (match_operand:V4SF 1 "register_operand" "0") (match_operand:V4SF 2 "nonimmediate_operand" "xm")) (minus:V4SF (match_dup 1) (match_dup 2)) ! (const_int 10)))] "TARGET_SSE3" "addsubps\t{%2, %0|%0, %2}" [(set_attr "type" "sseadd") *************** *** 2381,2387 **** (match_operand:V2DF 1 "register_operand" "0") (match_operand:V2DF 2 "nonimmediate_operand" "xm")) (minus:V2DF (match_dup 1) (match_dup 2)) ! (const_int 1)))] "TARGET_SSE3" "addsubpd\t{%2, %0|%0, %2}" [(set_attr "type" "sseadd") --- 2381,2387 ---- (match_operand:V2DF 1 "register_operand" "0") (match_operand:V2DF 2 "nonimmediate_operand" "xm")) (minus:V2DF (match_dup 1) (match_dup 2)) ! (const_int 2)))] "TARGET_SSE3" "addsubpd\t{%2, %0|%0, %2}" [(set_attr "type" "sseadd") diff -Nrcpad gcc-4.3.3/gcc/config/i386/x86-64.h gcc-4.3.4/gcc/config/i386/x86-64.h *** gcc-4.3.3/gcc/config/i386/x86-64.h Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/i386/x86-64.h Thu May 21 13:26:13 2009 *************** along with GCC; see the file COPYING3. *** 69,75 **** fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ /* Make sure that we have at least 8 byte alignment if > 8 byte \ alignment is preferred. */ \ ! if ((LOG) > 3 && (1 << (LOG)) > ((MAX_SKIP) + 1)) \ fprintf ((FILE), "\t.p2align 3\n"); \ } \ } \ --- 69,77 ---- fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ /* Make sure that we have at least 8 byte alignment if > 8 byte \ alignment is preferred. */ \ ! if ((LOG) > 3 \ ! && (1 << (LOG)) > ((MAX_SKIP) + 1) \ ! && (MAX_SKIP) >= 7) \ fprintf ((FILE), "\t.p2align 3\n"); \ } \ } \ diff -Nrcpad gcc-4.3.3/gcc/config/ia64/ia64.c gcc-4.3.4/gcc/config/ia64/ia64.c *** gcc-4.3.3/gcc/config/ia64/ia64.c Tue Jul 1 20:59:19 2008 --- gcc-4.3.4/gcc/config/ia64/ia64.c Fri Feb 20 17:18:20 2009 *************** ia64_function_ok_for_sibcall (tree decl, *** 4328,4335 **** return false; /* We must always return with our current GP. This means we can ! only sibcall to functions defined in the current module. */ ! return decl && (*targetm.binds_local_p) (decl); } --- 4328,4336 ---- return false; /* We must always return with our current GP. This means we can ! only sibcall to functions defined in the current module unless ! TARGET_CONST_GP is set to true. */ ! return (decl && (*targetm.binds_local_p) (decl)) || TARGET_CONST_GP; } diff -Nrcpad gcc-4.3.3/gcc/config/m68k/t-rtems gcc-4.3.4/gcc/config/m68k/t-rtems *** gcc-4.3.3/gcc/config/m68k/t-rtems Sat Feb 16 05:52:54 2008 --- gcc-4.3.4/gcc/config/m68k/t-rtems Tue Mar 24 04:24:15 2009 *************** M68K_MLIB_CPU += && (match(MLIB, "^68") *** 4,8 **** --- 4,9 ---- || MLIB == "5206" \ || MLIB == "5208" \ || MLIB == "5307" \ + || MLIB == "5329" \ || MLIB == "5407" \ || MLIB == "5475") diff -Nrcpad gcc-4.3.3/gcc/config/mips/mips.c gcc-4.3.4/gcc/config/mips/mips.c *** gcc-4.3.3/gcc/config/mips/mips.c Sat Jul 12 08:00:46 2008 --- gcc-4.3.4/gcc/config/mips/mips.c Mon Mar 2 20:42:24 2009 *************** mips_mdebug_abi_name (void) *** 7080,7086 **** case ABI_N32: return "abiN32"; case ABI_64: ! return "abiN64"; case ABI_EABI: return TARGET_64BIT ? "eabi64" : "eabi32"; default: --- 7080,7086 ---- case ABI_N32: return "abiN32"; case ABI_64: ! return "abi64"; case ABI_EABI: return TARGET_64BIT ? "eabi64" : "eabi32"; default: diff -Nrcpad gcc-4.3.3/gcc/config/mips/sde.h gcc-4.3.4/gcc/config/mips/sde.h *** gcc-4.3.3/gcc/config/mips/sde.h Wed Sep 19 17:13:33 2007 --- gcc-4.3.4/gcc/config/mips/sde.h Mon Feb 2 20:31:19 2009 *************** along with GCC; see the file COPYING3. *** 56,62 **** #undef SUBTARGET_ASM_SPEC #define SUBTARGET_ASM_SPEC "\ %{!mips1:--trap} \ - %{fPIC|fpic|fPIE|fpie:%{!mips16*:-KPIC}} \ %{mips16:-no-mips16}" #undef LINK_SPEC --- 56,61 ---- diff -Nrcpad gcc-4.3.3/gcc/config/pa/fptr.c gcc-4.3.4/gcc/config/pa/fptr.c *** gcc-4.3.3/gcc/config/pa/fptr.c Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/pa/fptr.c Sat Jan 31 20:05:03 2009 *************** This file is part of GCC. *** 6,12 **** 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 3, or (at your option) any later version. In addition to the permissions in the GNU General Public License, the --- 6,12 ---- 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. In addition to the permissions in the GNU General Public License, the *************** FITNESS FOR A PARTICULAR PURPOSE. See t *** 24,31 **** for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING3. If not see ! . */ /* WARNING: The code is this function depends on internal and undocumented details of the GNU linker and dynamic loader as implemented for parisc --- 24,32 ---- 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, 51 Franklin Street, Fifth Floor, Boston, MA ! 02110-1301, USA. */ /* WARNING: The code is this function depends on internal and undocumented details of the GNU linker and dynamic loader as implemented for parisc diff -Nrcpad gcc-4.3.3/gcc/config/pa/milli64.S gcc-4.3.4/gcc/config/pa/milli64.S *** gcc-4.3.3/gcc/config/pa/milli64.S Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/pa/milli64.S Sat Jan 31 20:05:03 2009 *************** This file is part of GCC. *** 8,14 **** 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 3, or (at your option) any later version. In addition to the permissions in the GNU General Public License, the --- 8,14 ---- 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. In addition to the permissions in the GNU General Public License, the *************** FITNESS FOR A PARTICULAR PURPOSE. See t *** 26,33 **** for more details. You should have received a copy of the GNU General Public License ! along with GCC; see the file COPYING3. If not see ! . */ #ifdef pa64 .level 2.0w --- 26,34 ---- 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, 51 Franklin Street, Fifth Floor, Boston, MA ! 02110-1301, USA. */ #ifdef pa64 .level 2.0w diff -Nrcpad gcc-4.3.3/gcc/config/pa/pa.c gcc-4.3.4/gcc/config/pa/pa.c *** gcc-4.3.3/gcc/config/pa/pa.c Sat Jan 17 15:11:51 2009 --- gcc-4.3.4/gcc/config/pa/pa.c Mon Jul 27 15:30:41 2009 *************** compute_zdepwi_operands (unsigned HOST_W *** 2217,2225 **** else { /* Find the width of the bitstring in IMM. */ ! for (len = 5; len < 32; len++) { ! if ((imm & (1 << len)) == 0) break; } --- 2217,2225 ---- else { /* Find the width of the bitstring in IMM. */ ! for (len = 5; len < 32 - lsb; len++) { ! if ((imm & ((unsigned HOST_WIDE_INT) 1 << len)) == 0) break; } *************** compute_zdepwi_operands (unsigned HOST_W *** 2238,2247 **** void compute_zdepdi_operands (unsigned HOST_WIDE_INT imm, unsigned *op) { ! HOST_WIDE_INT lsb, len; /* Find the least significant set bit in IMM. */ ! for (lsb = 0; lsb < HOST_BITS_PER_WIDE_INT; lsb++) { if ((imm & 1) != 0) break; --- 2238,2249 ---- void compute_zdepdi_operands (unsigned HOST_WIDE_INT imm, unsigned *op) { ! int lsb, len, maxlen; ! ! maxlen = MIN (HOST_BITS_PER_WIDE_INT, 64); /* Find the least significant set bit in IMM. */ ! for (lsb = 0; lsb < maxlen; lsb++) { if ((imm & 1) != 0) break; *************** compute_zdepdi_operands (unsigned HOST_W *** 2250,2266 **** /* Choose variants based on *sign* of the 5-bit field. */ if ((imm & 0x10) == 0) ! len = ((lsb <= HOST_BITS_PER_WIDE_INT - 4) ! ? 4 : HOST_BITS_PER_WIDE_INT - lsb); else { /* Find the width of the bitstring in IMM. */ ! for (len = 5; len < HOST_BITS_PER_WIDE_INT; len++) { if ((imm & ((unsigned HOST_WIDE_INT) 1 << len)) == 0) break; } /* Sign extend IMM as a 5-bit value. */ imm = (imm & 0xf) - 0x10; } --- 2252,2271 ---- /* Choose variants based on *sign* of the 5-bit field. */ if ((imm & 0x10) == 0) ! len = (lsb <= maxlen - 4) ? 4 : maxlen - lsb; else { /* Find the width of the bitstring in IMM. */ ! for (len = 5; len < maxlen - lsb; len++) { if ((imm & ((unsigned HOST_WIDE_INT) 1 << len)) == 0) break; } + /* Extend length if host is narrow and IMM is negative. */ + if (HOST_BITS_PER_WIDE_INT == 32 && len == maxlen - lsb) + len += 32; + /* Sign extend IMM as a 5-bit value. */ imm = (imm & 0xf) - 0x10; } diff -Nrcpad gcc-4.3.3/gcc/config/rs6000/rs6000.c gcc-4.3.4/gcc/config/rs6000/rs6000.c *** gcc-4.3.3/gcc/config/rs6000/rs6000.c Tue Nov 18 22:07:58 2008 --- gcc-4.3.4/gcc/config/rs6000/rs6000.c Wed Jul 1 00:24:49 2009 *************** rs6000_emit_sync (enum rtx_code code, en *** 13498,13504 **** rtx shift = NULL_RTX; if (sync_p) ! emit_insn (gen_memory_barrier ()); if (GET_CODE (m) == NOT) used_m = XEXP (m, 0); --- 13498,13504 ---- rtx shift = NULL_RTX; if (sync_p) ! emit_insn (gen_lwsync ()); if (GET_CODE (m) == NOT) used_m = XEXP (m, 0); *************** rs6000_split_atomic_op (enum rtx_code co *** 13738,13744 **** enum machine_mode mode = GET_MODE (mem); rtx label, x, cond = gen_rtx_REG (CCmode, CR0_REGNO); ! emit_insn (gen_memory_barrier ()); label = gen_label_rtx (); emit_label (label); --- 13738,13744 ---- enum machine_mode mode = GET_MODE (mem); rtx label, x, cond = gen_rtx_REG (CCmode, CR0_REGNO); ! emit_insn (gen_lwsync ()); label = gen_label_rtx (); emit_label (label); *************** rs6000_split_compare_and_swap (rtx retva *** 13778,13784 **** enum machine_mode mode = GET_MODE (mem); rtx label1, label2, x, cond = gen_rtx_REG (CCmode, CR0_REGNO); ! emit_insn (gen_memory_barrier ()); label1 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); label2 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); --- 13778,13784 ---- enum machine_mode mode = GET_MODE (mem); rtx label1, label2, x, cond = gen_rtx_REG (CCmode, CR0_REGNO); ! emit_insn (gen_lwsync ()); label1 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); label2 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); *************** rs6000_split_compare_and_swapqhi (rtx de *** 13885,13891 **** { rtx label1, label2, x, cond = gen_rtx_REG (CCmode, CR0_REGNO); ! emit_insn (gen_memory_barrier ()); label1 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); label2 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); emit_label (XEXP (label1, 0)); --- 13885,13891 ---- { rtx label1, label2, x, cond = gen_rtx_REG (CCmode, CR0_REGNO); ! emit_insn (gen_lwsync ()); label1 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); label2 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ()); emit_label (XEXP (label1, 0)); diff -Nrcpad gcc-4.3.3/gcc/config/sh/predicates.md gcc-4.3.4/gcc/config/sh/predicates.md *** gcc-4.3.3/gcc/config/sh/predicates.md Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/sh/predicates.md Sun Feb 8 00:53:30 2009 *************** *** 1,5 **** ;; Predicate definitions for Renesas / SuperH SH. ! ;; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. ;; ;; This file is part of GCC. ;; --- 1,5 ---- ;; Predicate definitions for Renesas / SuperH SH. ! ;; Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc. ;; ;; This file is part of GCC. ;; *************** *** 392,403 **** return 0; } - if ((mode == QImode || mode == HImode) - && (GET_CODE (op) == SUBREG - && GET_CODE (XEXP (op, 0)) == REG - && system_reg_operand (XEXP (op, 0), mode))) - return 0; - if (TARGET_SHMEDIA && (GET_CODE (op) == PARALLEL || GET_CODE (op) == CONST_VECTOR) && sh_rep_vec (op, mode)) --- 392,397 ---- diff -Nrcpad gcc-4.3.3/gcc/config/soft-fp/double.h gcc-4.3.4/gcc/config/soft-fp/double.h *** gcc-4.3.3/gcc/config/soft-fp/double.h Thu May 3 19:05:39 2007 --- gcc-4.3.4/gcc/config/soft-fp/double.h Tue Feb 17 13:54:43 2009 *************** *** 1,6 **** /* Software floating-point emulation. Definitions for IEEE Double Precision ! Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), --- 1,7 ---- /* Software floating-point emulation. Definitions for IEEE Double Precision ! Copyright (C) 1997, 1998, 1999, 2006, 2007, 2008, 2009 ! Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), *************** union _FP_UNION_D *** 203,215 **** #define FP_UNPACK_SEMIRAW_D(X,val) \ do { \ ! _FP_UNPACK_RAW_2(1,X,val); \ _FP_UNPACK_SEMIRAW(D,1,X); \ } while (0) #define FP_UNPACK_SEMIRAW_DP(X,val) \ do { \ ! _FP_UNPACK_RAW_2_P(1,X,val); \ _FP_UNPACK_SEMIRAW(D,1,X); \ } while (0) --- 204,216 ---- #define FP_UNPACK_SEMIRAW_D(X,val) \ do { \ ! _FP_UNPACK_RAW_1(D,X,val); \ _FP_UNPACK_SEMIRAW(D,1,X); \ } while (0) #define FP_UNPACK_SEMIRAW_DP(X,val) \ do { \ ! _FP_UNPACK_RAW_1_P(D,X,val); \ _FP_UNPACK_SEMIRAW(D,1,X); \ } while (0) diff -Nrcpad gcc-4.3.3/gcc/config/sparc/linux.h gcc-4.3.4/gcc/config/sparc/linux.h *** gcc-4.3.3/gcc/config/sparc/linux.h Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/sparc/linux.h Sat Jan 24 20:49:51 2009 *************** along with GCC; see the file COPYING3. *** 148,157 **** "%{V} %{v:%{!V:-V}} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \ %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu) %(asm_relax)" - /* Same as sparc.h */ - #undef DBX_REGISTER_NUMBER - #define DBX_REGISTER_NUMBER(REGNO) (REGNO) - #undef ASM_OUTPUT_ALIGNED_LOCAL #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ do { \ --- 148,153 ---- diff -Nrcpad gcc-4.3.3/gcc/config/sparc/linux64.h gcc-4.3.4/gcc/config/sparc/linux64.h *** gcc-4.3.3/gcc/config/sparc/linux64.h Fri Oct 19 04:29:38 2007 --- gcc-4.3.4/gcc/config/sparc/linux64.h Sat Jan 24 20:49:51 2009 *************** along with GCC; see the file COPYING3. *** 285,294 **** %{mlittle-endian:-EL} \ %(asm_cpu) %(asm_arch) %(asm_relax)" - /* Same as sparc.h */ - #undef DBX_REGISTER_NUMBER - #define DBX_REGISTER_NUMBER(REGNO) (REGNO) - #undef ASM_OUTPUT_ALIGNED_LOCAL #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ do { \ --- 285,290 ---- diff -Nrcpad gcc-4.3.3/gcc/config/sparc/sysv4.h gcc-4.3.4/gcc/config/sparc/sysv4.h *** gcc-4.3.3/gcc/config/sparc/sysv4.h Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/sparc/sysv4.h Sat Jan 24 20:49:51 2009 *************** do { ASM_OUTPUT_ALIGN ((FILE), Pmode == *** 93,114 **** fprintf (FILE, "\n"); \ } while (0) - /* Define how the SPARC registers should be numbered for Dwarf output. - The numbering provided here should be compatible with the native - svr4 SDB debugger in the SPARC/svr4 reference port. The numbering - is as follows: - - Assembly name gcc internal regno Dwarf regno - ---------------------------------------------------------- - g0-g7 0-7 0-7 - o0-o7 8-15 8-15 - l0-l7 16-23 16-23 - i0-i7 24-31 24-31 - f0-f31 32-63 40-71 - */ - - #define DBX_REGISTER_NUMBER(REGNO) ((REGNO) < 32 ? (REGNO) : (REGNO) + 8) - /* A set of symbol definitions for assembly pseudo-ops which will get us switched to various sections of interest. These are used in all places where we simply want to switch to a section, and --- 93,98 ---- diff -Nrcpad gcc-4.3.3/gcc/config/spu/spu-builtins.h gcc-4.3.4/gcc/config/spu/spu-builtins.h *** gcc-4.3.3/gcc/config/spu/spu-builtins.h Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/spu/spu-builtins.h Thu Jan 1 00:00:00 1970 *************** *** 1,119 **** - /* Copyright (C) 2006, 2007 Free Software Foundation, Inc. - - This file 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 3 of the License, or (at your option) - any later version. - - This file 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 COPYING3. If not see - . */ - - /* built-ins */ - - enum spu_builtin_type_index - { - SPU_BTI_END_OF_PARAMS, - - /* We create new type nodes for these. */ - SPU_BTI_V16QI, - SPU_BTI_V8HI, - SPU_BTI_V4SI, - SPU_BTI_V2DI, - SPU_BTI_V4SF, - SPU_BTI_V2DF, - SPU_BTI_UV16QI, - SPU_BTI_UV8HI, - SPU_BTI_UV4SI, - SPU_BTI_UV2DI, - - /* A 16-byte type. (Implemented with V16QI_type_node) */ - SPU_BTI_QUADWORD, - - /* These all correspond to intSI_type_node */ - SPU_BTI_7, - SPU_BTI_S7, - SPU_BTI_U7, - SPU_BTI_S10, - SPU_BTI_S10_4, - SPU_BTI_U14, - SPU_BTI_16, - SPU_BTI_S16, - SPU_BTI_S16_2, - SPU_BTI_U16, - SPU_BTI_U16_2, - SPU_BTI_U18, - - /* These correspond to the standard types */ - SPU_BTI_INTQI, - SPU_BTI_INTHI, - SPU_BTI_INTSI, - SPU_BTI_INTDI, - - SPU_BTI_UINTQI, - SPU_BTI_UINTHI, - SPU_BTI_UINTSI, - SPU_BTI_UINTDI, - - SPU_BTI_FLOAT, - SPU_BTI_DOUBLE, - - SPU_BTI_VOID, - SPU_BTI_PTR, - - SPU_BTI_MAX - }; - - #define V16QI_type_node (spu_builtin_types[SPU_BTI_V16QI]) - #define V8HI_type_node (spu_builtin_types[SPU_BTI_V8HI]) - #define V4SI_type_node (spu_builtin_types[SPU_BTI_V4SI]) - #define V2DI_type_node (spu_builtin_types[SPU_BTI_V2DI]) - #define V4SF_type_node (spu_builtin_types[SPU_BTI_V4SF]) - #define V2DF_type_node (spu_builtin_types[SPU_BTI_V2DF]) - #define unsigned_V16QI_type_node (spu_builtin_types[SPU_BTI_UV16QI]) - #define unsigned_V8HI_type_node (spu_builtin_types[SPU_BTI_UV8HI]) - #define unsigned_V4SI_type_node (spu_builtin_types[SPU_BTI_UV4SI]) - #define unsigned_V2DI_type_node (spu_builtin_types[SPU_BTI_UV2DI]) - - extern GTY(()) tree spu_builtin_types[SPU_BTI_MAX]; - - /* Some builtins require special handling. This enum differentiates. */ - enum spu_builtin_type { - B_INSN, - B_JUMP, - B_BISLED, - B_CALL, - B_HINT, - B_OVERLOAD, - B_INTERNAL - }; - - typedef enum { - #define DEF_BUILTIN(fcode, icode, name, type, params) fcode, - #include "spu-builtins.def" - #undef DEF_BUILTIN - NUM_SPU_BUILTINS - } spu_function_code; - - struct spu_builtin_description { - spu_function_code fcode; - enum insn_code icode; - const char *name; - enum spu_builtin_type type; - - /* The first element of parm is always the return type. The rest - * are a zero terminated list of parameters. */ - int parm[5]; - - tree fndecl; - }; - - extern GTY(()) struct spu_builtin_description spu_builtins[]; - - - --- 0 ---- diff -Nrcpad gcc-4.3.3/gcc/config/spu/spu-c.c gcc-4.3.4/gcc/config/spu/spu-c.c *** gcc-4.3.3/gcc/config/spu/spu-c.c Thu Aug 2 10:49:31 2007 --- gcc-4.3.4/gcc/config/spu/spu-c.c Thu Apr 23 22:51:35 2009 *************** *** 32,38 **** #include "insn-codes.h" #include "recog.h" #include "optabs.h" - #include "spu-builtins.h" /* target hook for resolve_overloaded_builtin(). Returns a function call --- 32,37 ---- *************** spu_resolve_overloaded_builtin (tree fnd *** 43,50 **** #define SCALAR_TYPE_P(t) (INTEGRAL_TYPE_P (t) \ || SCALAR_FLOAT_TYPE_P (t) \ || POINTER_TYPE_P (t)) ! spu_function_code new_fcode, fcode = ! DECL_FUNCTION_CODE (fndecl) - END_BUILTINS; struct spu_builtin_description *desc; tree match = NULL_TREE; --- 42,48 ---- #define SCALAR_TYPE_P(t) (INTEGRAL_TYPE_P (t) \ || SCALAR_FLOAT_TYPE_P (t) \ || POINTER_TYPE_P (t)) ! int new_fcode, fcode = DECL_FUNCTION_CODE (fndecl) - END_BUILTINS; struct spu_builtin_description *desc; tree match = NULL_TREE; *************** spu_resolve_overloaded_builtin (tree fnd *** 64,71 **** --- 62,76 ---- tree decl = spu_builtins[new_fcode].fndecl; tree params = TYPE_ARG_TYPES (TREE_TYPE (decl)); tree arg, param; + bool all_scalar; int p; + /* Check whether all parameters are scalar. */ + all_scalar = true; + for (param = params; param != void_list_node; param = TREE_CHAIN (param)) + if (!SCALAR_TYPE_P (TREE_VALUE (param))) + all_scalar = false; + for (param = params, arg = fnargs, p = 0; param != void_list_node; param = TREE_CHAIN (param), arg = TREE_CHAIN (arg), p++) *************** spu_resolve_overloaded_builtin (tree fnd *** 97,106 **** parameter. */ if ((!SCALAR_TYPE_P (param_type) || !SCALAR_TYPE_P (arg_type) ! || ((fcode == SPU_SPLATS || fcode == SPU_PROMOTE ! || fcode == SPU_HCMPEQ || fcode == SPU_HCMPGT ! || fcode == SPU_MASKB || fcode == SPU_MASKH ! || fcode == SPU_MASKW) && p == 0)) && !comptypes (TYPE_MAIN_VARIANT (param_type), TYPE_MAIN_VARIANT (arg_type))) break; --- 102,108 ---- parameter. */ if ((!SCALAR_TYPE_P (param_type) || !SCALAR_TYPE_P (arg_type) ! || (all_scalar && p == 0)) && !comptypes (TYPE_MAIN_VARIANT (param_type), TYPE_MAIN_VARIANT (arg_type))) break; diff -Nrcpad gcc-4.3.3/gcc/config/spu/spu.c gcc-4.3.4/gcc/config/spu/spu.c *** gcc-4.3.3/gcc/config/spu/spu.c Fri Sep 12 13:29:31 2008 --- gcc-4.3.4/gcc/config/spu/spu.c Thu Apr 23 22:51:35 2009 *************** *** 52,64 **** #include "machmode.h" #include "tree-gimple.h" #include "tm-constrs.h" - #include "spu-builtins.h" #include "ddg.h" #include "sbitmap.h" #include "timevar.h" #include "df.h" /* Builtin types, data and prototypes. */ struct spu_builtin_range { int low, high; --- 52,130 ---- #include "machmode.h" #include "tree-gimple.h" #include "tm-constrs.h" #include "ddg.h" #include "sbitmap.h" #include "timevar.h" #include "df.h" /* Builtin types, data and prototypes. */ + + enum spu_builtin_type_index + { + SPU_BTI_END_OF_PARAMS, + + /* We create new type nodes for these. */ + SPU_BTI_V16QI, + SPU_BTI_V8HI, + SPU_BTI_V4SI, + SPU_BTI_V2DI, + SPU_BTI_V4SF, + SPU_BTI_V2DF, + SPU_BTI_UV16QI, + SPU_BTI_UV8HI, + SPU_BTI_UV4SI, + SPU_BTI_UV2DI, + + /* A 16-byte type. (Implemented with V16QI_type_node) */ + SPU_BTI_QUADWORD, + + /* These all correspond to intSI_type_node */ + SPU_BTI_7, + SPU_BTI_S7, + SPU_BTI_U7, + SPU_BTI_S10, + SPU_BTI_S10_4, + SPU_BTI_U14, + SPU_BTI_16, + SPU_BTI_S16, + SPU_BTI_S16_2, + SPU_BTI_U16, + SPU_BTI_U16_2, + SPU_BTI_U18, + + /* These correspond to the standard types */ + SPU_BTI_INTQI, + SPU_BTI_INTHI, + SPU_BTI_INTSI, + SPU_BTI_INTDI, + + SPU_BTI_UINTQI, + SPU_BTI_UINTHI, + SPU_BTI_UINTSI, + SPU_BTI_UINTDI, + + SPU_BTI_FLOAT, + SPU_BTI_DOUBLE, + + SPU_BTI_VOID, + SPU_BTI_PTR, + + SPU_BTI_MAX + }; + + #define V16QI_type_node (spu_builtin_types[SPU_BTI_V16QI]) + #define V8HI_type_node (spu_builtin_types[SPU_BTI_V8HI]) + #define V4SI_type_node (spu_builtin_types[SPU_BTI_V4SI]) + #define V2DI_type_node (spu_builtin_types[SPU_BTI_V2DI]) + #define V4SF_type_node (spu_builtin_types[SPU_BTI_V4SF]) + #define V2DF_type_node (spu_builtin_types[SPU_BTI_V2DF]) + #define unsigned_V16QI_type_node (spu_builtin_types[SPU_BTI_UV16QI]) + #define unsigned_V8HI_type_node (spu_builtin_types[SPU_BTI_UV8HI]) + #define unsigned_V4SI_type_node (spu_builtin_types[SPU_BTI_UV4SI]) + #define unsigned_V2DI_type_node (spu_builtin_types[SPU_BTI_UV2DI]) + + static GTY(()) tree spu_builtin_types[SPU_BTI_MAX]; + struct spu_builtin_range { int low, high; *************** static int spu_builtin_vectorization_cos *** 142,147 **** --- 208,214 ---- static bool spu_vector_alignment_reachable (const_tree, bool); static int spu_sms_res_mii (struct ddg *g); static void asm_file_start (void); + static unsigned int spu_section_type_flags (tree, const char *, int); extern const char *reg_names[]; rtx spu_compare_op0, spu_compare_op1; *************** spu_libgcc_cmp_return_mode (void); *** 200,207 **** static enum machine_mode spu_libgcc_shift_count_mode (void); - /* Built in types. */ - tree spu_builtin_types[SPU_BTI_MAX]; /* TARGET overrides. */ --- 267,272 ---- *************** const struct attribute_spec spu_attribut *** 325,330 **** --- 390,398 ---- #undef TARGET_ASM_FILE_START #define TARGET_ASM_FILE_START asm_file_start + #undef TARGET_SECTION_TYPE_FLAGS + #define TARGET_SECTION_TYPE_FLAGS spu_section_type_flags + struct gcc_target targetm = TARGET_INITIALIZER; void *************** spu_return_in_memory (const_tree type, c *** 5061,5066 **** --- 5129,5144 ---- /* Create the built-in types and functions */ + enum spu_function_code + { + #define DEF_BUILTIN(fcode, icode, name, type, params) fcode, + #include "spu-builtins.def" + #undef DEF_BUILTIN + NUM_SPU_BUILTINS + }; + + extern GTY(()) struct spu_builtin_description spu_builtins[NUM_SPU_BUILTINS]; + struct spu_builtin_description spu_builtins[] = { #define DEF_BUILTIN(fcode, icode, name, type, params) \ {fcode, icode, name, type, params, NULL_TREE}, *************** asm_file_start (void) *** 6220,6222 **** --- 6298,6312 ---- default_file_start (); } + /* Implement targetm.section_type_flags. */ + static unsigned int + spu_section_type_flags (tree decl, const char *name, int reloc) + { + /* .toe needs to have type @nobits. */ + if (strcmp (name, ".toe") == 0) + return SECTION_BSS; + return default_section_type_flags (decl, name, reloc); + } + + #include "gt-spu.h" + diff -Nrcpad gcc-4.3.3/gcc/config/spu/spu.h gcc-4.3.4/gcc/config/spu/spu.h *** gcc-4.3.3/gcc/config/spu/spu.h Tue Sep 9 21:17:19 2008 --- gcc-4.3.4/gcc/config/spu/spu.h Thu Apr 23 22:51:35 2009 *************** targetm.resolve_overloaded_builtin = spu *** 634,636 **** --- 634,666 ---- extern GTY(()) rtx spu_compare_op0; extern GTY(()) rtx spu_compare_op1; + + /* Builtins. */ + + enum spu_builtin_type + { + B_INSN, + B_JUMP, + B_BISLED, + B_CALL, + B_HINT, + B_OVERLOAD, + B_INTERNAL + }; + + struct spu_builtin_description GTY(()) + { + int fcode; + int icode; + const char *name; + enum spu_builtin_type type; + + /* The first element of parm is always the return type. The rest + are a zero terminated list of parameters. */ + int parm[5]; + + tree fndecl; + }; + + extern struct spu_builtin_description spu_builtins[]; + diff -Nrcpad gcc-4.3.3/gcc/config/spu/t-spu-elf gcc-4.3.4/gcc/config/spu/t-spu-elf *** gcc-4.3.3/gcc/config/spu/t-spu-elf Fri Nov 14 22:28:54 2008 --- gcc-4.3.4/gcc/config/spu/t-spu-elf Thu Apr 23 22:51:35 2009 *************** spu.o: $(CONFIG_H) $(SYSTEM_H) coretypes *** 80,92 **** output.h $(BASIC_BLOCK_H) $(INTEGRATE_H) toplev.h $(GGC_H) $(HASHTAB_H) \ $(TM_P_H) $(TARGET_H) $(TARGET_DEF_H) langhooks.h reload.h cfglayout.h \ $(srcdir)/config/spu/spu-protos.h \ - $(srcdir)/config/spu/spu-builtins.h \ $(srcdir)/config/spu/spu-builtins.def spu-c.o: $(srcdir)/config/spu/spu-c.c \ $(srcdir)/config/spu/spu-protos.h \ - $(srcdir)/config/spu/spu-builtins.h \ - $(srcdir)/config/spu/spu-builtins.def \ $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(CPPLIB_H) \ $(TM_P_H) c-pragma.h errors.h coretypes.h $(TM_H) insn-codes.h $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/spu/spu-c.c --- 80,89 ---- diff -Nrcpad gcc-4.3.3/gcc/config.gcc gcc-4.3.4/gcc/config.gcc *** gcc-4.3.3/gcc/config.gcc Thu Nov 20 17:09:53 2008 --- gcc-4.3.4/gcc/config.gcc Tue Apr 7 01:15:37 2009 *************** powerpc-*-linux*paired*) *** 1969,1975 **** powerpc-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h" extra_options="${extra_options} rs6000/sysv4.opt" ! tmake_file="t-dfprules rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" case ${enable_targets}:${cpu_is_64bit} in *powerpc64* | all:* | *:yes) if test x$cpu_is_64bit = xyes; then --- 1969,1975 ---- powerpc-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h" extra_options="${extra_options} rs6000/sysv4.opt" ! tmake_file="t-dfprules rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" case ${enable_targets}:${cpu_is_64bit} in *powerpc64* | all:* | *:yes) if test x$cpu_is_64bit = xyes; then *************** powerpc-*-linux*) *** 1983,1988 **** --- 1983,1989 ---- tm_file="${tm_file} rs6000/linux.h" ;; esac + tmake_file="${tmake_file} rs6000/t-fprules-softfp soft-fp/t-softfp" if test x${enable_secureplt} = xyes; then tm_file="rs6000/secureplt.h ${tm_file}" fi diff -Nrcpad gcc-4.3.3/gcc/convert.c gcc-4.3.4/gcc/convert.c *** gcc-4.3.3/gcc/convert.c Fri Sep 7 01:24:09 2007 --- gcc-4.3.4/gcc/convert.c Fri Jul 10 16:02:59 2009 *************** convert_to_real (tree type, tree expr) *** 261,278 **** tree arg1 = strip_float_extensions (TREE_OPERAND (expr, 1)); if (FLOAT_TYPE_P (TREE_TYPE (arg0)) ! && FLOAT_TYPE_P (TREE_TYPE (arg1))) { tree newtype = type; if (TYPE_MODE (TREE_TYPE (arg0)) == SDmode ! || TYPE_MODE (TREE_TYPE (arg1)) == SDmode) newtype = dfloat32_type_node; if (TYPE_MODE (TREE_TYPE (arg0)) == DDmode ! || TYPE_MODE (TREE_TYPE (arg1)) == DDmode) newtype = dfloat64_type_node; if (TYPE_MODE (TREE_TYPE (arg0)) == TDmode ! || TYPE_MODE (TREE_TYPE (arg1)) == TDmode) newtype = dfloat128_type_node; if (newtype == dfloat32_type_node || newtype == dfloat64_type_node --- 261,282 ---- tree arg1 = strip_float_extensions (TREE_OPERAND (expr, 1)); if (FLOAT_TYPE_P (TREE_TYPE (arg0)) ! && FLOAT_TYPE_P (TREE_TYPE (arg1)) ! && DECIMAL_FLOAT_TYPE_P (itype) == DECIMAL_FLOAT_TYPE_P (type)) { tree newtype = type; if (TYPE_MODE (TREE_TYPE (arg0)) == SDmode ! || TYPE_MODE (TREE_TYPE (arg1)) == SDmode ! || TYPE_MODE (type) == SDmode) newtype = dfloat32_type_node; if (TYPE_MODE (TREE_TYPE (arg0)) == DDmode ! || TYPE_MODE (TREE_TYPE (arg1)) == DDmode ! || TYPE_MODE (type) == DDmode) newtype = dfloat64_type_node; if (TYPE_MODE (TREE_TYPE (arg0)) == TDmode ! || TYPE_MODE (TREE_TYPE (arg1)) == TDmode ! || TYPE_MODE (type) == TDmode) newtype = dfloat128_type_node; if (newtype == dfloat32_type_node || newtype == dfloat64_type_node *************** convert_to_real (tree type, tree expr) *** 290,296 **** newtype = TREE_TYPE (arg0); if (TYPE_PRECISION (TREE_TYPE (arg1)) > TYPE_PRECISION (newtype)) newtype = TREE_TYPE (arg1); ! if (TYPE_PRECISION (newtype) < TYPE_PRECISION (itype)) { expr = build2 (TREE_CODE (expr), newtype, fold (convert_to_real (newtype, arg0)), --- 294,325 ---- newtype = TREE_TYPE (arg0); if (TYPE_PRECISION (TREE_TYPE (arg1)) > TYPE_PRECISION (newtype)) newtype = TREE_TYPE (arg1); ! /* Sometimes this transformation is safe (cannot ! change results through affecting double rounding ! cases) and sometimes it is not. If NEWTYPE is ! wider than TYPE, e.g. (float)((long double)double ! + (long double)double) converted to ! (float)(double + double), the transformation is ! unsafe regardless of the details of the types ! involved; double rounding can arise if the result ! of NEWTYPE arithmetic is a NEWTYPE value half way ! between two representable TYPE values but the ! exact value is sufficiently different (in the ! right direction) for this difference to be ! visible in ITYPE arithmetic. If NEWTYPE is the ! same as TYPE, however, the transformation may be ! safe depending on the types involved: it is safe ! if the ITYPE has strictly more than twice as many ! mantissa bits as TYPE, can represent infinities ! and NaNs if the TYPE can, and has sufficient ! exponent range for the product or ratio of two ! values representable in the TYPE to be within the ! range of normal values of ITYPE. */ ! if (TYPE_PRECISION (newtype) < TYPE_PRECISION (itype) ! && (flag_unsafe_math_optimizations ! || (TYPE_PRECISION (newtype) == TYPE_PRECISION (type) ! && real_can_shorten_arithmetic (TYPE_MODE (itype), ! TYPE_MODE (type))))) { expr = build2 (TREE_CODE (expr), newtype, fold (convert_to_real (newtype, arg0)), *************** convert_to_integer (tree type, tree expr *** 462,467 **** --- 491,497 ---- case INTEGER_TYPE: case ENUMERAL_TYPE: case BOOLEAN_TYPE: + case OFFSET_TYPE: /* If this is a logical operation, which just returns 0 or 1, we can change the type of the expression. */ *************** convert_to_integer (tree type, tree expr *** 703,712 **** case COND_EXPR: /* It is sometimes worthwhile to push the narrowing down through ! the conditional and never loses. */ return fold_build3 (COND_EXPR, type, TREE_OPERAND (expr, 0), ! convert (type, TREE_OPERAND (expr, 1)), ! convert (type, TREE_OPERAND (expr, 2))); default: break; --- 733,748 ---- case COND_EXPR: /* It is sometimes worthwhile to push the narrowing down through ! the conditional and never loses. A COND_EXPR may have a throw ! as one operand, which then has void type. Just leave void ! operands as they are. */ return fold_build3 (COND_EXPR, type, TREE_OPERAND (expr, 0), ! VOID_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 1))) ! ? TREE_OPERAND (expr, 1) ! : convert (type, TREE_OPERAND (expr, 1)), ! VOID_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 2))) ! ? TREE_OPERAND (expr, 2) ! : convert (type, TREE_OPERAND (expr, 2))); default: break; diff -Nrcpad gcc-4.3.3/gcc/dfp.c gcc-4.3.4/gcc/dfp.c *** gcc-4.3.3/gcc/dfp.c Thu Sep 18 18:33:58 2008 --- gcc-4.3.4/gcc/dfp.c Thu May 7 21:43:32 2009 *************** *** 1,5 **** /* Decimal floating point support. ! Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GCC. --- 1,5 ---- /* Decimal floating point support. ! Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. *************** encode_decimal32 (const struct real_form *** 132,137 **** --- 132,138 ---- decNumber dn; decimal32 d32; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; *************** encode_decimal32 (const struct real_form *** 139,148 **** decimal_to_decnumber (r, &dn); decimal32FromNumber (&d32, &dn, &set); ! buf[0] = *(uint32_t *) d32.bytes; } ! /* Decode an IEEE 754R decimal32 type into a real. */ void decode_decimal32 (const struct real_format *fmt ATTRIBUTE_UNUSED, --- 140,150 ---- decimal_to_decnumber (r, &dn); decimal32FromNumber (&d32, &dn, &set); ! memcpy (&image, d32.bytes, sizeof (int32_t)); ! buf[0] = image; } ! /* Decode an IEEE 754 decimal32 type into a real. */ void decode_decimal32 (const struct real_format *fmt ATTRIBUTE_UNUSED, *************** decode_decimal32 (const struct real_form *** 151,167 **** decNumber dn; decimal32 d32; decContext set; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; ! *((uint32_t *) d32.bytes) = (uint32_t) buf[0]; decimal32ToNumber (&d32, &dn); decimal_from_decnumber (r, &dn, &set); } ! /* Encode a real into an IEEE 754R decimal64 type. */ void encode_decimal64 (const struct real_format *fmt ATTRIBUTE_UNUSED, --- 153,171 ---- decNumber dn; decimal32 d32; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; ! image = buf[0]; ! memcpy (&d32.bytes, &image, sizeof (int32_t)); decimal32ToNumber (&d32, &dn); decimal_from_decnumber (r, &dn, &set); } ! /* Encode a real into an IEEE 754 decimal64 type. */ void encode_decimal64 (const struct real_format *fmt ATTRIBUTE_UNUSED, *************** encode_decimal64 (const struct real_form *** 170,175 **** --- 174,180 ---- decNumber dn; decimal64 d64; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; *************** encode_decimal64 (const struct real_form *** 179,195 **** if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! buf[0] = *(uint32_t *) &d64.bytes[0]; ! buf[1] = *(uint32_t *) &d64.bytes[4]; } else { ! buf[0] = *(uint32_t *) &d64.bytes[4]; ! buf[1] = *(uint32_t *) &d64.bytes[0]; } } ! /* Decode an IEEE 754R decimal64 type into a real. */ void decode_decimal64 (const struct real_format *fmt ATTRIBUTE_UNUSED, --- 184,204 ---- if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! memcpy (&image, &d64.bytes[0], sizeof (int32_t)); ! buf[0] = image; ! memcpy (&image, &d64.bytes[4], sizeof (int32_t)); ! buf[1] = image; } else { ! memcpy (&image, &d64.bytes[4], sizeof (int32_t)); ! buf[0] = image; ! memcpy (&image, &d64.bytes[0], sizeof (int32_t)); ! buf[1] = image; } } ! /* Decode an IEEE 754 decimal64 type into a real. */ void decode_decimal64 (const struct real_format *fmt ATTRIBUTE_UNUSED, *************** decode_decimal64 (const struct real_form *** 198,223 **** decNumber dn; decimal64 d64; decContext set; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! *((uint32_t *) &d64.bytes[0]) = (uint32_t) buf[0]; ! *((uint32_t *) &d64.bytes[4]) = (uint32_t) buf[1]; } else { ! *((uint32_t *) &d64.bytes[0]) = (uint32_t) buf[1]; ! *((uint32_t *) &d64.bytes[4]) = (uint32_t) buf[0]; } decimal64ToNumber (&d64, &dn); decimal_from_decnumber (r, &dn, &set); } ! /* Encode a real into an IEEE 754R decimal128 type. */ void encode_decimal128 (const struct real_format *fmt ATTRIBUTE_UNUSED, --- 207,237 ---- decNumber dn; decimal64 d64; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! image = buf[0]; ! memcpy (&d64.bytes[0], &image, sizeof (int32_t)); ! image = buf[1]; ! memcpy (&d64.bytes[4], &image, sizeof (int32_t)); } else { ! image = buf[1]; ! memcpy (&d64.bytes[0], &image, sizeof (int32_t)); ! image = buf[0]; ! memcpy (&d64.bytes[4], &image, sizeof (int32_t)); } decimal64ToNumber (&d64, &dn); decimal_from_decnumber (r, &dn, &set); } ! /* Encode a real into an IEEE 754 decimal128 type. */ void encode_decimal128 (const struct real_format *fmt ATTRIBUTE_UNUSED, *************** encode_decimal128 (const struct real_for *** 226,231 **** --- 240,246 ---- decNumber dn; decContext set; decimal128 d128; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; *************** encode_decimal128 (const struct real_for *** 235,255 **** if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! buf[0] = *(uint32_t *) &d128.bytes[0]; ! buf[1] = *(uint32_t *) &d128.bytes[4]; ! buf[2] = *(uint32_t *) &d128.bytes[8]; ! buf[3] = *(uint32_t *) &d128.bytes[12]; } else { ! buf[0] = *(uint32_t *) &d128.bytes[12]; ! buf[1] = *(uint32_t *) &d128.bytes[8]; ! buf[2] = *(uint32_t *) &d128.bytes[4]; ! buf[3] = *(uint32_t *) &d128.bytes[0]; } } ! /* Decode an IEEE 754R decimal128 type into a real. */ void decode_decimal128 (const struct real_format *fmt ATTRIBUTE_UNUSED, --- 250,278 ---- if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! memcpy (&image, &d128.bytes[0], sizeof (int32_t)); ! buf[0] = image; ! memcpy (&image, &d128.bytes[4], sizeof (int32_t)); ! buf[1] = image; ! memcpy (&image, &d128.bytes[8], sizeof (int32_t)); ! buf[2] = image; ! memcpy (&image, &d128.bytes[12], sizeof (int32_t)); ! buf[3] = image; } else { ! memcpy (&image, &d128.bytes[12], sizeof (int32_t)); ! buf[0] = image; ! memcpy (&image, &d128.bytes[8], sizeof (int32_t)); ! buf[1] = image; ! memcpy (&image, &d128.bytes[4], sizeof (int32_t)); ! buf[2] = image; ! memcpy (&image, &d128.bytes[0], sizeof (int32_t)); ! buf[3] = image; } } ! /* Decode an IEEE 754 decimal128 type into a real. */ void decode_decimal128 (const struct real_format *fmt ATTRIBUTE_UNUSED, *************** decode_decimal128 (const struct real_for *** 258,280 **** decNumber dn; decimal128 d128; decContext set; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! *((uint32_t *) &d128.bytes[0]) = (uint32_t) buf[0]; ! *((uint32_t *) &d128.bytes[4]) = (uint32_t) buf[1]; ! *((uint32_t *) &d128.bytes[8]) = (uint32_t) buf[2]; ! *((uint32_t *) &d128.bytes[12]) = (uint32_t) buf[3]; } else { ! *((uint32_t *) &d128.bytes[0]) = (uint32_t) buf[3]; ! *((uint32_t *) &d128.bytes[4]) = (uint32_t) buf[2]; ! *((uint32_t *) &d128.bytes[8]) = (uint32_t) buf[1]; ! *((uint32_t *) &d128.bytes[12]) = (uint32_t) buf[0]; } decimal128ToNumber (&d128, &dn); --- 281,312 ---- decNumber dn; decimal128 d128; decContext set; + int32_t image; decContextDefault (&set, DEC_INIT_DECIMAL128); set.traps = 0; if (WORDS_BIGENDIAN == FLOAT_WORDS_BIG_ENDIAN) { ! image = buf[0]; ! memcpy (&d128.bytes[0], &image, sizeof (int32_t)); ! image = buf[1]; ! memcpy (&d128.bytes[4], &image, sizeof (int32_t)); ! image = buf[2]; ! memcpy (&d128.bytes[8], &image, sizeof (int32_t)); ! image = buf[3]; ! memcpy (&d128.bytes[12], &image, sizeof (int32_t)); } else { ! image = buf[3]; ! memcpy (&d128.bytes[0], &image, sizeof (int32_t)); ! image = buf[2]; ! memcpy (&d128.bytes[4], &image, sizeof (int32_t)); ! image = buf[1]; ! memcpy (&d128.bytes[8], &image, sizeof (int32_t)); ! image = buf[0]; ! memcpy (&d128.bytes[12], &image, sizeof (int32_t)); } decimal128ToNumber (&d128, &dn); diff -Nrcpad gcc-4.3.3/gcc/doc/cpp.1 gcc-4.3.4/gcc/doc/cpp.1 *** gcc-4.3.3/gcc/doc/cpp.1 Sat Jan 24 10:43:18 2009 --- gcc-4.3.4/gcc/doc/cpp.1 Tue Aug 4 11:39:53 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/cpp.info gcc-4.3.4/gcc/doc/cpp.info *** gcc-4.3.3/gcc/doc/cpp.info Sat Jan 24 11:53:14 2009 --- gcc-4.3.4/gcc/doc/cpp.info Tue Aug 4 12:51:24 2009 *************** *** 1,5 **** This is doc/cpp.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/doc/cpp.texi. Copyright (C) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free --- 1,5 ---- This is doc/cpp.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/doc/cpp.texi. Copyright (C) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free diff -Nrcpad gcc-4.3.3/gcc/doc/cppinternals.info gcc-4.3.4/gcc/doc/cppinternals.info *** gcc-4.3.3/gcc/doc/cppinternals.info Sat Jan 24 11:53:16 2009 --- gcc-4.3.4/gcc/doc/cppinternals.info Tue Aug 4 12:51:26 2009 *************** *** 1,5 **** This is doc/cppinternals.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/doc/cppinternals.texi. INFO-DIR-SECTION Software development START-INFO-DIR-ENTRY --- 1,5 ---- This is doc/cppinternals.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/doc/cppinternals.texi. INFO-DIR-SECTION Software development START-INFO-DIR-ENTRY diff -Nrcpad gcc-4.3.3/gcc/doc/extend.texi gcc-4.3.4/gcc/doc/extend.texi *** gcc-4.3.3/gcc/doc/extend.texi Tue Jul 15 15:52:35 2008 --- gcc-4.3.4/gcc/doc/extend.texi Tue Mar 17 13:11:58 2009 *************** default). Lazy binding will send the fi *** 2687,2693 **** the loader, which might assume EAX, EDX and ECX can be clobbered, as per the standard calling conventions. Solaris 8 is affected by this. GNU systems with GLIBC 2.1 or higher, and FreeBSD, are believed to be ! safe since the loaders there save all registers. (Lazy binding can be disabled with the linker or the loader if desired, to avoid the problem.) --- 2687,2693 ---- the loader, which might assume EAX, EDX and ECX can be clobbered, as per the standard calling conventions. Solaris 8 is affected by this. GNU systems with GLIBC 2.1 or higher, and FreeBSD, are believed to be ! safe since the loaders there save EAX, EDX and ECX. (Lazy binding can be disabled with the linker or the loader if desired, to avoid the problem.) diff -Nrcpad gcc-4.3.3/gcc/doc/fsf-funding.7 gcc-4.3.4/gcc/doc/fsf-funding.7 *** gcc-4.3.3/gcc/doc/fsf-funding.7 Sat Jan 24 10:43:23 2009 --- gcc-4.3.4/gcc/doc/fsf-funding.7 Tue Aug 4 11:39:58 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/g++.1 gcc-4.3.4/gcc/doc/g++.1 *** gcc-4.3.3/gcc/doc/g++.1 Sat Jan 24 11:38:58 2009 --- gcc-4.3.4/gcc/doc/g++.1 Tue Aug 4 12:37:10 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** Attempt to merge identical constants and *** 4904,4911 **** This option implies \fB\-fmerge\-constants\fR. In addition to \&\fB\-fmerge\-constants\fR this considers e.g. even constant initialized arrays or initialized constant variables with integral or floating point ! types. Languages like C or \*(C+ require each non-automatic variable to ! have distinct location, so using this option will result in non-conforming behavior. .IP "\fB\-fmodulo\-sched\fR" 4 .IX Item "-fmodulo-sched" --- 4904,4912 ---- This option implies \fB\-fmerge\-constants\fR. In addition to \&\fB\-fmerge\-constants\fR this considers e.g. even constant initialized arrays or initialized constant variables with integral or floating point ! types. Languages like C or \*(C+ require each variable, including multiple ! instances of the same variable in recursive calls, to have distinct locations, ! so using this option will result in non-conforming behavior. .IP "\fB\-fmodulo\-sched\fR" 4 .IX Item "-fmodulo-sched" *************** included in the \fIgfdl\fR\|(7) man page *** 14518,14523 **** .SH "POD ERRORS" .IX Header "POD ERRORS" Hey! \fBThe above document had some coding errors, which are explained below:\fR ! .IP "Around line 8200:" 4 ! .IX Item "Around line 8200:" ! You can't have =items (as at line 8213) unless the first thing after the =over is an =item --- 14519,14524 ---- .SH "POD ERRORS" .IX Header "POD ERRORS" Hey! \fBThe above document had some coding errors, which are explained below:\fR ! .IP "Around line 8201:" 4 ! .IX Item "Around line 8201:" ! You can't have =items (as at line 8214) unless the first thing after the =over is an =item diff -Nrcpad gcc-4.3.3/gcc/doc/gc-analyze.1 gcc-4.3.4/gcc/doc/gc-analyze.1 *** gcc-4.3.3/gcc/doc/gc-analyze.1 Sat Jan 24 11:39:00 2009 --- gcc-4.3.4/gcc/doc/gc-analyze.1 Tue Aug 4 12:37:11 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GC-ANALYZE 1" ! .TH GC-ANALYZE 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GC-ANALYZE 1" ! .TH GC-ANALYZE 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/gcc.1 gcc-4.3.4/gcc/doc/gcc.1 *** gcc-4.3.3/gcc/doc/gcc.1 Sat Jan 24 10:43:22 2009 --- gcc-4.3.4/gcc/doc/gcc.1 Tue Aug 4 11:39:58 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** Attempt to merge identical constants and *** 4904,4911 **** This option implies \fB\-fmerge\-constants\fR. In addition to \&\fB\-fmerge\-constants\fR this considers e.g. even constant initialized arrays or initialized constant variables with integral or floating point ! types. Languages like C or \*(C+ require each non-automatic variable to ! have distinct location, so using this option will result in non-conforming behavior. .IP "\fB\-fmodulo\-sched\fR" 4 .IX Item "-fmodulo-sched" --- 4904,4912 ---- This option implies \fB\-fmerge\-constants\fR. In addition to \&\fB\-fmerge\-constants\fR this considers e.g. even constant initialized arrays or initialized constant variables with integral or floating point ! types. Languages like C or \*(C+ require each variable, including multiple ! instances of the same variable in recursive calls, to have distinct locations, ! so using this option will result in non-conforming behavior. .IP "\fB\-fmodulo\-sched\fR" 4 .IX Item "-fmodulo-sched" *************** included in the \fIgfdl\fR\|(7) man page *** 14518,14523 **** .SH "POD ERRORS" .IX Header "POD ERRORS" Hey! \fBThe above document had some coding errors, which are explained below:\fR ! .IP "Around line 8200:" 4 ! .IX Item "Around line 8200:" ! You can't have =items (as at line 8213) unless the first thing after the =over is an =item --- 14519,14524 ---- .SH "POD ERRORS" .IX Header "POD ERRORS" Hey! \fBThe above document had some coding errors, which are explained below:\fR ! .IP "Around line 8201:" 4 ! .IX Item "Around line 8201:" ! You can't have =items (as at line 8214) unless the first thing after the =over is an =item diff -Nrcpad gcc-4.3.3/gcc/doc/gcc.info gcc-4.3.4/gcc/doc/gcc.info *** gcc-4.3.3/gcc/doc/gcc.info Sat Jan 24 11:53:15 2009 --- gcc-4.3.4/gcc/doc/gcc.info Tue Aug 4 12:51:25 2009 *************** *** 1,5 **** This is doc/gcc.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/doc/gcc.texi. Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 2008 Free Software --- 1,5 ---- This is doc/gcc.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/doc/gcc.texi. Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 2008 Free Software *************** Introduction *** 61,67 **** This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to the compilers (GCC) version 4.3.3. 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. --- 61,67 ---- This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to the compilers (GCC) version 4.3.4. 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. *************** optimizations to be performed is desired *** 5004,5011 **** This option implies `-fmerge-constants'. In addition to `-fmerge-constants' this considers e.g. even constant initialized arrays or initialized constant variables with integral or floating ! point types. Languages like C or C++ require each non-automatic ! variable to have distinct location, so using this option will result in non-conforming behavior. `-fmodulo-sched' --- 5004,5012 ---- This option implies `-fmerge-constants'. In addition to `-fmerge-constants' this considers e.g. even constant initialized arrays or initialized constant variables with integral or floating ! point types. Languages like C or C++ require each variable, ! including multiple instances of the same variable in recursive ! calls, to have distinct locations, so using this option will result in non-conforming behavior. `-fmodulo-sched' *************** attributes. *** 17697,17704 **** code in the loader, which might assume EAX, EDX and ECX can be clobbered, as per the standard calling conventions. Solaris 8 is affected by this. GNU systems with GLIBC 2.1 or higher, and ! FreeBSD, are believed to be safe since the loaders there save all ! registers. (Lazy binding can be disabled with the linker or the loader if desired, to avoid the problem.) `sseregparm' --- 17698,17705 ---- code in the loader, which might assume EAX, EDX and ECX can be clobbered, as per the standard calling conventions. Solaris 8 is affected by this. GNU systems with GLIBC 2.1 or higher, and ! FreeBSD, are believed to be safe since the loaders there save EAX, ! EDX and ECX. (Lazy binding can be disabled with the linker or the loader if desired, to avoid the problem.) `sseregparm' *************** look up both forms. *** 38589,38614 **** * F: Darwin Options. (line 32) * fabi-version: C++ Dialect Options. (line 20) ! * falign-functions: Optimize Options. (line 1009) ! * falign-jumps: Optimize Options. (line 1059) ! * falign-labels: Optimize Options. (line 1027) ! * falign-loops: Optimize Options. (line 1045) * fargument-alias: Code Gen Options. (line 378) * fargument-noalias: Code Gen Options. (line 378) * fargument-noalias-anything: Code Gen Options. (line 378) * fargument-noalias-global: Code Gen Options. (line 378) ! * fassociative-math: Optimize Options. (line 1232) * fasynchronous-unwind-tables: Code Gen Options. (line 64) ! * fauto-inc-dec: Optimize Options. (line 447) * fbounds-check: Code Gen Options. (line 15) ! * fbranch-probabilities: Optimize Options. (line 1353) ! * fbranch-target-load-optimize: Optimize Options. (line 1461) ! * fbranch-target-load-optimize2: Optimize Options. (line 1467) ! * fbtr-bb-exclusive: Optimize Options. (line 1471) * fcall-saved: Code Gen Options. (line 251) * fcall-used: Code Gen Options. (line 237) ! * fcaller-saves: Optimize Options. (line 608) ! * fcheck-data-deps: Optimize Options. (line 739) * fcheck-new: C++ Dialect Options. (line 34) * fcommon: Variable Attributes. --- 38590,38615 ---- * F: Darwin Options. (line 32) * fabi-version: C++ Dialect Options. (line 20) ! * falign-functions: Optimize Options. (line 1010) ! * falign-jumps: Optimize Options. (line 1060) ! * falign-labels: Optimize Options. (line 1028) ! * falign-loops: Optimize Options. (line 1046) * fargument-alias: Code Gen Options. (line 378) * fargument-noalias: Code Gen Options. (line 378) * fargument-noalias-anything: Code Gen Options. (line 378) * fargument-noalias-global: Code Gen Options. (line 378) ! * fassociative-math: Optimize Options. (line 1233) * fasynchronous-unwind-tables: Code Gen Options. (line 64) ! * fauto-inc-dec: Optimize Options. (line 448) * fbounds-check: Code Gen Options. (line 15) ! * fbranch-probabilities: Optimize Options. (line 1354) ! * fbranch-target-load-optimize: Optimize Options. (line 1462) ! * fbranch-target-load-optimize2: Optimize Options. (line 1468) ! * fbtr-bb-exclusive: Optimize Options. (line 1472) * fcall-saved: Code Gen Options. (line 251) * fcall-used: Code Gen Options. (line 237) ! * fcaller-saves: Optimize Options. (line 609) ! * fcheck-data-deps: Optimize Options. (line 740) * fcheck-new: C++ Dialect Options. (line 34) * fcommon: Variable Attributes. *************** look up both forms. *** 38618,38635 **** (line 44) * fconstant-string-class: Objective-C and Objective-C++ Dialect Options. (line 30) ! * fcprop-registers: Optimize Options. (line 1137) ! * fcrossjumping: Optimize Options. (line 440) ! * fcse-follow-jumps: Optimize Options. (line 368) ! * fcse-skip-blocks: Optimize Options. (line 377) ! * fcx-limited-range: Optimize Options. (line 1339) ! * fdata-sections: Optimize Options. (line 1442) * fdbg-cnt: Debugging Options. (line 312) * fdbg-cnt-list: Debugging Options. (line 309) ! * fdce: Optimize Options. (line 453) * fdebug-prefix-map: Debugging Options. (line 210) ! * fdelayed-branch: Optimize Options. (line 507) ! * fdelete-null-pointer-checks: Optimize Options. (line 476) * fdiagnostics-show-location: Language Independent Options. (line 21) * fdiagnostics-show-option: Language Independent Options. --- 38619,38636 ---- (line 44) * fconstant-string-class: Objective-C and Objective-C++ Dialect Options. (line 30) ! * fcprop-registers: Optimize Options. (line 1138) ! * fcrossjumping: Optimize Options. (line 441) ! * fcse-follow-jumps: Optimize Options. (line 369) ! * fcse-skip-blocks: Optimize Options. (line 378) ! * fcx-limited-range: Optimize Options. (line 1340) ! * fdata-sections: Optimize Options. (line 1443) * fdbg-cnt: Debugging Options. (line 312) * fdbg-cnt-list: Debugging Options. (line 309) ! * fdce: Optimize Options. (line 454) * fdebug-prefix-map: Debugging Options. (line 210) ! * fdelayed-branch: Optimize Options. (line 508) ! * fdelete-null-pointer-checks: Optimize Options. (line 477) * fdiagnostics-show-location: Language Independent Options. (line 21) * fdiagnostics-show-option: Language Independent Options. *************** look up both forms. *** 38639,38645 **** * fdollars-in-identifiers <1>: Interoperation. (line 146) * fdollars-in-identifiers: Preprocessor Options. (line 471) ! * fdse: Optimize Options. (line 457) * fdump-class-hierarchy: Debugging Options. (line 545) * fdump-ipa: Debugging Options. (line 552) * fdump-noaddr: Debugging Options. (line 523) --- 38640,38646 ---- * fdollars-in-identifiers <1>: Interoperation. (line 146) * fdollars-in-identifiers: Preprocessor Options. (line 471) ! * fdse: Optimize Options. (line 458) * fdump-class-hierarchy: Debugging Options. (line 545) * fdump-ipa: Debugging Options. (line 552) * fdump-noaddr: Debugging Options. (line 523) *************** look up both forms. *** 38714,38728 **** * fexceptions: Code Gen Options. (line 34) * fexec-charset: Preprocessor Options. (line 498) ! * fexpensive-optimizations: Optimize Options. (line 489) * fextended-identifiers: Preprocessor Options. (line 474) ! * ffast-math: Optimize Options. (line 1183) ! * ffinite-math-only: Optimize Options. (line 1256) * ffix-and-continue: Darwin Options. (line 106) * ffixed: Code Gen Options. (line 225) * ffloat-store <1>: Disappointments. (line 77) ! * ffloat-store: Optimize Options. (line 1169) * ffor-scope: C++ Dialect Options. (line 86) * fforward-propagate: Optimize Options. (line 150) --- 38715,38729 ---- * fexceptions: Code Gen Options. (line 34) * fexec-charset: Preprocessor Options. (line 498) ! * fexpensive-optimizations: Optimize Options. (line 490) * fextended-identifiers: Preprocessor Options. (line 474) ! * ffast-math: Optimize Options. (line 1184) ! * ffinite-math-only: Optimize Options. (line 1257) * ffix-and-continue: Darwin Options. (line 106) * ffixed: Code Gen Options. (line 225) * ffloat-store <1>: Disappointments. (line 77) ! * ffloat-store: Optimize Options. (line 1170) * ffor-scope: C++ Dialect Options. (line 86) * fforward-propagate: Optimize Options. (line 150) *************** look up both forms. *** 38733,38750 **** * ffreestanding: Standards. (line 84) * ffriend-injection: C++ Dialect Options. (line 56) ! * ffunction-sections: Optimize Options. (line 1442) ! * fgcse: Optimize Options. (line 391) ! * fgcse-after-reload: Optimize Options. (line 427) ! * fgcse-las: Optimize Options. (line 420) ! * fgcse-lm: Optimize Options. (line 402) ! * fgcse-sm: Optimize Options. (line 411) * fgnu-runtime: Objective-C and Objective-C++ Dialect Options. (line 39) * fgnu89-inline: C Dialect Options. (line 120) * fhosted: C Dialect Options. (line 204) ! * fif-conversion: Optimize Options. (line 461) ! * fif-conversion2: Optimize Options. (line 470) * filelist: Darwin Options. (line 199) * findirect-data: Darwin Options. (line 106) * finhibit-size-directive: Code Gen Options. (line 147) --- 38734,38751 ---- * ffreestanding: Standards. (line 84) * ffriend-injection: C++ Dialect Options. (line 56) ! * ffunction-sections: Optimize Options. (line 1443) ! * fgcse: Optimize Options. (line 392) ! * fgcse-after-reload: Optimize Options. (line 428) ! * fgcse-las: Optimize Options. (line 421) ! * fgcse-lm: Optimize Options. (line 403) ! * fgcse-sm: Optimize Options. (line 412) * fgnu-runtime: Objective-C and Objective-C++ Dialect Options. (line 39) * fgnu89-inline: C Dialect Options. (line 120) * fhosted: C Dialect Options. (line 204) ! * fif-conversion: Optimize Options. (line 462) ! * fif-conversion2: Optimize Options. (line 471) * filelist: Darwin Options. (line 199) * findirect-data: Darwin Options. (line 106) * finhibit-size-directive: Code Gen Options. (line 147) *************** look up both forms. *** 38760,38772 **** * finstrument-functions-exclude-file-list: Code Gen Options. (line 318) * finstrument-functions-exclude-function-list: Code Gen Options. (line 336) ! * fipa-cp: Optimize Options. (line 671) ! * fipa-matrix-reorg: Optimize Options. (line 680) ! * fipa-pta: Optimize Options. (line 668) ! * fipa-pure-const: Optimize Options. (line 645) ! * fipa-reference: Optimize Options. (line 649) ! * fipa-struct-reorg: Optimize Options. (line 653) ! * fivopts: Optimize Options. (line 758) * fkeep-inline-functions <1>: Inline. (line 51) * fkeep-inline-functions: Optimize Options. (line 249) * fkeep-static-consts: Optimize Options. (line 256) --- 38761,38773 ---- * finstrument-functions-exclude-file-list: Code Gen Options. (line 318) * finstrument-functions-exclude-function-list: Code Gen Options. (line 336) ! * fipa-cp: Optimize Options. (line 672) ! * fipa-matrix-reorg: Optimize Options. (line 681) ! * fipa-pta: Optimize Options. (line 669) ! * fipa-pure-const: Optimize Options. (line 646) ! * fipa-reference: Optimize Options. (line 650) ! * fipa-struct-reorg: Optimize Options. (line 654) ! * fivopts: Optimize Options. (line 759) * fkeep-inline-functions <1>: Inline. (line 51) * fkeep-inline-functions: Optimize Options. (line 249) * fkeep-static-consts: Optimize Options. (line 256) *************** look up both forms. *** 38779,38800 **** * fmerge-debug-strings: Debugging Options. (line 203) * fmessage-length: Language Independent Options. (line 15) ! * fmodulo-sched: Optimize Options. (line 285) ! * fmodulo-sched-allow-regmoves: Optimize Options. (line 290) ! * fmove-loop-invariants: Optimize Options. (line 1432) * fms-extensions <1>: Unnamed Fields. (line 37) * fms-extensions <2>: C++ Dialect Options. (line 121) * fms-extensions: C Dialect Options. (line 229) ! * fmudflap: Optimize Options. (line 330) ! * fmudflapir: Optimize Options. (line 330) ! * fmudflapth: Optimize Options. (line 330) * fnext-runtime: Objective-C and Objective-C++ Dialect Options. (line 43) * fno-access-control: C++ Dialect Options. (line 30) * fno-asm: C Dialect Options. (line 156) ! * fno-branch-count-reg: Optimize Options. (line 297) * fno-builtin <1>: Other Builtins. (line 14) * fno-builtin <2>: Function Attributes. (line 402) --- 38780,38801 ---- * fmerge-debug-strings: Debugging Options. (line 203) * fmessage-length: Language Independent Options. (line 15) ! * fmodulo-sched: Optimize Options. (line 286) ! * fmodulo-sched-allow-regmoves: Optimize Options. (line 291) ! * fmove-loop-invariants: Optimize Options. (line 1433) * fms-extensions <1>: Unnamed Fields. (line 37) * fms-extensions <2>: C++ Dialect Options. (line 121) * fms-extensions: C Dialect Options. (line 229) ! * fmudflap: Optimize Options. (line 331) ! * fmudflapir: Optimize Options. (line 331) ! * fmudflapth: Optimize Options. (line 331) * fnext-runtime: Objective-C and Objective-C++ Dialect Options. (line 43) * fno-access-control: C++ Dialect Options. (line 30) * fno-asm: C Dialect Options. (line 156) ! * fno-branch-count-reg: Optimize Options. (line 298) * fno-builtin <1>: Other Builtins. (line 14) * fno-builtin <2>: Function Attributes. (line 402) *************** look up both forms. *** 38814,38823 **** (line 75) * fno-for-scope: C++ Dialect Options. (line 86) ! * fno-function-cse: Optimize Options. (line 307) * fno-gnu-keywords: C++ Dialect Options. (line 98) ! * fno-guess-branch-probability: Optimize Options. (line 881) * fno-ident: Code Gen Options. (line 144) * fno-implement-inlines <1>: C++ Interface. (line 75) * fno-implement-inlines: C++ Dialect Options. --- 38815,38824 ---- (line 75) * fno-for-scope: C++ Dialect Options. (line 86) ! * fno-function-cse: Optimize Options. (line 308) * fno-gnu-keywords: C++ Dialect Options. (line 98) ! * fno-guess-branch-probability: Optimize Options. (line 882) * fno-ident: Code Gen Options. (line 144) * fno-implement-inlines <1>: C++ Interface. (line 75) * fno-implement-inlines: C++ Dialect Options. *************** look up both forms. *** 38830,38836 **** (line 103) * fno-inline: Optimize Options. (line 180) * fno-jump-tables: Code Gen Options. (line 217) ! * fno-math-errno: Optimize Options. (line 1197) * fno-merge-debug-strings: Debugging Options. (line 203) * fno-nil-receivers: Objective-C and Objective-C++ Dialect Options. (line 49) --- 38831,38837 ---- (line 103) * fno-inline: Optimize Options. (line 180) * fno-jump-tables: Code Gen Options. (line 217) ! * fno-math-errno: Optimize Options. (line 1198) * fno-merge-debug-strings: Debugging Options. (line 203) * fno-nil-receivers: Objective-C and Objective-C++ Dialect Options. (line 49) *************** look up both forms. *** 38840,38860 **** (line 131) * fno-optional-diags: C++ Dialect Options. (line 135) ! * fno-peephole: Optimize Options. (line 872) ! * fno-peephole2: Optimize Options. (line 872) * fno-rtti: C++ Dialect Options. (line 150) ! * fno-sched-interblock: Optimize Options. (line 533) ! * fno-sched-spec: Optimize Options. (line 538) * fno-show-column: Preprocessor Options. (line 536) * fno-signed-bitfields: C Dialect Options. (line 296) ! * fno-signed-zeros: Optimize Options. (line 1268) * fno-stack-limit: Code Gen Options. (line 361) * fno-threadsafe-statics: C++ Dialect Options. (line 172) ! * fno-toplevel-reorder: Optimize Options. (line 1103) ! * fno-trapping-math: Optimize Options. (line 1278) * fno-unsigned-bitfields: C Dialect Options. (line 296) * fno-use-cxa-get-exception-ptr: C++ Dialect Options. (line 185) --- 38841,38861 ---- (line 131) * fno-optional-diags: C++ Dialect Options. (line 135) ! * fno-peephole: Optimize Options. (line 873) ! * fno-peephole2: Optimize Options. (line 873) * fno-rtti: C++ Dialect Options. (line 150) ! * fno-sched-interblock: Optimize Options. (line 534) ! * fno-sched-spec: Optimize Options. (line 539) * fno-show-column: Preprocessor Options. (line 536) * fno-signed-bitfields: C Dialect Options. (line 296) ! * fno-signed-zeros: Optimize Options. (line 1269) * fno-stack-limit: Code Gen Options. (line 361) * fno-threadsafe-statics: C++ Dialect Options. (line 172) ! * fno-toplevel-reorder: Optimize Options. (line 1104) ! * fno-trapping-math: Optimize Options. (line 1279) * fno-unsigned-bitfields: C Dialect Options. (line 296) * fno-use-cxa-get-exception-ptr: C++ Dialect Options. (line 185) *************** look up both forms. *** 38862,38868 **** (line 247) * fno-working-directory: Preprocessor Options. (line 521) ! * fno-zero-initialized-in-bss: Optimize Options. (line 318) * fnon-call-exceptions: Code Gen Options. (line 48) * fobjc-call-cxx-cdtors: Objective-C and Objective-C++ Dialect Options. (line 56) --- 38863,38869 ---- (line 247) * fno-working-directory: Preprocessor Options. (line 521) ! * fno-zero-initialized-in-bss: Optimize Options. (line 319) * fnon-call-exceptions: Code Gen Options. (line 48) * fobjc-call-cxx-cdtors: Objective-C and Objective-C++ Dialect Options. (line 56) *************** look up both forms. *** 38874,38880 **** (line 170) * fomit-frame-pointer: Optimize Options. (line 159) * fopenmp: C Dialect Options. (line 221) ! * foptimize-register-move: Optimize Options. (line 496) * foptimize-sibling-calls: Optimize Options. (line 175) * force_cpusubtype_ALL: Darwin Options. (line 138) * force_flat_namespace: Darwin Options. (line 199) --- 38875,38881 ---- (line 170) * fomit-frame-pointer: Optimize Options. (line 159) * fopenmp: C Dialect Options. (line 221) ! * foptimize-register-move: Optimize Options. (line 497) * foptimize-sibling-calls: Optimize Options. (line 175) * force_cpusubtype_ALL: Darwin Options. (line 138) * force_flat_namespace: Darwin Options. (line 199) *************** look up both forms. *** 38885,38891 **** (line 284) * fpch-preprocess: Preprocessor Options. (line 292) ! * fpeel-loops: Optimize Options. (line 1424) * fpermissive: C++ Dialect Options. (line 140) * fPIC: Code Gen Options. (line 194) --- 38886,38892 ---- (line 284) * fpch-preprocess: Preprocessor Options. (line 292) ! * fpeel-loops: Optimize Options. (line 1425) * fpermissive: C++ Dialect Options. (line 140) * fPIC: Code Gen Options. (line 194) *************** look up both forms. *** 38894,38938 **** * fpie: Code Gen Options. (line 207) * fpost-ipa-mem-report: Debugging Options. (line 240) * fpre-ipa-mem-report: Debugging Options. (line 238) ! * fpredictive-commoning: Optimize Options. (line 854) ! * fprefetch-loop-arrays: Optimize Options. (line 861) * fpreprocessed: Preprocessor Options. (line 479) * fprofile-arcs <1>: Other Builtins. (line 240) * fprofile-arcs: Debugging Options. (line 244) ! * fprofile-generate: Optimize Options. (line 1144) ! * fprofile-use: Optimize Options. (line 1153) ! * fprofile-values: Optimize Options. (line 1372) * frandom-string: Debugging Options. (line 769) ! * freciprocal-math: Optimize Options. (line 1247) * frecord-gcc-switches: Code Gen Options. (line 163) * freg-struct-return: Code Gen Options. (line 88) ! * fregmove: Optimize Options. (line 496) ! * frename-registers: Optimize Options. (line 1391) ! * freorder-blocks: Optimize Options. (line 898) ! * freorder-blocks-and-partition: Optimize Options. (line 904) ! * freorder-functions: Optimize Options. (line 915) * freplace-objc-classes: Objective-C and Objective-C++ Dialect Options. (line 174) * frepo <1>: Template Instantiation. (line 62) * frepo: C++ Dialect Options. (line 145) ! * frerun-cse-after-loop: Optimize Options. (line 385) ! * freschedule-modulo-scheduled-loops: Optimize Options. (line 602) ! * frounding-math: Optimize Options. (line 1293) ! * frtl-abstract-sequences: Optimize Options. (line 1313) ! * fsched-spec-load: Optimize Options. (line 543) ! * fsched-spec-load-dangerous: Optimize Options. (line 548) ! * fsched-stalled-insns: Optimize Options. (line 554) ! * fsched-stalled-insns-dep: Optimize Options. (line 564) * fsched-verbose: Debugging Options. (line 779) ! * fsched2-use-superblocks: Optimize Options. (line 574) ! * fsched2-use-traces: Optimize Options. (line 585) ! * fschedule-insns: Optimize Options. (line 514) ! * fschedule-insns2: Optimize Options. (line 524) ! * fsection-anchors: Optimize Options. (line 1487) ! * fsee: Optimize Options. (line 597) * fshort-double: Code Gen Options. (line 117) * fshort-enums <1>: Non-bugs. (line 42) * fshort-enums <2>: Type Attributes. (line 113) --- 38895,38939 ---- * fpie: Code Gen Options. (line 207) * fpost-ipa-mem-report: Debugging Options. (line 240) * fpre-ipa-mem-report: Debugging Options. (line 238) ! * fpredictive-commoning: Optimize Options. (line 855) ! * fprefetch-loop-arrays: Optimize Options. (line 862) * fpreprocessed: Preprocessor Options. (line 479) * fprofile-arcs <1>: Other Builtins. (line 240) * fprofile-arcs: Debugging Options. (line 244) ! * fprofile-generate: Optimize Options. (line 1145) ! * fprofile-use: Optimize Options. (line 1154) ! * fprofile-values: Optimize Options. (line 1373) * frandom-string: Debugging Options. (line 769) ! * freciprocal-math: Optimize Options. (line 1248) * frecord-gcc-switches: Code Gen Options. (line 163) * freg-struct-return: Code Gen Options. (line 88) ! * fregmove: Optimize Options. (line 497) ! * frename-registers: Optimize Options. (line 1392) ! * freorder-blocks: Optimize Options. (line 899) ! * freorder-blocks-and-partition: Optimize Options. (line 905) ! * freorder-functions: Optimize Options. (line 916) * freplace-objc-classes: Objective-C and Objective-C++ Dialect Options. (line 174) * frepo <1>: Template Instantiation. (line 62) * frepo: C++ Dialect Options. (line 145) ! * frerun-cse-after-loop: Optimize Options. (line 386) ! * freschedule-modulo-scheduled-loops: Optimize Options. (line 603) ! * frounding-math: Optimize Options. (line 1294) ! * frtl-abstract-sequences: Optimize Options. (line 1314) ! * fsched-spec-load: Optimize Options. (line 544) ! * fsched-spec-load-dangerous: Optimize Options. (line 549) ! * fsched-stalled-insns: Optimize Options. (line 555) ! * fsched-stalled-insns-dep: Optimize Options. (line 565) * fsched-verbose: Debugging Options. (line 779) ! * fsched2-use-superblocks: Optimize Options. (line 575) ! * fsched2-use-traces: Optimize Options. (line 586) ! * fschedule-insns: Optimize Options. (line 515) ! * fschedule-insns2: Optimize Options. (line 525) ! * fsection-anchors: Optimize Options. (line 1488) ! * fsee: Optimize Options. (line 598) * fshort-double: Code Gen Options. (line 117) * fshort-enums <1>: Non-bugs. (line 42) * fshort-enums <2>: Type Attributes. (line 113) *************** look up both forms. *** 38940,39003 **** (line 43) * fshort-enums: Code Gen Options. (line 106) * fshort-wchar: Code Gen Options. (line 125) ! * fsignaling-nans: Optimize Options. (line 1320) * fsigned-bitfields <1>: Non-bugs. (line 57) * fsigned-bitfields: C Dialect Options. (line 296) * fsigned-char <1>: Characters implementation. (line 31) * fsigned-char: C Dialect Options. (line 286) ! * fsingle-precision-constant: Optimize Options. (line 1335) ! * fsplit-ivs-in-unroller: Optimize Options. (line 835) ! * fsplit-wide-types: Optimize Options. (line 360) * fstack-check: Code Gen Options. (line 346) * fstack-limit-register: Code Gen Options. (line 361) * fstack-limit-symbol: Code Gen Options. (line 361) ! * fstack-protector: Optimize Options. (line 1475) ! * fstack-protector-all: Optimize Options. (line 1484) * fstats: C++ Dialect Options. (line 160) ! * fstrict-aliasing: Optimize Options. (line 928) ! * fstrict-overflow: Optimize Options. (line 974) * fsyntax-only: Warning Options. (line 14) * ftabstop: Preprocessor Options. (line 492) * ftemplate-depth: C++ Dialect Options. (line 165) * ftest-coverage: Debugging Options. (line 300) ! * fthread-jumps: Optimize Options. (line 351) * ftime-report: Debugging Options. (line 230) * ftls-model: Code Gen Options. (line 406) ! * ftracer: Optimize Options. (line 818) * ftrapv: Code Gen Options. (line 22) ! * ftree-ccp: Optimize Options. (line 694) ! * ftree-ch: Optimize Options. (line 723) ! * ftree-copy-prop: Optimize Options. (line 636) ! * ftree-copyrename: Optimize Options. (line 778) ! * ftree-dce: Optimize Options. (line 705) ! * ftree-dominator-opts: Optimize Options. (line 709) ! * ftree-dse: Optimize Options. (line 716) ! * ftree-fre: Optimize Options. (line 629) ! * ftree-loop-im: Optimize Options. (line 743) ! * ftree-loop-ivcanon: Optimize Options. (line 752) ! * ftree-loop-linear: Optimize Options. (line 734) ! * ftree-loop-optimize: Optimize Options. (line 730) ! * ftree-parallelize-loops: Optimize Options. (line 763) ! * ftree-pre: Optimize Options. (line 625) ! * ftree-reassoc: Optimize Options. (line 621) ! * ftree-salias: Optimize Options. (line 641) ! * ftree-sink: Optimize Options. (line 690) ! * ftree-sra: Optimize Options. (line 772) ! * ftree-store-ccp: Optimize Options. (line 699) ! * ftree-ter: Optimize Options. (line 785) ! * ftree-vect-loop-version: Optimize Options. (line 797) ! * ftree-vectorize: Optimize Options. (line 793) * ftree-vectorizer-verbose: Debugging Options. (line 744) ! * ftree-vrp: Optimize Options. (line 809) ! * funit-at-a-time: Optimize Options. (line 1072) ! * funroll-all-loops: Optimize Options. (line 829) ! * funroll-loops: Optimize Options. (line 823) ! * funsafe-loop-optimizations: Optimize Options. (line 432) ! * funsafe-math-optimizations: Optimize Options. (line 1215) * funsigned-bitfields <1>: Non-bugs. (line 57) * funsigned-bitfields <2>: Structures unions enumerations and bit-fields implementation. (line 17) --- 38941,39004 ---- (line 43) * fshort-enums: Code Gen Options. (line 106) * fshort-wchar: Code Gen Options. (line 125) ! * fsignaling-nans: Optimize Options. (line 1321) * fsigned-bitfields <1>: Non-bugs. (line 57) * fsigned-bitfields: C Dialect Options. (line 296) * fsigned-char <1>: Characters implementation. (line 31) * fsigned-char: C Dialect Options. (line 286) ! * fsingle-precision-constant: Optimize Options. (line 1336) ! * fsplit-ivs-in-unroller: Optimize Options. (line 836) ! * fsplit-wide-types: Optimize Options. (line 361) * fstack-check: Code Gen Options. (line 346) * fstack-limit-register: Code Gen Options. (line 361) * fstack-limit-symbol: Code Gen Options. (line 361) ! * fstack-protector: Optimize Options. (line 1476) ! * fstack-protector-all: Optimize Options. (line 1485) * fstats: C++ Dialect Options. (line 160) ! * fstrict-aliasing: Optimize Options. (line 929) ! * fstrict-overflow: Optimize Options. (line 975) * fsyntax-only: Warning Options. (line 14) * ftabstop: Preprocessor Options. (line 492) * ftemplate-depth: C++ Dialect Options. (line 165) * ftest-coverage: Debugging Options. (line 300) ! * fthread-jumps: Optimize Options. (line 352) * ftime-report: Debugging Options. (line 230) * ftls-model: Code Gen Options. (line 406) ! * ftracer: Optimize Options. (line 819) * ftrapv: Code Gen Options. (line 22) ! * ftree-ccp: Optimize Options. (line 695) ! * ftree-ch: Optimize Options. (line 724) ! * ftree-copy-prop: Optimize Options. (line 637) ! * ftree-copyrename: Optimize Options. (line 779) ! * ftree-dce: Optimize Options. (line 706) ! * ftree-dominator-opts: Optimize Options. (line 710) ! * ftree-dse: Optimize Options. (line 717) ! * ftree-fre: Optimize Options. (line 630) ! * ftree-loop-im: Optimize Options. (line 744) ! * ftree-loop-ivcanon: Optimize Options. (line 753) ! * ftree-loop-linear: Optimize Options. (line 735) ! * ftree-loop-optimize: Optimize Options. (line 731) ! * ftree-parallelize-loops: Optimize Options. (line 764) ! * ftree-pre: Optimize Options. (line 626) ! * ftree-reassoc: Optimize Options. (line 622) ! * ftree-salias: Optimize Options. (line 642) ! * ftree-sink: Optimize Options. (line 691) ! * ftree-sra: Optimize Options. (line 773) ! * ftree-store-ccp: Optimize Options. (line 700) ! * ftree-ter: Optimize Options. (line 786) ! * ftree-vect-loop-version: Optimize Options. (line 798) ! * ftree-vectorize: Optimize Options. (line 794) * ftree-vectorizer-verbose: Debugging Options. (line 744) ! * ftree-vrp: Optimize Options. (line 810) ! * funit-at-a-time: Optimize Options. (line 1073) ! * funroll-all-loops: Optimize Options. (line 830) ! * funroll-loops: Optimize Options. (line 824) ! * funsafe-loop-optimizations: Optimize Options. (line 433) ! * funsafe-math-optimizations: Optimize Options. (line 1216) * funsigned-bitfields <1>: Non-bugs. (line 57) * funsigned-bitfields <2>: Structures unions enumerations and bit-fields implementation. (line 17) *************** look up both forms. *** 39005,39026 **** * funsigned-char <1>: Characters implementation. (line 31) * funsigned-char: C Dialect Options. (line 268) ! * funswitch-loops: Optimize Options. (line 1436) * funwind-tables: Code Gen Options. (line 57) * fuse-cxa-atexit: C++ Dialect Options. (line 178) * fvar-tracking: Debugging Options. (line 822) ! * fvariable-expansion-in-unroller: Optimize Options. (line 849) ! * fvect-cost-model: Optimize Options. (line 806) * fverbose-asm: Code Gen Options. (line 154) * fvisibility: Code Gen Options. (line 414) * fvisibility-inlines-hidden: C++ Dialect Options. (line 190) * fvisibility-ms-compat: C++ Dialect Options. (line 218) ! * fvpt: Optimize Options. (line 1382) ! * fweb: Optimize Options. (line 1111) ! * fwhole-program: Optimize Options. (line 1122) * fwide-exec-charset: Preprocessor Options. (line 503) * fworking-directory: Preprocessor Options. --- 39006,39027 ---- * funsigned-char <1>: Characters implementation. (line 31) * funsigned-char: C Dialect Options. (line 268) ! * funswitch-loops: Optimize Options. (line 1437) * funwind-tables: Code Gen Options. (line 57) * fuse-cxa-atexit: C++ Dialect Options. (line 178) * fvar-tracking: Debugging Options. (line 822) ! * fvariable-expansion-in-unroller: Optimize Options. (line 850) ! * fvect-cost-model: Optimize Options. (line 807) * fverbose-asm: Code Gen Options. (line 154) * fvisibility: Code Gen Options. (line 414) * fvisibility-inlines-hidden: C++ Dialect Options. (line 190) * fvisibility-ms-compat: C++ Dialect Options. (line 218) ! * fvpt: Optimize Options. (line 1383) ! * fweb: Optimize Options. (line 1112) ! * fwhole-program: Optimize Options. (line 1123) * fwide-exec-charset: Preprocessor Options. (line 503) * fworking-directory: Preprocessor Options. *************** look up both forms. *** 40170,40176 **** (line 586) * p: Debugging Options. (line 214) * pagezero_size: Darwin Options. (line 199) ! * param: Optimize Options. (line 1511) * pass-exit-codes: Overall Options. (line 140) * pedantic <1>: Warnings and Errors. (line 25) --- 40171,40177 ---- (line 586) * p: Debugging Options. (line 214) * pagezero_size: Darwin Options. (line 199) ! * param: Optimize Options. (line 1512) * pass-exit-codes: Overall Options. (line 140) * pedantic <1>: Warnings and Errors. (line 25) *************** Keyword Index *** 40878,40884 **** * Blackfin Options: Blackfin Options. (line 6) * bound pointer to member function: Bound member functions. (line 6) ! * bounds checking: Optimize Options. (line 330) * bug criteria: Bug Criteria. (line 6) * bugs: Bugs. (line 6) * bugs, known: Trouble. (line 6) --- 40879,40885 ---- * Blackfin Options: Blackfin Options. (line 6) * bound pointer to member function: Bound member functions. (line 6) ! * bounds checking: Optimize Options. (line 331) * bug criteria: Bug Criteria. (line 6) * bugs: Bugs. (line 6) * bugs, known: Trouble. (line 6) *************** Keyword Index *** 41169,41175 **** * flexible array members: Zero Length. (line 6) * float as function value type: Incompatibilities. (line 141) * floating point precision <1>: Disappointments. (line 68) ! * floating point precision: Optimize Options. (line 1173) * floor: Other Builtins. (line 6) * floorf: Other Builtins. (line 6) * floorl: Other Builtins. (line 6) --- 41170,41176 ---- * flexible array members: Zero Length. (line 6) * float as function value type: Incompatibilities. (line 141) * floating point precision <1>: Disappointments. (line 68) ! * floating point precision: Optimize Options. (line 1174) * floor: Other Builtins. (line 6) * floorf: Other Builtins. (line 6) * floorl: Other Builtins. (line 6) *************** Keyword Index *** 41525,41531 **** * ms_struct attribute: Variable Attributes. (line 337) * MT options: MT Options. (line 6) ! * mudflap: Optimize Options. (line 330) * multiple alternative constraints: Multi-Alternative. (line 6) * multiprecision arithmetic: Long Long. (line 6) * n in constraint: Simple Constraints. (line 63) --- 41526,41532 ---- * ms_struct attribute: Variable Attributes. (line 337) * MT options: MT Options. (line 6) ! * mudflap: Optimize Options. (line 331) * multiple alternative constraints: Multi-Alternative. (line 6) * multiprecision arithmetic: Long Long. (line 6) * n in constraint: Simple Constraints. (line 63) *************** Node: Language Independent Options11126 *** 42012,42247 **** Node: Warning Options114033 Node: Debugging Options170592 Node: Optimize Options207415 ! Ref: Type-punning246875 ! Node: Preprocessor Options300406 ! Ref: Wtrigraphs304491 ! Ref: dashMF309295 ! Ref: fdollars-in-identifiers319814 ! Node: Assembler Options328050 ! Node: Link Options328755 ! Ref: Link Options-Footnote-1337323 ! Node: Directory Options337657 ! Node: Spec Files343719 ! Node: Target Options364058 ! Node: Submodel Options365482 ! Node: ARC Options367122 ! Node: ARM Options368312 ! Node: AVR Options380219 ! Node: Blackfin Options382352 ! Node: CRIS Options388394 ! Node: CRX Options392613 ! Node: Darwin Options393038 ! Node: DEC Alpha Options400531 ! Node: DEC Alpha/VMS Options412008 ! Node: FRV Options412393 ! Node: GNU/Linux Options419119 ! Node: H8/300 Options419577 ! Node: HPPA Options420644 ! Node: i386 and x86-64 Options430237 ! Node: IA-64 Options457152 ! Node: M32C Options464469 ! Node: M32R/D Options465760 ! Node: M680x0 Options469347 ! Node: M68hc1x Options481920 ! Node: MCore Options483488 ! Node: MIPS Options484509 ! Node: MMIX Options506743 ! Node: MN10300 Options509225 ! Node: MT Options510643 ! Node: PDP-11 Options511557 ! Node: PowerPC Options513391 ! Node: RS/6000 and PowerPC Options513625 ! Node: S/390 and zSeries Options543046 ! Node: Score Options550988 ! Node: SH Options551816 ! Node: SPARC Options561653 ! Node: SPU Options572626 ! Node: System V Options575914 ! Node: V850 Options576737 ! Node: VAX Options579877 ! Node: VxWorks Options580425 ! Node: x86-64 Options581580 ! Node: Xstormy16 Options581798 ! Node: Xtensa Options582087 ! Node: zSeries Options585927 ! Node: Code Gen Options586123 ! Node: Environment Variables608892 ! Node: Precompiled Headers616788 ! Node: Running Protoize623031 ! Node: C Implementation629368 ! Node: Translation implementation631031 ! Node: Environment implementation631605 ! Node: Identifiers implementation632155 ! Node: Characters implementation633209 ! Node: Integers implementation636015 ! Node: Floating point implementation637840 ! Node: Arrays and pointers implementation640769 ! Ref: Arrays and pointers implementation-Footnote-1642204 ! Node: Hints implementation642328 ! Node: Structures unions enumerations and bit-fields implementation643794 ! Node: Qualifiers implementation645780 ! Node: Declarators implementation647552 ! Node: Statements implementation647894 ! Node: Preprocessing directives implementation648221 ! Node: Library functions implementation650326 ! Node: Architecture implementation650966 ! Node: Locale-specific behavior implementation651669 ! Node: C Extensions651974 ! Node: Statement Exprs656530 ! Node: Local Labels661043 ! Node: Labels as Values664022 ! Ref: Labels as Values-Footnote-1666395 ! Node: Nested Functions666578 ! Node: Constructing Calls670472 ! Node: Typeof675195 ! Node: Conditionals678361 ! Node: Long Long679252 ! Node: Complex680753 ! Node: Floating Types683323 ! Node: Decimal Float684442 ! Node: Hex Floats686014 ! Node: Fixed-Point687055 ! Node: Zero Length690185 ! Node: Empty Structures693463 ! Node: Variable Length693879 ! Node: Variadic Macros696646 ! Node: Escaped Newlines699028 ! Node: Subscripting699867 ! Node: Pointer Arith700590 ! Node: Initializers701158 ! Node: Compound Literals701654 ! Node: Designated Inits703829 ! Node: Case Ranges707484 ! Node: Cast to Union708167 ! Node: Mixed Declarations709263 ! Node: Function Attributes709769 ! Node: Attribute Syntax763295 ! Node: Function Prototypes773565 ! Node: C++ Comments775346 ! Node: Dollar Signs775865 ! Node: Character Escapes776330 ! Node: Alignment776624 ! Node: Variable Attributes777998 ! Ref: i386 Variable Attributes791898 ! Node: Type Attributes797921 ! Ref: i386 Type Attributes811586 ! Ref: PowerPC Type Attributes812430 ! Ref: SPU Type Attributes813283 ! Node: Inline813574 ! Node: Extended Asm818521 ! Ref: Example of asm with clobbered asm reg824607 ! Node: Constraints838703 ! Node: Simple Constraints839553 ! Node: Multi-Alternative846080 ! Node: Modifiers847797 ! Node: Machine Constraints850691 ! Node: Asm Labels882343 ! Node: Explicit Reg Vars884019 ! Node: Global Reg Vars885627 ! Node: Local Reg Vars890177 ! Node: Alternate Keywords892618 ! Node: Incomplete Enums894046 ! Node: Function Names894803 ! Node: Return Address896993 ! Node: Vector Extensions899790 ! Node: Offsetof903292 ! Node: Atomic Builtins904078 ! Node: Object Size Checking909163 ! Node: Other Builtins914521 ! Node: Target Builtins938192 ! Node: Alpha Built-in Functions938983 ! Node: ARM iWMMXt Built-in Functions941982 ! Node: ARM NEON Intrinsics948701 ! Node: Blackfin Built-in Functions1156539 ! Node: FR-V Built-in Functions1157153 ! Node: Argument Types1158012 ! Node: Directly-mapped Integer Functions1159768 ! Node: Directly-mapped Media Functions1160850 ! Node: Raw read/write Functions1167882 ! Node: Other Built-in Functions1168794 ! Node: X86 Built-in Functions1169983 ! Node: MIPS DSP Built-in Functions1206581 ! Node: MIPS Paired-Single Support1218735 ! Node: Paired-Single Arithmetic1220345 ! Node: Paired-Single Built-in Functions1221285 ! Node: MIPS-3D Built-in Functions1223949 ! Node: PowerPC AltiVec Built-in Functions1229318 ! Node: SPARC VIS Built-in Functions1330622 ! Node: SPU Built-in Functions1332314 ! Node: Target Format Checks1334096 ! Node: Solaris Format Checks1334503 ! Node: Pragmas1334900 ! Node: ARM Pragmas1335530 ! Node: M32C Pragmas1336133 ! Node: RS/6000 and PowerPC Pragmas1336709 ! Node: Darwin Pragmas1337451 ! Node: Solaris Pragmas1338518 ! Node: Symbol-Renaming Pragmas1339679 ! Node: Structure-Packing Pragmas1342301 ! Node: Weak Pragmas1343932 ! Node: Diagnostic Pragmas1344734 ! Node: Visibility Pragmas1346727 ! Node: Unnamed Fields1347448 ! Node: Thread-Local1348958 ! Node: C99 Thread-Local Edits1351067 ! Node: C++98 Thread-Local Edits1353079 ! Node: Binary constants1356524 ! Node: C++ Extensions1357195 ! Node: Volatiles1358828 ! Node: Restricted Pointers1361504 ! Node: Vague Linkage1363098 ! Node: C++ Interface1366754 ! Ref: C++ Interface-Footnote-11371051 ! Node: Template Instantiation1371188 ! Node: Bound member functions1378200 ! Node: C++ Attributes1379743 ! Node: Namespace Association1381401 ! Node: Type Traits1382815 ! Node: Java Exceptions1388374 ! Node: Deprecated Features1389771 ! Node: Backwards Compatibility1392735 ! Node: Objective-C1394090 ! Node: Executing code before main1394671 ! Node: What you can and what you cannot do in +load1397277 ! Node: Type encoding1399444 ! Node: Garbage Collection1402831 ! Node: Constant string objects1405455 ! Node: compatibility_alias1407963 ! Node: Compatibility1408841 ! Node: Gcov1415408 ! Node: Gcov Intro1415932 ! Node: Invoking Gcov1418648 ! Node: Gcov and Optimization1430509 ! Node: Gcov Data Files1433162 ! Node: Cross-profiling1434300 ! Node: Trouble1436126 ! Node: Actual Bugs1437666 ! Node: Cross-Compiler Problems1438406 ! Node: Interoperation1438820 ! Node: Incompatibilities1445957 ! Node: Fixed Headers1454107 ! Node: Standard Libraries1455770 ! Node: Disappointments1457142 ! Node: C++ Misunderstandings1461500 ! Node: Static Definitions1462319 ! Node: Name lookup1463372 ! Ref: Name lookup-Footnote-11468150 ! Node: Temporaries1468337 ! Node: Copy Assignment1470313 ! Node: Protoize Caveats1472120 ! Node: Non-bugs1476093 ! Node: Warnings and Errors1486597 ! Node: Bugs1488361 ! Node: Bug Criteria1488925 ! Node: Bug Reporting1491135 ! Node: Service1491356 ! Node: Contributing1492175 ! Node: Funding1492915 ! Node: GNU Project1495404 ! Node: Copying1496050 ! Node: GNU Free Documentation License1533578 ! Node: Contributors1555984 ! Node: Option Index1592179 ! Node: Keyword Index1745307  End Tag Table --- 42013,42248 ---- Node: Warning Options114033 Node: Debugging Options170592 Node: Optimize Options207415 ! Ref: Type-punning246938 ! Node: Preprocessor Options300469 ! Ref: Wtrigraphs304554 ! Ref: dashMF309358 ! Ref: fdollars-in-identifiers319877 ! Node: Assembler Options328113 ! Node: Link Options328818 ! Ref: Link Options-Footnote-1337386 ! Node: Directory Options337720 ! Node: Spec Files343782 ! Node: Target Options364121 ! Node: Submodel Options365545 ! Node: ARC Options367185 ! Node: ARM Options368375 ! Node: AVR Options380282 ! Node: Blackfin Options382415 ! Node: CRIS Options388457 ! Node: CRX Options392676 ! Node: Darwin Options393101 ! Node: DEC Alpha Options400594 ! Node: DEC Alpha/VMS Options412071 ! Node: FRV Options412456 ! Node: GNU/Linux Options419182 ! Node: H8/300 Options419640 ! Node: HPPA Options420707 ! Node: i386 and x86-64 Options430300 ! Node: IA-64 Options457215 ! Node: M32C Options464532 ! Node: M32R/D Options465823 ! Node: M680x0 Options469410 ! Node: M68hc1x Options481983 ! Node: MCore Options483551 ! Node: MIPS Options484572 ! Node: MMIX Options506806 ! Node: MN10300 Options509288 ! Node: MT Options510706 ! Node: PDP-11 Options511620 ! Node: PowerPC Options513454 ! Node: RS/6000 and PowerPC Options513688 ! Node: S/390 and zSeries Options543109 ! Node: Score Options551051 ! Node: SH Options551879 ! Node: SPARC Options561716 ! Node: SPU Options572689 ! Node: System V Options575977 ! Node: V850 Options576800 ! Node: VAX Options579940 ! Node: VxWorks Options580488 ! Node: x86-64 Options581643 ! Node: Xstormy16 Options581861 ! Node: Xtensa Options582150 ! Node: zSeries Options585990 ! Node: Code Gen Options586186 ! Node: Environment Variables608955 ! Node: Precompiled Headers616851 ! Node: Running Protoize623094 ! Node: C Implementation629431 ! Node: Translation implementation631094 ! Node: Environment implementation631668 ! Node: Identifiers implementation632218 ! Node: Characters implementation633272 ! Node: Integers implementation636078 ! Node: Floating point implementation637903 ! Node: Arrays and pointers implementation640832 ! Ref: Arrays and pointers implementation-Footnote-1642267 ! Node: Hints implementation642391 ! Node: Structures unions enumerations and bit-fields implementation643857 ! Node: Qualifiers implementation645843 ! Node: Declarators implementation647615 ! Node: Statements implementation647957 ! Node: Preprocessing directives implementation648284 ! Node: Library functions implementation650389 ! Node: Architecture implementation651029 ! Node: Locale-specific behavior implementation651732 ! Node: C Extensions652037 ! Node: Statement Exprs656593 ! Node: Local Labels661106 ! Node: Labels as Values664085 ! Ref: Labels as Values-Footnote-1666458 ! Node: Nested Functions666641 ! Node: Constructing Calls670535 ! Node: Typeof675258 ! Node: Conditionals678424 ! Node: Long Long679315 ! Node: Complex680816 ! Node: Floating Types683386 ! Node: Decimal Float684505 ! Node: Hex Floats686077 ! Node: Fixed-Point687118 ! Node: Zero Length690248 ! Node: Empty Structures693526 ! Node: Variable Length693942 ! Node: Variadic Macros696709 ! Node: Escaped Newlines699091 ! Node: Subscripting699930 ! Node: Pointer Arith700653 ! Node: Initializers701221 ! Node: Compound Literals701717 ! Node: Designated Inits703892 ! Node: Case Ranges707547 ! Node: Cast to Union708230 ! Node: Mixed Declarations709326 ! Node: Function Attributes709832 ! Node: Attribute Syntax763361 ! Node: Function Prototypes773631 ! Node: C++ Comments775412 ! Node: Dollar Signs775931 ! Node: Character Escapes776396 ! Node: Alignment776690 ! Node: Variable Attributes778064 ! Ref: i386 Variable Attributes791964 ! Node: Type Attributes797987 ! Ref: i386 Type Attributes811652 ! Ref: PowerPC Type Attributes812496 ! Ref: SPU Type Attributes813349 ! Node: Inline813640 ! Node: Extended Asm818587 ! Ref: Example of asm with clobbered asm reg824673 ! Node: Constraints838769 ! Node: Simple Constraints839619 ! Node: Multi-Alternative846146 ! Node: Modifiers847863 ! Node: Machine Constraints850757 ! Node: Asm Labels882409 ! Node: Explicit Reg Vars884085 ! Node: Global Reg Vars885693 ! Node: Local Reg Vars890243 ! Node: Alternate Keywords892684 ! Node: Incomplete Enums894112 ! Node: Function Names894869 ! Node: Return Address897059 ! Node: Vector Extensions899856 ! Node: Offsetof903358 ! Node: Atomic Builtins904144 ! Node: Object Size Checking909229 ! Node: Other Builtins914587 ! Node: Target Builtins938258 ! Node: Alpha Built-in Functions939049 ! Node: ARM iWMMXt Built-in Functions942048 ! Node: ARM NEON Intrinsics948767 ! Node: Blackfin Built-in Functions1156605 ! Node: FR-V Built-in Functions1157219 ! Node: Argument Types1158078 ! Node: Directly-mapped Integer Functions1159834 ! Node: Directly-mapped Media Functions1160916 ! Node: Raw read/write Functions1167948 ! Node: Other Built-in Functions1168860 ! Node: X86 Built-in Functions1170049 ! Node: MIPS DSP Built-in Functions1206647 ! Node: MIPS Paired-Single Support1218801 ! Node: Paired-Single Arithmetic1220411 ! Node: Paired-Single Built-in Functions1221351 ! Node: MIPS-3D Built-in Functions1224015 ! Node: PowerPC AltiVec Built-in Functions1229384 ! Node: SPARC VIS Built-in Functions1330688 ! Node: SPU Built-in Functions1332380 ! Node: Target Format Checks1334162 ! Node: Solaris Format Checks1334569 ! Node: Pragmas1334966 ! Node: ARM Pragmas1335596 ! Node: M32C Pragmas1336199 ! Node: RS/6000 and PowerPC Pragmas1336775 ! Node: Darwin Pragmas1337517 ! Node: Solaris Pragmas1338584 ! Node: Symbol-Renaming Pragmas1339745 ! Node: Structure-Packing Pragmas1342367 ! Node: Weak Pragmas1343998 ! Node: Diagnostic Pragmas1344800 ! Node: Visibility Pragmas1346793 ! Node: Unnamed Fields1347514 ! Node: Thread-Local1349024 ! Node: C99 Thread-Local Edits1351133 ! Node: C++98 Thread-Local Edits1353145 ! Node: Binary constants1356590 ! Node: C++ Extensions1357261 ! Node: Volatiles1358894 ! Node: Restricted Pointers1361570 ! Node: Vague Linkage1363164 ! Node: C++ Interface1366820 ! Ref: C++ Interface-Footnote-11371117 ! Node: Template Instantiation1371254 ! Node: Bound member functions1378266 ! Node: C++ Attributes1379809 ! Node: Namespace Association1381467 ! Node: Type Traits1382881 ! Node: Java Exceptions1388440 ! Node: Deprecated Features1389837 ! Node: Backwards Compatibility1392801 ! Node: Objective-C1394156 ! Node: Executing code before main1394737 ! Node: What you can and what you cannot do in +load1397343 ! Node: Type encoding1399510 ! Node: Garbage Collection1402897 ! Node: Constant string objects1405521 ! Node: compatibility_alias1408029 ! Node: Compatibility1408907 ! Node: Gcov1415474 ! Node: Gcov Intro1415998 ! Node: Invoking Gcov1418714 ! Node: Gcov and Optimization1430575 ! Node: Gcov Data Files1433228 ! Node: Cross-profiling1434366 ! Node: Trouble1436192 ! Node: Actual Bugs1437732 ! Node: Cross-Compiler Problems1438472 ! Node: Interoperation1438886 ! Node: Incompatibilities1446023 ! Node: Fixed Headers1454173 ! Node: Standard Libraries1455836 ! Node: Disappointments1457208 ! Node: C++ Misunderstandings1461566 ! Node: Static Definitions1462385 ! Node: Name lookup1463438 ! Ref: Name lookup-Footnote-11468216 ! Node: Temporaries1468403 ! Node: Copy Assignment1470379 ! Node: Protoize Caveats1472186 ! Node: Non-bugs1476159 ! Node: Warnings and Errors1486663 ! Node: Bugs1488427 ! Node: Bug Criteria1488991 ! Node: Bug Reporting1491201 ! Node: Service1491422 ! Node: Contributing1492241 ! Node: Funding1492981 ! Node: GNU Project1495470 ! Node: Copying1496116 ! Node: GNU Free Documentation License1533644 ! Node: Contributors1556050 ! Node: Option Index1592245 ! Node: Keyword Index1745373  End Tag Table diff -Nrcpad gcc-4.3.3/gcc/doc/gccinstall.info gcc-4.3.4/gcc/doc/gccinstall.info *** gcc-4.3.3/gcc/doc/gccinstall.info Sat Jan 24 11:53:16 2009 --- gcc-4.3.4/gcc/doc/gccinstall.info Tue Aug 4 12:51:26 2009 *************** *** 1,5 **** This is doc/gccinstall.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/doc/install.texi. Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free --- 1,5 ---- This is doc/gccinstall.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/doc/install.texi. Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free diff -Nrcpad gcc-4.3.3/gcc/doc/gccint.info gcc-4.3.4/gcc/doc/gccint.info *** gcc-4.3.3/gcc/doc/gccint.info Sat Jan 24 11:53:16 2009 --- gcc-4.3.4/gcc/doc/gccint.info Tue Aug 4 12:51:26 2009 *************** *** 1,5 **** This is doc/gccint.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/doc/gccint.texi. Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software --- 1,5 ---- This is doc/gccint.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/doc/gccint.texi. Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software *************** Introduction *** 61,67 **** 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 the compilers ! (GCC) version 4.3.3. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. This manual is mainly a reference manual rather than a tutorial. It --- 61,67 ---- 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 the compilers ! (GCC) version 4.3.4. The use of the GNU compilers is documented in a separate manual. *Note Introduction: (gcc)Top. This manual is mainly a reference manual rather than a tutorial. It *************** GCC. *** 88,96 **** * Options:: Option specification files. * Passes:: Order of passes, what they do, and what each file is for. * Trees:: The source representation used by the C and C++ front ends. - * RTL:: The intermediate representation that most passes work on. - * Control Flow:: Maintaining and manipulating the control flow graph. * Tree SSA:: Analysis and optimization of the tree representation. * Loop Analysis and Representation:: Analysis and representation of loops * Machine Desc:: How to write machine description instruction patterns. * Target Macros:: How to write the machine description C macros and functions. --- 88,96 ---- * Options:: Option specification files. * Passes:: Order of passes, what they do, and what each file is for. * Trees:: The source representation used by the C and C++ front ends. * Tree SSA:: Analysis and optimization of the tree representation. + * RTL:: Machine-dependent low-level intermediate representation. + * Control Flow:: Maintaining and manipulating the control flow graph. * Loop Analysis and Representation:: Analysis and representation of loops * Machine Desc:: How to write machine description instruction patterns. * Target Macros:: How to write the machine description C macros and functions. *************** where near complete. *** 5145,5152 **** * Parsing pass:: The language front end turns text into bits. * Gimplification pass:: The bits are turned into something we can optimize. ! * Pass manager:: Sequencing the optimization passes. ! * Tree-SSA passes:: Optimizations on a high-level representation. * RTL passes:: Optimizations on a low-level representation.  --- 5145,5152 ---- * Parsing pass:: The language front end turns text into bits. * Gimplification pass:: The bits are turned into something we can optimize. ! * Pass manager:: Sequencing the optimization passes. ! * Tree SSA passes:: Optimizations on a high-level representation. * RTL passes:: Optimizations on a low-level representation.  *************** data declaration, and each data definiti *** 5207,5216 **** passed to `rest_of_type_compilation'. Each function definition should be passed to `cgraph_finalize_function'. ! TODO: I know rest_of_compilation currently has all sorts of ! rtl-generation semantics. I plan to move all code generation bits ! (both tree and rtl) to compile_function. Should we hide cgraph from ! the front ends and move back to rest_of_compilation as the official interface? Possibly we should rename all three interfaces such that the names match in some meaningful way and that is more descriptive than "rest_of". --- 5207,5216 ---- passed to `rest_of_type_compilation'. Each function definition should be passed to `cgraph_finalize_function'. ! TODO: I know rest_of_compilation currently has all sorts of RTL ! generation semantics. I plan to move all code generation bits (both ! Tree and RTL) to compile_function. Should we hide cgraph from the ! front ends and move back to rest_of_compilation as the official interface? Possibly we should rename all three interfaces such that the names match in some meaningful way and that is more descriptive than "rest_of". *************** transformation (because the front end is *** 5255,5261 **** process to finish semantic checks), it should return `GS_ERROR'.  ! File: gccint.info, Node: Pass manager, Next: Tree-SSA passes, Prev: Gimplification pass, Up: Passes 8.3 Pass manager ================ --- 5255,5261 ---- process to finish semantic checks), it should return `GS_ERROR'.  ! File: gccint.info, Node: Pass manager, Next: Tree SSA passes, Prev: Gimplification pass, Up: Passes 8.3 Pass manager ================ *************** present is useful, and a far sight bette *** 5281,5295 **** TODO: describe the global variables set up by the pass manager, and a brief description of how a new pass should use it. I need to look at ! what info rtl passes use first...  ! File: gccint.info, Node: Tree-SSA passes, Next: RTL passes, Prev: Pass manager, Up: Passes ! 8.4 Tree-SSA passes =================== ! The following briefly describes the tree optimization passes that are run after gimplification and what source files they are located in. * Remove useless statements --- 5281,5295 ---- TODO: describe the global variables set up by the pass manager, and a brief description of how a new pass should use it. I need to look at ! what info RTL passes use first...  ! File: gccint.info, Node: Tree SSA passes, Next: RTL passes, Prev: Pass manager, Up: Passes ! 8.4 Tree SSA passes =================== ! The following briefly describes the Tree optimization passes that are run after gimplification and what source files they are located in. * Remove useless statements *************** run after gimplification and what source *** 5511,5517 **** The optimizations performed by this pass are: Loop invariant motion. This pass moves only invariants that would ! be hard to handle on rtl level (function calls, operations that expand to nontrivial sequences of insns). With `-funswitch-loops' it also moves operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in --- 5511,5517 ---- The optimizations performed by this pass are: Loop invariant motion. This pass moves only invariants that would ! be hard to handle on RTL level (function calls, operations that expand to nontrivial sequences of insns). With `-funswitch-loops' it also moves operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in *************** run after gimplification and what source *** 5534,5541 **** invariant out of the loops. To achieve this, a duplicate of the loop is created for each possible outcome of conditional jump(s). The pass is implemented in `tree-ssa-loop-unswitch.c'. This pass ! should eventually replace the rtl-level loop unswitching in ! `loop-unswitch.c', but currently the rtl-level pass is not completely redundant yet due to deficiencies in tree level alias analysis. --- 5534,5541 ---- invariant out of the loops. To achieve this, a duplicate of the loop is created for each possible outcome of conditional jump(s). The pass is implemented in `tree-ssa-loop-unswitch.c'. This pass ! should eventually replace the RTL level loop unswitching in ! `loop-unswitch.c', but currently the RTL level pass is not completely redundant yet due to deficiencies in tree level alias analysis. *************** run after gimplification and what source *** 5763,5775 ****  ! File: gccint.info, Node: RTL passes, Prev: Tree-SSA passes, Up: Passes 8.5 RTL passes ============== ! The following briefly describes the rtl generation and optimization ! passes that are run after tree optimization. * RTL generation --- 5763,5775 ----  ! File: gccint.info, Node: RTL passes, Prev: Tree SSA passes, Up: Passes 8.5 RTL passes ============== ! The following briefly describes the RTL generation and optimization ! passes that are run after the Tree optimization passes. * RTL generation *************** passes that are run after tree optimizat *** 5785,5799 **** tell this pass which standard names are available for use and which patterns correspond to them. ! * Generate exception handling landing pads This pass generates the glue that handles communication between the exception handling library routines and the exception handlers within the function. Entry points in the function that are invoked by the exception handling library are called "landing ! pads". The code for this pass is located within `except.c'. ! * Cleanup control flow graph This pass removes unreachable code, simplifies jumps to next, jumps to jump, jumps across jumps, etc. The pass is run multiple --- 5785,5799 ---- tell this pass which standard names are available for use and which patterns correspond to them. ! * Generation of exception landing pads This pass generates the glue that handles communication between the exception handling library routines and the exception handlers within the function. Entry points in the function that are invoked by the exception handling library are called "landing ! pads". The code for this pass is located in `except.c'. ! * Control flow graph cleanup This pass removes unreachable code, simplifies jumps to next, jumps to jump, jumps across jumps, etc. The pass is run multiple *************** passes that are run after tree optimizat *** 5808,5823 **** variables that come from a single definition, and seeing if the result can be simplified. It performs copy propagation and addressing mode selection. The pass is run twice, with values ! being propagated into loops only on the second run. It is located ! in `fwprop.c'. * Common subexpression elimination This pass removes redundant computation within basic blocks, and optimizes addressing modes based on cost. The pass is run twice. ! The source is located in `cse.c'. ! * Global common subexpression elimination. This pass performs two different types of GCSE depending on whether you are optimizing for size or not (LCM based GCSE tends --- 5808,5823 ---- variables that come from a single definition, and seeing if the result can be simplified. It performs copy propagation and addressing mode selection. The pass is run twice, with values ! being propagated into loops only on the second run. The code is ! located in `fwprop.c'. * Common subexpression elimination This pass removes redundant computation within basic blocks, and optimizes addressing modes based on cost. The pass is run twice. ! The code for this pass is located in `cse.c'. ! * Global common subexpression elimination This pass performs two different types of GCSE depending on whether you are optimizing for size or not (LCM based GCSE tends *************** passes that are run after tree optimizat *** 5860,5881 **** assignments with arithmetic, boolean value producing comparison instructions, and conditional move instructions. In the very last invocation after reload, it will generate predicated instructions ! when supported by the target. The pass is located in `ifcvt.c'. * Web construction This pass splits independent uses of each pseudo-register. This can improve effect of the other transformation, such as CSE or ! register allocation. Its source files are `web.c'. ! ! * Life analysis ! ! This pass computes which pseudo-registers are live at each point in ! the program, and makes the first instruction that uses a value ! point at the instruction that computed the value. It then deletes ! computations whose results are never used, and combines memory ! references with add or subtract instructions to make autoincrement ! or autodecrement addressing. The pass is located in `flow.c'. * Instruction combination --- 5860,5872 ---- assignments with arithmetic, boolean value producing comparison instructions, and conditional move instructions. In the very last invocation after reload, it will generate predicated instructions ! when supported by the target. The code is located in `ifcvt.c'. * Web construction This pass splits independent uses of each pseudo-register. This can improve effect of the other transformation, such as CSE or ! register allocation. The code for this pass is located in `web.c'. * Instruction combination *************** passes that are run after tree optimizat *** 5883,5889 **** that are related by data flow into single instructions. It combines the RTL expressions for the instructions by substitution, simplifies the result using algebra, and then attempts to match ! the result against the machine description. The pass is located in `combine.c'. * Register movement --- 5874,5880 ---- that are related by data flow into single instructions. It combines the RTL expressions for the instructions by substitution, simplifies the result using algebra, and then attempts to match ! the result against the machine description. The code is located in `combine.c'. * Register movement *************** passes that are run after tree optimizat *** 5892,5913 **** instruction to need a reload, and this reload would be a register-to-register move. It then attempts to change the registers used by the instruction to avoid the move instruction. ! The pass is located in `regmove.c'. ! * Optimize mode switching This pass looks for instructions that require the processor to be in a specific "mode" and minimizes the number of mode changes required to satisfy all users. What these modes are, and what ! they apply to are completely target-specific. The source is ! located in `mode-switching.c'. * Modulo scheduling This pass looks at innermost loops and reorders their instructions by overlapping different iterations. Modulo scheduling is ! performed immediately before instruction scheduling. The pass is ! located in (`modulo-sched.c'). * Instruction scheduling --- 5883,5904 ---- instruction to need a reload, and this reload would be a register-to-register move. It then attempts to change the registers used by the instruction to avoid the move instruction. ! The code is located in `regmove.c'. ! * Mode switching optimization This pass looks for instructions that require the processor to be in a specific "mode" and minimizes the number of mode changes required to satisfy all users. What these modes are, and what ! they apply to are completely target-specific. The code for this ! pass is located in `mode-switching.c'. * Modulo scheduling This pass looks at innermost loops and reorders their instructions by overlapping different iterations. Modulo scheduling is ! performed immediately before instruction scheduling. The code for ! this pass is located in `modulo-sched.c'. * Instruction scheduling *************** passes that are run after tree optimizat *** 5917,5925 **** behavior on RISC machines. It re-orders instructions within a basic block to try to separate the definition and use of items that otherwise would cause pipeline stalls. This pass is ! performed twice, before and after register allocation. The pass ! is located in `haifa-sched.c', `sched-deps.c', `sched-ebb.c', ! `sched-rgn.c' and `sched-vis.c'. * Register allocation --- 5908,5916 ---- behavior on RISC machines. It re-orders instructions within a basic block to try to separate the definition and use of items that otherwise would cause pipeline stalls. This pass is ! performed twice, before and after register allocation. The code ! for this pass is located in `haifa-sched.c', `sched-deps.c', ! `sched-ebb.c', `sched-rgn.c' and `sched-vis.c'. * Register allocation *************** passes that are run after tree optimizat *** 5975,5987 **** in code and generates notes describing the variable locations to RTL code. The location lists are then generated according to these notes to debug information if the debugging information format ! supports location lists. * Delayed branch scheduling This optional pass attempts to find instructions that can go into the delay slots of other instructions, usually jumps and calls. ! The source file name is `reorg.c'. * Branch shortening --- 5966,5978 ---- in code and generates notes describing the variable locations to RTL code. The location lists are then generated according to these notes to debug information if the debugging information format ! supports location lists. The code is located in `var-tracking.c'. * Delayed branch scheduling This optional pass attempts to find instructions that can go into the delay slots of other instructions, usually jumps and calls. ! The code for this pass is located in `reorg.c'. * Branch shortening *************** passes that are run after tree optimizat *** 5990,6003 **** branches. In this pass, the compiler figures out what how far each instruction will be from each other instruction, and therefore whether the usual instructions, or the longer sequences, ! must be used for each branch. * Register-to-stack conversion Conversion from usage of some hard registers to usage of a register stack may be done at this point. Currently, this is supported only for the floating-point registers of the Intel 80387 coprocessor. ! The source file name is `reg-stack.c'. * Final --- 5981,5995 ---- branches. In this pass, the compiler figures out what how far each instruction will be from each other instruction, and therefore whether the usual instructions, or the longer sequences, ! must be used for each branch. The code for this pass is located ! in `final.c'. * Register-to-stack conversion Conversion from usage of some hard registers to usage of a register stack may be done at this point. Currently, this is supported only for the floating-point registers of the Intel 80387 coprocessor. ! The code for this pass is located in `reg-stack.c'. * Final *************** passes that are run after tree optimizat *** 6022,6028 ****  ! File: gccint.info, Node: Trees, Next: RTL, Prev: Passes, Up: Top 9 Trees: The intermediate representation used by the C and C++ front ends ************************************************************************* --- 6014,6020 ----  ! File: gccint.info, Node: Trees, Next: Tree SSA, Prev: Passes, Up: Top 9 Trees: The intermediate representation used by the C and C++ front ends ************************************************************************* *************** kinds of expressions: *** 8547,8553 ****  ! File: gccint.info, Node: Tree SSA, Next: Loop Analysis and Representation, Prev: Control Flow, Up: Top 10 Analysis and Optimization of GIMPLE Trees ******************************************** --- 8539,8545 ----  ! File: gccint.info, Node: Tree SSA, Next: RTL, Prev: Trees, Up: Top 10 Analysis and Optimization of GIMPLE Trees ******************************************** *************** proceeds as follows: *** 10177,10183 **** above the threshold set by max-alias-vops, go back to (2).  ! File: gccint.info, Node: Loop Analysis and Representation, Next: Machine Desc, Prev: Tree SSA, Up: Top 11 Analysis and Representation of Loops *************************************** --- 10169,10175 ---- above the threshold set by max-alias-vops, go back to (2).  ! File: gccint.info, Node: Loop Analysis and Representation, Next: Machine Desc, Prev: Control Flow, Up: Top 11 Analysis and Representation of Loops *************************************** *************** programming problems is described in `om *** 10844,10858 **** `omega_solve_problem'.  ! File: gccint.info, Node: RTL, Next: Control Flow, Prev: Trees, Up: Top 12 RTL Representation ********************* ! Most of the work of the compiler is done on an intermediate ! representation called register transfer language. In this language, ! the instructions to be output are described, pretty much one by one, in ! an algebraic form that describes what the instruction does. RTL is inspired by Lisp lists. It has both an internal form, made up of structures that point at other structures, and a textual form that --- 10836,10850 ---- `omega_solve_problem'.  ! File: gccint.info, Node: RTL, Next: Control Flow, Prev: Tree SSA, Up: Top 12 RTL Representation ********************* ! The last part of the compiler work is done on a low-level intermediate ! representation called Register Transfer Language. In this language, the ! instructions to be output are described, pretty much one by one, in an ! algebraic form that describes what the instruction does. RTL is inspired by Lisp lists. It has both an internal form, made up of structures that point at other structures, and a textual form that *************** the "tree" data structure, described in *** 14099,14105 **** incomplete.  ! File: gccint.info, Node: Control Flow, Next: Tree SSA, Prev: RTL, Up: Top 13 Control Flow Graph ********************* --- 14091,14097 ---- incomplete.  ! File: gccint.info, Node: Control Flow, Next: Loop Analysis and Representation, Prev: RTL, Up: Top 13 Control Flow Graph ********************* *************** Concept Index *** 39483,39489 **** * MODIFY_JNI_METHOD_CALL: Misc. (line 782) * MODIFY_TARGET_NAME: Driver. (line 385) * modM3 instruction pattern: Standard Names. (line 222) ! * modulo scheduling: RTL passes. (line 140) * MOVE_BY_PIECES_P: Costs. (line 104) * MOVE_MAX: Misc. (line 115) * MOVE_MAX_PIECES: Costs. (line 110) --- 39475,39481 ---- * MODIFY_JNI_METHOD_CALL: Misc. (line 782) * MODIFY_TARGET_NAME: Driver. (line 385) * modM3 instruction pattern: Standard Names. (line 222) ! * modulo scheduling: RTL passes. (line 131) * MOVE_BY_PIECES_P: Costs. (line 104) * MOVE_MAX: Misc. (line 115) * MOVE_MAX_PIECES: Costs. (line 110) *************** Concept Index *** 39943,39949 **** * reload_in instruction pattern: Standard Names. (line 99) * reload_in_progress: Standard Names. (line 57) * reload_out instruction pattern: Standard Names. (line 99) ! * reloading: RTL passes. (line 181) * remainder: Arithmetic. (line 131) * remainderM3 instruction pattern: Standard Names. (line 468) * reorder: GTY Options. (line 209) --- 39935,39941 ---- * reload_in instruction pattern: Standard Names. (line 99) * reload_in_progress: Standard Names. (line 57) * reload_out instruction pattern: Standard Names. (line 99) ! * reloading: RTL passes. (line 172) * remainder: Arithmetic. (line 131) * remainderM3 instruction pattern: Standard Names. (line 468) * reorder: GTY Options. (line 209) *************** Concept Index *** 40126,40132 **** * SMALL_REGISTER_CLASSES: Register Classes. (line 433) * smax: Arithmetic. (line 136) * smin: Arithmetic. (line 136) ! * sms, swing, software pipelining: RTL passes. (line 140) * smulM3_highpart instruction pattern: Standard Names. (line 356) * soft float library: Soft float library routines. (line 6) --- 40118,40124 ---- * SMALL_REGISTER_CLASSES: Register Classes. (line 433) * smax: Arithmetic. (line 136) * smin: Arithmetic. (line 136) ! * sms, swing, software pipelining: RTL passes. (line 131) * smulM3_highpart instruction pattern: Standard Names. (line 356) * soft float library: Soft float library routines. (line 6) *************** Concept Index *** 40916,41196 ****  Tag Table: Node: Top2107 ! Node: Contributing5003 ! Node: Portability5744 ! Node: Interface7532 ! Node: Libgcc10572 ! Node: Integer library routines12413 ! Node: Soft float library routines19252 ! Node: Decimal float library routines31189 ! Node: Fixed-point fractional library routines46942 ! Node: Exception handling routines147340 ! Node: Miscellaneous routines148447 ! Node: Languages148830 ! Node: Source Tree150377 ! Node: Configure Terms150996 ! Node: Top Level153954 ! Node: gcc Directory156302 ! Node: Subdirectories157271 ! Node: Configuration159609 ! Node: Config Fragments160329 ! Node: System Config161673 ! Node: Configuration Files162609 ! Node: Build165184 ! Node: Makefile165596 ! Ref: Makefile-Footnote-1172314 ! Ref: Makefile-Footnote-2172463 ! Node: Library Files172537 ! Node: Headers173099 ! Node: Documentation175182 ! Node: Texinfo Manuals176041 ! Node: Man Page Generation178379 ! Node: Miscellaneous Docs180294 ! Node: Front End181593 ! Node: Front End Directory185294 ! Node: Front End Config190287 ! Node: Back End193201 ! Node: Testsuites196878 ! Node: Test Idioms197742 ! Node: Test Directives201143 ! Node: Ada Tests212950 ! Node: C Tests214242 ! Node: libgcj Tests218597 ! Node: gcov Testing219729 ! Node: profopt Testing222713 ! Node: compat Testing224156 ! Node: Torture Tests228400 ! Node: Options229792 ! Node: Option file format230233 ! Node: Option properties232783 ! Node: Passes238442 ! Node: Parsing pass239177 ! Node: Gimplification pass242705 ! Node: Pass manager244532 ! Node: Tree-SSA passes245860 ! Node: RTL passes267671 ! Node: Trees279513 ! Node: Deficiencies282239 ! Node: Tree overview282476 ! Node: Macros and Functions286599 ! Node: Identifiers286745 ! Node: Containers288270 ! Node: Types289425 ! Node: Scopes305128 ! Node: Namespaces305890 ! Node: Classes308702 ! Node: Declarations313459 ! Node: Working with declarations313954 ! Node: Internal structure320411 ! Node: Current structure hierarchy320793 ! Node: Adding new DECL node types322885 ! Node: Functions326956 ! Node: Function Basics329359 ! Node: Function Bodies336524 ! Node: Attributes347766 ! Node: Expression trees349007 ! Node: Tree SSA391616 ! Node: GENERIC393493 ! Node: GIMPLE395103 ! Node: Interfaces396394 ! Node: Temporaries398547 ! Ref: Temporaries-Footnote-1399867 ! Node: GIMPLE Expressions399930 ! Node: Compound Expressions400702 ! Node: Compound Lvalues400950 ! Node: Conditional Expressions401730 ! Node: Logical Operators402407 ! Node: Statements402900 ! Node: Blocks403608 ! Node: Statement Sequences405025 ! Node: Empty Statements405362 ! Node: Loops405940 ! Node: Selection Statements406184 ! Node: Jumps407037 ! Node: Cleanups407698 ! Node: GIMPLE Exception Handling409489 ! Node: GIMPLE Example411368 ! Node: Rough GIMPLE Grammar412779 ! Node: Annotations418128 ! Node: Statement Operands418794 ! Node: SSA433355 ! Node: Alias analysis445713 ! Node: Loop Analysis and Representation453172 ! Node: Loop representation454222 ! Node: Loop querying461142 ! Node: Loop manipulation463975 ! Node: LCSSA466343 ! Node: Scalar evolutions468415 ! Node: loop-iv471659 ! Node: Number of iterations473585 ! Node: Dependency analysis476394 ! Node: Lambda482762 ! Node: Omega484432 ! Node: RTL485997 ! Node: RTL Objects488101 ! Node: RTL Classes491975 ! Node: Accessors496927 ! Node: Special Accessors499321 ! Node: Flags504539 ! Node: Machine Modes519775 ! Node: Constants532091 ! Node: Regs and Memory538736 ! Node: Arithmetic552278 ! Node: Comparisons561798 ! Node: Bit-Fields566090 ! Node: Vector Operations567642 ! Node: Conversions569268 ! Node: RTL Declarations573778 ! Node: Side Effects574599 ! Node: Incdec590715 ! Node: Assembler594055 ! Node: Insns595587 ! Node: Calls621517 ! Node: Sharing624110 ! Node: Reading RTL627220 ! Node: Control Flow628210 ! Node: Basic Blocks629181 ! Node: Edges633749 ! Node: Profile information642311 ! Node: Maintaining the CFG646997 ! Node: Liveness information653889 ! Node: Machine Desc656016 ! Node: Overview658498 ! Node: Patterns660539 ! Node: Example663977 ! Node: RTL Template665412 ! Node: Output Template676067 ! Node: Output Statement680033 ! Node: Predicates683995 ! Node: Machine-Independent Predicates686913 ! Node: Defining Predicates691545 ! Node: Constraints697510 ! Node: Simple Constraints698671 ! Node: Multi-Alternative710733 ! Node: Class Preferences713574 ! Node: Modifiers714466 ! Node: Machine Constraints718592 ! Node: Define Constraints750738 ! Node: C Constraint Interface757518 ! Node: Standard Names761138 ! Ref: shift patterns780066 ! Ref: prologue instruction pattern820715 ! Ref: epilogue instruction pattern821208 ! Node: Pattern Ordering830751 ! Node: Dependent Patterns831987 ! Node: Jump Patterns834801 ! Node: Looping Patterns840497 ! Node: Insn Canonicalizations845099 ! Node: Expander Definitions849483 ! Node: Insn Splitting857601 ! Node: Including Patterns867197 ! Node: Peephole Definitions868977 ! Node: define_peephole870230 ! Node: define_peephole2876561 ! Node: Insn Attributes879628 ! Node: Defining Attributes880734 ! Node: Expressions882751 ! Node: Tagging Insns889353 ! Node: Attr Example893706 ! Node: Insn Lengths896080 ! Node: Constant Attributes899139 ! Node: Delay Slots900308 ! Node: Processor pipeline description903532 ! Ref: Processor pipeline description-Footnote-1920898 ! Node: Conditional Execution921228 ! Node: Constant Definitions924081 ! Node: Iterators925676 ! Node: Mode Iterators926123 ! Node: Defining Mode Iterators927085 ! Node: Substitutions928579 ! Node: Examples930820 ! Node: Code Iterators932268 ! Node: Target Macros934525 ! Node: Target Structure937477 ! Node: Driver938746 ! Node: Run-time Target962427 ! Node: Per-Function Data969631 ! Node: Storage Layout972394 ! Node: Type Layout999015 ! Node: Registers1011972 ! Node: Register Basics1012895 ! Node: Allocation Order1018462 ! Node: Values in Registers1019907 ! Node: Leaf Functions1027012 ! Node: Stack Registers1029870 ! Node: Register Classes1030986 ! Node: Old Constraints1056561 ! Node: Stack and Calling1063713 ! Node: Frame Layout1064247 ! Node: Exception Handling1075094 ! Node: Stack Checking1081472 ! Node: Frame Registers1085103 ! Node: Elimination1091709 ! Node: Stack Arguments1095740 ! Node: Register Arguments1102341 ! Node: Scalar Return1116565 ! Node: Aggregate Return1121850 ! Node: Caller Saves1125509 ! Node: Function Entry1126687 ! Node: Profiling1139302 ! Node: Tail Calls1141001 ! Node: Stack Smashing Protection1142368 ! Node: Varargs1143480 ! Node: Trampolines1151440 ! Node: Library Calls1158106 ! Node: Addressing Modes1162969 ! Node: Anchored Addresses1178227 ! Node: Condition Code1180888 ! Node: Costs1189177 ! Node: Scheduling1201900 ! Node: Sections1218647 ! Node: PIC1233297 ! Node: Assembler Format1235287 ! Node: File Framework1236366 ! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1241272 ! Node: Data Output1244539 ! Node: Uninitialized Data1252298 ! Node: Label Output1257369 ! Node: Initialization1279036 ! Node: Macros for Initialization1284998 ! Node: Instruction Output1291450 ! Node: Dispatch Tables1300444 ! Node: Exception Region Output1304239 ! Node: Alignment Output1309999 ! Node: Debugging Info1314162 ! Node: All Debuggers1314832 ! Node: DBX Options1317687 ! Node: DBX Hooks1323136 ! Node: File Names and DBX1325062 ! Node: SDB and DWARF1327173 ! Node: VMS Debug1331165 ! Node: Floating Point1331735 ! Node: Mode Switching1336558 ! Node: Target Attributes1340484 ! Node: MIPS Coprocessors1345226 ! Node: PCH Target1346800 ! Node: C++ ABI1348321 ! Node: Misc1352940 ! Ref: TARGET_SHIFT_TRUNCATION_MASK1360310 ! Node: Host Config1399524 ! Node: Host Common1400584 ! Node: Filesystem1402963 ! Node: Host Misc1407078 ! Node: Fragments1409217 ! Node: Target Fragment1410412 ! Node: Host Fragment1416078 ! Node: Collect21417520 ! Node: Header Dirs1420063 ! Node: Type Information1421486 ! Node: GTY Options1423674 ! Node: GGC Roots1434342 ! Node: Files1435062 ! Node: Funding1437422 ! Node: GNU Project1439918 ! Node: Copying1440567 ! Node: GNU Free Documentation License1478098 ! Node: Contributors1500507 ! Node: Option Index1536705 ! Node: Concept Index1537290  End Tag Table --- 40908,41188 ----  Tag Table: Node: Top2107 ! Node: Contributing5002 ! Node: Portability5743 ! Node: Interface7531 ! Node: Libgcc10571 ! Node: Integer library routines12412 ! Node: Soft float library routines19251 ! Node: Decimal float library routines31188 ! Node: Fixed-point fractional library routines46941 ! Node: Exception handling routines147339 ! Node: Miscellaneous routines148446 ! Node: Languages148829 ! Node: Source Tree150376 ! Node: Configure Terms150995 ! Node: Top Level153953 ! Node: gcc Directory156301 ! Node: Subdirectories157270 ! Node: Configuration159608 ! Node: Config Fragments160328 ! Node: System Config161672 ! Node: Configuration Files162608 ! Node: Build165183 ! Node: Makefile165595 ! Ref: Makefile-Footnote-1172313 ! Ref: Makefile-Footnote-2172462 ! Node: Library Files172536 ! Node: Headers173098 ! Node: Documentation175181 ! Node: Texinfo Manuals176040 ! Node: Man Page Generation178378 ! Node: Miscellaneous Docs180293 ! Node: Front End181592 ! Node: Front End Directory185293 ! Node: Front End Config190286 ! Node: Back End193200 ! Node: Testsuites196877 ! Node: Test Idioms197741 ! Node: Test Directives201142 ! Node: Ada Tests212949 ! Node: C Tests214241 ! Node: libgcj Tests218596 ! Node: gcov Testing219728 ! Node: profopt Testing222712 ! Node: compat Testing224155 ! Node: Torture Tests228399 ! Node: Options229791 ! Node: Option file format230232 ! Node: Option properties232782 ! Node: Passes238441 ! Node: Parsing pass239183 ! Node: Gimplification pass242711 ! Node: Pass manager244538 ! Node: Tree SSA passes245866 ! Node: RTL passes267677 ! Node: Trees279277 ! Node: Deficiencies282008 ! Node: Tree overview282245 ! Node: Macros and Functions286368 ! Node: Identifiers286514 ! Node: Containers288039 ! Node: Types289194 ! Node: Scopes304897 ! Node: Namespaces305659 ! Node: Classes308471 ! Node: Declarations313228 ! Node: Working with declarations313723 ! Node: Internal structure320180 ! Node: Current structure hierarchy320562 ! Node: Adding new DECL node types322654 ! Node: Functions326725 ! Node: Function Basics329128 ! Node: Function Bodies336293 ! Node: Attributes347535 ! Node: Expression trees348776 ! Node: Tree SSA391385 ! Node: GENERIC393226 ! Node: GIMPLE394836 ! Node: Interfaces396127 ! Node: Temporaries398280 ! Ref: Temporaries-Footnote-1399600 ! Node: GIMPLE Expressions399663 ! Node: Compound Expressions400435 ! Node: Compound Lvalues400683 ! Node: Conditional Expressions401463 ! Node: Logical Operators402140 ! Node: Statements402633 ! Node: Blocks403341 ! Node: Statement Sequences404758 ! Node: Empty Statements405095 ! Node: Loops405673 ! Node: Selection Statements405917 ! Node: Jumps406770 ! Node: Cleanups407431 ! Node: GIMPLE Exception Handling409222 ! Node: GIMPLE Example411101 ! Node: Rough GIMPLE Grammar412512 ! Node: Annotations417861 ! Node: Statement Operands418527 ! Node: SSA433088 ! Node: Alias analysis445446 ! Node: Loop Analysis and Representation452905 ! Node: Loop representation453959 ! Node: Loop querying460879 ! Node: Loop manipulation463712 ! Node: LCSSA466080 ! Node: Scalar evolutions468152 ! Node: loop-iv471396 ! Node: Number of iterations473322 ! Node: Dependency analysis476131 ! Node: Lambda482499 ! Node: Omega484169 ! Node: RTL485734 ! Node: RTL Objects487852 ! Node: RTL Classes491726 ! Node: Accessors496678 ! Node: Special Accessors499072 ! Node: Flags504290 ! Node: Machine Modes519526 ! Node: Constants531842 ! Node: Regs and Memory538487 ! Node: Arithmetic552029 ! Node: Comparisons561549 ! Node: Bit-Fields565841 ! Node: Vector Operations567393 ! Node: Conversions569019 ! Node: RTL Declarations573529 ! Node: Side Effects574350 ! Node: Incdec590466 ! Node: Assembler593806 ! Node: Insns595338 ! Node: Calls621268 ! Node: Sharing623861 ! Node: Reading RTL626971 ! Node: Control Flow627961 ! Node: Basic Blocks628956 ! Node: Edges633524 ! Node: Profile information642086 ! Node: Maintaining the CFG646772 ! Node: Liveness information653664 ! Node: Machine Desc655791 ! Node: Overview658273 ! Node: Patterns660314 ! Node: Example663752 ! Node: RTL Template665187 ! Node: Output Template675842 ! Node: Output Statement679808 ! Node: Predicates683770 ! Node: Machine-Independent Predicates686688 ! Node: Defining Predicates691320 ! Node: Constraints697285 ! Node: Simple Constraints698446 ! Node: Multi-Alternative710508 ! Node: Class Preferences713349 ! Node: Modifiers714241 ! Node: Machine Constraints718367 ! Node: Define Constraints750513 ! Node: C Constraint Interface757293 ! Node: Standard Names760913 ! Ref: shift patterns779841 ! Ref: prologue instruction pattern820490 ! Ref: epilogue instruction pattern820983 ! Node: Pattern Ordering830526 ! Node: Dependent Patterns831762 ! Node: Jump Patterns834576 ! Node: Looping Patterns840272 ! Node: Insn Canonicalizations844874 ! Node: Expander Definitions849258 ! Node: Insn Splitting857376 ! Node: Including Patterns866972 ! Node: Peephole Definitions868752 ! Node: define_peephole870005 ! Node: define_peephole2876336 ! Node: Insn Attributes879403 ! Node: Defining Attributes880509 ! Node: Expressions882526 ! Node: Tagging Insns889128 ! Node: Attr Example893481 ! Node: Insn Lengths895855 ! Node: Constant Attributes898914 ! Node: Delay Slots900083 ! Node: Processor pipeline description903307 ! Ref: Processor pipeline description-Footnote-1920673 ! Node: Conditional Execution921003 ! Node: Constant Definitions923856 ! Node: Iterators925451 ! Node: Mode Iterators925898 ! Node: Defining Mode Iterators926860 ! Node: Substitutions928354 ! Node: Examples930595 ! Node: Code Iterators932043 ! Node: Target Macros934300 ! Node: Target Structure937252 ! Node: Driver938521 ! Node: Run-time Target962202 ! Node: Per-Function Data969406 ! Node: Storage Layout972169 ! Node: Type Layout998790 ! Node: Registers1011747 ! Node: Register Basics1012670 ! Node: Allocation Order1018237 ! Node: Values in Registers1019682 ! Node: Leaf Functions1026787 ! Node: Stack Registers1029645 ! Node: Register Classes1030761 ! Node: Old Constraints1056336 ! Node: Stack and Calling1063488 ! Node: Frame Layout1064022 ! Node: Exception Handling1074869 ! Node: Stack Checking1081247 ! Node: Frame Registers1084878 ! Node: Elimination1091484 ! Node: Stack Arguments1095515 ! Node: Register Arguments1102116 ! Node: Scalar Return1116340 ! Node: Aggregate Return1121625 ! Node: Caller Saves1125284 ! Node: Function Entry1126462 ! Node: Profiling1139077 ! Node: Tail Calls1140776 ! Node: Stack Smashing Protection1142143 ! Node: Varargs1143255 ! Node: Trampolines1151215 ! Node: Library Calls1157881 ! Node: Addressing Modes1162744 ! Node: Anchored Addresses1178002 ! Node: Condition Code1180663 ! Node: Costs1188952 ! Node: Scheduling1201675 ! Node: Sections1218422 ! Node: PIC1233072 ! Node: Assembler Format1235062 ! Node: File Framework1236141 ! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1241047 ! Node: Data Output1244314 ! Node: Uninitialized Data1252073 ! Node: Label Output1257144 ! Node: Initialization1278811 ! Node: Macros for Initialization1284773 ! Node: Instruction Output1291225 ! Node: Dispatch Tables1300219 ! Node: Exception Region Output1304014 ! Node: Alignment Output1309774 ! Node: Debugging Info1313937 ! Node: All Debuggers1314607 ! Node: DBX Options1317462 ! Node: DBX Hooks1322911 ! Node: File Names and DBX1324837 ! Node: SDB and DWARF1326948 ! Node: VMS Debug1330940 ! Node: Floating Point1331510 ! Node: Mode Switching1336333 ! Node: Target Attributes1340259 ! Node: MIPS Coprocessors1345001 ! Node: PCH Target1346575 ! Node: C++ ABI1348096 ! Node: Misc1352715 ! Ref: TARGET_SHIFT_TRUNCATION_MASK1360085 ! Node: Host Config1399299 ! Node: Host Common1400359 ! Node: Filesystem1402738 ! Node: Host Misc1406853 ! Node: Fragments1408992 ! Node: Target Fragment1410187 ! Node: Host Fragment1415853 ! Node: Collect21417295 ! Node: Header Dirs1419838 ! Node: Type Information1421261 ! Node: GTY Options1423449 ! Node: GGC Roots1434117 ! Node: Files1434837 ! Node: Funding1437197 ! Node: GNU Project1439693 ! Node: Copying1440342 ! Node: GNU Free Documentation License1477873 ! Node: Contributors1500282 ! Node: Option Index1536480 ! Node: Concept Index1537065  End Tag Table diff -Nrcpad gcc-4.3.3/gcc/doc/gccint.texi gcc-4.3.4/gcc/doc/gccint.texi *** gcc-4.3.3/gcc/doc/gccint.texi Tue Apr 1 18:49:36 2008 --- gcc-4.3.4/gcc/doc/gccint.texi Sat May 23 17:55:35 2009 *************** Additional tutorial information is linke *** 109,117 **** * Options:: Option specification files. * Passes:: Order of passes, what they do, and what each file is for. * Trees:: The source representation used by the C and C++ front ends. - * RTL:: The intermediate representation that most passes work on. - * Control Flow:: Maintaining and manipulating the control flow graph. * Tree SSA:: Analysis and optimization of the tree representation. * Loop Analysis and Representation:: Analysis and representation of loops * Machine Desc:: How to write machine description instruction patterns. * Target Macros:: How to write the machine description C macros and functions. --- 109,117 ---- * Options:: Option specification files. * Passes:: Order of passes, what they do, and what each file is for. * Trees:: The source representation used by the C and C++ front ends. * Tree SSA:: Analysis and optimization of the tree representation. + * RTL:: Machine-dependent low-level intermediate representation. + * Control Flow:: Maintaining and manipulating the control flow graph. * Loop Analysis and Representation:: Analysis and representation of loops * Machine Desc:: How to write machine description instruction patterns. * Target Macros:: How to write the machine description C macros and functions. diff -Nrcpad gcc-4.3.3/gcc/doc/gcj-dbtool.1 gcc-4.3.4/gcc/doc/gcj-dbtool.1 *** gcc-4.3.3/gcc/doc/gcj-dbtool.1 Sat Jan 24 11:39:00 2009 --- gcc-4.3.4/gcc/doc/gcj-dbtool.1 Tue Aug 4 12:37:11 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCJ-DBTOOL 1" ! .TH GCJ-DBTOOL 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GCJ-DBTOOL 1" ! .TH GCJ-DBTOOL 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/gcj.1 gcc-4.3.4/gcc/doc/gcj.1 *** gcc-4.3.3/gcc/doc/gcj.1 Sat Jan 24 11:38:59 2009 --- gcc-4.3.4/gcc/doc/gcj.1 Tue Aug 4 12:37:10 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCJ 1" ! .TH GCJ 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GCJ 1" ! .TH GCJ 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/gcj.info gcc-4.3.4/gcc/doc/gcj.info *** gcc-4.3.3/gcc/doc/gcj.info Sat Jan 24 11:53:16 2009 --- gcc-4.3.4/gcc/doc/gcj.info Tue Aug 4 12:51:26 2009 *************** *** 1,5 **** This is doc/gcj.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/java/gcj.texi. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gcj.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/java/gcj.texi. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. diff -Nrcpad gcc-4.3.3/gcc/doc/gcov.1 gcc-4.3.4/gcc/doc/gcov.1 *** gcc-4.3.3/gcc/doc/gcov.1 Sat Jan 24 10:43:18 2009 --- gcc-4.3.4/gcc/doc/gcov.1 Tue Aug 4 11:39:53 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/gfdl.7 gcc-4.3.4/gcc/doc/gfdl.7 *** gcc-4.3.3/gcc/doc/gfdl.7 Sat Jan 24 10:43:23 2009 --- gcc-4.3.4/gcc/doc/gfdl.7 Tue Aug 4 11:39:58 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/gfortran.1 gcc-4.3.4/gcc/doc/gfortran.1 *** gcc-4.3.3/gcc/doc/gfortran.1 Sat Jan 24 11:53:17 2009 --- gcc-4.3.4/gcc/doc/gfortran.1 Tue Aug 4 12:51:27 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/gij.1 gcc-4.3.4/gcc/doc/gij.1 *** gcc-4.3.3/gcc/doc/gij.1 Sat Jan 24 11:38:59 2009 --- gcc-4.3.4/gcc/doc/gij.1 Tue Aug 4 12:37:11 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GIJ 1" ! .TH GIJ 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GIJ 1" ! .TH GIJ 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/gpl.7 gcc-4.3.4/gcc/doc/gpl.7 *** gcc-4.3.3/gcc/doc/gpl.7 Sat Jan 24 11:53:16 2009 --- gcc-4.3.4/gcc/doc/gpl.7 Tue Aug 4 12:51:26 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/grmic.1 gcc-4.3.4/gcc/doc/grmic.1 *** gcc-4.3.3/gcc/doc/grmic.1 Sat Jan 24 11:38:59 2009 --- gcc-4.3.4/gcc/doc/grmic.1 Tue Aug 4 12:37:11 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GRMIC 1" ! .TH GRMIC 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "GRMIC 1" ! .TH GRMIC 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/invoke.texi gcc-4.3.4/gcc/doc/invoke.texi *** gcc-4.3.3/gcc/doc/invoke.texi Fri Nov 21 16:21:50 2008 --- gcc-4.3.4/gcc/doc/invoke.texi Tue Jan 27 18:45:49 2009 *************** Attempt to merge identical constants and *** 5406,5413 **** This option implies @option{-fmerge-constants}. In addition to @option{-fmerge-constants} this considers e.g.@: even constant initialized arrays or initialized constant variables with integral or floating point ! types. Languages like C or C++ require each non-automatic variable to ! have distinct location, so using this option will result in non-conforming behavior. @item -fmodulo-sched --- 5406,5414 ---- This option implies @option{-fmerge-constants}. In addition to @option{-fmerge-constants} this considers e.g.@: even constant initialized arrays or initialized constant variables with integral or floating point ! types. Languages like C or C++ require each variable, including multiple ! instances of the same variable in recursive calls, to have distinct locations, ! so using this option will result in non-conforming behavior. @item -fmodulo-sched diff -Nrcpad gcc-4.3.3/gcc/doc/jcf-dump.1 gcc-4.3.4/gcc/doc/jcf-dump.1 *** gcc-4.3.3/gcc/doc/jcf-dump.1 Sat Jan 24 11:38:59 2009 --- gcc-4.3.4/gcc/doc/jcf-dump.1 Tue Aug 4 12:37:10 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "JCF-DUMP 1" ! .TH JCF-DUMP 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "JCF-DUMP 1" ! .TH JCF-DUMP 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/jv-convert.1 gcc-4.3.4/gcc/doc/jv-convert.1 *** gcc-4.3.3/gcc/doc/jv-convert.1 Sat Jan 24 11:38:59 2009 --- gcc-4.3.4/gcc/doc/jv-convert.1 Tue Aug 4 12:37:11 2009 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "JV-CONVERT 1" ! .TH JV-CONVERT 1 "2009-01-24" "gcc-4.3.3" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 132,138 ---- .\" ======================================================================== .\" .IX Title "JV-CONVERT 1" ! .TH JV-CONVERT 1 "2009-08-04" "gcc-4.3.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -Nrcpad gcc-4.3.3/gcc/doc/passes.texi gcc-4.3.4/gcc/doc/passes.texi *** gcc-4.3.3/gcc/doc/passes.texi Sun Feb 17 18:52:04 2008 --- gcc-4.3.4/gcc/doc/passes.texi Sat May 23 17:55:35 2009 *************** where near complete. *** 20,27 **** @menu * Parsing pass:: The language front end turns text into bits. * Gimplification pass:: The bits are turned into something we can optimize. ! * Pass manager:: Sequencing the optimization passes. ! * Tree-SSA passes:: Optimizations on a high-level representation. * RTL passes:: Optimizations on a low-level representation. @end menu --- 20,27 ---- @menu * Parsing pass:: The language front end turns text into bits. * Gimplification pass:: The bits are turned into something we can optimize. ! * Pass manager:: Sequencing the optimization passes. ! * Tree SSA passes:: Optimizations on a high-level representation. * RTL passes:: Optimizations on a low-level representation. @end menu *************** be passed to @code{rest_of_type_compilat *** 94,101 **** should be passed to @code{cgraph_finalize_function}. TODO: I know rest_of_compilation currently has all sorts of ! rtl-generation semantics. I plan to move all code generation ! bits (both tree and rtl) to compile_function. Should we hide cgraph from the front ends and move back to rest_of_compilation as the official interface? Possibly we should rename all three interfaces such that the names match in some meaningful way and --- 94,101 ---- should be passed to @code{cgraph_finalize_function}. TODO: I know rest_of_compilation currently has all sorts of ! RTL generation semantics. I plan to move all code generation ! bits (both Tree and RTL) to compile_function. Should we hide cgraph from the front ends and move back to rest_of_compilation as the official interface? Possibly we should rename all three interfaces such that the names match in some meaningful way and *************** what is present is useful, and a far sig *** 168,179 **** TODO: describe the global variables set up by the pass manager, and a brief description of how a new pass should use it. ! I need to look at what info rtl passes use first@enddots{} ! @node Tree-SSA passes ! @section Tree-SSA passes ! The following briefly describes the tree optimization passes that are run after gimplification and what source files they are located in. @itemize @bullet --- 168,179 ---- TODO: describe the global variables set up by the pass manager, and a brief description of how a new pass should use it. ! I need to look at what info RTL passes use first@enddots{} ! @node Tree SSA passes ! @section Tree SSA passes ! The following briefly describes the Tree optimization passes that are run after gimplification and what source files they are located in. @itemize @bullet *************** and described by @code{pass_loop}. *** 397,403 **** The optimizations performed by this pass are: Loop invariant motion. This pass moves only invariants that ! would be hard to handle on rtl level (function calls, operations that expand to nontrivial sequences of insns). With @option{-funswitch-loops} it also moves operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in loop unswitching. The pass also includes --- 397,403 ---- The optimizations performed by this pass are: Loop invariant motion. This pass moves only invariants that ! would be hard to handle on RTL level (function calls, operations that expand to nontrivial sequences of insns). With @option{-funswitch-loops} it also moves operands of conditions that are invariant out of the loop, so that we can use just trivial invariantness analysis in loop unswitching. The pass also includes *************** Loop unswitching. This pass moves the c *** 418,425 **** out of the loops. To achieve this, a duplicate of the loop is created for each possible outcome of conditional jump(s). The pass is implemented in @file{tree-ssa-loop-unswitch.c}. This pass should eventually replace the ! rtl-level loop unswitching in @file{loop-unswitch.c}, but currently ! the rtl-level pass is not completely redundant yet due to deficiencies in tree level alias analysis. The optimizations also use various utility functions contained in --- 418,425 ---- out of the loops. To achieve this, a duplicate of the loop is created for each possible outcome of conditional jump(s). The pass is implemented in @file{tree-ssa-loop-unswitch.c}. This pass should eventually replace the ! RTL level loop unswitching in @file{loop-unswitch.c}, but currently ! the RTL level pass is not completely redundant yet due to deficiencies in tree level alias analysis. The optimizations also use various utility functions contained in *************** registers don't need to be saved. This *** 647,654 **** @node RTL passes @section RTL passes ! The following briefly describes the rtl generation and optimization ! passes that are run after tree optimization. @itemize @bullet @item RTL generation --- 647,654 ---- @node RTL passes @section RTL passes ! The following briefly describes the RTL generation and optimization ! passes that are run after the Tree optimization passes. @itemize @bullet @item RTL generation *************** generated from the machine description b *** 675,689 **** and @code{gencodes}, tell this pass which standard names are available for use and which patterns correspond to them. ! @item Generate exception handling landing pads This pass generates the glue that handles communication between the exception handling library routines and the exception handlers within the function. Entry points in the function that are invoked by the exception handling library are called @dfn{landing pads}. The code ! for this pass is located within @file{except.c}. ! @item Cleanup control flow graph This pass removes unreachable code, simplifies jumps to next, jumps to jump, jumps across jumps, etc. The pass is run multiple times. --- 675,689 ---- and @code{gencodes}, tell this pass which standard names are available for use and which patterns correspond to them. ! @item Generation of exception landing pads This pass generates the glue that handles communication between the exception handling library routines and the exception handlers within the function. Entry points in the function that are invoked by the exception handling library are called @dfn{landing pads}. The code ! for this pass is located in @file{except.c}. ! @item Control flow graph cleanup This pass removes unreachable code, simplifies jumps to next, jumps to jump, jumps across jumps, etc. The pass is run multiple times. *************** This pass attempts to remove redundant c *** 698,713 **** variables that come from a single definition, and seeing if the result can be simplified. It performs copy propagation and addressing mode selection. The pass is run twice, with values ! being propagated into loops only on the second run. It is located in ! @file{fwprop.c}. @item Common subexpression elimination This pass removes redundant computation within basic blocks, and optimizes addressing modes based on cost. The pass is run twice. ! The source is located in @file{cse.c}. ! @item Global common subexpression elimination. This pass performs two different types of GCSE depending on whether you are optimizing for --- 698,713 ---- variables that come from a single definition, and seeing if the result can be simplified. It performs copy propagation and addressing mode selection. The pass is run twice, with values ! being propagated into loops only on the second run. The code is ! located in @file{fwprop.c}. @item Common subexpression elimination This pass removes redundant computation within basic blocks, and optimizes addressing modes based on cost. The pass is run twice. ! The code for this pass is located in @file{cse.c}. ! @item Global common subexpression elimination This pass performs two different types of GCSE depending on whether you are optimizing for *************** This pass attempts to replace conditiona *** 751,772 **** assignments with arithmetic, boolean value producing comparison instructions, and conditional move instructions. In the very last invocation after reload, it will generate predicated instructions ! when supported by the target. The pass is located in @file{ifcvt.c}. @item Web construction This pass splits independent uses of each pseudo-register. This can improve effect of the other transformation, such as CSE or register ! allocation. Its source files are @file{web.c}. ! ! @item Life analysis ! ! This pass computes which pseudo-registers are live at each point in ! the program, and makes the first instruction that uses a value point ! at the instruction that computed the value. It then deletes ! computations whose results are never used, and combines memory ! references with add or subtract instructions to make autoincrement or ! autodecrement addressing. The pass is located in @file{flow.c}. @item Instruction combination --- 751,763 ---- assignments with arithmetic, boolean value producing comparison instructions, and conditional move instructions. In the very last invocation after reload, it will generate predicated instructions ! when supported by the target. The code is located in @file{ifcvt.c}. @item Web construction This pass splits independent uses of each pseudo-register. This can improve effect of the other transformation, such as CSE or register ! allocation. The code for this pass is located in @file{web.c}. @item Instruction combination *************** This pass attempts to combine groups of *** 774,796 **** are related by data flow into single instructions. It combines the RTL expressions for the instructions by substitution, simplifies the result using algebra, and then attempts to match the result against ! the machine description. The pass is located in @file{combine.c}. @item Register movement This pass looks for cases where matching constraints would force an instruction to need a reload, and this reload would be a register-to-register move. It then attempts to change the registers ! used by the instruction to avoid the move instruction. ! The pass is located in @file{regmove.c}. ! @item Optimize mode switching This pass looks for instructions that require the processor to be in a specific ``mode'' and minimizes the number of mode changes required to satisfy all users. What these modes are, and what they apply to are ! completely target-specific. ! The source is located in @file{mode-switching.c}. @cindex modulo scheduling @cindex sms, swing, software pipelining --- 765,787 ---- are related by data flow into single instructions. It combines the RTL expressions for the instructions by substitution, simplifies the result using algebra, and then attempts to match the result against ! the machine description. The code is located in @file{combine.c}. @item Register movement This pass looks for cases where matching constraints would force an instruction to need a reload, and this reload would be a register-to-register move. It then attempts to change the registers ! used by the instruction to avoid the move instruction. The code is ! located in @file{regmove.c}. ! @item Mode switching optimization This pass looks for instructions that require the processor to be in a specific ``mode'' and minimizes the number of mode changes required to satisfy all users. What these modes are, and what they apply to are ! completely target-specific. The code for this pass is located in ! @file{mode-switching.c}. @cindex modulo scheduling @cindex sms, swing, software pipelining *************** The source is located in @file{mode-swit *** 798,805 **** This pass looks at innermost loops and reorders their instructions by overlapping different iterations. Modulo scheduling is performed ! immediately before instruction scheduling. ! The pass is located in (@file{modulo-sched.c}). @item Instruction scheduling --- 789,796 ---- This pass looks at innermost loops and reorders their instructions by overlapping different iterations. Modulo scheduling is performed ! immediately before instruction scheduling. The code for this pass is ! located in @file{modulo-sched.c}. @item Instruction scheduling *************** floating point instructions often have t *** 809,815 **** It re-orders instructions within a basic block to try to separate the definition and use of items that otherwise would cause pipeline stalls. This pass is performed twice, before and after register ! allocation. The pass is located in @file{haifa-sched.c}, @file{sched-deps.c}, @file{sched-ebb.c}, @file{sched-rgn.c} and @file{sched-vis.c}. --- 800,806 ---- It re-orders instructions within a basic block to try to separate the definition and use of items that otherwise would cause pipeline stalls. This pass is performed twice, before and after register ! allocation. The code for this pass is located in @file{haifa-sched.c}, @file{sched-deps.c}, @file{sched-ebb.c}, @file{sched-rgn.c} and @file{sched-vis.c}. *************** This pass computes where the variables a *** 870,882 **** position in code and generates notes describing the variable locations to RTL code. The location lists are then generated according to these notes to debug information if the debugging information format supports ! location lists. @item Delayed branch scheduling This optional pass attempts to find instructions that can go into the ! delay slots of other instructions, usually jumps and calls. The ! source file name is @file{reorg.c}. @item Branch shortening --- 861,873 ---- position in code and generates notes describing the variable locations to RTL code. The location lists are then generated according to these notes to debug information if the debugging information format supports ! location lists. The code is located in @file{var-tracking.c}. @item Delayed branch scheduling This optional pass attempts to find instructions that can go into the ! delay slots of other instructions, usually jumps and calls. The code ! for this pass is located in @file{reorg.c}. @item Branch shortening *************** Thus, longer sequences of instructions m *** 885,897 **** In this pass, the compiler figures out what how far each instruction will be from each other instruction, and therefore whether the usual instructions, or the longer sequences, must be used for each branch. @item Register-to-stack conversion Conversion from usage of some hard registers to usage of a register stack may be done at this point. Currently, this is supported only ! for the floating-point registers of the Intel 80387 coprocessor. The ! source file name is @file{reg-stack.c}. @item Final --- 876,889 ---- In this pass, the compiler figures out what how far each instruction will be from each other instruction, and therefore whether the usual instructions, or the longer sequences, must be used for each branch. + The code for this pass is located in @file{final.c}. @item Register-to-stack conversion Conversion from usage of some hard registers to usage of a register stack may be done at this point. Currently, this is supported only ! for the floating-point registers of the Intel 80387 coprocessor. The ! code for this pass is located in @file{reg-stack.c}. @item Final diff -Nrcpad gcc-4.3.3/gcc/doc/rtl.texi gcc-4.3.4/gcc/doc/rtl.texi *** gcc-4.3.3/gcc/doc/rtl.texi Sun Feb 17 18:52:04 2008 --- gcc-4.3.4/gcc/doc/rtl.texi Sat May 23 17:55:35 2009 *************** *** 10,19 **** @cindex representation of RTL @cindex Register Transfer Language (RTL) ! Most of the work of the compiler is done on an intermediate representation ! called register transfer language. In this language, the instructions to be ! output are described, pretty much one by one, in an algebraic form that ! describes what the instruction does. RTL is inspired by Lisp lists. It has both an internal form, made up of structures that point at other structures, and a textual form that is used --- 10,19 ---- @cindex representation of RTL @cindex Register Transfer Language (RTL) ! The last part of the compiler work is done on a low-level intermediate ! representation called Register Transfer Language. In this language, the ! instructions to be output are described, pretty much one by one, in an ! algebraic form that describes what the instruction does. RTL is inspired by Lisp lists. It has both an internal form, made up of structures that point at other structures, and a textual form that is used diff -Nrcpad gcc-4.3.3/gcc/dojump.c gcc-4.3.4/gcc/dojump.c *** gcc-4.3.3/gcc/dojump.c Tue Aug 12 18:36:28 2008 --- gcc-4.3.4/gcc/dojump.c Thu May 7 15:53:11 2009 *************** prefer_and_bit_test (enum machine_mode m *** 141,147 **** } /* Fill in the integers. */ ! XEXP (and_test, 1) = GEN_INT ((unsigned HOST_WIDE_INT) 1 << bitnum); XEXP (XEXP (shift_test, 0), 1) = GEN_INT (bitnum); return (rtx_cost (and_test, IF_THEN_ELSE) --- 141,148 ---- } /* Fill in the integers. */ ! XEXP (and_test, 1) ! = immed_double_const ((unsigned HOST_WIDE_INT) 1 << bitnum, 0, mode); XEXP (XEXP (shift_test, 0), 1) = GEN_INT (bitnum); return (rtx_cost (and_test, IF_THEN_ELSE) *************** do_jump (tree exp, rtx if_false_label, r *** 251,260 **** && prefer_and_bit_test (TYPE_MODE (argtype), TREE_INT_CST_LOW (shift))) { ! HOST_WIDE_INT mask = (HOST_WIDE_INT) 1 ! << TREE_INT_CST_LOW (shift); do_jump (build2 (BIT_AND_EXPR, argtype, arg, ! build_int_cst_type (argtype, mask)), clr_label, set_label); break; } --- 252,261 ---- && prefer_and_bit_test (TYPE_MODE (argtype), TREE_INT_CST_LOW (shift))) { ! unsigned HOST_WIDE_INT mask ! = (unsigned HOST_WIDE_INT) 1 << TREE_INT_CST_LOW (shift); do_jump (build2 (BIT_AND_EXPR, argtype, arg, ! build_int_cst_wide_type (argtype, mask, 0)), clr_label, set_label); break; } diff -Nrcpad gcc-4.3.3/gcc/dwarf2out.c gcc-4.3.4/gcc/dwarf2out.c *** gcc-4.3.3/gcc/dwarf2out.c Mon Aug 11 10:26:08 2008 --- gcc-4.3.4/gcc/dwarf2out.c Thu Jun 18 20:06:04 2009 *************** add_subscript_info (dw_die_ref type_die, *** 11316,11329 **** const enum type. E.g. const enum machine_mode insn_operand_mode[2][10]. We work around this by disabling this feature. See also gen_array_type_die. */ #ifndef MIPS_DEBUGGING_INFO ! for (dimension_number = 0; TREE_CODE (type) == ARRAY_TYPE; type = TREE_TYPE (type), dimension_number++) #endif { tree domain = TYPE_DOMAIN (type); /* Arrays come in three flavors: Unspecified bounds, fixed bounds, and (in GNU C only) variable bounds. Handle all three forms here. */ --- 11316,11335 ---- const enum type. E.g. const enum machine_mode insn_operand_mode[2][10]. We work around this by disabling this feature. See also gen_array_type_die. */ + #ifndef MIPS_DEBUGGING_INFO ! for (dimension_number = 0; TREE_CODE (type) == ARRAY_TYPE; type = TREE_TYPE (type), dimension_number++) #endif { tree domain = TYPE_DOMAIN (type); + #ifndef MIPS_DEBUGGING_INFO + if (TYPE_STRING_FLAG (type) && is_fortran () && dimension_number > 0) + break; + #endif + /* Arrays come in three flavors: Unspecified bounds, fixed bounds, and (in GNU C only) variable bounds. Handle all three forms here. */ *************** gen_array_type_die (tree type, dw_die_re *** 11846,11851 **** --- 11852,11890 ---- dw_die_ref array_die; tree element_type; + /* Emit DW_TAG_string_type for Fortran character types (with kind 1 only, as + DW_TAG_string_type doesn't have DW_AT_type attribute). */ + if (TYPE_STRING_FLAG (type) + && TREE_CODE (type) == ARRAY_TYPE + && is_fortran () + && TYPE_MODE (TREE_TYPE (type)) == TYPE_MODE (char_type_node)) + { + HOST_WIDE_INT size; + + array_die = new_die (DW_TAG_string_type, scope_die, type); + add_name_attribute (array_die, type_tag (type)); + equate_type_number_to_die (type, array_die); + size = int_size_in_bytes (type); + if (size >= 0) + add_AT_unsigned (array_die, DW_AT_byte_size, size); + else if (TYPE_DOMAIN (type) != NULL_TREE + && TYPE_MAX_VALUE (TYPE_DOMAIN (type)) != NULL_TREE + && DECL_P (TYPE_MAX_VALUE (TYPE_DOMAIN (type)))) + { + tree szdecl = TYPE_MAX_VALUE (TYPE_DOMAIN (type)); + dw_loc_descr_ref loc = loc_descriptor_from_tree (szdecl); + + size = int_size_in_bytes (TREE_TYPE (szdecl)); + if (loc && size > 0) + { + add_AT_loc (array_die, DW_AT_string_length, loc); + if (size != DWARF2_ADDR_SIZE) + add_AT_unsigned (array_die, DW_AT_byte_size, size); + } + } + return; + } + /* ??? The SGI dwarf reader fails for array of array of enum types unless the inner array type comes before the outer array type. Thus we must call gen_type_die before we call new_die. See below also. */ *************** gen_array_type_die (tree type, dw_die_re *** 11868,11874 **** /* For Fortran multidimensional arrays use DW_ORD_col_major ordering. */ if (is_fortran () && TREE_CODE (type) == ARRAY_TYPE ! && TREE_CODE (TREE_TYPE (type)) == ARRAY_TYPE) add_AT_unsigned (array_die, DW_AT_ordering, DW_ORD_col_major); #if 0 --- 11907,11914 ---- /* For Fortran multidimensional arrays use DW_ORD_col_major ordering. */ if (is_fortran () && TREE_CODE (type) == ARRAY_TYPE ! && TREE_CODE (TREE_TYPE (type)) == ARRAY_TYPE ! && !TYPE_STRING_FLAG (TREE_TYPE (type))) add_AT_unsigned (array_die, DW_AT_ordering, DW_ORD_col_major); #if 0 *************** gen_type_die_with_usage (tree type, dw_d *** 13487,13492 **** --- 13527,13538 ---- /* Prevent broken recursion; we can't hand off to the same type. */ gcc_assert (DECL_ORIGINAL_TYPE (TYPE_NAME (type)) != type); + /* Use the DIE of the containing namespace as the parent DIE of + the type description DIE we want to generate. */ + if (DECL_CONTEXT (TYPE_NAME (type)) + && TREE_CODE (DECL_CONTEXT (TYPE_NAME (type))) == NAMESPACE_DECL) + context_die = lookup_decl_die (DECL_CONTEXT (TYPE_NAME (type))); + TREE_ASM_WRITTEN (type) = 1; gen_decl_die (TYPE_NAME (type), context_die); return; diff -Nrcpad gcc-4.3.3/gcc/emutls.c gcc-4.3.4/gcc/emutls.c *** gcc-4.3.3/gcc/emutls.c Thu Dec 11 23:30:42 2008 --- gcc-4.3.4/gcc/emutls.c Sat Jun 27 17:50:20 2009 *************** __emutls_get_address (struct __emutls_ob *** 157,179 **** if (__builtin_expect (arr == NULL, 0)) { pointer size = offset + 32; ! arr = calloc (size, sizeof (void *)); if (arr == NULL) abort (); arr->size = size; __gthread_setspecific (emutls_key, (void *) arr); } ! else if (__builtin_expect (offset >= arr->size, 0)) { pointer orig_size = arr->size; pointer size = orig_size * 2; ! if (offset >= size) size = offset + 32; ! arr = realloc (arr, size * sizeof (void *)); if (arr == NULL) abort (); arr->size = size; ! memset (arr->data + orig_size - 1, 0, (size - orig_size) * sizeof (void *)); __gthread_setspecific (emutls_key, (void *) arr); } --- 157,179 ---- if (__builtin_expect (arr == NULL, 0)) { pointer size = offset + 32; ! arr = calloc (size + 1, sizeof (void *)); if (arr == NULL) abort (); arr->size = size; __gthread_setspecific (emutls_key, (void *) arr); } ! else if (__builtin_expect (offset > arr->size, 0)) { pointer orig_size = arr->size; pointer size = orig_size * 2; ! if (offset > size) size = offset + 32; ! arr = realloc (arr, (size + 1) * sizeof (void *)); if (arr == NULL) abort (); arr->size = size; ! memset (arr->data + orig_size, 0, (size - orig_size) * sizeof (void *)); __gthread_setspecific (emutls_key, (void *) arr); } diff -Nrcpad gcc-4.3.3/gcc/fold-const.c gcc-4.3.4/gcc/fold-const.c *** gcc-4.3.3/gcc/fold-const.c Wed Oct 22 20:08:01 2008 --- gcc-4.3.4/gcc/fold-const.c Tue Jul 7 12:44:32 2009 *************** fold_convert (tree type, tree arg) *** 2598,2606 **** case POINTER_TYPE: case REFERENCE_TYPE: case REAL_TYPE: case FIXED_POINT_TYPE: ! return build2 (COMPLEX_EXPR, type, ! fold_convert (TREE_TYPE (type), arg), ! fold_convert (TREE_TYPE (type), integer_zero_node)); case COMPLEX_TYPE: { tree rpart, ipart; --- 2598,2606 ---- case POINTER_TYPE: case REFERENCE_TYPE: case REAL_TYPE: case FIXED_POINT_TYPE: ! return fold_build2 (COMPLEX_EXPR, type, ! fold_convert (TREE_TYPE (type), arg), ! fold_convert (TREE_TYPE (type), integer_zero_node)); case COMPLEX_TYPE: { tree rpart, ipart; *************** optimize_minmax_comparison (enum tree_co *** 5994,6003 **** expression would not overflow or that overflow is undefined for the type in the language in question. - We also canonicalize (X + 7) * 4 into X * 4 + 28 in the hope that either - the machine has a multiply-accumulate insn or that this is part of an - addressing calculation. - If we return a non-null expression, it is an equivalent form of the original computation, but need not be in the original type. --- 5994,5999 ---- *************** fold_plusminus_mult_expr (enum tree_code *** 7422,7428 **** else if (TREE_CODE (arg1) == INTEGER_CST) { arg10 = build_one_cst (type); ! arg11 = arg1; } else { --- 7418,7434 ---- else if (TREE_CODE (arg1) == INTEGER_CST) { arg10 = build_one_cst (type); ! /* As we canonicalize A - 2 to A + -2 get rid of that sign for ! the purpose of this canonicalization. */ ! if (TREE_INT_CST_HIGH (arg1) == -1 ! && negate_expr_p (arg1) ! && code == PLUS_EXPR) ! { ! arg11 = negate_expr (arg1); ! code = MINUS_EXPR; ! } ! else ! arg11 = arg1; } else { *************** fold_unary (enum tree_code code, tree ty *** 8519,8524 **** --- 8525,8548 ---- } /* switch (code) */ } + + /* If the operation was a conversion do _not_ mark a resulting constant + with TREE_OVERFLOW if the original constant was not. These conversions + have implementation defined behavior and retaining the TREE_OVERFLOW + flag here would confuse later passes such as VRP. */ + tree + fold_unary_ignore_overflow (enum tree_code code, tree type, tree op0) + { + tree res = fold_unary (code, type, op0); + if (res + && TREE_CODE (res) == INTEGER_CST + && TREE_CODE (op0) == INTEGER_CST + && (code == NOP_EXPR || code == CONVERT_EXPR)) + TREE_OVERFLOW (res) = TREE_OVERFLOW (op0); + + return res; + } + /* Fold a binary expression of code CODE and type TYPE with operands OP0 and OP1, containing either a MIN-MAX or a MAX-MIN combination. Return the folded expression if folding is successful. Otherwise, *************** fold_binary (enum tree_code code, tree t *** 11206,11211 **** --- 11230,11237 ---- if (prec < HOST_BITS_PER_WIDE_INT || newmask == ~(unsigned HOST_WIDE_INT) 0) { + tree newmaskt; + if (shift_type != TREE_TYPE (arg0)) { tem = fold_build2 (TREE_CODE (arg0), shift_type, *************** fold_binary (enum tree_code code, tree t *** 11216,11224 **** } else tem = op0; ! return fold_build2 (BIT_AND_EXPR, type, tem, ! build_int_cst_type (TREE_TYPE (op1), ! newmask)); } } } --- 11242,11250 ---- } else tem = op0; ! newmaskt = build_int_cst_type (TREE_TYPE (op1), newmask); ! if (!tree_int_cst_equal (newmaskt, arg1)) ! return fold_build2 (BIT_AND_EXPR, type, tem, newmaskt); } } } *************** fold_binary (enum tree_code code, tree t *** 11673,11679 **** case RSHIFT_EXPR: /* Optimize -1 >> x for arithmetic right shifts. */ ! if (integer_all_onesp (arg0) && !TYPE_UNSIGNED (type)) return omit_one_operand (type, arg0, arg1); /* ... fall through ... */ --- 11699,11706 ---- case RSHIFT_EXPR: /* Optimize -1 >> x for arithmetic right shifts. */ ! if (integer_all_onesp (arg0) && !TYPE_UNSIGNED (type) ! && tree_expr_nonnegative_p (arg1)) return omit_one_operand (type, arg0, arg1); /* ... fall through ... */ *************** fold_binary (enum tree_code code, tree t *** 11705,11711 **** if (code == LROTATE_EXPR || code == RROTATE_EXPR) low = low % TYPE_PRECISION (type); else if (TYPE_UNSIGNED (type) || code == LSHIFT_EXPR) ! return build_int_cst (type, 0); else low = TYPE_PRECISION (type) - 1; } --- 11732,11739 ---- if (code == LROTATE_EXPR || code == RROTATE_EXPR) low = low % TYPE_PRECISION (type); else if (TYPE_UNSIGNED (type) || code == LSHIFT_EXPR) ! return omit_one_operand (type, build_int_cst (type, 0), ! TREE_OPERAND (arg0, 0)); else low = TYPE_PRECISION (type) - 1; } *************** fold_binary (enum tree_code code, tree t *** 12703,12708 **** --- 12731,12738 ---- optimizations involving comparisons with non-negative constants. */ if (TREE_CODE (arg1) == INTEGER_CST && TREE_CODE (arg0) != INTEGER_CST + && (TYPE_PRECISION (TREE_TYPE (arg0)) + == TYPE_PRECISION (TREE_TYPE (arg1))) && tree_int_cst_sgn (arg1) > 0) { if (code == GE_EXPR) diff -Nrcpad gcc-4.3.3/gcc/function.c gcc-4.3.4/gcc/function.c *** gcc-4.3.3/gcc/function.c Tue Sep 9 20:24:58 2008 --- gcc-4.3.4/gcc/function.c Fri Jun 19 21:44:24 2009 *************** match_asm_constraints_1 (rtx insn, rtx * *** 5712,5717 **** --- 5712,5720 ---- char *end; int match, j; + if (*constraint == '%') + constraint++; + match = strtoul (constraint, &end, 10); if (end == constraint) continue; diff -Nrcpad gcc-4.3.3/gcc/gengtype-lex.c gcc-4.3.4/gcc/gengtype-lex.c *** gcc-4.3.3/gcc/gengtype-lex.c Sat Jan 24 10:35:08 2009 --- gcc-4.3.4/gcc/gengtype-lex.c Tue Aug 4 11:31:53 2009 *************** int yy_flex_debug = 0; *** 936,942 **** #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. --- 936,942 ---- #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. *************** for more details. *** 956,962 **** You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ ! #line 22 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" #include "bconfig.h" #include "system.h" --- 956,962 ---- You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ ! #line 22 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" #include "bconfig.h" #include "system.h" *************** YY_DECL *** 1166,1172 **** register char *yy_cp, *yy_bp; register int yy_act; ! #line 56 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; --- 1166,1172 ---- register char *yy_cp, *yy_bp; register int yy_act; ! #line 56 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; *************** case 1: *** 1263,1269 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 67 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; --- 1263,1269 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 67 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; *************** case 2: *** 1275,1281 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 71 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1275,1281 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 71 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** case 3: *** 1287,1293 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 75 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; --- 1287,1293 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 75 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; *************** case 4: *** 1299,1305 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 79 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; --- 1299,1305 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 79 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; *************** case 5: *** 1311,1317 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 83 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; --- 1311,1317 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 83 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; *************** case 6: *** 1323,1329 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 88 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_OP; --- 1323,1329 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 88 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_OP; *************** case 7: *** 1335,1341 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 92 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_I; --- 1335,1341 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 92 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_I; *************** case 8: *** 1347,1353 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 96 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_ALLOC; --- 1347,1353 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 96 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_ALLOC; *************** YY_RULE_SETUP *** 1357,1375 **** case 9: YY_RULE_SETUP ! #line 104 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 106 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP ! #line 107 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 12: --- 1357,1375 ---- case 9: YY_RULE_SETUP ! #line 104 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 106 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP ! #line 107 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 12: *************** case 12: *** 1378,1384 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 109 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 13: --- 1378,1384 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 109 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 13: *************** case 13: *** 1387,1393 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 110 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 14: --- 1387,1393 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 110 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 14: *************** case 14: *** 1396,1402 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return VEC_TOKEN; } YY_BREAK case 15: --- 1396,1402 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return VEC_TOKEN; } YY_BREAK case 15: *************** case 15: *** 1405,1411 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 16: --- 1405,1411 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 16: *************** case 16: *** 1414,1420 **** (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 113 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 17: --- 1414,1420 ---- (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 113 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 17: *************** case 17: *** 1423,1429 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 114 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 18: --- 1423,1429 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 114 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 18: *************** case 18: *** 1432,1438 **** (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 115 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 19: --- 1432,1438 ---- (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 115 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 19: *************** case 19: *** 1441,1452 **** (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 116 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 20: YY_RULE_SETUP ! #line 117 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 21: --- 1441,1452 ---- (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 116 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 20: YY_RULE_SETUP ! #line 117 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 21: *************** case 21: *** 1455,1461 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 118 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext, yyleng, yyleng+1); return PARAM_IS; --- 1455,1461 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 118 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext, yyleng, yyleng+1); return PARAM_IS; *************** case 22: *** 1466,1476 **** *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 124 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" case 23: /* rule 23 can match eol */ YY_RULE_SETUP ! #line 124 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { size_t len; --- 1466,1476 ---- *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 124 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" case 23: /* rule 23 can match eol */ YY_RULE_SETUP ! #line 124 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { size_t len; *************** case 24: *** 1488,1494 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 136 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext, yyleng, yyleng+1); return ID; --- 1488,1494 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 136 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext, yyleng, yyleng+1); return ID; *************** YY_RULE_SETUP *** 1497,1503 **** case 25: /* rule 25 can match eol */ YY_RULE_SETUP ! #line 141 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext+1, yyleng-2, yyleng-1); return STRING; --- 1497,1503 ---- case 25: /* rule 25 can match eol */ YY_RULE_SETUP ! #line 141 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext+1, yyleng-2, yyleng-1); return STRING; *************** YY_RULE_SETUP *** 1507,1513 **** case 26: /* rule 26 can match eol */ YY_RULE_SETUP ! #line 146 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext+1, yyleng-2, yyleng-1); return ARRAY; --- 1507,1513 ---- case 26: /* rule 26 can match eol */ YY_RULE_SETUP ! #line 146 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext+1, yyleng-2, yyleng-1); return ARRAY; *************** YY_RULE_SETUP *** 1516,1522 **** case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 150 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext+1, yyleng-2, yyleng); return CHAR; --- 1516,1522 ---- case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 150 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { *yylval = xmemdup (yytext+1, yyleng-2, yyleng); return CHAR; *************** YY_RULE_SETUP *** 1524,1547 **** YY_BREAK case 28: YY_RULE_SETUP ! #line 155 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 29: YY_RULE_SETUP ! #line 156 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 159 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 31: YY_RULE_SETUP ! #line 161 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } --- 1524,1547 ---- YY_BREAK case 28: YY_RULE_SETUP ! #line 155 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 29: YY_RULE_SETUP ! #line 156 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 159 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 31: YY_RULE_SETUP ! #line 161 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } *************** YY_RULE_SETUP *** 1549,1578 **** case 32: YY_RULE_SETUP ! #line 166 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP ! #line 167 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 34: ! #line 169 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" case 35: /* rule 35 can match eol */ ! #line 170 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" case 36: /* rule 36 can match eol */ YY_RULE_SETUP ! #line 170 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 171 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 38: --- 1549,1578 ---- case 32: YY_RULE_SETUP ! #line 166 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP ! #line 167 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 34: ! #line 169 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" case 35: /* rule 35 can match eol */ ! #line 170 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" case 36: /* rule 36 can match eol */ YY_RULE_SETUP ! #line 170 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 171 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 38: *************** case 38: *** 1581,1601 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 172 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 39: /* rule 39 can match eol */ YY_RULE_SETUP ! #line 175 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 40: ! #line 177 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" case 41: YY_RULE_SETUP ! #line 177 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: --- 1581,1601 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 172 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 39: /* rule 39 can match eol */ YY_RULE_SETUP ! #line 175 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 40: ! #line 177 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" case 41: YY_RULE_SETUP ! #line 177 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: *************** case 42: *** 1604,1628 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 178 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 43: YY_RULE_SETUP ! #line 180 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 44: YY_RULE_SETUP ! #line 181 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 45: ! #line 184 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 184 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); --- 1604,1628 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 178 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 43: YY_RULE_SETUP ! #line 180 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 44: YY_RULE_SETUP ! #line 181 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 45: ! #line 184 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 184 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); *************** YY_RULE_SETUP *** 1631,1650 **** case 47: /* rule 47 can match eol */ YY_RULE_SETUP ! #line 189 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: /* rule 48 can match eol */ YY_RULE_SETUP ! #line 190 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "stray GTY marker"); } YY_BREAK case 49: YY_RULE_SETUP ! #line 194 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1651 "gengtype-lex.c" --- 1631,1650 ---- case 47: /* rule 47 can match eol */ YY_RULE_SETUP ! #line 189 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: /* rule 48 can match eol */ YY_RULE_SETUP ! #line 190 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "stray GTY marker"); } YY_BREAK case 49: YY_RULE_SETUP ! #line 194 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1651 "gengtype-lex.c" *************** void yyfree (void * ptr ) *** 2611,2617 **** #define YYTABLES_NAME "yytables" ! #line 194 "/abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/gcc/gengtype-lex.l" --- 2611,2617 ---- #define YYTABLES_NAME "yytables" ! #line 194 "/abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/gcc/gengtype-lex.l" diff -Nrcpad gcc-4.3.3/gcc/gimplify.c gcc-4.3.4/gcc/gimplify.c *** gcc-4.3.3/gcc/gimplify.c Thu Dec 18 21:55:31 2008 --- gcc-4.3.4/gcc/gimplify.c Tue Jan 27 18:45:49 2009 *************** gimplify_init_constructor (tree *expr_p, *** 3206,3212 **** if (valid_const_initializer && num_nonzero_elements > 1 && TREE_READONLY (object) ! && TREE_CODE (object) == VAR_DECL) { if (notify_temp_creation) return GS_ERROR; --- 3206,3213 ---- if (valid_const_initializer && num_nonzero_elements > 1 && TREE_READONLY (object) ! && TREE_CODE (object) == VAR_DECL ! && (flag_merge_constants >= 2 || !TREE_ADDRESSABLE (object))) { if (notify_temp_creation) return GS_ERROR; diff -Nrcpad gcc-4.3.3/gcc/ipa-utils.h gcc-4.3.4/gcc/ipa-utils.h *** gcc-4.3.3/gcc/ipa-utils.h Thu Jul 26 08:37:01 2007 --- gcc-4.3.4/gcc/ipa-utils.h Thu May 14 15:54:19 2009 *************** along with GCC; see the file COPYING3. *** 23,31 **** #include "tree.h" #include "cgraph.h" - /* Used for parsing attributes of asm code. */ - extern tree memory_identifier_string; - struct ipa_dfs_info { int dfn_number; int low_link; --- 23,28 ---- diff -Nrcpad gcc-4.3.3/gcc/loop-invariant.c gcc-4.3.4/gcc/loop-invariant.c *** gcc-4.3.3/gcc/loop-invariant.c Fri May 9 18:26:57 2008 --- gcc-4.3.4/gcc/loop-invariant.c Tue Jul 14 09:32:55 2009 *************** find_invariant_insn (rtx insn, bool alwa *** 825,831 **** return; /* We cannot make trapping insn executed, unless it was executed before. */ ! if (may_trap_after_code_motion_p (PATTERN (insn)) && !always_reached) return; depends_on = BITMAP_ALLOC (NULL); --- 825,831 ---- return; /* We cannot make trapping insn executed, unless it was executed before. */ ! if (may_trap_or_fault_p (PATTERN (insn)) && !always_reached) return; depends_on = BITMAP_ALLOC (NULL); diff -Nrcpad gcc-4.3.3/gcc/po/ChangeLog gcc-4.3.4/gcc/po/ChangeLog *** gcc-4.3.3/gcc/po/ChangeLog Sat Jan 24 10:16:07 2009 --- gcc-4.3.4/gcc/po/ChangeLog Tue Aug 4 10:58:39 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/gcc/real.c gcc-4.3.4/gcc/real.c *** gcc-4.3.3/gcc/real.c Wed Oct 22 11:33:04 2008 --- gcc-4.3.4/gcc/real.c Wed Feb 25 22:08:55 2009 *************** do_compare (const REAL_VALUE_TYPE *a, co *** 905,919 **** /* Sign of zero doesn't matter for compares. */ return 0; case CLASS2 (rvc_inf, rvc_zero): case CLASS2 (rvc_inf, rvc_normal): - case CLASS2 (rvc_normal, rvc_zero): return (a->sign ? -1 : 1); case CLASS2 (rvc_inf, rvc_inf): return -a->sign - -b->sign; case CLASS2 (rvc_zero, rvc_normal): case CLASS2 (rvc_zero, rvc_inf): case CLASS2 (rvc_normal, rvc_inf): return (b->sign ? 1 : -1); --- 905,927 ---- /* Sign of zero doesn't matter for compares. */ return 0; + case CLASS2 (rvc_normal, rvc_zero): + /* Decimal float zero is special and uses rvc_normal, not rvc_zero. */ + if (a->decimal) + return decimal_do_compare (a, b, nan_result); + /* Fall through. */ case CLASS2 (rvc_inf, rvc_zero): case CLASS2 (rvc_inf, rvc_normal): return (a->sign ? -1 : 1); case CLASS2 (rvc_inf, rvc_inf): return -a->sign - -b->sign; case CLASS2 (rvc_zero, rvc_normal): + /* Decimal float zero is special and uses rvc_normal, not rvc_zero. */ + if (b->decimal) + return decimal_do_compare (a, b, nan_result); + /* Fall through. */ case CLASS2 (rvc_zero, rvc_inf): case CLASS2 (rvc_normal, rvc_inf): return (b->sign ? 1 : -1); *************** exact_real_inverse (enum machine_mode mo *** 1266,1271 **** --- 1274,1304 ---- *r = u; return true; } + + /* Return true if arithmetic on values in IMODE that were promoted + from values in TMODE is equivalent to direct arithmetic on values + in TMODE. */ + + bool + real_can_shorten_arithmetic (enum machine_mode imode, enum machine_mode tmode) + { + const struct real_format *tfmt, *ifmt; + tfmt = REAL_MODE_FORMAT (tmode); + ifmt = REAL_MODE_FORMAT (imode); + /* These conditions are conservative rather than trying to catch the + exact boundary conditions; the main case to allow is IEEE float + and double. */ + return (ifmt->b == tfmt->b + && ifmt->p > 2 * tfmt->p + && ifmt->emin < 2 * tfmt->emin - tfmt->p - 2 + && ifmt->emin < tfmt->emin - tfmt->emax - tfmt->p - 2 + && ifmt->emax > 2 * tfmt->emax + 2 + && ifmt->emax > tfmt->emax - tfmt->emin + tfmt->p + 2 + && ifmt->round_towards_zero == tfmt->round_towards_zero + && ifmt->has_nans >= tfmt->has_nans + && ifmt->has_inf >= tfmt->has_inf + && ifmt->has_signed_zero >= tfmt->has_signed_zero); + } /* Render R as an integer. */ diff -Nrcpad gcc-4.3.3/gcc/real.h gcc-4.3.4/gcc/real.h *** gcc-4.3.3/gcc/real.h Tue Aug 19 16:37:13 2008 --- gcc-4.3.4/gcc/real.h Wed Feb 25 22:08:55 2009 *************** extern rtx const_double_from_real_value *** 413,418 **** --- 413,423 ---- /* Replace R by 1/R in the given machine mode, if the result is exact. */ extern bool exact_real_inverse (enum machine_mode, REAL_VALUE_TYPE *); + /* Return true if arithmetic on values in IMODE that were promoted + from values in TMODE is equivalent to direct arithmetic on values + in TMODE. */ + bool real_can_shorten_arithmetic (enum machine_mode, enum machine_mode); + /* In tree.c: wrap up a REAL_VALUE_TYPE in a tree node. */ extern tree build_real (tree, REAL_VALUE_TYPE); diff -Nrcpad gcc-4.3.3/gcc/recog.c gcc-4.3.4/gcc/recog.c *** gcc-4.3.3/gcc/recog.c Sat Jun 7 21:13:29 2008 --- gcc-4.3.4/gcc/recog.c Thu Feb 26 07:06:48 2009 *************** *** 1,6 **** /* Subroutines used by or related to instruction recognition. Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GCC. --- 1,6 ---- /* Subroutines used by or related to instruction recognition. Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. This file is part of GCC. *************** check_asm_operands (rtx x) *** 147,156 **** const char *c = constraints[i]; if (c[0] == '%') c++; ! if (ISDIGIT ((unsigned char) c[0]) && c[1] == '\0') ! c = constraints[c[0] - '0']; ! ! if (! asm_operand_ok (operands[i], c)) return 0; } --- 147,153 ---- const char *c = constraints[i]; if (c[0] == '%') c++; ! if (! asm_operand_ok (operands[i], c, constraints)) return 0; } *************** decode_asm_operands (rtx body, rtx *oper *** 1506,1512 **** Return > 0 if ok, = 0 if bad, < 0 if inconclusive. */ int ! asm_operand_ok (rtx op, const char *constraint) { int result = 0; --- 1503,1509 ---- Return > 0 if ok, = 0 if bad, < 0 if inconclusive. */ int ! asm_operand_ok (rtx op, const char *constraint, const char **constraints) { int result = 0; *************** asm_operand_ok (rtx op, const char *cons *** 1534,1548 **** case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': ! /* For best results, our caller should have given us the ! proper matching constraint, but we can't actually fail ! the check if they didn't. Indicate that results are ! inconclusive. */ ! do ! constraint++; ! while (ISDIGIT (*constraint)); ! if (! result) ! result = -1; continue; case 'p': --- 1531,1559 ---- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': ! /* If caller provided constraints pointer, look up ! the maching constraint. Otherwise, our caller should have ! given us the proper matching constraint, but we can't ! actually fail the check if they didn't. Indicate that ! results are inconclusive. */ ! if (constraints) ! { ! char *end; ! unsigned long match; ! ! match = strtoul (constraint, &end, 10); ! if (!result) ! result = asm_operand_ok (op, constraints[match], NULL); ! constraint = (const char *) end; ! } ! else ! { ! do ! constraint++; ! while (ISDIGIT (*constraint)); ! if (! result) ! result = -1; ! } continue; case 'p': diff -Nrcpad gcc-4.3.3/gcc/recog.h gcc-4.3.4/gcc/recog.h *** gcc-4.3.3/gcc/recog.h Thu Jul 26 08:37:01 2007 --- gcc-4.3.4/gcc/recog.h Thu Feb 26 07:06:48 2009 *************** *** 1,6 **** /* Declarations for interface to insn recognizer and insn-output.c. Copyright (C) 1987, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, ! 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GCC. --- 1,6 ---- /* Declarations for interface to insn recognizer and insn-output.c. Copyright (C) 1987, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, ! 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. *************** struct operand_alternative *** 71,77 **** extern void init_recog (void); extern void init_recog_no_volatile (void); extern int check_asm_operands (rtx); ! extern int asm_operand_ok (rtx, const char *); extern bool validate_change (rtx, rtx *, rtx, bool); extern bool validate_unshare_change (rtx, rtx *, rtx, bool); extern bool canonicalize_change_group (rtx insn, rtx x); --- 71,77 ---- extern void init_recog (void); extern void init_recog_no_volatile (void); extern int check_asm_operands (rtx); ! extern int asm_operand_ok (rtx, const char *, const char **); extern bool validate_change (rtx, rtx *, rtx, bool); extern bool validate_unshare_change (rtx, rtx *, rtx, bool); extern bool canonicalize_change_group (rtx insn, rtx x); diff -Nrcpad gcc-4.3.3/gcc/regrename.c gcc-4.3.4/gcc/regrename.c *** gcc-4.3.3/gcc/regrename.c Tue Nov 25 21:26:19 2008 --- gcc-4.3.4/gcc/regrename.c Wed Feb 4 21:42:04 2009 *************** build_def_use (basic_block bb) *** 820,826 **** OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) ! *recog_data.dup_loc[i] = copy_rtx (old_dups[i]); for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (recog_data.n_dups) --- 820,826 ---- OP_IN, 0); for (i = 0; i < recog_data.n_dups; i++) ! *recog_data.dup_loc[i] = old_dups[i]; for (i = 0; i < n_ops; i++) *recog_data.operand_loc[i] = old_operands[i]; if (recog_data.n_dups) diff -Nrcpad gcc-4.3.3/gcc/resource.c gcc-4.3.4/gcc/resource.c *** gcc-4.3.3/gcc/resource.c Tue Dec 18 07:40:17 2007 --- gcc-4.3.4/gcc/resource.c Sat Jul 18 06:47:22 2009 *************** update_live_status (rtx dest, const_rtx *** 135,142 **** static int find_basic_block (rtx insn, int search_limit) { - basic_block bb; - /* Scan backwards to the previous BARRIER. Then see if we can find a label that starts a basic block. Return the basic block number. */ for (insn = prev_nonnote_insn (insn); --- 135,140 ---- *************** find_basic_block (rtx insn, int search_l *** 157,167 **** for (insn = next_nonnote_insn (insn); insn && LABEL_P (insn); insn = next_nonnote_insn (insn)) ! { ! FOR_EACH_BB (bb) ! if (insn == BB_HEAD (bb)) ! return bb->index; ! } return -1; } --- 155,162 ---- for (insn = next_nonnote_insn (insn); insn && LABEL_P (insn); insn = next_nonnote_insn (insn)) ! if (BLOCK_FOR_INSN (insn)) ! return BLOCK_FOR_INSN (insn)->index; return -1; } *************** return_insn_p (const_rtx insn) *** 851,863 **** (with no intervening active insns) to see if any of them start a basic block. If we hit the start of the function first, we use block 0. ! Once we have found a basic block and a corresponding first insns, we can ! accurately compute the live status from basic_block_live_regs and ! reg_renumber. (By starting at a label following a BARRIER, we are immune ! to actions taken by reload and jump.) Then we scan all insns between ! that point and our target. For each CLOBBER (or for call-clobbered regs ! when we pass a CALL_INSN), mark the appropriate registers are dead. For ! a SET, mark them as live. We have to be careful when using REG_DEAD notes because they are not updated by such things as find_equiv_reg. So keep track of registers --- 846,857 ---- (with no intervening active insns) to see if any of them start a basic block. If we hit the start of the function first, we use block 0. ! Once we have found a basic block and a corresponding first insn, we can ! accurately compute the live status (by starting at a label following a ! BARRIER, we are immune to actions taken by reload and jump.) Then we ! scan all insns between that point and our target. For each CLOBBER (or ! for call-clobbered regs when we pass a CALL_INSN), mark the appropriate ! registers are dead. For a SET, mark them as live. We have to be careful when using REG_DEAD notes because they are not updated by such things as find_equiv_reg. So keep track of registers *************** mark_target_live_regs (rtx insns, rtx ta *** 954,969 **** /* If we found a basic block, get the live registers from it and update them with anything set or killed between its start and the insn before ! TARGET. Otherwise, we must assume everything is live. */ if (b != -1) { regset regs_live = DF_LR_IN (BASIC_BLOCK (b)); rtx start_insn, stop_insn; ! /* Compute hard regs live at start of block -- this is the real hard regs ! marked live, plus live pseudo regs that have been renumbered to ! hard regs. */ ! REG_SET_TO_HARD_REG_SET (current_live_regs, regs_live); /* Get starting and ending insn, handling the case where each might --- 948,961 ---- /* If we found a basic block, get the live registers from it and update them with anything set or killed between its start and the insn before ! TARGET; this custom life analysis is really about registers so we need ! to use the LR problem. Otherwise, we must assume everything is live. */ if (b != -1) { regset regs_live = DF_LR_IN (BASIC_BLOCK (b)); rtx start_insn, stop_insn; ! /* Compute hard regs live at start of block. */ REG_SET_TO_HARD_REG_SET (current_live_regs, regs_live); /* Get starting and ending insn, handling the case where each might *************** mark_target_live_regs (rtx insns, rtx ta *** 1049,1058 **** --- 1041,1064 ---- else if (LABEL_P (real_insn)) { + basic_block bb; + /* A label clobbers the pending dead registers since neither reload nor jump will propagate a value across a label. */ AND_COMPL_HARD_REG_SET (current_live_regs, pending_dead_regs); CLEAR_HARD_REG_SET (pending_dead_regs); + + /* We must conservatively assume that all registers that used + to be live here still are. The fallthrough edge may have + left a live register uninitialized. */ + bb = BLOCK_FOR_INSN (real_insn); + if (bb) + { + HARD_REG_SET extra_live; + + REG_SET_TO_HARD_REG_SET (extra_live, DF_LR_IN (bb)); + IOR_HARD_REG_SET (current_live_regs, extra_live); + } } /* The beginning of the epilogue corresponds to the end of the *************** void *** 1124,1129 **** --- 1130,1136 ---- init_resource_info (rtx epilogue_insn) { int i; + basic_block bb; /* Indicate what resources are required to be valid at the end of the current function. The condition code never is and memory always is. If the *************** init_resource_info (rtx epilogue_insn) *** 1192,1197 **** --- 1199,1209 ---- /* Allocate and initialize the tables used by mark_target_live_regs. */ target_hash_table = XCNEWVEC (struct target_info *, TARGET_HASH_PRIME); bb_ticks = XCNEWVEC (int, last_basic_block); + + /* Set the BLOCK_FOR_INSN of each label that starts a basic block. */ + FOR_EACH_BB (bb) + if (LABEL_P (BB_HEAD (bb))) + BLOCK_FOR_INSN (BB_HEAD (bb)) = bb; } /* Free up the resources allocated to mark_target_live_regs (). This *************** init_resource_info (rtx epilogue_insn) *** 1200,1205 **** --- 1212,1219 ---- void free_resource_info (void) { + basic_block bb; + if (target_hash_table != NULL) { int i; *************** free_resource_info (void) *** 1225,1230 **** --- 1239,1248 ---- free (bb_ticks); bb_ticks = NULL; } + + FOR_EACH_BB (bb) + if (LABEL_P (BB_HEAD (bb))) + BLOCK_FOR_INSN (BB_HEAD (bb)) = NULL; } /* Clear any hashed information that we have stored for INSN. */ diff -Nrcpad gcc-4.3.3/gcc/rtl.h gcc-4.3.4/gcc/rtl.h *** gcc-4.3.3/gcc/rtl.h Fri May 9 18:26:57 2008 --- gcc-4.3.4/gcc/rtl.h Tue Jul 14 09:32:55 2009 *************** extern int volatile_refs_p (const_rtx); *** 1748,1754 **** extern int volatile_insn_p (const_rtx); extern int may_trap_p_1 (const_rtx, unsigned); extern int may_trap_p (const_rtx); - extern int may_trap_after_code_motion_p (const_rtx); extern int may_trap_or_fault_p (const_rtx); extern int inequality_comparisons_p (const_rtx); extern rtx replace_rtx (rtx, rtx, rtx); --- 1748,1753 ---- diff -Nrcpad gcc-4.3.3/gcc/rtlanal.c gcc-4.3.4/gcc/rtlanal.c *** gcc-4.3.3/gcc/rtlanal.c Mon Nov 10 10:43:35 2008 --- gcc-4.3.4/gcc/rtlanal.c Tue Jul 14 09:32:55 2009 *************** rtx_varies_p (const_rtx x, bool for_alia *** 263,276 **** alignment machines. */ static int ! rtx_addr_can_trap_p_1 (const_rtx x, enum machine_mode mode, bool unaligned_mems) { enum rtx_code code = GET_CODE (x); switch (code) { case SYMBOL_REF: ! return SYMBOL_REF_WEAK (x); case LABEL_REF: return 0; --- 263,331 ---- alignment machines. */ static int ! rtx_addr_can_trap_p_1 (const_rtx x, HOST_WIDE_INT offset, HOST_WIDE_INT size, ! enum machine_mode mode, bool unaligned_mems) { enum rtx_code code = GET_CODE (x); + if (STRICT_ALIGNMENT + && unaligned_mems + && GET_MODE_SIZE (mode) != 0) + { + HOST_WIDE_INT actual_offset = offset; + #ifdef SPARC_STACK_BOUNDARY_HACK + /* ??? The SPARC port may claim a STACK_BOUNDARY higher than + the real alignment of %sp. However, when it does this, the + alignment of %sp+STACK_POINTER_OFFSET is STACK_BOUNDARY. */ + if (SPARC_STACK_BOUNDARY_HACK + && (x == stack_pointer_rtx || x == hard_frame_pointer_rtx)) + actual_offset -= STACK_POINTER_OFFSET; + #endif + + if (actual_offset % GET_MODE_SIZE (mode) != 0) + return 1; + } + switch (code) { case SYMBOL_REF: ! if (SYMBOL_REF_WEAK (x)) ! return 1; ! if (!CONSTANT_POOL_ADDRESS_P (x)) ! { ! tree decl; ! HOST_WIDE_INT decl_size; ! ! if (offset < 0) ! return 1; ! if (size == 0) ! size = GET_MODE_SIZE (mode); ! if (size == 0) ! return offset != 0; ! ! /* If the size of the access or of the symbol is unknown, ! assume the worst. */ ! decl = SYMBOL_REF_DECL (x); ! ! /* Else check that the access is in bounds. TODO: restructure ! expr_size/lhd_expr_size/int_expr_size and just use the latter. */ ! if (!decl) ! decl_size = -1; ! else if (DECL_P (decl) && DECL_SIZE_UNIT (decl)) ! decl_size = (host_integerp (DECL_SIZE_UNIT (decl), 0) ! ? tree_low_cst (DECL_SIZE_UNIT (decl), 0) ! : -1); ! else if (TREE_CODE (decl) == STRING_CST) ! decl_size = TREE_STRING_LENGTH (decl); ! else if (TYPE_SIZE_UNIT (TREE_TYPE (decl))) ! decl_size = int_size_in_bytes (TREE_TYPE (decl)); ! else ! decl_size = -1; ! ! return (decl_size <= 0 ? offset != 0 : offset + size > decl_size); ! } ! ! return 0; case LABEL_REF: return 0; *************** rtx_addr_can_trap_p_1 (const_rtx x, enum *** 289,342 **** return 1; case CONST: ! return rtx_addr_can_trap_p_1 (XEXP (x, 0), mode, unaligned_mems); case PLUS: /* An address is assumed not to trap if: ! - it is an address that can't trap plus a constant integer, with the proper remainder modulo the mode size if we are considering unaligned memory references. */ ! if (!rtx_addr_can_trap_p_1 (XEXP (x, 0), mode, unaligned_mems) ! && GET_CODE (XEXP (x, 1)) == CONST_INT) ! { ! HOST_WIDE_INT offset; ! ! if (!STRICT_ALIGNMENT ! || !unaligned_mems ! || GET_MODE_SIZE (mode) == 0) ! return 0; ! ! offset = INTVAL (XEXP (x, 1)); ! ! #ifdef SPARC_STACK_BOUNDARY_HACK ! /* ??? The SPARC port may claim a STACK_BOUNDARY higher than ! the real alignment of %sp. However, when it does this, the ! alignment of %sp+STACK_POINTER_OFFSET is STACK_BOUNDARY. */ ! if (SPARC_STACK_BOUNDARY_HACK ! && (XEXP (x, 0) == stack_pointer_rtx ! || XEXP (x, 0) == hard_frame_pointer_rtx)) ! offset -= STACK_POINTER_OFFSET; ! #endif ! ! return offset % GET_MODE_SIZE (mode) != 0; ! } ! ! /* - or it is the pic register plus a constant. */ ! if (XEXP (x, 0) == pic_offset_table_rtx && CONSTANT_P (XEXP (x, 1))) return 0; return 1; case LO_SUM: case PRE_MODIFY: ! return rtx_addr_can_trap_p_1 (XEXP (x, 1), mode, unaligned_mems); case PRE_DEC: case PRE_INC: case POST_DEC: case POST_INC: case POST_MODIFY: ! return rtx_addr_can_trap_p_1 (XEXP (x, 0), mode, unaligned_mems); default: break; --- 344,380 ---- return 1; case CONST: ! return rtx_addr_can_trap_p_1 (XEXP (x, 0), offset, size, ! mode, unaligned_mems); case PLUS: /* An address is assumed not to trap if: ! - it is the pic register plus a constant. */ ! if (XEXP (x, 0) == pic_offset_table_rtx && CONSTANT_P (XEXP (x, 1))) ! return 0; ! ! /* - or it is an address that can't trap plus a constant integer, with the proper remainder modulo the mode size if we are considering unaligned memory references. */ ! if (GET_CODE (XEXP (x, 1)) == CONST_INT ! && !rtx_addr_can_trap_p_1 (XEXP (x, 0), offset + INTVAL (XEXP (x, 1)), ! size, mode, unaligned_mems)) return 0; return 1; case LO_SUM: case PRE_MODIFY: ! return rtx_addr_can_trap_p_1 (XEXP (x, 1), offset, size, ! mode, unaligned_mems); case PRE_DEC: case PRE_INC: case POST_DEC: case POST_INC: case POST_MODIFY: ! return rtx_addr_can_trap_p_1 (XEXP (x, 0), offset, size, ! mode, unaligned_mems); default: break; *************** rtx_addr_can_trap_p_1 (const_rtx x, enum *** 351,357 **** int rtx_addr_can_trap_p (const_rtx x) { ! return rtx_addr_can_trap_p_1 (x, VOIDmode, false); } /* Return true if X is an address that is known to not be zero. */ --- 389,395 ---- int rtx_addr_can_trap_p (const_rtx x) { ! return rtx_addr_can_trap_p_1 (x, 0, 0, VOIDmode, false); } /* Return true if X is an address that is known to not be zero. */ *************** side_effects_p (const_rtx x) *** 2170,2186 **** return 0; } - enum may_trap_p_flags - { - MTP_UNALIGNED_MEMS = 1, - MTP_AFTER_MOVE = 2 - }; /* Return nonzero if evaluating rtx X might cause a trap. ! (FLAGS & MTP_UNALIGNED_MEMS) controls whether nonzero is returned for ! unaligned memory accesses on strict alignment machines. If ! (FLAGS & AFTER_MOVE) is true, returns nonzero even in case the expression ! cannot trap at its current location, but it might become trapping if moved ! elsewhere. */ int may_trap_p_1 (const_rtx x, unsigned flags) --- 2208,2217 ---- return 0; } /* Return nonzero if evaluating rtx X might cause a trap. ! FLAGS controls how to consider MEMs. A nonzero means the context ! of the access may have changed from the original, such that the ! address may have become invalid. */ int may_trap_p_1 (const_rtx x, unsigned flags) *************** may_trap_p_1 (const_rtx x, unsigned flag *** 2188,2194 **** int i; enum rtx_code code; const char *fmt; ! bool unaligned_mems = (flags & MTP_UNALIGNED_MEMS) != 0; if (x == 0) return 0; --- 2219,2229 ---- int i; enum rtx_code code; const char *fmt; ! ! /* We make no distinction currently, but this function is part of ! the internal target-hooks ABI so we keep the parameter as ! "unsigned flags". */ ! bool code_changed = flags != 0; if (x == 0) return 0; *************** may_trap_p_1 (const_rtx x, unsigned flag *** 2223,2236 **** /* Memory ref can trap unless it's a static var or a stack slot. */ case MEM: if (/* MEM_NOTRAP_P only relates to the actual position of the memory ! reference; moving it out of condition might cause its address ! become invalid. */ ! !(flags & MTP_AFTER_MOVE) ! && MEM_NOTRAP_P (x) ! && (!STRICT_ALIGNMENT || !unaligned_mems)) ! return 0; ! return ! rtx_addr_can_trap_p_1 (XEXP (x, 0), GET_MODE (x), unaligned_mems); /* Division by a non-constant might trap. */ case DIV: --- 2258,2274 ---- /* Memory ref can trap unless it's a static var or a stack slot. */ case MEM: if (/* MEM_NOTRAP_P only relates to the actual position of the memory ! reference; moving it out of context such as when moving code ! when optimizing, might cause its address to become invalid. */ ! code_changed ! || !MEM_NOTRAP_P (x)) ! { ! HOST_WIDE_INT size = MEM_SIZE (x) ? INTVAL (MEM_SIZE (x)) : 0; ! return rtx_addr_can_trap_p_1 (XEXP (x, 0), 0, size, ! GET_MODE (x), code_changed); ! } ! ! return 0; /* Division by a non-constant might trap. */ case DIV: *************** may_trap_p (const_rtx x) *** 2328,2342 **** return may_trap_p_1 (x, 0); } - /* Return nonzero if evaluating rtx X might cause a trap, when the expression - is moved from its current location by some optimization. */ - - int - may_trap_after_code_motion_p (const_rtx x) - { - return may_trap_p_1 (x, MTP_AFTER_MOVE); - } - /* Same as above, but additionally return nonzero if evaluating rtx X might cause a fault. We define a fault for the purpose of this function as a erroneous execution condition that cannot be encountered during the normal --- 2366,2371 ---- *************** may_trap_after_code_motion_p (const_rtx *** 2380,2386 **** int may_trap_or_fault_p (const_rtx x) { ! return may_trap_p_1 (x, MTP_UNALIGNED_MEMS); } /* Return nonzero if X contains a comparison that is not either EQ or NE, --- 2409,2415 ---- int may_trap_or_fault_p (const_rtx x) { ! return may_trap_p_1 (x, 1); } /* Return nonzero if X contains a comparison that is not either EQ or NE, diff -Nrcpad gcc-4.3.3/gcc/simplify-rtx.c gcc-4.3.4/gcc/simplify-rtx.c *** gcc-4.3.3/gcc/simplify-rtx.c Fri May 9 17:13:30 2008 --- gcc-4.3.4/gcc/simplify-rtx.c Mon Aug 3 21:49:12 2009 *************** simplify_binary_operation_1 (enum rtx_co *** 2004,2009 **** --- 2004,2010 ---- /* x*2 is x+x and x*(-1) is -x */ if (GET_CODE (trueop1) == CONST_DOUBLE && SCALAR_FLOAT_MODE_P (GET_MODE (trueop1)) + && !DECIMAL_FLOAT_MODE_P (GET_MODE (trueop1)) && GET_MODE (op0) == mode) { REAL_VALUE_TYPE d; diff -Nrcpad gcc-4.3.3/gcc/stmt.c gcc-4.3.4/gcc/stmt.c *** gcc-4.3.3/gcc/stmt.c Fri May 9 18:12:13 2008 --- gcc-4.3.4/gcc/stmt.c Thu Feb 26 07:06:48 2009 *************** *** 1,6 **** /* Expands front end tree to back end RTL for GCC Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, ! 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GCC. --- 1,6 ---- /* Expands front end tree to back end RTL for GCC Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, ! 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. This file is part of GCC. *************** expand_asm_operands (tree string, tree o *** 895,901 **** else if (MEM_P (op)) op = validize_mem (op); ! if (asm_operand_ok (op, constraint) <= 0) { if (allows_reg && TYPE_MODE (type) != BLKmode) op = force_reg (TYPE_MODE (type), op); --- 895,901 ---- else if (MEM_P (op)) op = validize_mem (op); ! if (asm_operand_ok (op, constraint, NULL) <= 0) { if (allows_reg && TYPE_MODE (type) != BLKmode) op = force_reg (TYPE_MODE (type), op); diff -Nrcpad gcc-4.3.3/gcc/toplev.c gcc-4.3.4/gcc/toplev.c *** gcc-4.3.3/gcc/toplev.c Thu Apr 24 17:59:01 2008 --- gcc-4.3.4/gcc/toplev.c Wed Apr 29 06:24:21 2009 *************** print_version (FILE *file, const char *i *** 1198,1207 **** indent, __VERSION__); /* We need to stringify the GMP macro values. Ugh, gmp_version has ! two string formats, "i.j.k" and "i.j" when k is zero. */ #define GCC_GMP_STRINGIFY_VERSION3(X) #X #define GCC_GMP_STRINGIFY_VERSION2(X) GCC_GMP_STRINGIFY_VERSION3(X) ! #if __GNU_MP_VERSION_PATCHLEVEL == 0 #define GCC_GMP_STRINGIFY_VERSION GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION) "." \ GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION_MINOR) #else --- 1198,1211 ---- indent, __VERSION__); /* We need to stringify the GMP macro values. Ugh, gmp_version has ! two string formats, "i.j.k" and "i.j" when k is zero. As of ! gmp-4.3.0, GMP always uses the 3 number format. */ #define GCC_GMP_STRINGIFY_VERSION3(X) #X #define GCC_GMP_STRINGIFY_VERSION2(X) GCC_GMP_STRINGIFY_VERSION3(X) ! #define GCC_GMP_VERSION_NUM(X,Y,Z) (((X) << 16L) | ((Y) << 8) | (Z)) ! #define GCC_GMP_VERSION \ ! GCC_GMP_VERSION_NUM(__GNU_MP_VERSION, __GNU_MP_VERSION_MINOR, __GNU_MP_VERSION_PATCHLEVEL) ! #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,0) && __GNU_MP_VERSION_PATCHLEVEL == 0 #define GCC_GMP_STRINGIFY_VERSION GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION) "." \ GCC_GMP_STRINGIFY_VERSION2(__GNU_MP_VERSION_MINOR) #else diff -Nrcpad gcc-4.3.3/gcc/tree-cfg.c gcc-4.3.4/gcc/tree-cfg.c *** gcc-4.3.3/gcc/tree-cfg.c Fri Apr 4 18:00:25 2008 --- gcc-4.3.4/gcc/tree-cfg.c Thu Jul 2 12:15:27 2009 *************** tree_move_block_after (basic_block bb, b *** 5048,5055 **** /* Return true if basic_block can be duplicated. */ static bool ! tree_can_duplicate_bb_p (const_basic_block bb ATTRIBUTE_UNUSED) { return true; } --- 5048,5059 ---- /* Return true if basic_block can be duplicated. */ static bool ! tree_can_duplicate_bb_p (const_basic_block bb) { + tree_stmt_iterator tsi = tsi_last (bb_stmt_list (bb)); + /* We cannot duplicate RESX_EXPRs due to expander limitations. */ + if (!tsi_end_p (tsi) && TREE_CODE (tsi_stmt (tsi)) == RESX_EXPR) + return false; return true; } diff -Nrcpad gcc-4.3.3/gcc/tree-chrec.c gcc-4.3.4/gcc/tree-chrec.c *** gcc-4.3.3/gcc/tree-chrec.c Thu Aug 28 14:15:49 2008 --- gcc-4.3.4/gcc/tree-chrec.c Wed Jun 17 12:00:40 2009 *************** chrec_fold_multiply_poly_poly (tree type *** 219,234 **** /* "a*c". */ t0 = chrec_fold_multiply (type, CHREC_LEFT (poly0), CHREC_LEFT (poly1)); ! /* "a*d + b*c + b*d". */ t1 = chrec_fold_multiply (type, CHREC_LEFT (poly0), CHREC_RIGHT (poly1)); t1 = chrec_fold_plus (type, t1, chrec_fold_multiply (type, CHREC_RIGHT (poly0), CHREC_LEFT (poly1))); ! t1 = chrec_fold_plus (type, t1, chrec_fold_multiply (type, ! CHREC_RIGHT (poly0), ! CHREC_RIGHT (poly1))); ! /* "2*b*d". */ t2 = chrec_fold_multiply (type, CHREC_RIGHT (poly0), CHREC_RIGHT (poly1)); t2 = chrec_fold_multiply (type, SCALAR_FLOAT_TYPE_P (type) ? build_real (type, dconst2) : build_int_cst (type, 2), t2); --- 219,234 ---- /* "a*c". */ t0 = chrec_fold_multiply (type, CHREC_LEFT (poly0), CHREC_LEFT (poly1)); ! /* "a*d + b*c". */ t1 = chrec_fold_multiply (type, CHREC_LEFT (poly0), CHREC_RIGHT (poly1)); t1 = chrec_fold_plus (type, t1, chrec_fold_multiply (type, CHREC_RIGHT (poly0), CHREC_LEFT (poly1))); ! /* "b*d". */ t2 = chrec_fold_multiply (type, CHREC_RIGHT (poly0), CHREC_RIGHT (poly1)); + /* "a*d + b*c + b*d". */ + t1 = chrec_fold_plus (type, t1, t2); + /* "2*b*d". */ t2 = chrec_fold_multiply (type, SCALAR_FLOAT_TYPE_P (type) ? build_real (type, dconst2) : build_int_cst (type, 2), t2); diff -Nrcpad gcc-4.3.3/gcc/tree-chrec.h gcc-4.3.4/gcc/tree-chrec.h *** gcc-4.3.3/gcc/tree-chrec.h Wed Nov 14 00:41:05 2007 --- gcc-4.3.4/gcc/tree-chrec.h Wed Jun 17 12:00:40 2009 *************** build_polynomial_chrec (unsigned loop_nu *** 129,135 **** || right == chrec_dont_know) return chrec_dont_know; ! if (no_evolution_in_loop_p (left, loop_num, &val) && !val) return chrec_dont_know; /* Pointer types should occur only on the left hand side, i.e. in --- 129,136 ---- || right == chrec_dont_know) return chrec_dont_know; ! if (!no_evolution_in_loop_p (left, loop_num, &val) ! || !val) return chrec_dont_know; /* Pointer types should occur only on the left hand side, i.e. in diff -Nrcpad gcc-4.3.3/gcc/tree-scalar-evolution.c gcc-4.3.4/gcc/tree-scalar-evolution.c *** gcc-4.3.3/gcc/tree-scalar-evolution.c Fri Jun 6 20:06:40 2008 --- gcc-4.3.4/gcc/tree-scalar-evolution.c Wed Jun 17 12:03:08 2009 *************** follow_ssa_edge_in_condition_phi (struct *** 1272,1281 **** *evolution_of_loop = evolution_of_branch; - /* If the phi node is just a copy, do not increase the limit. */ - if (PHI_NUM_ARGS (condition_phi) > 1) - limit++; - for (i = 1; i < PHI_NUM_ARGS (condition_phi); i++) { /* Quickly give up when the evolution of one of the branches is --- 1272,1277 ---- *************** follow_ssa_edge_in_condition_phi (struct *** 1283,1292 **** if (*evolution_of_loop == chrec_dont_know) return t_true; res = follow_ssa_edge_in_condition_phi_branch (i, loop, condition_phi, halting_phi, &evolution_of_branch, ! init, limit); if (res == t_false || res == t_dont_know) return res; --- 1279,1290 ---- if (*evolution_of_loop == chrec_dont_know) return t_true; + /* Increase the limit by the PHI argument number to avoid exponential + time and memory complexity. */ res = follow_ssa_edge_in_condition_phi_branch (i, loop, condition_phi, halting_phi, &evolution_of_branch, ! init, limit + i); if (res == t_false || res == t_dont_know) return res; *************** scev_finalize (void) *** 2716,2721 **** --- 2714,2763 ---- scalar_evolution_info = NULL; } + /* Returns true if the expression EXPR is considered to be too expensive + for scev_const_prop. */ + + bool + expression_expensive_p (tree expr) + { + enum tree_code code; + + if (is_gimple_val (expr)) + return false; + + code = TREE_CODE (expr); + if (code == TRUNC_DIV_EXPR + || code == CEIL_DIV_EXPR + || code == FLOOR_DIV_EXPR + || code == ROUND_DIV_EXPR + || code == TRUNC_MOD_EXPR + || code == CEIL_MOD_EXPR + || code == FLOOR_MOD_EXPR + || code == ROUND_MOD_EXPR + || code == EXACT_DIV_EXPR) + { + /* Division by power of two is usually cheap, so we allow it. + Forbid anything else. */ + if (!integer_pow2p (TREE_OPERAND (expr, 1))) + return true; + } + + switch (TREE_CODE_CLASS (code)) + { + case tcc_binary: + case tcc_comparison: + if (expression_expensive_p (TREE_OPERAND (expr, 1))) + return true; + + /* Fallthru. */ + case tcc_unary: + return expression_expensive_p (TREE_OPERAND (expr, 0)); + + default: + return true; + } + } + /* Replace ssa names for that scev can prove they are constant by the appropriate constants. Also perform final value replacement in loops, in case the replacement expressions are cheap. *************** scev_const_prop (void) *** 2802,2813 **** continue; niter = number_of_latch_executions (loop); - /* We used to check here whether the computation of NITER is expensive, - and avoided final value elimination if that is the case. The problem - is that it is hard to evaluate whether the expression is too - expensive, as we do not know what optimization opportunities the - the elimination of the final value may reveal. Therefore, we now - eliminate the final values of induction variables unconditionally. */ if (niter == chrec_dont_know) continue; --- 2844,2849 ---- *************** scev_const_prop (void) *** 2838,2844 **** /* Moving the computation from the loop may prolong life range of some ssa names, which may cause problems if they appear on abnormal edges. */ ! || contains_abnormal_ssa_name_p (def)) continue; /* Eliminate the PHI node and replace it by a computation outside --- 2874,2888 ---- /* Moving the computation from the loop may prolong life range of some ssa names, which may cause problems if they appear on abnormal edges. */ ! || contains_abnormal_ssa_name_p (def) ! /* Do not emit expensive expressions. The rationale is that ! when someone writes a code like ! ! while (n > 45) n -= 45; ! ! he probably knows that n is not large, and does not want it ! to be turned into n %= 45. */ ! || expression_expensive_p (def)) continue; /* Eliminate the PHI node and replace it by a computation outside *************** scev_const_prop (void) *** 2850,2860 **** SSA_NAME_DEF_STMT (rslt) = ass; { block_stmt_iterator dest = bsi; - bsi_insert_before (&dest, ass, BSI_NEW_STMT); def = force_gimple_operand_bsi (&dest, def, false, NULL_TREE, true, BSI_SAME_STMT); } - GIMPLE_STMT_OPERAND (ass, 1) = def; update_stmt (ass); } } --- 2894,2904 ---- SSA_NAME_DEF_STMT (rslt) = ass; { block_stmt_iterator dest = bsi; def = force_gimple_operand_bsi (&dest, def, false, NULL_TREE, true, BSI_SAME_STMT); + GIMPLE_STMT_OPERAND (ass, 1) = def; + bsi_insert_before (&dest, ass, BSI_NEW_STMT); } update_stmt (ass); } } diff -Nrcpad gcc-4.3.3/gcc/tree-scalar-evolution.h gcc-4.3.4/gcc/tree-scalar-evolution.h *** gcc-4.3.3/gcc/tree-scalar-evolution.h Fri Jun 6 20:06:40 2008 --- gcc-4.3.4/gcc/tree-scalar-evolution.h Tue May 26 10:17:19 2009 *************** extern void gather_stats_on_scev_databas *** 35,40 **** --- 35,41 ---- extern void scev_analysis (void); unsigned int scev_const_prop (void); + bool expression_expensive_p (tree); extern bool simple_iv (struct loop *, tree, tree, affine_iv *, bool); /* Returns the loop of the polynomial chrec CHREC. */ diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-ccp.c gcc-4.3.4/gcc/tree-ssa-ccp.c *** gcc-4.3.3/gcc/tree-ssa-ccp.c Sun May 11 18:54:15 2008 --- gcc-4.3.4/gcc/tree-ssa-ccp.c Mon Jan 26 15:54:18 2009 *************** ccp_fold (tree stmt) *** 938,944 **** if ((code == NOP_EXPR || code == CONVERT_EXPR) && useless_type_conversion_p (TREE_TYPE (rhs), TREE_TYPE (op0))) return op0; ! return fold_unary (code, TREE_TYPE (rhs), op0); } /* Binary and comparison operators. We know one or both of the --- 938,944 ---- if ((code == NOP_EXPR || code == CONVERT_EXPR) && useless_type_conversion_p (TREE_TYPE (rhs), TREE_TYPE (op0))) return op0; ! return fold_unary_ignore_overflow (code, TREE_TYPE (rhs), op0); } /* Binary and comparison operators. We know one or both of the diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-forwprop.c gcc-4.3.4/gcc/tree-ssa-forwprop.c *** gcc-4.3.3/gcc/tree-ssa-forwprop.c Fri Mar 14 16:34:11 2008 --- gcc-4.3.4/gcc/tree-ssa-forwprop.c Sat Feb 28 18:33:27 2009 *************** static bool *** 487,514 **** forward_propagate_addr_into_variable_array_index (tree offset, tree def_rhs, tree use_stmt) { ! tree index; ! /* Try to find an expression for a proper index. This is either ! a multiplication expression by the element size or just the ! ssa name we came along in case the element size is one. */ if (integer_onep (TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (def_rhs))))) - index = offset; - else { ! /* Get the offset's defining statement. */ ! offset = SSA_NAME_DEF_STMT (offset); /* The statement which defines OFFSET before type conversion must be a simple GIMPLE_MODIFY_STMT. */ ! if (TREE_CODE (offset) != GIMPLE_MODIFY_STMT) return false; /* The RHS of the statement which defines OFFSET must be a multiplication of an object by the size of the array elements. This implicitly verifies that the size of the array elements is constant. */ ! offset = GIMPLE_STMT_OPERAND (offset, 1); if (TREE_CODE (offset) != MULT_EXPR || TREE_CODE (TREE_OPERAND (offset, 1)) != INTEGER_CST || !simple_cst_equal (TREE_OPERAND (offset, 1), --- 487,522 ---- forward_propagate_addr_into_variable_array_index (tree offset, tree def_rhs, tree use_stmt) { ! tree index, offset_def; ! /* Get the offset's defining statement. */ ! offset_def = SSA_NAME_DEF_STMT (offset); ! ! /* Try to find an expression for a proper index. This is either a ! multiplication expression by the element size or just the ssa name we came ! along in case the element size is one. In that case, however, we do not ! allow multiplications because they can be computing index to a higher ! level dimension (PR 37861). */ if (integer_onep (TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (def_rhs))))) { ! if (TREE_CODE (offset_def) == GIMPLE_MODIFY_STMT ! && TREE_CODE (GIMPLE_STMT_OPERAND (offset_def, 1)) == MULT_EXPR) ! return false; + index = offset; + } + else + { /* The statement which defines OFFSET before type conversion must be a simple GIMPLE_MODIFY_STMT. */ ! if (TREE_CODE (offset_def) != GIMPLE_MODIFY_STMT) return false; /* The RHS of the statement which defines OFFSET must be a multiplication of an object by the size of the array elements. This implicitly verifies that the size of the array elements is constant. */ ! offset = GIMPLE_STMT_OPERAND (offset_def, 1); if (TREE_CODE (offset) != MULT_EXPR || TREE_CODE (TREE_OPERAND (offset, 1)) != INTEGER_CST || !simple_cst_equal (TREE_OPERAND (offset, 1), *************** forward_propagate_addr_expr_1 (tree name *** 677,682 **** --- 685,691 ---- array elements, then the result is converted into the proper type for the arithmetic. */ if (TREE_CODE (TREE_OPERAND (rhs, 1)) == SSA_NAME + && useless_type_conversion_p (TREE_TYPE (name), TREE_TYPE (def_rhs)) /* Avoid problems with IVopts creating PLUS_EXPRs with a different type than their operands. */ && useless_type_conversion_p (TREE_TYPE (rhs), TREE_TYPE (name))) diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-loop-im.c gcc-4.3.4/gcc/tree-ssa-loop-im.c *** gcc-4.3.3/gcc/tree-ssa-loop-im.c Mon Feb 11 08:27:00 2008 --- gcc-4.3.4/gcc/tree-ssa-loop-im.c Thu Jun 25 09:44:12 2009 *************** static tree *** 584,589 **** --- 584,590 ---- rewrite_reciprocal (block_stmt_iterator *bsi) { tree stmt, lhs, rhs, stmt1, stmt2, var, name, tmp; + tree real_one; stmt = bsi_stmt (*bsi); lhs = GENERIC_TREE_OPERAND (stmt, 0); *************** rewrite_reciprocal (block_stmt_iterator *** 592,601 **** /* stmt must be GIMPLE_MODIFY_STMT. */ var = create_tmp_var (TREE_TYPE (rhs), "reciptmp"); add_referenced_var (var); tmp = build2 (RDIV_EXPR, TREE_TYPE (rhs), ! build_real (TREE_TYPE (rhs), dconst1), ! TREE_OPERAND (rhs, 1)); stmt1 = build_gimple_modify_stmt (var, tmp); name = make_ssa_name (var, stmt1); GIMPLE_STMT_OPERAND (stmt1, 0) = name; --- 593,615 ---- /* stmt must be GIMPLE_MODIFY_STMT. */ var = create_tmp_var (TREE_TYPE (rhs), "reciptmp"); add_referenced_var (var); + DECL_GIMPLE_REG_P (var) = 1; + + if (TREE_CODE (TREE_TYPE (rhs)) == VECTOR_TYPE) + { + int i, len; + tree list = NULL_TREE; + real_one = build_real (TREE_TYPE (TREE_TYPE (rhs)), dconst1); + len = TYPE_VECTOR_SUBPARTS (TREE_TYPE (rhs)); + for (i = 0; i < len; i++) + list = tree_cons (NULL, real_one, list); + real_one = build_vector (TREE_TYPE (rhs), list); + } + else + real_one = build_real (TREE_TYPE (rhs), dconst1); tmp = build2 (RDIV_EXPR, TREE_TYPE (rhs), ! real_one, TREE_OPERAND (rhs, 1)); stmt1 = build_gimple_modify_stmt (var, tmp); name = make_ssa_name (var, stmt1); GIMPLE_STMT_OPERAND (stmt1, 0) = name; diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-loop-ivopts.c gcc-4.3.4/gcc/tree-ssa-loop-ivopts.c *** gcc-4.3.3/gcc/tree-ssa-loop-ivopts.c Tue Oct 7 17:33:28 2008 --- gcc-4.3.4/gcc/tree-ssa-loop-ivopts.c Tue May 26 10:17:19 2009 *************** may_eliminate_iv (struct ivopts_data *da *** 3776,3782 **** --- 3776,3787 ---- return false; cand_value_at (loop, cand, use->stmt, nit, &bnd); + *bound = aff_combination_to_tree (&bnd); + /* It is unlikely that computing the number of iterations using division + would be more profitable than keeping the original induction variable. */ + if (expression_expensive_p (*bound)) + return false; return true; } diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-loop-niter.c gcc-4.3.4/gcc/tree-ssa-loop-niter.c *** gcc-4.3.3/gcc/tree-ssa-loop-niter.c Mon Aug 4 18:30:59 2008 --- gcc-4.3.4/gcc/tree-ssa-loop-niter.c Wed Jun 17 19:45:52 2009 *************** inverse (tree x, tree mask) *** 534,540 **** } /* Derives the upper bound BND on the number of executions of loop with exit ! condition S * i <> C, assuming that the loop is not infinite. If NO_OVERFLOW is true, then the control variable of the loop does not overflow. If NO_OVERFLOW is true or BNDS.below >= 0, then BNDS.up contains the upper bound on the value of C. */ --- 534,540 ---- } /* Derives the upper bound BND on the number of executions of loop with exit ! condition S * i <> C, assuming that this exit is taken. If NO_OVERFLOW is true, then the control variable of the loop does not overflow. If NO_OVERFLOW is true or BNDS.below >= 0, then BNDS.up contains the upper bound on the value of C. */ *************** number_of_iterations_ne_max (mpz_t bnd, *** 574,580 **** /* Determines number of iterations of loop whose ending condition is IV <> FINAL. TYPE is the type of the iv. The number of ! iterations is stored to NITER. NEVER_INFINITE is true if we know that the exit must be taken eventually, i.e., that the IV ever reaches the value FINAL (we derived this earlier, and possibly set NITER->assumptions to make sure this is the case). BNDS contains the --- 574,580 ---- /* Determines number of iterations of loop whose ending condition is IV <> FINAL. TYPE is the type of the iv. The number of ! iterations is stored to NITER. EXIT_MUST_BE_TAKEN is true if we know that the exit must be taken eventually, i.e., that the IV ever reaches the value FINAL (we derived this earlier, and possibly set NITER->assumptions to make sure this is the case). BNDS contains the *************** number_of_iterations_ne_max (mpz_t bnd, *** 582,588 **** static bool number_of_iterations_ne (tree type, affine_iv *iv, tree final, ! struct tree_niter_desc *niter, bool never_infinite, bounds *bnds) { tree niter_type = unsigned_type_for (type); --- 582,588 ---- static bool number_of_iterations_ne (tree type, affine_iv *iv, tree final, ! struct tree_niter_desc *niter, bool exit_must_be_taken, bounds *bnds) { tree niter_type = unsigned_type_for (type); *************** number_of_iterations_ne (tree type, affi *** 639,647 **** build_int_cst (niter_type, 1), bits); s = fold_binary_to_constant (RSHIFT_EXPR, niter_type, s, bits); ! if (!never_infinite) { ! /* If we cannot assume that the loop is not infinite, record the assumptions for divisibility of c. */ assumption = fold_build2 (FLOOR_MOD_EXPR, niter_type, c, d); assumption = fold_build2 (EQ_EXPR, boolean_type_node, --- 639,647 ---- build_int_cst (niter_type, 1), bits); s = fold_binary_to_constant (RSHIFT_EXPR, niter_type, s, bits); ! if (!exit_must_be_taken) { ! /* If we cannot assume that the exit is taken eventually, record the assumptions for divisibility of c. */ assumption = fold_build2 (FLOOR_MOD_EXPR, niter_type, c, d); assumption = fold_build2 (EQ_EXPR, boolean_type_node, *************** number_of_iterations_ne (tree type, affi *** 664,683 **** of the final value does not overflow are recorded in NITER. If we find the final value, we adjust DELTA and return TRUE. Otherwise we return false. BNDS bounds the value of IV1->base - IV0->base, ! and will be updated by the same amount as DELTA. */ static bool number_of_iterations_lt_to_ne (tree type, affine_iv *iv0, affine_iv *iv1, struct tree_niter_desc *niter, tree *delta, tree step, ! bounds *bnds) { tree niter_type = TREE_TYPE (step); tree mod = fold_build2 (FLOOR_MOD_EXPR, niter_type, *delta, step); tree tmod; mpz_t mmod; tree assumption = boolean_true_node, bound, noloop; ! bool ret = false; tree type1 = type; if (POINTER_TYPE_P (type)) type1 = sizetype; --- 664,684 ---- of the final value does not overflow are recorded in NITER. If we find the final value, we adjust DELTA and return TRUE. Otherwise we return false. BNDS bounds the value of IV1->base - IV0->base, ! and will be updated by the same amount as DELTA. EXIT_MUST_BE_TAKEN is ! true if we know that the exit must be taken eventually. */ static bool number_of_iterations_lt_to_ne (tree type, affine_iv *iv0, affine_iv *iv1, struct tree_niter_desc *niter, tree *delta, tree step, ! bool exit_must_be_taken, bounds *bnds) { tree niter_type = TREE_TYPE (step); tree mod = fold_build2 (FLOOR_MOD_EXPR, niter_type, *delta, step); tree tmod; mpz_t mmod; tree assumption = boolean_true_node, bound, noloop; ! bool ret = false, fv_comp_no_overflow; tree type1 = type; if (POINTER_TYPE_P (type)) type1 = sizetype; *************** number_of_iterations_lt_to_ne (tree type *** 692,705 **** mpz_set_double_int (mmod, tree_to_double_int (mod), true); mpz_neg (mmod, mmod); if (integer_nonzerop (iv0->step)) { /* The final value of the iv is iv1->base + MOD, assuming that this computation does not overflow, and that iv0->base <= iv1->base + MOD. */ ! if (!iv0->no_overflow && !integer_zerop (mod)) { ! bound = fold_build2 (MINUS_EXPR, type, TYPE_MAX_VALUE (type1), tmod); assumption = fold_build2 (LE_EXPR, boolean_type_node, iv1->base, bound); --- 693,722 ---- mpz_set_double_int (mmod, tree_to_double_int (mod), true); mpz_neg (mmod, mmod); + /* If the induction variable does not overflow and the exit is taken, + then the computation of the final value does not overflow. This is + also obviously the case if the new final value is equal to the + current one. Finally, we postulate this for pointer type variables, + as the code cannot rely on the object to that the pointer points being + placed at the end of the address space (and more pragmatically, + TYPE_{MIN,MAX}_VALUE is not defined for pointers). */ + if (integer_zerop (mod) || POINTER_TYPE_P (type)) + fv_comp_no_overflow = true; + else if (!exit_must_be_taken) + fv_comp_no_overflow = false; + else + fv_comp_no_overflow = + (iv0->no_overflow && integer_nonzerop (iv0->step)) + || (iv1->no_overflow && integer_nonzerop (iv1->step)); + if (integer_nonzerop (iv0->step)) { /* The final value of the iv is iv1->base + MOD, assuming that this computation does not overflow, and that iv0->base <= iv1->base + MOD. */ ! if (!fv_comp_no_overflow) { ! bound = fold_build2 (MINUS_EXPR, type1, TYPE_MAX_VALUE (type1), tmod); assumption = fold_build2 (LE_EXPR, boolean_type_node, iv1->base, bound); *************** number_of_iterations_lt_to_ne (tree type *** 708,713 **** --- 725,735 ---- } if (mpz_cmp (mmod, bnds->below) < 0) noloop = boolean_false_node; + else if (POINTER_TYPE_P (type)) + noloop = fold_build2 (GT_EXPR, boolean_type_node, + iv0->base, + fold_build2 (POINTER_PLUS_EXPR, type, + iv1->base, tmod)); else noloop = fold_build2 (GT_EXPR, boolean_type_node, iv0->base, *************** number_of_iterations_lt_to_ne (tree type *** 719,725 **** /* The final value of the iv is iv0->base - MOD, assuming that this computation does not overflow, and that iv0->base - MOD <= iv1->base. */ ! if (!iv1->no_overflow && !integer_zerop (mod)) { bound = fold_build2 (PLUS_EXPR, type1, TYPE_MIN_VALUE (type1), tmod); --- 741,747 ---- /* The final value of the iv is iv0->base - MOD, assuming that this computation does not overflow, and that iv0->base - MOD <= iv1->base. */ ! if (!fv_comp_no_overflow) { bound = fold_build2 (PLUS_EXPR, type1, TYPE_MIN_VALUE (type1), tmod); *************** number_of_iterations_lt_to_ne (tree type *** 730,735 **** --- 752,764 ---- } if (mpz_cmp (mmod, bnds->below) < 0) noloop = boolean_false_node; + else if (POINTER_TYPE_P (type)) + noloop = fold_build2 (GT_EXPR, boolean_type_node, + fold_build2 (POINTER_PLUS_EXPR, type, + iv0->base, + fold_build1 (NEGATE_EXPR, + type1, tmod)), + iv1->base); else noloop = fold_build2 (GT_EXPR, boolean_type_node, fold_build2 (MINUS_EXPR, type1, *************** assert_loop_rolls_lt (tree type, affine_ *** 953,965 **** /* Determines number of iterations of loop whose ending condition is IV0 < IV1. TYPE is the type of the iv. The number of iterations is stored to NITER. BNDS bounds the difference ! IV1->base - IV0->base. */ static bool number_of_iterations_lt (tree type, affine_iv *iv0, affine_iv *iv1, struct tree_niter_desc *niter, ! bool never_infinite ATTRIBUTE_UNUSED, ! bounds *bnds) { tree niter_type = unsigned_type_for (type); tree delta, step, s; --- 982,994 ---- /* Determines number of iterations of loop whose ending condition is IV0 < IV1. TYPE is the type of the iv. The number of iterations is stored to NITER. BNDS bounds the difference ! IV1->base - IV0->base. EXIT_MUST_BE_TAKEN is true if we know ! that the exit must be taken eventually. */ static bool number_of_iterations_lt (tree type, affine_iv *iv0, affine_iv *iv1, struct tree_niter_desc *niter, ! bool exit_must_be_taken, bounds *bnds) { tree niter_type = unsigned_type_for (type); tree delta, step, s; *************** number_of_iterations_lt (tree type, affi *** 1018,1024 **** transform the condition to != comparison. In particular, this will be the case if DELTA is constant. */ if (number_of_iterations_lt_to_ne (type, iv0, iv1, niter, &delta, step, ! bnds)) { affine_iv zps; --- 1047,1053 ---- transform the condition to != comparison. In particular, this will be the case if DELTA is constant. */ if (number_of_iterations_lt_to_ne (type, iv0, iv1, niter, &delta, step, ! exit_must_be_taken, bnds)) { affine_iv zps; *************** number_of_iterations_lt (tree type, affi *** 1060,1073 **** /* Determines number of iterations of loop whose ending condition is IV0 <= IV1. TYPE is the type of the iv. The number of ! iterations is stored to NITER. NEVER_INFINITE is true if we know that this condition must eventually become false (we derived this earlier, and possibly set NITER->assumptions to make sure this is the case). BNDS bounds the difference IV1->base - IV0->base. */ static bool number_of_iterations_le (tree type, affine_iv *iv0, affine_iv *iv1, ! struct tree_niter_desc *niter, bool never_infinite, bounds *bnds) { tree assumption; --- 1089,1102 ---- /* Determines number of iterations of loop whose ending condition is IV0 <= IV1. TYPE is the type of the iv. The number of ! iterations is stored to NITER. EXIT_MUST_BE_TAKEN is true if we know that this condition must eventually become false (we derived this earlier, and possibly set NITER->assumptions to make sure this is the case). BNDS bounds the difference IV1->base - IV0->base. */ static bool number_of_iterations_le (tree type, affine_iv *iv0, affine_iv *iv1, ! struct tree_niter_desc *niter, bool exit_must_be_taken, bounds *bnds) { tree assumption; *************** number_of_iterations_le (tree type, affi *** 1078,1093 **** /* Say that IV0 is the control variable. Then IV0 <= IV1 iff IV0 < IV1 + 1, assuming that IV1 is not equal to the greatest value of the type. This we must know anyway, since if it is ! equal to this value, the loop rolls forever. */ ! if (!never_infinite) { if (integer_nonzerop (iv0->step)) assumption = fold_build2 (NE_EXPR, boolean_type_node, ! iv1->base, TYPE_MAX_VALUE (type1)); else assumption = fold_build2 (NE_EXPR, boolean_type_node, ! iv0->base, TYPE_MIN_VALUE (type1)); if (integer_zerop (assumption)) return false; --- 1107,1126 ---- /* Say that IV0 is the control variable. Then IV0 <= IV1 iff IV0 < IV1 + 1, assuming that IV1 is not equal to the greatest value of the type. This we must know anyway, since if it is ! equal to this value, the loop rolls forever. We do not check ! this condition for pointer type ivs, as the code cannot rely on ! the object to that the pointer points being placed at the end of ! the address space (and more pragmatically, TYPE_{MIN,MAX}_VALUE is ! not defined for pointers). */ ! if (!exit_must_be_taken && !POINTER_TYPE_P (type)) { if (integer_nonzerop (iv0->step)) assumption = fold_build2 (NE_EXPR, boolean_type_node, ! iv1->base, TYPE_MAX_VALUE (type)); else assumption = fold_build2 (NE_EXPR, boolean_type_node, ! iv0->base, TYPE_MIN_VALUE (type)); if (integer_zerop (assumption)) return false; *************** number_of_iterations_le (tree type, affi *** 1097,1111 **** } if (integer_nonzerop (iv0->step)) ! iv1->base = fold_build2 (PLUS_EXPR, type1, ! iv1->base, build_int_cst (type1, 1)); else iv0->base = fold_build2 (MINUS_EXPR, type1, iv0->base, build_int_cst (type1, 1)); bounds_add (bnds, double_int_one, type1); ! return number_of_iterations_lt (type, iv0, iv1, niter, never_infinite, bnds); } /* Dumps description of affine induction variable IV to FILE. */ --- 1130,1155 ---- } if (integer_nonzerop (iv0->step)) ! { ! if (POINTER_TYPE_P (type)) ! iv1->base = fold_build2 (POINTER_PLUS_EXPR, type, iv1->base, ! build_int_cst (type1, 1)); ! else ! iv1->base = fold_build2 (PLUS_EXPR, type1, iv1->base, ! build_int_cst (type1, 1)); ! } ! else if (POINTER_TYPE_P (type)) ! iv0->base = fold_build2 (POINTER_PLUS_EXPR, type, iv0->base, ! fold_build1 (NEGATE_EXPR, type1, ! build_int_cst (type1, 1))); else iv0->base = fold_build2 (MINUS_EXPR, type1, iv0->base, build_int_cst (type1, 1)); bounds_add (bnds, double_int_one, type1); ! return number_of_iterations_lt (type, iv0, iv1, niter, exit_must_be_taken, ! bnds); } /* Dumps description of affine induction variable IV to FILE. */ *************** number_of_iterations_cond (struct loop * *** 1151,1157 **** affine_iv *iv1, struct tree_niter_desc *niter, bool only_exit) { ! bool never_infinite, ret; bounds bnds; /* The meaning of these assumptions is this: --- 1195,1201 ---- affine_iv *iv1, struct tree_niter_desc *niter, bool only_exit) { ! bool exit_must_be_taken = false, ret; bounds bnds; /* The meaning of these assumptions is this: *************** number_of_iterations_cond (struct loop * *** 1176,1217 **** code = swap_tree_comparison (code); } - if (!only_exit) - { - /* If this is not the only possible exit from the loop, the information - that the induction variables cannot overflow as derived from - signedness analysis cannot be relied upon. We use them e.g. in the - following way: given loop for (i = 0; i <= n; i++), if i is - signed, it cannot overflow, thus this loop is equivalent to - for (i = 0; i < n + 1; i++); however, if n == MAX, but the loop - is exited in some other way before i overflows, this transformation - is incorrect (the new loop exits immediately). */ - iv0->no_overflow = false; - iv1->no_overflow = false; - } - if (POINTER_TYPE_P (type)) { /* Comparison of pointers is undefined unless both iv0 and iv1 point to the same object. If they do, the control variable cannot wrap (as wrap around the bounds of memory will never return a pointer that would be guaranteed to point to the same object, even if we ! avoid undefined behavior by casting to size_t and back). The ! restrictions on pointer arithmetics and comparisons of pointers ! ensure that using the no-overflow assumptions is correct in this ! case even if ONLY_EXIT is false. */ iv0->no_overflow = true; iv1->no_overflow = true; } ! /* If the control induction variable does not overflow, the loop obviously ! cannot be infinite. */ ! if (!integer_zerop (iv0->step) && iv0->no_overflow) ! never_infinite = true; ! else if (!integer_zerop (iv1->step) && iv1->no_overflow) ! never_infinite = true; ! else ! never_infinite = false; /* We can handle the case when neither of the sides of the comparison is invariant, provided that the test is NE_EXPR. This rarely occurs in --- 1220,1246 ---- code = swap_tree_comparison (code); } if (POINTER_TYPE_P (type)) { /* Comparison of pointers is undefined unless both iv0 and iv1 point to the same object. If they do, the control variable cannot wrap (as wrap around the bounds of memory will never return a pointer that would be guaranteed to point to the same object, even if we ! avoid undefined behavior by casting to size_t and back). */ iv0->no_overflow = true; iv1->no_overflow = true; } ! /* If the control induction variable does not overflow and the only exit ! from the loop is the one that we analyze, we know it must be taken ! eventually. */ ! if (only_exit) ! { ! if (!integer_zerop (iv0->step) && iv0->no_overflow) ! exit_must_be_taken = true; ! else if (!integer_zerop (iv1->step) && iv1->no_overflow) ! exit_must_be_taken = true; ! } /* We can handle the case when neither of the sides of the comparison is invariant, provided that the test is NE_EXPR. This rarely occurs in *************** number_of_iterations_cond (struct loop * *** 1282,1297 **** case NE_EXPR: gcc_assert (integer_zerop (iv1->step)); ret = number_of_iterations_ne (type, iv0, iv1->base, niter, ! never_infinite, &bnds); break; case LT_EXPR: ! ret = number_of_iterations_lt (type, iv0, iv1, niter, never_infinite, &bnds); break; case LE_EXPR: ! ret = number_of_iterations_le (type, iv0, iv1, niter, never_infinite, &bnds); break; --- 1311,1326 ---- case NE_EXPR: gcc_assert (integer_zerop (iv1->step)); ret = number_of_iterations_ne (type, iv0, iv1->base, niter, ! exit_must_be_taken, &bnds); break; case LT_EXPR: ! ret = number_of_iterations_lt (type, iv0, iv1, niter, exit_must_be_taken, &bnds); break; case LE_EXPR: ! ret = number_of_iterations_le (type, iv0, iv1, niter, exit_must_be_taken, &bnds); break; diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-operands.c gcc-4.3.4/gcc/tree-ssa-operands.c *** gcc-4.3.3/gcc/tree-ssa-operands.c Sat Sep 20 15:40:15 2008 --- gcc-4.3.4/gcc/tree-ssa-operands.c Wed Jun 17 12:03:08 2009 *************** get_modify_stmt_operands (tree stmt, tre *** 2060,2065 **** --- 2060,2076 ---- We used to distinguish between preserving and killing definitions. We always emit preserving definitions now. */ get_expr_operands (stmt, &GIMPLE_STMT_OPERAND (expr, 0), opf_def); + + /* Make sure the return value is addressable in case of NRV. */ + if (TREE_CODE (GIMPLE_STMT_OPERAND (expr, 1)) == CALL_EXPR + && CALL_EXPR_RETURN_SLOT_OPT (GIMPLE_STMT_OPERAND (expr, 1)) + && TREE_ADDRESSABLE (TREE_TYPE (GIMPLE_STMT_OPERAND (expr, 0)))) + { + tree t = get_base_address (GIMPLE_STMT_OPERAND (expr, 0)); + stmt_ann_t s_ann = stmt_ann (stmt); + if (t && DECL_P (t) && s_ann) + add_to_addressable_set (t, &s_ann->addresses_taken); + } } diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-sccvn.c gcc-4.3.4/gcc/tree-ssa-sccvn.c *** gcc-4.3.3/gcc/tree-ssa-sccvn.c Fri Jul 11 20:55:45 2008 --- gcc-4.3.4/gcc/tree-ssa-sccvn.c Mon Jan 26 15:54:18 2009 *************** simplify_unary_expression (tree rhs) *** 1507,1513 **** if (op0 == TREE_OPERAND (rhs, 0)) return rhs; ! result = fold_unary (TREE_CODE (rhs), TREE_TYPE (rhs), op0); if (result) { STRIP_USELESS_TYPE_CONVERSION (result); --- 1507,1513 ---- if (op0 == TREE_OPERAND (rhs, 0)) return rhs; ! result = fold_unary_ignore_overflow (TREE_CODE (rhs), TREE_TYPE (rhs), op0); if (result) { STRIP_USELESS_TYPE_CONVERSION (result); diff -Nrcpad gcc-4.3.3/gcc/tree-ssa-structalias.c gcc-4.3.4/gcc/tree-ssa-structalias.c *** gcc-4.3.3/gcc/tree-ssa-structalias.c Wed Jan 7 13:12:17 2009 --- gcc-4.3.4/gcc/tree-ssa-structalias.c Thu Feb 5 11:10:02 2009 *************** do_ds_constraint (constraint_t c, bitmap *** 1509,1532 **** varinfo_t v; unsigned int t; unsigned HOST_WIDE_INT fieldoffset = get_varinfo (j)->offset + loff; - bitmap tmp; v = first_vi_for_offset (get_varinfo (j), fieldoffset); /* If the access is outside of the variable we can ignore it. */ if (!v) continue; t = find (v->id); ! tmp = get_varinfo (t)->solution; ! ! if (set_union_with_increment (tmp, sol, 0)) { ! get_varinfo (t)->solution = tmp; ! if (t == rhs) ! sol = get_varinfo (rhs)->solution; ! if (!TEST_BIT (changed, t)) { ! SET_BIT (changed, t); ! changed_count++; } } } --- 1509,1531 ---- varinfo_t v; unsigned int t; unsigned HOST_WIDE_INT fieldoffset = get_varinfo (j)->offset + loff; v = first_vi_for_offset (get_varinfo (j), fieldoffset); /* If the access is outside of the variable we can ignore it. */ if (!v) continue; t = find (v->id); ! if (add_graph_edge (graph, t, rhs)) { ! if (bitmap_ior_into (get_varinfo (t)->solution, sol)) { ! if (t == rhs) ! sol = get_varinfo (rhs)->solution; ! if (!TEST_BIT (changed, t)) ! { ! SET_BIT (changed, t); ! changed_count++; ! } } } } diff -Nrcpad gcc-4.3.3/gcc/tree-tailcall.c gcc-4.3.4/gcc/tree-tailcall.c *** gcc-4.3.3/gcc/tree-tailcall.c Sat Sep 8 15:09:25 2007 --- gcc-4.3.4/gcc/tree-tailcall.c Tue Jul 7 12:44:32 2009 *************** adjust_accumulator_values (block_stmt_it *** 566,571 **** --- 566,574 ---- m_acc, a)); tmp = create_tmp_var (ret_type, "acc_tmp"); + if (TREE_CODE (TREE_TYPE (tmp)) == COMPLEX_TYPE + || TREE_CODE (TREE_TYPE (tmp)) == VECTOR_TYPE) + DECL_GIMPLE_REG_P (tmp) = 1; add_referenced_var (tmp); var = make_ssa_name (tmp, stmt); *************** adjust_return_value (basic_block bb, tre *** 646,651 **** --- 649,657 ---- m_acc, ret_var)); tmp = create_tmp_var (ret_type, "acc_tmp"); + if (TREE_CODE (TREE_TYPE (tmp)) == COMPLEX_TYPE + || TREE_CODE (TREE_TYPE (tmp)) == VECTOR_TYPE) + DECL_GIMPLE_REG_P (tmp) = 1; add_referenced_var (tmp); var = make_ssa_name (tmp, stmt); *************** adjust_return_value (basic_block bb, tre *** 662,667 **** --- 668,676 ---- a_acc, var)); tmp = create_tmp_var (ret_type, "acc_tmp"); + if (TREE_CODE (TREE_TYPE (tmp)) == COMPLEX_TYPE + || TREE_CODE (TREE_TYPE (tmp)) == VECTOR_TYPE) + DECL_GIMPLE_REG_P (tmp) = 1; add_referenced_var (tmp); var = make_ssa_name (tmp, stmt); *************** tree_optimize_tail_calls_1 (bool opt_tai *** 933,938 **** --- 942,950 ---- ret_type = TREE_TYPE (DECL_RESULT (current_function_decl)); tmp = create_tmp_var (ret_type, "add_acc"); + if (TREE_CODE (TREE_TYPE (tmp)) == COMPLEX_TYPE + || TREE_CODE (TREE_TYPE (tmp)) == VECTOR_TYPE) + DECL_GIMPLE_REG_P (tmp) = 1; add_referenced_var (tmp); phi = create_phi_node (tmp, first); *************** tree_optimize_tail_calls_1 (bool opt_tai *** 949,954 **** --- 961,969 ---- ret_type = TREE_TYPE (DECL_RESULT (current_function_decl)); tmp = create_tmp_var (ret_type, "mult_acc"); + if (TREE_CODE (TREE_TYPE (tmp)) == COMPLEX_TYPE + || TREE_CODE (TREE_TYPE (tmp)) == VECTOR_TYPE) + DECL_GIMPLE_REG_P (tmp) = 1; add_referenced_var (tmp); phi = create_phi_node (tmp, first); diff -Nrcpad gcc-4.3.3/gcc/tree-vect-analyze.c gcc-4.3.4/gcc/tree-vect-analyze.c *** gcc-4.3.3/gcc/tree-vect-analyze.c Wed Nov 12 07:13:13 2008 --- gcc-4.3.4/gcc/tree-vect-analyze.c Tue Jun 30 11:48:51 2009 *************** vect_determine_vectorization_factor (loo *** 173,178 **** --- 173,187 ---- print_generic_expr (vect_dump, stmt, TDF_SLIM); } + if (stmt_ann (stmt)->has_volatile_ops) + { + if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS)) + fprintf (vect_dump, "not vectorized: stmt has volatile" + " operands"); + + return false; + } + gcc_assert (stmt_info); /* skip stmts which do not need to be vectorized. */ diff -Nrcpad gcc-4.3.3/gcc/tree-vect-generic.c gcc-4.3.4/gcc/tree-vect-generic.c *** gcc-4.3.3/gcc/tree-vect-generic.c Thu Aug 9 14:01:22 2007 --- gcc-4.3.4/gcc/tree-vect-generic.c Sun Jun 28 23:12:37 2009 *************** expand_vector_operations_1 (block_stmt_i *** 467,474 **** tree vector_compute_type = type_for_widest_vector_mode (TYPE_MODE (TREE_TYPE (type)), op, TYPE_SATURATING (TREE_TYPE (type))); ! if (vector_compute_type != NULL_TREE) ! compute_type = vector_compute_type; } /* If we are breaking a BLKmode vector into smaller pieces, --- 467,476 ---- tree vector_compute_type = type_for_widest_vector_mode (TYPE_MODE (TREE_TYPE (type)), op, TYPE_SATURATING (TREE_TYPE (type))); ! if (vector_compute_type != NULL_TREE ! && (TYPE_VECTOR_SUBPARTS (vector_compute_type) ! < TYPE_VECTOR_SUBPARTS (compute_type))) ! compute_type = vector_compute_type; } /* If we are breaking a BLKmode vector into smaller pieces, diff -Nrcpad gcc-4.3.3/gcc/tree-vrp.c gcc-4.3.4/gcc/tree-vrp.c *** gcc-4.3.3/gcc/tree-vrp.c Thu Jul 24 04:52:52 2008 --- gcc-4.3.4/gcc/tree-vrp.c Fri Jul 10 16:00:13 2009 *************** extract_range_from_assert (value_range_t *** 1253,1259 **** all should be optimized away above us. */ if ((cond_code == LT_EXPR && compare_values (max, min) == 0) ! || is_overflow_infinity (max)) set_value_range_to_varying (vr_p); else { --- 1253,1259 ---- all should be optimized away above us. */ if ((cond_code == LT_EXPR && compare_values (max, min) == 0) ! || (CONSTANT_CLASS_P (max) && TREE_OVERFLOW (max))) set_value_range_to_varying (vr_p); else { *************** extract_range_from_assert (value_range_t *** 1288,1294 **** all should be optimized away above us. */ if ((cond_code == GT_EXPR && compare_values (min, max) == 0) ! || is_overflow_infinity (min)) set_value_range_to_varying (vr_p); else { --- 1288,1294 ---- all should be optimized away above us. */ if ((cond_code == GT_EXPR && compare_values (min, max) == 0) ! || (CONSTANT_CLASS_P (min) && TREE_OVERFLOW (min))) set_value_range_to_varying (vr_p); else { *************** vrp_evaluate_conditional_warnv (tree con *** 4989,4994 **** --- 4989,5002 ---- tree op0 = TREE_OPERAND (cond, 0); tree op1 = TREE_OPERAND (cond, 1); + /* Some passes and foldings leak constants with overflow flag set + into the IL. Avoid doing wrong things with these and bail out. */ + if ((TREE_CODE (op0) == INTEGER_CST + && TREE_OVERFLOW (op0)) + || (TREE_CODE (op1) == INTEGER_CST + && TREE_OVERFLOW (op1))) + return NULL_TREE; + /* We only deal with integral and pointer types. */ if (!INTEGRAL_TYPE_P (TREE_TYPE (op0)) && !POINTER_TYPE_P (TREE_TYPE (op0))) diff -Nrcpad gcc-4.3.3/gcc/tree.c gcc-4.3.4/gcc/tree.c *** gcc-4.3.3/gcc/tree.c Mon Nov 10 12:08:55 2008 --- gcc-4.3.4/gcc/tree.c Mon Aug 3 21:47:39 2009 *************** tree_floor_log2 (const_tree expr) *** 1543,1549 **** : floor_log2 (low)); } ! /* Return 1 if EXPR is the real constant zero. */ int real_zerop (const_tree expr) --- 1543,1550 ---- : floor_log2 (low)); } ! /* Return 1 if EXPR is the real constant zero. Trailing zeroes matter for ! decimal float constants, so don't return 1 for them. */ int real_zerop (const_tree expr) *************** real_zerop (const_tree expr) *** 1551,1563 **** STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconst0)) || (TREE_CODE (expr) == COMPLEX_CST && real_zerop (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); } ! /* Return 1 if EXPR is the real constant one in real or complex form. */ int real_onep (const_tree expr) --- 1552,1567 ---- STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconst0) ! && !(DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (expr))))) || (TREE_CODE (expr) == COMPLEX_CST && real_zerop (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); } ! /* Return 1 if EXPR is the real constant one in real or complex form. ! Trailing zeroes matter for decimal float constants, so don't return ! 1 for them. */ int real_onep (const_tree expr) *************** real_onep (const_tree expr) *** 1565,1577 **** STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconst1)) || (TREE_CODE (expr) == COMPLEX_CST && real_onep (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); } ! /* Return 1 if EXPR is the real constant two. */ int real_twop (const_tree expr) --- 1569,1583 ---- STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconst1) ! && !(DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (expr))))) || (TREE_CODE (expr) == COMPLEX_CST && real_onep (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); } ! /* Return 1 if EXPR is the real constant two. Trailing zeroes matter ! for decimal float constants, so don't return 1 for them. */ int real_twop (const_tree expr) *************** real_twop (const_tree expr) *** 1579,1591 **** STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconst2)) || (TREE_CODE (expr) == COMPLEX_CST && real_twop (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); } ! /* Return 1 if EXPR is the real constant minus one. */ int real_minus_onep (const_tree expr) --- 1585,1599 ---- STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconst2) ! && !(DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (expr))))) || (TREE_CODE (expr) == COMPLEX_CST && real_twop (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); } ! /* Return 1 if EXPR is the real constant minus one. Trailing zeroes ! matter for decimal float constants, so don't return 1 for them. */ int real_minus_onep (const_tree expr) *************** real_minus_onep (const_tree expr) *** 1593,1599 **** STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconstm1)) || (TREE_CODE (expr) == COMPLEX_CST && real_minus_onep (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); --- 1601,1608 ---- STRIP_NOPS (expr); return ((TREE_CODE (expr) == REAL_CST ! && REAL_VALUES_EQUAL (TREE_REAL_CST (expr), dconstm1) ! && !(DECIMAL_FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (expr))))) || (TREE_CODE (expr) == COMPLEX_CST && real_minus_onep (TREE_REALPART (expr)) && real_zerop (TREE_IMAGPART (expr)))); diff -Nrcpad gcc-4.3.3/gcc/tree.h gcc-4.3.4/gcc/tree.h *** gcc-4.3.3/gcc/tree.h Fri Feb 8 19:10:25 2008 --- gcc-4.3.4/gcc/tree.h Thu May 14 15:54:19 2009 *************** extern tree native_interpret_expr (tree, *** 4753,4758 **** --- 4753,4759 ---- extern tree fold (tree); extern tree fold_unary (enum tree_code, tree, tree); + extern tree fold_unary_ignore_overflow (enum tree_code, tree, tree); extern tree fold_binary (enum tree_code, tree, tree, tree); extern tree fold_ternary (enum tree_code, tree, tree, tree, tree); extern tree fold_build1_stat (enum tree_code, tree, tree MEM_STAT_DECL); *************** extern unsigned HOST_WIDE_INT highest_po *** 5264,5269 **** --- 5265,5273 ---- void init_inline_once (void); + /* In ipa-reference.c. Used for parsing attributes of asm code. */ + extern GTY(()) tree memory_identifier_string; + /* Compute the number of operands in an expression node NODE. For tcc_vl_exp nodes like CALL_EXPRs, this is stored in the node itself, otherwise it is looked up from the node's code. */ diff -Nrcpad gcc-4.3.3/gcc/treelang/ChangeLog gcc-4.3.4/gcc/treelang/ChangeLog *** gcc-4.3.3/gcc/treelang/ChangeLog Sat Jan 24 10:16:00 2009 --- gcc-4.3.4/gcc/treelang/ChangeLog Tue Aug 4 10:58:33 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/include/ChangeLog gcc-4.3.4/include/ChangeLog *** gcc-4.3.3/include/ChangeLog Sat Jan 24 10:17:12 2009 --- gcc-4.3.4/include/ChangeLog Tue Aug 4 10:59:40 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/intl/ChangeLog gcc-4.3.4/intl/ChangeLog *** gcc-4.3.3/intl/ChangeLog Sat Jan 24 10:16:40 2009 --- gcc-4.3.4/intl/ChangeLog Tue Aug 4 10:59:10 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libcpp/ChangeLog gcc-4.3.4/libcpp/ChangeLog *** gcc-4.3.3/libcpp/ChangeLog Sat Jan 24 10:18:28 2009 --- gcc-4.3.4/libcpp/ChangeLog Tue Aug 4 11:01:06 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libcpp/po/ChangeLog gcc-4.3.4/libcpp/po/ChangeLog *** gcc-4.3.3/libcpp/po/ChangeLog Sat Jan 24 10:18:22 2009 --- gcc-4.3.4/libcpp/po/ChangeLog Tue Aug 4 11:00:59 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libdecnumber/ChangeLog gcc-4.3.4/libdecnumber/ChangeLog *** gcc-4.3.3/libdecnumber/ChangeLog Sat Jan 24 10:14:52 2009 --- gcc-4.3.4/libdecnumber/ChangeLog Tue Aug 4 10:57:24 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libgcc/ChangeLog gcc-4.3.4/libgcc/ChangeLog *** gcc-4.3.3/libgcc/ChangeLog Sat Jan 24 10:14:40 2009 --- gcc-4.3.4/libgcc/ChangeLog Tue Aug 4 10:57:10 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libgcc/config/libbid/ChangeLog gcc-4.3.4/libgcc/config/libbid/ChangeLog *** gcc-4.3.3/libgcc/config/libbid/ChangeLog Sat Jan 24 10:14:33 2009 --- gcc-4.3.4/libgcc/config/libbid/ChangeLog Tue Aug 4 10:57:03 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libgomp/ChangeLog gcc-4.3.4/libgomp/ChangeLog *** gcc-4.3.3/libgomp/ChangeLog Sat Jan 24 10:14:46 2009 --- gcc-4.3.4/libgomp/ChangeLog Tue Aug 4 10:57:17 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libgomp/libgomp.info gcc-4.3.4/libgomp/libgomp.info *** gcc-4.3.3/libgomp/libgomp.info Sat Jan 24 12:39:04 2009 --- gcc-4.3.4/libgomp/libgomp.info Tue Aug 4 13:33:37 2009 *************** *** 1,5 **** This is libgomp.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.3/gcc-4.3.3/libgomp/libgomp.texi. Copyright (C) 2006 Free Software Foundation, Inc. --- 1,5 ---- This is libgomp.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.4/gcc-4.3.4/libgomp/libgomp.texi. Copyright (C) 2006 Free Software Foundation, Inc. diff -Nrcpad gcc-4.3.3/libiberty/ChangeLog gcc-4.3.4/libiberty/ChangeLog *** gcc-4.3.3/libiberty/ChangeLog Sat Jan 24 10:17:18 2009 --- gcc-4.3.4/libiberty/ChangeLog Tue Aug 4 10:59:46 2009 *************** *** 1,3 **** --- 1,14 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + + 2009-07-29 Dave Korn + + PR bootstrap/38903: Backport fix from HEAD. + * configure.ac (funcs, vars, checkfuncs): Don't munge on Cygwin, + as it no longer shares libiberty object files. + * configure: Regenerated. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libiberty/configure gcc-4.3.4/libiberty/configure *** gcc-4.3.3/libiberty/configure Tue Jul 17 17:52:28 2007 --- gcc-4.3.4/libiberty/configure Wed Jul 29 11:45:30 2009 *************** if test -z "${setobjs}"; then *** 6166,6201 **** case "${host}" in - *-*-cygwin*) - # The Cygwin library actually uses a couple of files from - # libiberty when it is built. If we are building a native - # Cygwin, and we run the tests, we will appear to have these - # files. However, when we go on to build winsup, we will wind up - # with a library which does not have the files, since they should - # have come from libiberty. - - # We handle this by removing the functions the winsup library - # provides from our shell variables, so that they appear to be - # missing. - - # DJ - only if we're *building* cygwin, not just building *with* cygwin - - if test -n "${with_target_subdir}" - then - funcs="`echo $funcs | sed -e 's/random//'`" - case $LIBOBJS in - "random.$ac_objext" | \ - *" random.$ac_objext" | \ - "random.$ac_objext "* | \ - *" random.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS random.$ac_objext" ;; - esac - - vars="`echo $vars | sed -e 's/sys_siglist//'`" - checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`" - fi - ;; - *-*-mingw32*) # Under mingw32, sys_nerr and sys_errlist exist, but they are # macros, so the test below won't find them. --- 6166,6171 ---- diff -Nrcpad gcc-4.3.3/libiberty/configure.ac gcc-4.3.4/libiberty/configure.ac *** gcc-4.3.3/libiberty/configure.ac Tue Jul 17 17:52:28 2007 --- gcc-4.3.4/libiberty/configure.ac Wed Jul 29 11:45:30 2009 *************** if test -z "${setobjs}"; then *** 571,599 **** case "${host}" in - *-*-cygwin*) - # The Cygwin library actually uses a couple of files from - # libiberty when it is built. If we are building a native - # Cygwin, and we run the tests, we will appear to have these - # files. However, when we go on to build winsup, we will wind up - # with a library which does not have the files, since they should - # have come from libiberty. - - # We handle this by removing the functions the winsup library - # provides from our shell variables, so that they appear to be - # missing. - - # DJ - only if we're *building* cygwin, not just building *with* cygwin - - if test -n "${with_target_subdir}" - then - funcs="`echo $funcs | sed -e 's/random//'`" - AC_LIBOBJ([random]) - vars="`echo $vars | sed -e 's/sys_siglist//'`" - checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`" - fi - ;; - *-*-mingw32*) # Under mingw32, sys_nerr and sys_errlist exist, but they are # macros, so the test below won't find them. --- 571,576 ---- diff -Nrcpad gcc-4.3.3/libmudflap/ChangeLog gcc-4.3.4/libmudflap/ChangeLog *** gcc-4.3.3/libmudflap/ChangeLog Sat Jan 24 10:16:59 2009 --- gcc-4.3.4/libmudflap/ChangeLog Tue Aug 4 10:59:28 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/libssp/ChangeLog gcc-4.3.4/libssp/ChangeLog *** gcc-4.3.3/libssp/ChangeLog Sat Jan 24 10:17:31 2009 --- gcc-4.3.4/libssp/ChangeLog Tue Aug 4 10:59:59 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released. diff -Nrcpad gcc-4.3.3/maintainer-scripts/ChangeLog gcc-4.3.4/maintainer-scripts/ChangeLog *** gcc-4.3.3/maintainer-scripts/ChangeLog Sat Jan 24 10:18:41 2009 --- gcc-4.3.4/maintainer-scripts/ChangeLog Tue Aug 4 11:01:19 2009 *************** *** 1,3 **** --- 1,7 ---- + 2009-08-04 Release Manager + + * GCC 4.3.4 released. + 2009-01-24 Release Manager * GCC 4.3.3 released.