diff -Nrcpad gcc-4.4.3/ChangeLog gcc-4.4.4/ChangeLog *** gcc-4.4.3/ChangeLog Thu Jan 21 09:37:38 2010 --- gcc-4.4.4/ChangeLog Thu Apr 29 07:51:13 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/LAST_UPDATED gcc-4.4.4/LAST_UPDATED *** gcc-4.4.3/LAST_UPDATED Thu Jan 21 10:29:38 2010 --- gcc-4.4.4/LAST_UPDATED Thu Apr 29 08:26:56 2010 *************** *** 1 **** ! Obtained from SVN: tags/gcc_4_4_3_release revision 156151 --- 1 ---- ! Obtained from SVN: tags/gcc_4_4_4_release revision 158895 diff -Nrcpad gcc-4.4.3/MD5SUMS gcc-4.4.4/MD5SUMS *** gcc-4.4.3/MD5SUMS Thu Jan 21 12:10:09 2010 --- gcc-4.4.4/MD5SUMS Thu Apr 29 10:16:17 2010 *************** *** 1,5 **** # This file contains the MD5 checksums of the files in the ! # gcc-4.4.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.4.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 *************** *** 14,20 **** fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! c4e6e0291633ac7225500aa3430df103 ChangeLog 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 23b8927fe1fb0ab321c09a4f0500aa4c INSTALL/README 39e103fcd4b476e830ead537db0f0ce6 INSTALL/binaries.html --- 14,20 ---- fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! 45e8a1be5e98841cb533acf1f0a468c0 ChangeLog 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 23b8927fe1fb0ab321c09a4f0500aa4c INSTALL/README 39e103fcd4b476e830ead537db0f0ce6 INSTALL/binaries.html *************** a318bb45318622a811182dc360aaef48 INSTAL *** 28,43 **** f0d430e01b30f96a67254f13edba1704 INSTALL/prerequisites.html 8790051b5b47a876404f63c59431c1c0 INSTALL/specific.html 056de66b1c328aba85bcf9f25b628c7e INSTALL/test.html ! ef18ce98e654478d55bb7e9c2eda213e LAST_UPDATED 8ebaee0179044912b95c64f6fb6a8282 MAINTAINERS e7c586243a1211c8c2f1b88871d84b86 Makefile.def 042ff95b3e1cd0b93d9d4b3da6cca589 Makefile.in 42b7db4fa23a15a3d75a90aeee82f5d6 Makefile.tpl ! f335f6826fd3a9d28b217286a54784c2 NEWS 750a7546d281ac42eb2ce87949457731 README b510a5285eb05298b5f3d9f5ae920588 boehm-gc/AmigaOS.c 2caafacabf758bb76a9dfce1fc544b97 boehm-gc/BCC_MAKEFILE ! 1a448a0e87cd93456029c2019bb509b5 boehm-gc/ChangeLog c18075e3729cd116028480307a8e845d boehm-gc/EMX_MAKEFILE 3b7cc3be9ed3c2135bbda990e8a69303 boehm-gc/MacOS.c 5cf7764626b7dd7272b2fe11403d1b6a boehm-gc/MacProjects.sit.hqx --- 28,43 ---- f0d430e01b30f96a67254f13edba1704 INSTALL/prerequisites.html 8790051b5b47a876404f63c59431c1c0 INSTALL/specific.html 056de66b1c328aba85bcf9f25b628c7e INSTALL/test.html ! 6bb4026d7fc3021ac37f863737fbeb42 LAST_UPDATED 8ebaee0179044912b95c64f6fb6a8282 MAINTAINERS e7c586243a1211c8c2f1b88871d84b86 Makefile.def 042ff95b3e1cd0b93d9d4b3da6cca589 Makefile.in 42b7db4fa23a15a3d75a90aeee82f5d6 Makefile.tpl ! ee344fa3442b4e77c366983f67b019d0 NEWS 750a7546d281ac42eb2ce87949457731 README b510a5285eb05298b5f3d9f5ae920588 boehm-gc/AmigaOS.c 2caafacabf758bb76a9dfce1fc544b97 boehm-gc/BCC_MAKEFILE ! a517243eab99ad4b9f2a6d3c1a14d309 boehm-gc/ChangeLog c18075e3729cd116028480307a8e845d boehm-gc/EMX_MAKEFILE 3b7cc3be9ed3c2135bbda990e8a69303 boehm-gc/MacOS.c 5cf7764626b7dd7272b2fe11403d1b6a boehm-gc/MacProjects.sit.hqx *************** a48113a06665f2c4c3281455fadcb2b2 config *** 208,214 **** 334a5fe7049791025bea0a0ff23afaec config.guess 6df093e787b282178d1a49a18425857d config.rpath 6e12b36be82dce29d2800c809aa95e94 config.sub ! ca6356b52bb604e8855a2feec8cccfd5 config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 a925fa6ab8c1f62bc4b4d1421516deaf config/acx.m4 04bdbef77f5fd2e282f7dee0bde60444 config/codeset.m4 --- 208,214 ---- 334a5fe7049791025bea0a0ff23afaec config.guess 6df093e787b282178d1a49a18425857d config.rpath 6e12b36be82dce29d2800c809aa95e94 config.sub ! dc4ce1e0198bdebdec787843c39d90ee config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 a925fa6ab8c1f62bc4b4d1421516deaf config/acx.m4 04bdbef77f5fd2e282f7dee0bde60444 config/codeset.m4 *************** cd3fbac36bf83aca788388d678508c98 config *** 280,286 **** 3510459bb8dffa5ea06682a29bcdbfa9 config/warnings.m4 2763239b0a35057fe58042b53c90bbf8 configure e6c1ca217ddfca2559508e2706dc00a4 configure.ac ! 538c5c86024f67d1c609d46f2f53a547 contrib/ChangeLog 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa e0ea80d7094bf66610f2f60db444f9a1 contrib/analyze_brprob 49fe5a4a8deb2ae714614e5bb8d2feb1 contrib/check_makefile_deps.sh --- 280,286 ---- 3510459bb8dffa5ea06682a29bcdbfa9 config/warnings.m4 2763239b0a35057fe58042b53c90bbf8 configure e6c1ca217ddfca2559508e2706dc00a4 configure.ac ! 76e9c526cb235bef79411423931fa065 contrib/ChangeLog 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa e0ea80d7094bf66610f2f60db444f9a1 contrib/analyze_brprob 49fe5a4a8deb2ae714614e5bb8d2feb1 contrib/check_makefile_deps.sh *************** fa945bac89ee68b410027dcfe1312f4b contri *** 305,311 **** b747c8d95bb7534c2c0f5af32ae32520 contrib/paranoia.cc a710b8024ed1edced07e764add76de05 contrib/patch_tester.sh 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh ! 8053d18a4a546f29794b158209463a62 contrib/reghunt/ChangeLog cf247a580e49d212518de409793db0a8 contrib/reghunt/bin/gcc-build-full 724e70ea3e80f87f2a201bbe2f1eef37 contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup --- 305,311 ---- b747c8d95bb7534c2c0f5af32ae32520 contrib/paranoia.cc a710b8024ed1edced07e764add76de05 contrib/patch_tester.sh 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh ! 183ec81da2be7bdb6d98881c009a3269 contrib/reghunt/ChangeLog cf247a580e49d212518de409793db0a8 contrib/reghunt/bin/gcc-build-full 724e70ea3e80f87f2a201bbe2f1eef37 contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup *************** f251d49dd87647250fcd74dd50b7835f contri *** 364,370 **** e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! d6df6d05edbd4c867dc212674c80755a 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 --- 364,370 ---- e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 0a060e3de000aa81e6487153a0129c85 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 *************** dcf330d02baecb44538243b4050d14e0 contri *** 383,389 **** e00fa8f7dd72b80ca5a64130e85fe4f4 contrib/uninclude 7cb42cbdf8becd280d1e16191416fb62 contrib/warn_summary a9c51bc6c9c6d9b9d010ccd8bb4b465a depcomp ! 3bd18a371b555f5e1c5997da208359df fixincludes/ChangeLog 277051b0951b9542a73d7889ca1c753e fixincludes/Makefile.in 90d82f1be59d23a26a23bcd9df46706a fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc --- 383,389 ---- e00fa8f7dd72b80ca5a64130e85fe4f4 contrib/uninclude 7cb42cbdf8becd280d1e16191416fb62 contrib/warn_summary a9c51bc6c9c6d9b9d010ccd8bb4b465a depcomp ! 7df6bd7310c8ece21426f50bb62ceaf0 fixincludes/ChangeLog 277051b0951b9542a73d7889ca1c753e fixincludes/Makefile.in 90d82f1be59d23a26a23bcd9df46706a fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc *************** c340da8e13edf5d70941b01670df6228 fixinc *** 494,505 **** c78e762f2c91f2af991feda7d3d7f4b2 fixincludes/tests/base/unistd.h 4f59f83f073afacc3f59c39952ec8a7b fixincludes/tests/base/wchar.h 174528657da1f7a179a039941810b764 gcc/ABOUT-GCC-NLS ! df24356c203bf38abc829e6763738412 gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 71c3ce546e47fd288e3be2dfb63be227 gcc/ChangeLog 0bb7e37d0205edea285403fa046364e9 gcc/ChangeLog-1997 e5efa68ab382be0d9d01c564d821c87f gcc/ChangeLog-1998 69bcc7c32f5b69af8e7d3df069413ff3 gcc/ChangeLog-1999 --- 494,505 ---- c78e762f2c91f2af991feda7d3d7f4b2 fixincludes/tests/base/unistd.h 4f59f83f073afacc3f59c39952ec8a7b fixincludes/tests/base/wchar.h 174528657da1f7a179a039941810b764 gcc/ABOUT-GCC-NLS ! 15004d1e999fff8d6bb1675f684017f6 gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! d3d98d5bb8e5b4fd1d5504930a313eec gcc/ChangeLog 0bb7e37d0205edea285403fa046364e9 gcc/ChangeLog-1997 e5efa68ab382be0d9d01c564d821c87f gcc/ChangeLog-1998 69bcc7c32f5b69af8e7d3df069413ff3 gcc/ChangeLog-1999 *************** e76baed114b61da1d194f2bbb7fd0146 gcc/Ch *** 517,535 **** 206522a420b17e10401cce46f983e2ce gcc/ChangeLog.ptr f4dab29fb2c10234cb64e9c59a62f716 gcc/ChangeLog.tree-ssa 8999bd2c5951f1391f3b22cd7a46ef91 gcc/ChangeLog.tuples ! 15bebd4f92abcc92518b8292efb8fad1 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE 11fe4f34d2489126efc52b010ea6f5e6 gcc/FSFChangeLog 5af5721f6387aa8aa5fb200e025dd573 gcc/FSFChangeLog.10 f7f665544fb6aa08551b37283f6c56de gcc/FSFChangeLog.11 d6c8d8f4cf325cd24a60d312bb247f46 gcc/LANGUAGES ! a172b7c82bf8a4183c60ead14c70ef66 gcc/Makefile.in 00919fda1a585fdc4a1be1fec2eeb0bb gcc/ONEWS f88d9228718a255b827d6f417063d62d gcc/README.Portability fed64e43bbe3916d38050f44c9da9dc7 gcc/acinclude.m4 53c02c20156f46418b4889d2bde689e9 gcc/aclocal.m4 30995d78221b41ce62c92b2f601b4ebb gcc/ada/9drpc.adb ! 2fc551dbfdf32a5d81e792df86b82299 gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 --- 517,535 ---- 206522a420b17e10401cce46f983e2ce gcc/ChangeLog.ptr f4dab29fb2c10234cb64e9c59a62f716 gcc/ChangeLog.tree-ssa 8999bd2c5951f1391f3b22cd7a46ef91 gcc/ChangeLog.tuples ! ab6b67d6f661b13ad2a5c02dac63605e gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE 11fe4f34d2489126efc52b010ea6f5e6 gcc/FSFChangeLog 5af5721f6387aa8aa5fb200e025dd573 gcc/FSFChangeLog.10 f7f665544fb6aa08551b37283f6c56de gcc/FSFChangeLog.11 d6c8d8f4cf325cd24a60d312bb247f46 gcc/LANGUAGES ! e3e4553dbab095c5515ccc97b3ab0b7d gcc/Makefile.in 00919fda1a585fdc4a1be1fec2eeb0bb gcc/ONEWS f88d9228718a255b827d6f417063d62d gcc/README.Portability fed64e43bbe3916d38050f44c9da9dc7 gcc/acinclude.m4 53c02c20156f46418b4889d2bde689e9 gcc/aclocal.m4 30995d78221b41ce62c92b2f601b4ebb gcc/ada/9drpc.adb ! b4f070d9608398341faa3caf406b5f93 gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 *************** a5a161d60d3b6f9fd6590c2e74febecd gcc/ad *** 1358,1364 **** 783f253290b496a0d6c2ff368c1ed8a6 gcc/ada/gcc-interface/targtyps.c f00063688864bd3d4bc98ed9f984bc96 gcc/ada/gcc-interface/trans.c 5d453db131d2b59b3a84a0510e42194f gcc/ada/gcc-interface/utils.c ! 4cf0a82aed99d54871873dc42f76635e gcc/ada/gcc-interface/utils2.c 47436d8aaf47b28b04899c6d42794e4e gcc/ada/get_targ.adb 7e7871c208508781fd7045b646e11029 gcc/ada/get_targ.ads 8f033ce759159389215ca7ee4a48bc02 gcc/ada/gmem.c --- 1358,1364 ---- 783f253290b496a0d6c2ff368c1ed8a6 gcc/ada/gcc-interface/targtyps.c f00063688864bd3d4bc98ed9f984bc96 gcc/ada/gcc-interface/trans.c 5d453db131d2b59b3a84a0510e42194f gcc/ada/gcc-interface/utils.c ! 6b00f014c989c2380e0802ee3ef239f7 gcc/ada/gcc-interface/utils2.c 47436d8aaf47b28b04899c6d42794e4e gcc/ada/get_targ.adb 7e7871c208508781fd7045b646e11029 gcc/ada/get_targ.ads 8f033ce759159389215ca7ee4a48bc02 gcc/ada/gmem.c *************** c3fbd4434fd5a2fe96e64055b2d4a6df gcc/ad *** 2424,2430 **** 9edada9175e31ecb4cbe278f573ed02a gcc/alias.h ba003d4e037d1469834e33e7dfa0bddb gcc/alloc-pool.c f8232afc6d7363b97fafb1dd6776af76 gcc/alloc-pool.h ! f8d3cef148412034c38cb4bb16717352 gcc/attribs.c b0c24ff546a8baac73cda0cd985cb69f gcc/auto-inc-dec.c 228ae28e8d78ff6c807f5034233a8bdb gcc/basic-block.h 178ab957cf5761213370eea62be35298 gcc/bb-reorder.c --- 2424,2430 ---- 9edada9175e31ecb4cbe278f573ed02a gcc/alias.h ba003d4e037d1469834e33e7dfa0bddb gcc/alloc-pool.c f8232afc6d7363b97fafb1dd6776af76 gcc/alloc-pool.h ! ef40e0145df24b1e37618f1c1acafe27 gcc/attribs.c b0c24ff546a8baac73cda0cd985cb69f gcc/auto-inc-dec.c 228ae28e8d78ff6c807f5034233a8bdb gcc/basic-block.h 178ab957cf5761213370eea62be35298 gcc/bb-reorder.c *************** a290e1f795c5d8632f8282f10fa42ff8 gcc/bi *** 2433,2439 **** b9c01436528929db1abeacb959495701 gcc/bt-load.c 0339c58e1c47c12bd2c46c1a5f7b31c9 gcc/builtin-attrs.def 3d3ef75b8105df8cc219eaf5644f9fff gcc/builtin-types.def ! a1cd24532baf4182cf21ced989d9610b gcc/builtins.c a255ee3446afb8cea4ebe90fa0fe039d gcc/builtins.def 73e94fd7d8fb1829d449a3e30e2afe5b gcc/c-aux-info.c 62d30a7d4af8d629829c99d02c07d970 gcc/c-common.c --- 2433,2439 ---- b9c01436528929db1abeacb959495701 gcc/bt-load.c 0339c58e1c47c12bd2c46c1a5f7b31c9 gcc/builtin-attrs.def 3d3ef75b8105df8cc219eaf5644f9fff gcc/builtin-types.def ! 9c9d09ec0c1df451d68570e803b2ef26 gcc/builtins.c a255ee3446afb8cea4ebe90fa0fe039d gcc/builtins.def 73e94fd7d8fb1829d449a3e30e2afe5b gcc/c-aux-info.c 62d30a7d4af8d629829c99d02c07d970 gcc/c-common.c *************** cff06fcb33b371f862382f90530c95d6 gcc/c- *** 2442,2448 **** 2ceb08a28d11926cd88da8c96f18c4c7 gcc/c-config-lang.in 18f89c94aca982bf79a42bde6f9c96a2 gcc/c-convert.c a8533f134ab426532bbf9b7f0c40d30a gcc/c-cppbuiltin.c ! 39c2310f0024e955916ffedb6be6d285 gcc/c-decl.c b5ae9db64c1aa1cc8f8d8172f9f35e8c gcc/c-dump.c 7b6ca63efd5fb2c3125f9d044b219a1b gcc/c-errors.c f22a0a77ada5edbfdeaf025da188b48c gcc/c-format.c --- 2442,2448 ---- 2ceb08a28d11926cd88da8c96f18c4c7 gcc/c-config-lang.in 18f89c94aca982bf79a42bde6f9c96a2 gcc/c-convert.c a8533f134ab426532bbf9b7f0c40d30a gcc/c-cppbuiltin.c ! 32d4ab294892326fd9cb04126c331baa gcc/c-decl.c b5ae9db64c1aa1cc8f8d8172f9f35e8c gcc/c-dump.c 7b6ca63efd5fb2c3125f9d044b219a1b gcc/c-errors.c f22a0a77ada5edbfdeaf025da188b48c gcc/c-format.c *************** f8631d6672a1d2dd1e0cec443fc0d3a2 gcc/c- *** 2465,2477 **** c243d517cc28c2ae7a0040d596e22b75 gcc/c-tree.h b67c9585ff6a52af6a677536af5c1ce1 gcc/c-typeck.c c54f11c57dde9974d397d85315a84ef6 gcc/c.opt ! 4ce898a5b7c039b3601f46155a35754f gcc/caller-save.c f096600761033f7e1b9793aad8f5b0b2 gcc/calls.c 89fdfe45d32da12f4644580c7129e8c8 gcc/cfg.c cd05048afad409e6c12b47c5aae01538 gcc/cfganal.c c3fa1dc2919fc5e43bce5bb6da791ba3 gcc/cfgbuild.c e1f5dfc5e952ea80ab629d2934ed92d2 gcc/cfgcleanup.c ! eace5806a0b053ad6c9f3360b581c9f3 gcc/cfgexpand.c 1c33442424e3f0450a6e8c5dc9fabede gcc/cfghooks.c 56a338efdcf6fc90c65d811ea5945ae4 gcc/cfghooks.h 4c4db0af7c7fffab033314cbc9bc7908 gcc/cfglayout.c --- 2465,2477 ---- c243d517cc28c2ae7a0040d596e22b75 gcc/c-tree.h b67c9585ff6a52af6a677536af5c1ce1 gcc/c-typeck.c c54f11c57dde9974d397d85315a84ef6 gcc/c.opt ! 59114210341043b4356215ff761cdfb4 gcc/caller-save.c f096600761033f7e1b9793aad8f5b0b2 gcc/calls.c 89fdfe45d32da12f4644580c7129e8c8 gcc/cfg.c cd05048afad409e6c12b47c5aae01538 gcc/cfganal.c c3fa1dc2919fc5e43bce5bb6da791ba3 gcc/cfgbuild.c e1f5dfc5e952ea80ab629d2934ed92d2 gcc/cfgcleanup.c ! 475f13541f378bd25295f16a534bb4b4 gcc/cfgexpand.c 1c33442424e3f0450a6e8c5dc9fabede gcc/cfghooks.c 56a338efdcf6fc90c65d811ea5945ae4 gcc/cfghooks.h 4c4db0af7c7fffab033314cbc9bc7908 gcc/cfglayout.c *************** c756f94c2865593913f9d653b50e44b7 gcc/cf *** 2480,2506 **** 392ddb58d1f2231ac2250b81393a35d9 gcc/cfgloop.h 4d5a0f9465bd5dd7404978d2d035e2e6 gcc/cfgloopanal.c a10689a1459ddefd7d28989bfacb3d71 gcc/cfgloopmanip.c ! 6d6c4b5861c7ac3689bacdddc4ee8e41 gcc/cfgrtl.c cb4b40634f3c1def7b5730947c63aefb gcc/cgraph.c 9acf1d45b00d383e0b8d46c304d72bac gcc/cgraph.h a54c6129173f86ca06c644872a147a08 gcc/cgraphbuild.c ! 1ee6b439f779330400f38134b40af81e gcc/cgraphunit.c 7bd9edc24c7c79b5aa46ba9cd512a12d gcc/collect2.c ea855a27372025f95b4f6ff536a5b6b2 gcc/collect2.h bb4cfd4d910574a8e2dbd629c02e2e5d gcc/combine-stack-adj.c ! 19cb162fce67fdc240b28f48d6870b39 gcc/combine.c c8f82300dbae721266534683a4f57887 gcc/common.opt 162c077c493d89717647c605b5b81996 gcc/conditions.h a8b63c89b69671c024a7c874bf4ae667 gcc/config.build ! c303564fd5176e0d63ae20b35c3ba948 gcc/config.gcc d5475a10fd7eaca715b416fd312e6131 gcc/config.host e72988e60debc250067b965b30acea78 gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README 3acabb7bb274b8bf65a2a0860087641d gcc/config/alpha/alpha-modes.def 7efb6d3e66c4ad0f2a7dc5c971c0d2ba gcc/config/alpha/alpha-protos.h ! 0ec10171523669ad2ffecd299fe50288 gcc/config/alpha/alpha.c f173b964e16a08d348f90bd2146f2fe0 gcc/config/alpha/alpha.h ! 59b6011d25439900bf8f5dd880019f83 gcc/config/alpha/alpha.md de8e700641c687562ecf731c89b7f96e gcc/config/alpha/alpha.opt bcf619652d7cdd3b04aa64ae5796607d gcc/config/alpha/constraints.md eaa470c97bd55676e6d80966007ba41e gcc/config/alpha/crtfastmath.c --- 2480,2506 ---- 392ddb58d1f2231ac2250b81393a35d9 gcc/cfgloop.h 4d5a0f9465bd5dd7404978d2d035e2e6 gcc/cfgloopanal.c a10689a1459ddefd7d28989bfacb3d71 gcc/cfgloopmanip.c ! 8e87e2b3415f74153cca744f62965377 gcc/cfgrtl.c cb4b40634f3c1def7b5730947c63aefb gcc/cgraph.c 9acf1d45b00d383e0b8d46c304d72bac gcc/cgraph.h a54c6129173f86ca06c644872a147a08 gcc/cgraphbuild.c ! 9546d29eecd1c1411ffa397ad916d7f3 gcc/cgraphunit.c 7bd9edc24c7c79b5aa46ba9cd512a12d gcc/collect2.c ea855a27372025f95b4f6ff536a5b6b2 gcc/collect2.h bb4cfd4d910574a8e2dbd629c02e2e5d gcc/combine-stack-adj.c ! 298737c2db45b60066fe676e637179fa gcc/combine.c c8f82300dbae721266534683a4f57887 gcc/common.opt 162c077c493d89717647c605b5b81996 gcc/conditions.h a8b63c89b69671c024a7c874bf4ae667 gcc/config.build ! 0303404c23cf8b0e96bbffc8c42644a6 gcc/config.gcc d5475a10fd7eaca715b416fd312e6131 gcc/config.host e72988e60debc250067b965b30acea78 gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README 3acabb7bb274b8bf65a2a0860087641d gcc/config/alpha/alpha-modes.def 7efb6d3e66c4ad0f2a7dc5c971c0d2ba gcc/config/alpha/alpha-protos.h ! 2df5b7a2c2ac5de64ae96f93527cd2ec gcc/config/alpha/alpha.c f173b964e16a08d348f90bd2146f2fe0 gcc/config/alpha/alpha.h ! d881b96bc1d9e1605e3374d39346520a gcc/config/alpha/alpha.md de8e700641c687562ecf731c89b7f96e gcc/config/alpha/alpha.opt bcf619652d7cdd3b04aa64ae5796607d gcc/config/alpha/constraints.md eaa470c97bd55676e6d80966007ba41e gcc/config/alpha/crtfastmath.c *************** b4dc0e55b7eb81cbe53a2184760cf4c6 gcc/co *** 2563,2571 **** 337e34a37f4734666b8e6d777f3f2808 gcc/config/arm/arm-modes.def b138ba59f6ab1eb39036be36d5e5740f gcc/config/arm/arm-protos.h 2e9f22a9b6c8d1e20458687a5ac9bd94 gcc/config/arm/arm-tune.md ! 71117efbde501e114c275099bc767bb2 gcc/config/arm/arm.c 623bb67695b6863f49d2cde8349dd670 gcc/config/arm/arm.h ! 69b1e4a8808770e5a633a16f5a416fae gcc/config/arm/arm.md 38766022e749c081f597bbaee891f44a gcc/config/arm/arm.opt 3e100a448539aab31c3af8bb0d9f5c8f gcc/config/arm/arm1020e.md 05d26f1a7cb64c1fc879e7a8040a1171 gcc/config/arm/arm1026ejs.md --- 2563,2571 ---- 337e34a37f4734666b8e6d777f3f2808 gcc/config/arm/arm-modes.def b138ba59f6ab1eb39036be36d5e5740f gcc/config/arm/arm-protos.h 2e9f22a9b6c8d1e20458687a5ac9bd94 gcc/config/arm/arm-tune.md ! c822923ebefdd2e2220bd875bbe2f40f gcc/config/arm/arm.c 623bb67695b6863f49d2cde8349dd670 gcc/config/arm/arm.h ! 127918392bb55cbbe575c86a220e3a67 gcc/config/arm/arm.md 38766022e749c081f597bbaee891f44a gcc/config/arm/arm.opt 3e100a448539aab31c3af8bb0d9f5c8f gcc/config/arm/arm1020e.md 05d26f1a7cb64c1fc879e7a8040a1171 gcc/config/arm/arm1026ejs.md *************** b6c28da282feaaf316a4d6f1e02e4d4f gcc/co *** 2578,2584 **** fb41b23d46ed654811a18bf1f3cccb8a gcc/config/arm/bpabi.h ca6c8312d269b6a15ffd3d133ebd0869 gcc/config/arm/cirrus.md a3529653950e3f54c6a0d5f7334ede5b gcc/config/arm/coff.h ! 613c08288230d1777b65fb47398a3ad1 gcc/config/arm/constraints.md f598a04ef10e07392e519e38d062a138 gcc/config/arm/cortex-a8-neon.md 87e5fd6df7b3207057923b88a80e52e9 gcc/config/arm/cortex-a8.md 685c1b3c2113e914623aa1238e72ee0d gcc/config/arm/cortex-a9.md --- 2578,2584 ---- fb41b23d46ed654811a18bf1f3cccb8a gcc/config/arm/bpabi.h ca6c8312d269b6a15ffd3d133ebd0869 gcc/config/arm/cirrus.md a3529653950e3f54c6a0d5f7334ede5b gcc/config/arm/coff.h ! 0e66d6a4a273a1dd0bfd0d46e97cd833 gcc/config/arm/constraints.md f598a04ef10e07392e519e38d062a138 gcc/config/arm/cortex-a8-neon.md 87e5fd6df7b3207057923b88a80e52e9 gcc/config/arm/cortex-a8.md 685c1b3c2113e914623aa1238e72ee0d gcc/config/arm/cortex-a9.md *************** be27ded663b5e0da464113e9282cc080 gcc/co *** 2596,2602 **** d656df963edb12b100c20f043967378d gcc/config/arm/ieee754-df.S 2ef7f83b582bc6a84849475c32e3c877 gcc/config/arm/ieee754-sf.S 13f53878ff1e2f8c964cf3934aee5eef gcc/config/arm/iwmmxt.md ! 80d5b69958f33aacd8262e14817a7bf9 gcc/config/arm/lib1funcs.asm cfcfd5e8b171338d69363f5e982c2a06 gcc/config/arm/libgcc-bpabi.ver 494c670e0f21c37b8da05ba1c978dace gcc/config/arm/libunwind.S eb64e56e31523d96482d2dea2434cab2 gcc/config/arm/linux-atomic.c --- 2596,2602 ---- d656df963edb12b100c20f043967378d gcc/config/arm/ieee754-df.S 2ef7f83b582bc6a84849475c32e3c877 gcc/config/arm/ieee754-sf.S 13f53878ff1e2f8c964cf3934aee5eef gcc/config/arm/iwmmxt.md ! 363b0a83dace8c34d9091d1ca7b67871 gcc/config/arm/lib1funcs.asm cfcfd5e8b171338d69363f5e982c2a06 gcc/config/arm/libgcc-bpabi.ver 494c670e0f21c37b8da05ba1c978dace gcc/config/arm/libunwind.S eb64e56e31523d96482d2dea2434cab2 gcc/config/arm/linux-atomic.c *************** fffe0cd79badf432823a50259dd55831 gcc/co *** 2607,2615 **** 41e845fae9ed6bb110f628784d88aa1a gcc/config/arm/neon-docgen.ml fd306131cda795e5225949eaf38e81cc gcc/config/arm/neon-gen.ml e4738f5a75ef7fd6492fac397f3bac18 gcc/config/arm/neon-schedgen.ml ! a8f52cd1be46a54664632bdcd35e3e18 gcc/config/arm/neon-testgen.ml a89fcde59bffd3e0b8332454bc8ad9cd gcc/config/arm/neon.md ! 25e4b4829339b85382493d62ab51bc3a gcc/config/arm/neon.ml 5d463ccba52170e9234f1ccb47ba22ad gcc/config/arm/netbsd-elf.h fddb0dabcecea3d3cc594dbb004c12db gcc/config/arm/netbsd.h 60ee401da37593e8d8d63c75941f58b3 gcc/config/arm/pe.c --- 2607,2615 ---- 41e845fae9ed6bb110f628784d88aa1a gcc/config/arm/neon-docgen.ml fd306131cda795e5225949eaf38e81cc gcc/config/arm/neon-gen.ml e4738f5a75ef7fd6492fac397f3bac18 gcc/config/arm/neon-schedgen.ml ! 65888cbb9797b50d33ce0c7abee64af3 gcc/config/arm/neon-testgen.ml a89fcde59bffd3e0b8332454bc8ad9cd gcc/config/arm/neon.md ! 523ba8e0764a447670917e8999f3e18b gcc/config/arm/neon.ml 5d463ccba52170e9234f1ccb47ba22ad gcc/config/arm/netbsd-elf.h fddb0dabcecea3d3cc594dbb004c12db gcc/config/arm/netbsd.h 60ee401da37593e8d8d63c75941f58b3 gcc/config/arm/pe.c *************** d9081490644ad28dcd75e59834dc1482 gcc/co *** 2635,2641 **** 841537ba46ddc813fb1de6061b4fe6ab gcc/config/arm/t-symbian 5a64f92f2a6175d8fcb5a9699eae97b3 gcc/config/arm/t-vxworks 02362d53cdae31a3212764351941f100 gcc/config/arm/t-wince-pe ! 70db29b2969e4cbdf2af775e530d7dfd gcc/config/arm/thumb2.md 2cb94f3be777cbf153a3986950ac2025 gcc/config/arm/uclinux-eabi.h 3ca956ca72cbb18fc516d5d665a740f6 gcc/config/arm/uclinux-elf.h 332508926dbef51495f6e98126b23c91 gcc/config/arm/unaligned-funcs.c --- 2635,2641 ---- 841537ba46ddc813fb1de6061b4fe6ab gcc/config/arm/t-symbian 5a64f92f2a6175d8fcb5a9699eae97b3 gcc/config/arm/t-vxworks 02362d53cdae31a3212764351941f100 gcc/config/arm/t-wince-pe ! 5fb52709b4f2799f2ba7b0fc9fd4f016 gcc/config/arm/thumb2.md 2cb94f3be777cbf153a3986950ac2025 gcc/config/arm/uclinux-eabi.h 3ca956ca72cbb18fc516d5d665a740f6 gcc/config/arm/uclinux-elf.h 332508926dbef51495f6e98126b23c91 gcc/config/arm/unaligned-funcs.c *************** ed293ba2d61ebc7ba916b7a1c3ccb8b8 gcc/co *** 2834,2840 **** 57764c15c1dee9b89218dcc22d005eff gcc/config/i386/gas.h 1a46a5b7e0f67c0aa0c29f096be6d2c6 gcc/config/i386/geode.md 2fc33f8550cd44816bce1cd499b09eff gcc/config/i386/gmm_malloc.h ! 6158eb8437c2a752f05e8f6a497b197a gcc/config/i386/gmon-sol2.c edba8147b99026b5bf34d85916cb33a9 gcc/config/i386/gnu.h 3349498ec85e12ac7055f4802239086c gcc/config/i386/gstabs.h a2f55de8c6f0b7e8065c571a0ca963b3 gcc/config/i386/gthr-win32.c --- 2834,2840 ---- 57764c15c1dee9b89218dcc22d005eff gcc/config/i386/gas.h 1a46a5b7e0f67c0aa0c29f096be6d2c6 gcc/config/i386/geode.md 2fc33f8550cd44816bce1cd499b09eff gcc/config/i386/gmm_malloc.h ! 8b2c791950c7b1b80af3e6b2930e990c gcc/config/i386/gmon-sol2.c edba8147b99026b5bf34d85916cb33a9 gcc/config/i386/gnu.h 3349498ec85e12ac7055f4802239086c gcc/config/i386/gstabs.h a2f55de8c6f0b7e8065c571a0ca963b3 gcc/config/i386/gthr-win32.c *************** a5e3cd858e5d81aa77c49851af121053 gcc/co *** 2848,2854 **** f1be9e9dbf092b26488d3768a0d21a59 gcc/config/i386/i386-interix3.h 738261834af8766a7daf88a1900523c6 gcc/config/i386/i386-modes.def 85f8badc238af7d3e39112d0fb7ae468 gcc/config/i386/i386-protos.h ! 37212af2db96e3dc580b4615f3543028 gcc/config/i386/i386.c 1a5c4b2bb072a72d6dda538a833d90c8 gcc/config/i386/i386.h c2a72d5122cf2261bf304495ade03607 gcc/config/i386/i386.md cc683112908f30f1ddf58eb3cd9b454d gcc/config/i386/i386.opt --- 2848,2854 ---- f1be9e9dbf092b26488d3768a0d21a59 gcc/config/i386/i386-interix3.h 738261834af8766a7daf88a1900523c6 gcc/config/i386/i386-modes.def 85f8badc238af7d3e39112d0fb7ae468 gcc/config/i386/i386-protos.h ! 1289a64f3fddbf28b41cd3074b7a5743 gcc/config/i386/i386.c 1a5c4b2bb072a72d6dda538a833d90c8 gcc/config/i386/i386.h c2a72d5122cf2261bf304495ade03607 gcc/config/i386/i386.md cc683112908f30f1ddf58eb3cd9b454d gcc/config/i386/i386.opt *************** c517746d9f7377ff4ba8008dfd9b437a gcc/co *** 2969,2975 **** e6c06c7b85f5f92ccc621cbd0b85fadf gcc/config/ia64/ia64-protos.h e1f8b29b7b26874edb86f1fa8654ad89 gcc/config/ia64/ia64.c 4ca32486dc723404795cf07e44471ef9 gcc/config/ia64/ia64.h ! a106582bb5fe39e2b47100e2906f7a1d gcc/config/ia64/ia64.md 1bb0b0d5f2b60c47b821a4ef8ac14976 gcc/config/ia64/ia64.opt dcc77d7023d20b64688bf213c2d327b5 gcc/config/ia64/ia64intrin.h e90da2310b0e83607033de5caa109b48 gcc/config/ia64/ilp32.opt --- 2969,2975 ---- e6c06c7b85f5f92ccc621cbd0b85fadf gcc/config/ia64/ia64-protos.h e1f8b29b7b26874edb86f1fa8654ad89 gcc/config/ia64/ia64.c 4ca32486dc723404795cf07e44471ef9 gcc/config/ia64/ia64.h ! 47fece4826755085adef896c4bc2b5ff gcc/config/ia64/ia64.md 1bb0b0d5f2b60c47b821a4ef8ac14976 gcc/config/ia64/ia64.opt dcc77d7023d20b64688bf213c2d327b5 gcc/config/ia64/ia64intrin.h e90da2310b0e83607033de5caa109b48 gcc/config/ia64/ilp32.opt *************** cad828684f5e6cf4d4495b2a21d71f9c gcc/co *** 3235,3244 **** 9a38de666f873daf766f44eb16ad7c0e gcc/config/pa/constraints.md 592f30402a2d75cae8aa70dcef28a289 gcc/config/pa/elf.h 3f5091ee08988c7c5091c46523a58284 gcc/config/pa/fptr.c ! d5ffcd9cbf0362f09e96bf5b6079d43e gcc/config/pa/hpux-unwind.h 8653be6abee9b3fb6d14d4a6f4b93056 gcc/config/pa/lib2funcs.asm db94d190bf62726337677b1a5574aa69 gcc/config/pa/linux-atomic.c ! 14a8e2b8f59864939517589876b228f5 gcc/config/pa/linux-unwind.h 66386978462b79eed8d908d730ed1351 gcc/config/pa/milli64.S feac6aba9a4a0c5389d44e887e20875a gcc/config/pa/pa-64.h c4f0d066d529f5902e881b1128c38a00 gcc/config/pa/pa-hpux.h --- 3235,3244 ---- 9a38de666f873daf766f44eb16ad7c0e gcc/config/pa/constraints.md 592f30402a2d75cae8aa70dcef28a289 gcc/config/pa/elf.h 3f5091ee08988c7c5091c46523a58284 gcc/config/pa/fptr.c ! e4fb12b0b83338b8af3f278655f0d23a gcc/config/pa/hpux-unwind.h 8653be6abee9b3fb6d14d4a6f4b93056 gcc/config/pa/lib2funcs.asm db94d190bf62726337677b1a5574aa69 gcc/config/pa/linux-atomic.c ! b240d1d9d23fa34be252ec9b91e80bf4 gcc/config/pa/linux-unwind.h 66386978462b79eed8d908d730ed1351 gcc/config/pa/milli64.S feac6aba9a4a0c5389d44e887e20875a gcc/config/pa/pa-64.h c4f0d066d529f5902e881b1128c38a00 gcc/config/pa/pa-hpux.h *************** fafe040d7a38b97e371a3c84845e4c5f gcc/co *** 3254,3260 **** 6a0aed342a87e2a6b888fb1788fdd100 gcc/config/pa/pa-protos.h ee1f19036e4311a2c6bcdc4fe9b79d05 gcc/config/pa/pa.c 4ca42937ab86c9c900c6a60a1f5833ad gcc/config/pa/pa.h ! 77e3d25300b48254a068f067909cc3a8 gcc/config/pa/pa.md c17a7721fbfc548f190112cc544e0d7b gcc/config/pa/pa.opt 012a1e54461f76d78cd598a9cb40b3bf gcc/config/pa/pa32-linux.h 2454726670f3869f9c35f4de56656dad gcc/config/pa/pa32-regs.h --- 3254,3260 ---- 6a0aed342a87e2a6b888fb1788fdd100 gcc/config/pa/pa-protos.h ee1f19036e4311a2c6bcdc4fe9b79d05 gcc/config/pa/pa.c 4ca42937ab86c9c900c6a60a1f5833ad gcc/config/pa/pa.h ! ed01f1e19d5cc3ab6b476e7f1494cf60 gcc/config/pa/pa.md c17a7721fbfc548f190112cc544e0d7b gcc/config/pa/pa.opt 012a1e54461f76d78cd598a9cb40b3bf gcc/config/pa/pa32-linux.h 2454726670f3869f9c35f4de56656dad gcc/config/pa/pa32-regs.h *************** e207df51fd4bff35bb0857b68ea176c5 gcc/co *** 3420,3426 **** 7ce13eff703004f54e625b5bad1b9028 gcc/config/rs6000/rs6000-c.c efc5416944d2ad1ae38ca9475f7bea1c gcc/config/rs6000/rs6000-modes.def 7bbeda82512e62800355d415081cfba9 gcc/config/rs6000/rs6000-protos.h ! d09e71ae515eb32c4dda83ab350271ff gcc/config/rs6000/rs6000.c 47f2993778b499d3e73535ce102bb46e gcc/config/rs6000/rs6000.h 6303c914955b45a8eedc63c746ca4922 gcc/config/rs6000/rs6000.md 01e022fd78565f791eb0068a8b426e0c gcc/config/rs6000/rs6000.opt --- 3420,3426 ---- 7ce13eff703004f54e625b5bad1b9028 gcc/config/rs6000/rs6000-c.c efc5416944d2ad1ae38ca9475f7bea1c gcc/config/rs6000/rs6000-modes.def 7bbeda82512e62800355d415081cfba9 gcc/config/rs6000/rs6000-protos.h ! 12936a44840105f0c81b7898e935c601 gcc/config/rs6000/rs6000.c 47f2993778b499d3e73535ce102bb46e gcc/config/rs6000/rs6000.h 6303c914955b45a8eedc63c746ca4922 gcc/config/rs6000/rs6000.md 01e022fd78565f791eb0068a8b426e0c gcc/config/rs6000/rs6000.opt *************** d4f9a916c2fd36b75823773c2b0d0c4f gcc/co *** 3483,3491 **** caa6fb0c0ade92561223e732c2d61a5c gcc/config/s390/predicates.md 9be5cd5b98ff9760eac4fca0d0f4a83f gcc/config/s390/s390-modes.def b5dfe80ee7b40a7dde47132e44df71ed gcc/config/s390/s390-protos.h ! 828e069d378a0f5c66a86937851128f7 gcc/config/s390/s390.c 35bb8f1c40f4eca8d2481ff838847811 gcc/config/s390/s390.h ! fb098ba296f47049bb0571272a2c9410 gcc/config/s390/s390.md 6f9250d15fa7fb4dbac18744755f8634 gcc/config/s390/s390.opt 0f3debf41179406f77530d752d92ad9a gcc/config/s390/s390x.h 14ef548e08c4fa033fbdeca7b33d2ac1 gcc/config/s390/t-crtstuff --- 3483,3491 ---- caa6fb0c0ade92561223e732c2d61a5c gcc/config/s390/predicates.md 9be5cd5b98ff9760eac4fca0d0f4a83f gcc/config/s390/s390-modes.def b5dfe80ee7b40a7dde47132e44df71ed gcc/config/s390/s390-protos.h ! 3a11ae6a26f6344039b87639108c06b3 gcc/config/s390/s390.c 35bb8f1c40f4eca8d2481ff838847811 gcc/config/s390/s390.h ! 001441aa3135df9e83f9ee8e436616b7 gcc/config/s390/s390.md 6f9250d15fa7fb4dbac18744755f8634 gcc/config/s390/s390.opt 0f3debf41179406f77530d752d92ad9a gcc/config/s390/s390x.h 14ef548e08c4fa033fbdeca7b33d2ac1 gcc/config/s390/t-crtstuff *************** eed405ae3c0540b5fe9a8ac739e01238 gcc/co *** 3543,3551 **** 9d3923de50cf7b332d51751588012204 gcc/config/sh/sh-c.c 8d439712ff37bef737b9454a03cfa4b5 gcc/config/sh/sh-modes.def fa1083ace6e7486da8661c57722c9b57 gcc/config/sh/sh-protos.h ! e2edd3e395e0fe884bb2e675b2ff4e81 gcc/config/sh/sh.c 378b75cefcab061c4d651b82f9fff7fe gcc/config/sh/sh.h ! 498109a90851512882899bf7733be034 gcc/config/sh/sh.md ae9ef8347fab74648bbdc3113e4ef223 gcc/config/sh/sh.opt d3f5c6e2b4a3620817b14d8dd55128b1 gcc/config/sh/sh1.md edae695e2c740a39c2253e67bda533b8 gcc/config/sh/sh4-300.md --- 3543,3551 ---- 9d3923de50cf7b332d51751588012204 gcc/config/sh/sh-c.c 8d439712ff37bef737b9454a03cfa4b5 gcc/config/sh/sh-modes.def fa1083ace6e7486da8661c57722c9b57 gcc/config/sh/sh-protos.h ! b53e4d4a8809fdd800ff9ce89f5e7913 gcc/config/sh/sh.c 378b75cefcab061c4d651b82f9fff7fe gcc/config/sh/sh.h ! 641900da37b8f1c036adbca909cc164f gcc/config/sh/sh.md ae9ef8347fab74648bbdc3113e4ef223 gcc/config/sh/sh.opt d3f5c6e2b4a3620817b14d8dd55128b1 gcc/config/sh/sh1.md edae695e2c740a39c2253e67bda533b8 gcc/config/sh/sh4-300.md *************** fafa2c1bb6c0d4c74ddb4cab16e236d3 gcc/co *** 3692,3697 **** --- 3692,3698 ---- 6a18382e601c2b80e23008d4e87f1a5b gcc/config/sparc/crtfastmath.c 802612f098c92898ab482cc55a77811d gcc/config/sparc/cypress.md 42c76466662bc5141d054c11221ff75d gcc/config/sparc/freebsd.h + e035bcb7333c3eff46a878a6e6507c25 gcc/config/sparc/gas.h d6f59275f3fdda163462ac1620761459 gcc/config/sparc/gmon-sol2.c 8e011093f0756d2266d35563e1e9d196 gcc/config/sparc/hypersparc.md 38890399560283d3053d6c66c5bfb517 gcc/config/sparc/lb1spc.asm *************** d6ac1866a639d5a4a8c811c8b148058c gcc/co *** 3723,3736 **** ea1204fcf09118442f22dbbdfad5d91a gcc/config/sparc/sp64-elf.h 4e17170225e4c97fa22650f81efb0c19 gcc/config/sparc/sparc-modes.def 7d3b72e93b1365865629900559bb3f0a gcc/config/sparc/sparc-protos.h ! 4f17641da0558ce06b292d16cb829031 gcc/config/sparc/sparc.c a86c95037ee75097322fffcb3799f235 gcc/config/sparc/sparc.h adaf74a6c60bbb94368ad00b71dd2320 gcc/config/sparc/sparc.md 75efbb9728e482e14e8ccf95301f6466 gcc/config/sparc/sparc.opt e085c3934f5520c64222de26b11c11c6 gcc/config/sparc/sparclet.md f271a2c5c69010bdc36679b647809dcf gcc/config/sparc/supersparc.md aa2db0e1c98e511487c1c400162c7b52 gcc/config/sparc/sync.md ! ebca1b333f0eed1c0ed26a49ca8a4154 gcc/config/sparc/sysv4.h ea7daa17a613a41bfe721bba0ab4e86e gcc/config/sparc/t-crtfm d49449c5d80d6ac9e122a041935aa404 gcc/config/sparc/t-elf 8c85cbe49459289aa252b81c98de0605 gcc/config/sparc/t-linux --- 3724,3737 ---- ea1204fcf09118442f22dbbdfad5d91a gcc/config/sparc/sp64-elf.h 4e17170225e4c97fa22650f81efb0c19 gcc/config/sparc/sparc-modes.def 7d3b72e93b1365865629900559bb3f0a gcc/config/sparc/sparc-protos.h ! 42c902a15e3bd9466e09cfb083d106ce gcc/config/sparc/sparc.c a86c95037ee75097322fffcb3799f235 gcc/config/sparc/sparc.h adaf74a6c60bbb94368ad00b71dd2320 gcc/config/sparc/sparc.md 75efbb9728e482e14e8ccf95301f6466 gcc/config/sparc/sparc.opt e085c3934f5520c64222de26b11c11c6 gcc/config/sparc/sparclet.md f271a2c5c69010bdc36679b647809dcf gcc/config/sparc/supersparc.md aa2db0e1c98e511487c1c400162c7b52 gcc/config/sparc/sync.md ! 8c2db2ad41af7b5ce38f54cbbacb93fb gcc/config/sparc/sysv4.h ea7daa17a613a41bfe721bba0ab4e86e gcc/config/sparc/t-crtfm d49449c5d80d6ac9e122a041935aa404 gcc/config/sparc/t-elf 8c85cbe49459289aa252b81c98de0605 gcc/config/sparc/t-linux *************** c5d08153caafcdb3a6a7d828fa4a1316 gcc/co *** 3758,3764 **** bde4daebc13d31b07671caedea749601 gcc/config/spu/predicates.md 5bfbe9c68f91857781720ea038052ea6 gcc/config/spu/spu-builtins.def 7d90b7d3b40c7e1b85d9810a344f7aac gcc/config/spu/spu-builtins.md ! 4e032bdc17a4d5c58a5d6ef32f034d69 gcc/config/spu/spu-c.c 15e1f2ec75f5c3729c8b1e87e9ee5946 gcc/config/spu/spu-elf.h 3f6cd1148d08429aedb2066ac8d6b7c7 gcc/config/spu/spu-modes.def f236b9877726d4ced11cdeb0ce0f8fbb gcc/config/spu/spu-protos.h --- 3759,3765 ---- bde4daebc13d31b07671caedea749601 gcc/config/spu/predicates.md 5bfbe9c68f91857781720ea038052ea6 gcc/config/spu/spu-builtins.def 7d90b7d3b40c7e1b85d9810a344f7aac gcc/config/spu/spu-builtins.md ! 7e714e886dd2ecc5df2e96b40b50d9be gcc/config/spu/spu-c.c 15e1f2ec75f5c3729c8b1e87e9ee5946 gcc/config/spu/spu-elf.h 3f6cd1148d08429aedb2066ac8d6b7c7 gcc/config/spu/spu-modes.def f236b9877726d4ced11cdeb0ce0f8fbb gcc/config/spu/spu-protos.h *************** e5607ff31370d3c99109ba1bc9401311 gcc/co *** 3874,3880 **** ff670e1fb66afb7e147476e295f3d60d gcc/coretypes.h 15415fb6900d9eef3016912a0bd54224 gcc/coverage.c 1a69bad83c84b193b55d89f3edb77ab4 gcc/coverage.h ! 86cff4d8c0acff1651865a03f8506fab gcc/cp/ChangeLog bd4aeac90a5befe0218090fe3d3d6542 gcc/cp/ChangeLog-1993 08674355375d2734400e90d47d048ccc gcc/cp/ChangeLog-1994 ba73c2557bcf66206e3cb4f90a4f81a1 gcc/cp/ChangeLog-1995 --- 3875,3881 ---- ff670e1fb66afb7e147476e295f3d60d gcc/coretypes.h 15415fb6900d9eef3016912a0bd54224 gcc/coverage.c 1a69bad83c84b193b55d89f3edb77ab4 gcc/coverage.h ! dab4fe932880e046df9d5a3cbb86a2aa gcc/cp/ChangeLog bd4aeac90a5befe0218090fe3d3d6542 gcc/cp/ChangeLog-1993 08674355375d2734400e90d47d048ccc gcc/cp/ChangeLog-1994 ba73c2557bcf66206e3cb4f90a4f81a1 gcc/cp/ChangeLog-1995 *************** f5cdc595822e9627aaa7eb04b81f44e0 gcc/cp *** 3923,3933 **** 992d66abb65f75f760d515b342f24b41 gcc/cp/lex.c 4893efefdd7dc01c384674c06875dccf gcc/cp/mangle.c a3d9bc49954ab9f0a7ecd89fc327dab1 gcc/cp/method.c ! 93fa4f01f1867d4b287dfc68598f0d7f gcc/cp/name-lookup.c ! 37b55918cd6cc874e2c6153e30b55f62 gcc/cp/name-lookup.h b080bcfe8e8b473de78c2cb0483a21eb gcc/cp/operators.def 5288d9bc16e1d5de8f23f84297420e47 gcc/cp/optimize.c ! 201da1c36bef430fe23c0633b4b9d21d gcc/cp/parser.c 5040876a9c28cab6df05b5c21aee0af7 gcc/cp/pt.c 2a331e99786b101d129fa8b7d66581bb gcc/cp/ptree.c ef6d9b7df3512756ad8d60ec703caa12 gcc/cp/repo.c --- 3924,3934 ---- 992d66abb65f75f760d515b342f24b41 gcc/cp/lex.c 4893efefdd7dc01c384674c06875dccf gcc/cp/mangle.c a3d9bc49954ab9f0a7ecd89fc327dab1 gcc/cp/method.c ! 3bf3ba221f8332769a17700a010bf7fa gcc/cp/name-lookup.c ! a721dbea3ad1268918bce607c4fb7bf0 gcc/cp/name-lookup.h b080bcfe8e8b473de78c2cb0483a21eb gcc/cp/operators.def 5288d9bc16e1d5de8f23f84297420e47 gcc/cp/optimize.c ! e262357d623f062b2a6f13e3f5498faa gcc/cp/parser.c 5040876a9c28cab6df05b5c21aee0af7 gcc/cp/pt.c 2a331e99786b101d129fa8b7d66581bb gcc/cp/ptree.c ef6d9b7df3512756ad8d60ec703caa12 gcc/cp/repo.c *************** a068025293fde475bf00e1fb5d05923d gcc/df *** 3967,3973 **** 85330ce8910c600f99b937e0b41158ee gcc/diagnostic.c 9c4ce2161f78ceb6373a2fea71018067 gcc/diagnostic.def 1eeca1eb4586a7f2bb81aa7b2dce6b30 gcc/diagnostic.h ! d11e25c48277b0dec007923c72e3e7ed gcc/doc/aot-compile.1 fab6e6245c13a86c0526862b93a171f5 gcc/doc/arm-neon-intrinsics.texi f14bb72f864987edc101885b31399d41 gcc/doc/bugreport.texi 60d66885a7ec8aee190214a16e4b1735 gcc/doc/c-tree.texi --- 3968,3974 ---- 85330ce8910c600f99b937e0b41158ee gcc/diagnostic.c 9c4ce2161f78ceb6373a2fea71018067 gcc/diagnostic.def 1eeca1eb4586a7f2bb81aa7b2dce6b30 gcc/diagnostic.h ! f0cdea1f361564c409fea00e75fc4867 gcc/doc/aot-compile.1 fab6e6245c13a86c0526862b93a171f5 gcc/doc/arm-neon-intrinsics.texi f14bb72f864987edc101885b31399d41 gcc/doc/bugreport.texi 60d66885a7ec8aee190214a16e4b1735 gcc/doc/c-tree.texi *************** e025c163542a9ac9aecf10594125f181 gcc/do *** 3978,4015 **** 6ed911b9535d38ab2eef4969854f0581 gcc/doc/configterms.texi 9c5bb383466ed0828e95db55aeb3dc74 gcc/doc/contrib.texi 532efd24ba5590c6aed6cc4fa92638d8 gcc/doc/contribute.texi ! 7f1d5058cb5a22812f32396b4afe0bff gcc/doc/cpp.1 ! 4e933a26b48c024597d26115717a2902 gcc/doc/cpp.info 4f7bbbd170a2d217a88bfc4811988d2b gcc/doc/cpp.texi 8462a717da44ca316c8c9ac975457a32 gcc/doc/cppenv.texi ! 690eadad4a5df64f367dd431cf705748 gcc/doc/cppinternals.info 55cf8ff7895a619dde004d75de18d584 gcc/doc/cppinternals.texi d5e457163f18dbaf28a84995b7545447 gcc/doc/cppopts.texi ce2f84bca5ea14dcd5d5fc4d68b6d4ff gcc/doc/extend.texi ee150f91929d3eeab1448e2abedb89f6 gcc/doc/fragments.texi 456af151776849fe8c9cbd2c5db5fc36 gcc/doc/frontends.texi ! 8037bd1c2ae21efc182968f7a8158751 gcc/doc/fsf-funding.7 ! 947104834d6e2de8e7dde8727c6650a0 gcc/doc/g++.1 ! a4469521ce0d7338b5d4a3513298dc70 gcc/doc/gc-analyze.1 ! 947104834d6e2de8e7dde8727c6650a0 gcc/doc/gcc.1 ! dba87277ba88b53ec21844a5a7b633ca gcc/doc/gcc.info f4987f24f0b85b7f7af2aa44d097d232 gcc/doc/gcc.texi ! 6aff98f30ad12c9cad1f01bb2d630578 gcc/doc/gccinstall.info ! f600dddc4da3510f4caded341338517d gcc/doc/gccint.info 839d52ff2dd686433e4d2a60f2ad7900 gcc/doc/gccint.texi ! 75f824c9e4dcc2339f46e4f618092a72 gcc/doc/gcj-dbtool.1 ! 1abf457a6f05c3c5f2ac44b4a59157d6 gcc/doc/gcj.1 ! 57a73d02ea14c63ca85e6e8b89d935d1 gcc/doc/gcj.info ! 7de98bf33b8210553f82a1f3c1c68809 gcc/doc/gcov.1 284df058ae86fddc2593727db8ae96d6 gcc/doc/gcov.texi a9ec4aa8679b2b09e2fd9870b5374fdc gcc/doc/generic.texi ! 2627f3d5d3acb1186c2029c509fcec28 gcc/doc/gfdl.7 ! 8465d9a8c0c2bf7ebbfb6f296a99f181 gcc/doc/gfortran.1 ! 65223b7b253f285f2ef3f33f7846cdcc gcc/doc/gij.1 87d63a516d5d9384f41a918b6539c88f gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 11c844aeb2cc867ceea9d0d3abcbe6be gcc/doc/gpl.7 ! 8d8fd9c0051ded9f36fb0ca2aba7dc4d gcc/doc/grmic.1 5ba6e85d0d744497eeb8e9277744bb5c gcc/doc/gty.texi 12712ad63a56e9d549562b21b42b1454 gcc/doc/headerdirs.texi 6fa9f66c50758cf8a1260ee0c320553b gcc/doc/hostconfig.texi --- 3979,4016 ---- 6ed911b9535d38ab2eef4969854f0581 gcc/doc/configterms.texi 9c5bb383466ed0828e95db55aeb3dc74 gcc/doc/contrib.texi 532efd24ba5590c6aed6cc4fa92638d8 gcc/doc/contribute.texi ! 57114086589a358415516256a075a920 gcc/doc/cpp.1 ! ee41b3f208798564e2c15854cc1c3f53 gcc/doc/cpp.info 4f7bbbd170a2d217a88bfc4811988d2b gcc/doc/cpp.texi 8462a717da44ca316c8c9ac975457a32 gcc/doc/cppenv.texi ! a4752cbc286eab093b6ae3866e1d4b80 gcc/doc/cppinternals.info 55cf8ff7895a619dde004d75de18d584 gcc/doc/cppinternals.texi d5e457163f18dbaf28a84995b7545447 gcc/doc/cppopts.texi ce2f84bca5ea14dcd5d5fc4d68b6d4ff gcc/doc/extend.texi ee150f91929d3eeab1448e2abedb89f6 gcc/doc/fragments.texi 456af151776849fe8c9cbd2c5db5fc36 gcc/doc/frontends.texi ! 6346fa73aa8493209f4f7afbc2ea3ef1 gcc/doc/fsf-funding.7 ! 237dec02d081d12d48fe4cbb5d826055 gcc/doc/g++.1 ! f8ff49ad55c89b679257115918c43898 gcc/doc/gc-analyze.1 ! 237dec02d081d12d48fe4cbb5d826055 gcc/doc/gcc.1 ! ef9740bf9993df8b379bdcd598768e19 gcc/doc/gcc.info f4987f24f0b85b7f7af2aa44d097d232 gcc/doc/gcc.texi ! 30f194962e7c5420a4e3d3428cc2349d gcc/doc/gccinstall.info ! 4702894ac9fbc063aa5edf037e3fc185 gcc/doc/gccint.info 839d52ff2dd686433e4d2a60f2ad7900 gcc/doc/gccint.texi ! 759514a50b343eb377e3baa6b3d26c30 gcc/doc/gcj-dbtool.1 ! ded155a655beb50af118e930b86a6476 gcc/doc/gcj.1 ! f7ad8d506e686d823b60228b9880ef44 gcc/doc/gcj.info ! 780831fc56591e5a5cd84f1c49037f6c gcc/doc/gcov.1 284df058ae86fddc2593727db8ae96d6 gcc/doc/gcov.texi a9ec4aa8679b2b09e2fd9870b5374fdc gcc/doc/generic.texi ! 935504c7ede7863bf2318296cd6afb24 gcc/doc/gfdl.7 ! 5509b7d1272474a7fb7ab0bdfee486f6 gcc/doc/gfortran.1 ! d04a165adcbe1912697dddd159c4865c gcc/doc/gij.1 87d63a516d5d9384f41a918b6539c88f gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 6dec408a0c0d6a7c971e97a15cfbbbaf gcc/doc/gpl.7 ! d0788db6328b07bbe5ff2eb8bf155b07 gcc/doc/grmic.1 5ba6e85d0d744497eeb8e9277744bb5c gcc/doc/gty.texi 12712ad63a56e9d549562b21b42b1454 gcc/doc/headerdirs.texi 6fa9f66c50758cf8a1260ee0c320553b gcc/doc/hostconfig.texi *************** dee9095d1a927726aff2b0f71fd1f9f5 gcc/do *** 4024,4032 **** dc9f42e3de7ab0f394df6e6af0850f59 gcc/doc/install.texi 4b06ff09435cecf7fcd8d0c095b73464 gcc/doc/install.texi2html 5407c66b804884426ce94dcac22864d1 gcc/doc/interface.texi ! 60dfb8f93fd670aaf69e1f75915b5cd9 gcc/doc/invoke.texi ! 84b55c5255922cce06acac74b99fb023 gcc/doc/jcf-dump.1 ! dec9ab698561551cbf570739ea9f9e9c gcc/doc/jv-convert.1 a01aca1d7da7f482653b521ba6447f85 gcc/doc/languages.texi 368c6334d0fd27a14c988b146cb70bcb gcc/doc/libgcc.texi 83fa2ab5d6f29a73570387a1a75a425c gcc/doc/loop.texi --- 4025,4033 ---- dc9f42e3de7ab0f394df6e6af0850f59 gcc/doc/install.texi 4b06ff09435cecf7fcd8d0c095b73464 gcc/doc/install.texi2html 5407c66b804884426ce94dcac22864d1 gcc/doc/interface.texi ! 5d290b2c6c67d2f37ec1176a6ca8d516 gcc/doc/invoke.texi ! c9d5addcb0e61f36bbac503b9740a020 gcc/doc/jcf-dump.1 ! 2e4797ef67f8da618bcee1928add5641 gcc/doc/jv-convert.1 a01aca1d7da7f482653b521ba6447f85 gcc/doc/languages.texi 368c6334d0fd27a14c988b146cb70bcb gcc/doc/libgcc.texi 83fa2ab5d6f29a73570387a1a75a425c gcc/doc/loop.texi *************** b07adddd8f6f4eeb877a1d5df2f00aa7 gcc/do *** 4036,4042 **** a7829c305285858ae6d689e9b67e27fb gcc/doc/options.texi 935b0ead8db1245baa3edb3b52ca324d gcc/doc/passes.texi 72136dc6e58c1bb1790f0f25bbaf8897 gcc/doc/portability.texi ! 9a31289aea3f5c13a533af2ffebc97af gcc/doc/rebuild-gcj-db.1 c1b0a7fb3a88c4bf76b0a842b66b041b gcc/doc/rtl.texi d65d49dcfee4f97f1aea81855a0c20d6 gcc/doc/service.texi e7293f1df3af714324f8d1eeab23d902 gcc/doc/sourcebuild.texi --- 4037,4043 ---- a7829c305285858ae6d689e9b67e27fb gcc/doc/options.texi 935b0ead8db1245baa3edb3b52ca324d gcc/doc/passes.texi 72136dc6e58c1bb1790f0f25bbaf8897 gcc/doc/portability.texi ! dea5ea15b3d4c89f66dfa38654865374 gcc/doc/rebuild-gcj-db.1 c1b0a7fb3a88c4bf76b0a842b66b041b gcc/doc/rtl.texi d65d49dcfee4f97f1aea81855a0c20d6 gcc/doc/service.texi e7293f1df3af714324f8d1eeab23d902 gcc/doc/sourcebuild.texi *************** e7293f1df3af714324f8d1eeab23d902 gcc/do *** 4044,4063 **** a6f50eb7c226c99b4ff80106816193eb gcc/doc/tm.texi 7db47935a7b0df964f4b7c6a3eab6f29 gcc/doc/tree-ssa.texi 37ec9518ff7f2e37eb431bbefd0c8527 gcc/doc/trouble.texi ! 4ff8e8a1f08050947183863591739e56 gcc/dojump.c 3636b17b6a008bcdda01c1320b612bf6 gcc/dominance.c afa46db989ea6b01a731a149cff22fca gcc/domwalk.c 02d43105ea062e83755863ae8a412ff2 gcc/domwalk.h 0046d7e734e0bb46ca747bb01e6b1288 gcc/double-int.c adbee3675698940e3f91ab31c4590b57 gcc/double-int.h ! d4307878956bb995f8aa70c846384e79 gcc/dse.c 339eac61111f357423be8ffd9f22c617 gcc/dse.h 556561f4b5e3facfa0f5a423145e803e gcc/dummy-checksum.c 5bf339f6b2b3e3d97e53787816999f11 gcc/dwarf.h 8758d13a311cd3e86e0ac5a43de87b76 gcc/dwarf2.h a3208db1781a7ed0caa270c6818c6d36 gcc/dwarf2asm.c 1b587a0a81a70a33e3a39bf20ced3a24 gcc/dwarf2asm.h ! 604f574cad2c1101540e61c3a6c1631f gcc/dwarf2out.c 67f3d8e6b5d126395338cd7f15524f62 gcc/dwarf2out.h 5ed1fa92d8d9a4c5dd5c87c0750d16ae gcc/ebitmap.c c093e9b997a278d8daae58eada0f3ec9 gcc/ebitmap.h --- 4045,4064 ---- a6f50eb7c226c99b4ff80106816193eb gcc/doc/tm.texi 7db47935a7b0df964f4b7c6a3eab6f29 gcc/doc/tree-ssa.texi 37ec9518ff7f2e37eb431bbefd0c8527 gcc/doc/trouble.texi ! 836c655e324dd4b66be04d5e2fe3b34a gcc/dojump.c 3636b17b6a008bcdda01c1320b612bf6 gcc/dominance.c afa46db989ea6b01a731a149cff22fca gcc/domwalk.c 02d43105ea062e83755863ae8a412ff2 gcc/domwalk.h 0046d7e734e0bb46ca747bb01e6b1288 gcc/double-int.c adbee3675698940e3f91ab31c4590b57 gcc/double-int.h ! 6c04bebe05240ac0ade85750368c6b1d gcc/dse.c 339eac61111f357423be8ffd9f22c617 gcc/dse.h 556561f4b5e3facfa0f5a423145e803e gcc/dummy-checksum.c 5bf339f6b2b3e3d97e53787816999f11 gcc/dwarf.h 8758d13a311cd3e86e0ac5a43de87b76 gcc/dwarf2.h a3208db1781a7ed0caa270c6818c6d36 gcc/dwarf2asm.c 1b587a0a81a70a33e3a39bf20ced3a24 gcc/dwarf2asm.h ! 1ce8b96e16aa3eca5d7f4ab737c1a578 gcc/dwarf2out.c 67f3d8e6b5d126395338cd7f15524f62 gcc/dwarf2out.h 5ed1fa92d8d9a4c5dd5c87c0750d16ae gcc/ebitmap.c c093e9b997a278d8daae58eada0f3ec9 gcc/ebitmap.h *************** c521d063fa7bfedec96d086bc99e8081 gcc/er *** 4068,4080 **** 47d9e7c34c811db49cd9ffb51d77e20d gcc/errors.h ebee74b78650be24fc9c4af72cedc18c gcc/et-forest.c c867dfc8f5c7aed6e6160d6bfccc191a gcc/et-forest.h ! 92f7aabe60365fcf6c1862edf8fa7360 gcc/except.c a953cde132db16cd166c8593b0408a8b gcc/except.h f84d0b7f8dabbf46705426b4ad362f39 gcc/exec-tool.in 84d356f102e3adef6cd1d97466907ae9 gcc/explow.c ! 8564e1701dd52d5a3e41670be23fe6be gcc/expmed.c ! dac8741f7ef42df044b3f7097a601391 gcc/expr.c ! d2b705f062a566ec8e1c3369bf827521 gcc/expr.h 095d52f188656feb5f2be0c888428de4 gcc/final.c ec7a07adbaf86d2fb1c17bcae84c5592 gcc/fix-header.c c85a214f8431f0606a03372b2d506a13 gcc/fixed-value.c --- 4069,4081 ---- 47d9e7c34c811db49cd9ffb51d77e20d gcc/errors.h ebee74b78650be24fc9c4af72cedc18c gcc/et-forest.c c867dfc8f5c7aed6e6160d6bfccc191a gcc/et-forest.h ! 1679b792cdd8eabb9ec4c28c74107079 gcc/except.c a953cde132db16cd166c8593b0408a8b gcc/except.h f84d0b7f8dabbf46705426b4ad362f39 gcc/exec-tool.in 84d356f102e3adef6cd1d97466907ae9 gcc/explow.c ! f94aeade9bb8bd0d2b6f69e0cef250fb gcc/expmed.c ! 94bd587f3b3368ce8f633dfd5d42e846 gcc/expr.c ! bd583da7402f63e31de347a73320976a gcc/expr.h 095d52f188656feb5f2be0c888428de4 gcc/final.c ec7a07adbaf86d2fb1c17bcae84c5592 gcc/fix-header.c c85a214f8431f0606a03372b2d506a13 gcc/fixed-value.c *************** c85a214f8431f0606a03372b2d506a13 gcc/fi *** 4082,4088 **** 0ecd4665279781e595a21268f5efdad6 gcc/fixproto 7acc1e466d7ae1f9de507b6e83d4575a gcc/flags.h 7f935bbfbe03ecb4753bbad005abb0a1 gcc/fold-const.c ! a95e1390d6263e5017f113d38482a297 gcc/fortran/ChangeLog a7663343404e5c8cd4fe22f4e5f8039b gcc/fortran/ChangeLog-2002 aaf400b0b954b39bafbe84581b01c429 gcc/fortran/ChangeLog-2003 7953574a6e41aeb016026a502e8baafe gcc/fortran/ChangeLog-2004 --- 4083,4089 ---- 0ecd4665279781e595a21268f5efdad6 gcc/fixproto 7acc1e466d7ae1f9de507b6e83d4575a gcc/flags.h 7f935bbfbe03ecb4753bbad005abb0a1 gcc/fold-const.c ! 08f105072a7b31438f72c1f783d47637 gcc/fortran/ChangeLog a7663343404e5c8cd4fe22f4e5f8039b gcc/fortran/ChangeLog-2002 aaf400b0b954b39bafbe84581b01c429 gcc/fortran/ChangeLog-2003 7953574a6e41aeb016026a502e8baafe gcc/fortran/ChangeLog-2004 *************** cbc6032b4645662885302b80ba0b91df gcc/fo *** 4103,4127 **** e32cf5fa33da12f16a34a345c4aab0c7 gcc/fortran/cpp.h 1c6328f889abcb320aaf40a7255a5cc7 gcc/fortran/data.c 0aa9443da916c0d6fdee7f808f5778ac gcc/fortran/data.h ! a6794ba6426cc0e8c98b643476a2bf2a gcc/fortran/decl.c 573528414f988468e59628dcca742c7e gcc/fortran/dependency.c e115b5c303a340fdb41109a739622308 gcc/fortran/dependency.h da6312570ea8006796301d02fea994b3 gcc/fortran/dump-parse-tree.c fa89ce8ce39f0895be37b20edad0fa6b gcc/fortran/error.c ! bf097af32a43814abc5b8c3001306fde gcc/fortran/expr.c ! 4e16e66307c24a4180f16eeb6e384f2b gcc/fortran/f95-lang.c 92bbc75b96e5988e57703619b5aaa538 gcc/fortran/gfc-internals.texi ! 22f34c5d0c72a1b23c5defeecd07d480 gcc/fortran/gfortran.h ! 5a82e898e40efd2bb339243182e7a45c gcc/fortran/gfortran.info ! 9219ab11c3db90d477079bc786e27191 gcc/fortran/gfortran.texi c10e6e8727bc5532181f50b1d6517f8f gcc/fortran/gfortranspec.c 304aad78fba0dfd3e4aa255008ef283c gcc/fortran/interface.c ! 5dba591a2ee4b995d09fe51acc5c0245 gcc/fortran/intrinsic.c f60d6a021a936d18e15f9eb3a2bd3423 gcc/fortran/intrinsic.h cf442205ede5a46876ef60d2141e60f6 gcc/fortran/intrinsic.texi 02c2edcf129b9ba5a0297fabc30a83c3 gcc/fortran/invoke.texi be7aabc021029a3daffc42fe1ab9145d gcc/fortran/io.c ! 50df20c8147747b2564bdcb320517806 gcc/fortran/ioparm.def 88f017c435e082bc76d47edf50697bdb gcc/fortran/iresolve.c 086da0813ad848d1c24327367192309e gcc/fortran/iso-c-binding.def 43a207c87fced96da51c89a9a3e251d2 gcc/fortran/iso-fortran-env.def --- 4104,4128 ---- e32cf5fa33da12f16a34a345c4aab0c7 gcc/fortran/cpp.h 1c6328f889abcb320aaf40a7255a5cc7 gcc/fortran/data.c 0aa9443da916c0d6fdee7f808f5778ac gcc/fortran/data.h ! 23340f8c34a7b241accaec7d5e6eafaa gcc/fortran/decl.c 573528414f988468e59628dcca742c7e gcc/fortran/dependency.c e115b5c303a340fdb41109a739622308 gcc/fortran/dependency.h da6312570ea8006796301d02fea994b3 gcc/fortran/dump-parse-tree.c fa89ce8ce39f0895be37b20edad0fa6b gcc/fortran/error.c ! 21362083dc5f881d4db8cdaa903cc0b2 gcc/fortran/expr.c ! d827d57fe122b539a6e8994dc6e614ee gcc/fortran/f95-lang.c 92bbc75b96e5988e57703619b5aaa538 gcc/fortran/gfc-internals.texi ! 995d2bdbe59047c0cdfe3f555c373ab6 gcc/fortran/gfortran.h ! b8019a01f1983acb4bb4bf73fc28de3a gcc/fortran/gfortran.info ! 9844a4b95fb9675a2130f8e860d25efa gcc/fortran/gfortran.texi c10e6e8727bc5532181f50b1d6517f8f gcc/fortran/gfortranspec.c 304aad78fba0dfd3e4aa255008ef283c gcc/fortran/interface.c ! bc2dc28e794044f7bbfd7810619cc5cd gcc/fortran/intrinsic.c f60d6a021a936d18e15f9eb3a2bd3423 gcc/fortran/intrinsic.h cf442205ede5a46876ef60d2141e60f6 gcc/fortran/intrinsic.texi 02c2edcf129b9ba5a0297fabc30a83c3 gcc/fortran/invoke.texi be7aabc021029a3daffc42fe1ab9145d gcc/fortran/io.c ! 30167608d6a2acc7d18284466e376629 gcc/fortran/ioparm.def 88f017c435e082bc76d47edf50697bdb gcc/fortran/iresolve.c 086da0813ad848d1c24327367192309e gcc/fortran/iso-c-binding.def 43a207c87fced96da51c89a9a3e251d2 gcc/fortran/iso-fortran-env.def *************** be4361b4d91e38b40417e0c0bb243c67 gcc/fo *** 4133,4149 **** 7f57f6028a9fe976526c175bbc2419b6 gcc/fortran/matchexp.c 34830427abf048e42ce3bc7a698a9a99 gcc/fortran/mathbuiltins.def 66bc72b499f7c53d559cb00aad80f3c9 gcc/fortran/misc.c ! 101298caea3361ad79ab7bff29bd6f6f gcc/fortran/module.c ! 0a8f04d0dfdafb0fe0d63e673381e6ba gcc/fortran/openmp.c f1982ab6691fad627a7f60d69f63dea0 gcc/fortran/options.c ! 9da86a28036897697d90064c39559a42 gcc/fortran/parse.c 3fa472426721f9cff361ad9daefa6745 gcc/fortran/parse.h 6d56bbe0a90a69da4fd16a0f5d16f0e7 gcc/fortran/primary.c ! 3179257dd4c5d2a303b82af4c9d97183 gcc/fortran/resolve.c b5e56e0b94899d7a5678f301e4fc076a gcc/fortran/scanner.c 4c0d6ab7cea4845d981d9ec54a5ec6c2 gcc/fortran/simplify.c 0396796ab8ded0b7ffd90ab0832ad332 gcc/fortran/st.c ! 356ff2620c344566c05531162ce02926 gcc/fortran/symbol.c d0bc1c21358a981f371449b6f24d7448 gcc/fortran/target-memory.c 09fcbfd12ac93ba16ee5738f5edd71bc gcc/fortran/target-memory.h ef44b8fd4f3e949fcdfe0d6af0d22d55 gcc/fortran/trans-array.c --- 4134,4150 ---- 7f57f6028a9fe976526c175bbc2419b6 gcc/fortran/matchexp.c 34830427abf048e42ce3bc7a698a9a99 gcc/fortran/mathbuiltins.def 66bc72b499f7c53d559cb00aad80f3c9 gcc/fortran/misc.c ! e9fcfe38e9957d36b26786d37bfce8f5 gcc/fortran/module.c ! f18fe4ec7dd6360400fada5cbccc3ce6 gcc/fortran/openmp.c f1982ab6691fad627a7f60d69f63dea0 gcc/fortran/options.c ! 9e2cb360da09726019b416d8f4e67e31 gcc/fortran/parse.c 3fa472426721f9cff361ad9daefa6745 gcc/fortran/parse.h 6d56bbe0a90a69da4fd16a0f5d16f0e7 gcc/fortran/primary.c ! 8478d929b611fa4412170cf7190230df gcc/fortran/resolve.c b5e56e0b94899d7a5678f301e4fc076a gcc/fortran/scanner.c 4c0d6ab7cea4845d981d9ec54a5ec6c2 gcc/fortran/simplify.c 0396796ab8ded0b7ffd90ab0832ad332 gcc/fortran/st.c ! 73ed18b92429e0aeb69ce035550a5daa gcc/fortran/symbol.c d0bc1c21358a981f371449b6f24d7448 gcc/fortran/target-memory.c 09fcbfd12ac93ba16ee5738f5edd71bc gcc/fortran/target-memory.h ef44b8fd4f3e949fcdfe0d6af0d22d55 gcc/fortran/trans-array.c *************** e0ed115dac3b6d68cc5a0c5818f083b4 gcc/fo *** 4152,4167 **** 55bb83e12e540f6fe1551452dd46d86d gcc/fortran/trans-const.c 42384247e17c678b53520bc1a6085cb4 gcc/fortran/trans-const.h 691acac45d84267ef292ee3e343d774d gcc/fortran/trans-decl.c ! c0b190bf3eb9774f4c8f6217486a2fb4 gcc/fortran/trans-expr.c ! 26abdc42a287fb38b008ba702a50409b gcc/fortran/trans-intrinsic.c ! e795a7733a7281050b9f6d0aa954de5f gcc/fortran/trans-io.c 5bcbba2d60572591394a1efc651ba367 gcc/fortran/trans-openmp.c ! 8ae7ad30c99fa4762bdcce168627d29d gcc/fortran/trans-stmt.c 23394537fcf50dd57acd80090140e6ae gcc/fortran/trans-stmt.h 854535ca88645782abe0948a94dc1790 gcc/fortran/trans-types.c e00df4bca357ed3a2a55df0f4cccf181 gcc/fortran/trans-types.h ca8e9e91068fcb4cd2bf97c1cc50f5e3 gcc/fortran/trans.c ! 75c0b94fdeb9d7fc54497d708830ff39 gcc/fortran/trans.h e83cc8321fe62c08e6d975eaece78b64 gcc/fortran/types.def dcbfb5f59aa7c840c77285967d94c409 gcc/fp-test.c de9c9daa70bf5e4ad0589ab3d64554ae gcc/function.c --- 4153,4168 ---- 55bb83e12e540f6fe1551452dd46d86d gcc/fortran/trans-const.c 42384247e17c678b53520bc1a6085cb4 gcc/fortran/trans-const.h 691acac45d84267ef292ee3e343d774d gcc/fortran/trans-decl.c ! 695f61a2c9734a1e084e35cf400087a6 gcc/fortran/trans-expr.c ! 43391d21cfc0558d4e4a9298e9c6a9fc gcc/fortran/trans-intrinsic.c ! c4bae5c4b9bc693dda76eccd631af5a8 gcc/fortran/trans-io.c 5bcbba2d60572591394a1efc651ba367 gcc/fortran/trans-openmp.c ! c47faa8b7fed07955b9628c65360e9bc gcc/fortran/trans-stmt.c 23394537fcf50dd57acd80090140e6ae gcc/fortran/trans-stmt.h 854535ca88645782abe0948a94dc1790 gcc/fortran/trans-types.c e00df4bca357ed3a2a55df0f4cccf181 gcc/fortran/trans-types.h ca8e9e91068fcb4cd2bf97c1cc50f5e3 gcc/fortran/trans.c ! 5a3787678dc52175c7a259e1765636cd gcc/fortran/trans.h e83cc8321fe62c08e6d975eaece78b64 gcc/fortran/types.def dcbfb5f59aa7c840c77285967d94c409 gcc/fp-test.c de9c9daa70bf5e4ad0589ab3d64554ae gcc/function.c *************** daab6e6009c7f2a7a222c7b210a5dd6c gcc/ge *** 4193,4199 **** 607570cb8bfacb1f7a22e15212a73a25 gcc/genextract.c e916713c67d4bd0ee15de2e23d625b1a gcc/genflags.c ac69af0b2bcdd35b25174278ccd40aca gcc/gengenrtl.c ! 0091eed084701389f5421b2db81a0f2c gcc/gengtype-lex.c d10bfac52c72465a413d4fae948a1f7c gcc/gengtype-lex.l 5e264825a46ac960fd04df6c4e6fe749 gcc/gengtype-parse.c ba8ea742fdd6e6e343047d328ca7d6d6 gcc/gengtype.c --- 4194,4200 ---- 607570cb8bfacb1f7a22e15212a73a25 gcc/genextract.c e916713c67d4bd0ee15de2e23d625b1a gcc/genflags.c ac69af0b2bcdd35b25174278ccd40aca gcc/gengenrtl.c ! f7a3d6e6570165e374c094337ecff487 gcc/gengtype-lex.c d10bfac52c72465a413d4fae948a1f7c gcc/gengtype-lex.l 5e264825a46ac960fd04df6c4e6fe749 gcc/gengtype-parse.c ba8ea742fdd6e6e343047d328ca7d6d6 gcc/gengtype.c *************** fefdd804cedf0ff3aaeb41b3bf49b7e5 gcc/gi *** 4219,4225 **** 985c19bc50597831c6424e03d3462e65 gcc/gimple.c 6ada5e35d8381902d289685420266a69 gcc/gimple.def b22fd270c7b6042776250b8eaa4817c6 gcc/gimple.h ! 40e5987eaabd72f649744f12d605beac gcc/gimplify.c b3220d6ec518f1daa75b938e8cf0e203 gcc/ginclude/float.h 798164dd63bdd388c276bdda934db337 gcc/ginclude/iso646.h 6a912263540a2dfa8d258931158882d5 gcc/ginclude/stdarg.h --- 4220,4226 ---- 985c19bc50597831c6424e03d3462e65 gcc/gimple.c 6ada5e35d8381902d289685420266a69 gcc/gimple.def b22fd270c7b6042776250b8eaa4817c6 gcc/gimple.h ! 26643bc521d3d33a2b7954291edb0414 gcc/gimplify.c b3220d6ec518f1daa75b938e8cf0e203 gcc/ginclude/float.h 798164dd63bdd388c276bdda934db337 gcc/ginclude/iso646.h 6a912263540a2dfa8d258931158882d5 gcc/ginclude/stdarg.h *************** cd96348ac812d8d3a38f6d05caa319a1 gcc/in *** 4276,4282 **** 0e9c89e6dfe2424607d2e469a1c3dabf gcc/intl.c 8dde55af4a3be4115b75414868850544 gcc/intl.h d434616032b4e26e13bdb2d46ec6b5c3 gcc/ipa-cp.c ! 5b091e899973ef6ee4bd666abc792b43 gcc/ipa-inline.c 73500a9c42f90380db9be71b1a7efd95 gcc/ipa-prop.c 267ffb552da3f7234f6830c3f35ce56d gcc/ipa-prop.h 212a0d0986a0f032998117b7a0768ea5 gcc/ipa-pure-const.c --- 4277,4283 ---- 0e9c89e6dfe2424607d2e469a1c3dabf gcc/intl.c 8dde55af4a3be4115b75414868850544 gcc/intl.h d434616032b4e26e13bdb2d46ec6b5c3 gcc/ipa-cp.c ! 806b5b9804d8e6ae667893c368d08e71 gcc/ipa-inline.c 73500a9c42f90380db9be71b1a7efd95 gcc/ipa-prop.c 267ffb552da3f7234f6830c3f35ce56d gcc/ipa-prop.h 212a0d0986a0f032998117b7a0768ea5 gcc/ipa-pure-const.c *************** caf27427f68e1e0e56a897891ab1ec9b gcc/ip *** 4284,4290 **** cdf813813f6cb7bb7d14391c043991f1 gcc/ipa-reference.h da006bfa44f93ebeff4dcfc6d402ab00 gcc/ipa-struct-reorg.c 254b7efc115228609e1694f26476f8fd gcc/ipa-struct-reorg.h ! bccc57f99ba939a2c92d3b5f41504689 gcc/ipa-type-escape.c 7e515fb9c5eeb4fea5f951e2834af758 gcc/ipa-type-escape.h 7821bd60301fe135009f8b4c7abacd67 gcc/ipa-utils.c 017073f8caef914b5ff479648a205a50 gcc/ipa-utils.h --- 4285,4291 ---- cdf813813f6cb7bb7d14391c043991f1 gcc/ipa-reference.h da006bfa44f93ebeff4dcfc6d402ab00 gcc/ipa-struct-reorg.c 254b7efc115228609e1694f26476f8fd gcc/ipa-struct-reorg.h ! 454951765a9c5efbb83dda2d6edf5ce6 gcc/ipa-type-escape.c 7e515fb9c5eeb4fea5f951e2834af758 gcc/ipa-type-escape.h 7821bd60301fe135009f8b4c7abacd67 gcc/ipa-utils.c 017073f8caef914b5ff479648a205a50 gcc/ipa-utils.h *************** bccc57f99ba939a2c92d3b5f41504689 gcc/ip *** 4296,4304 **** 88c4b720b8f837bf45d6853c4ec62328 gcc/ira-emit.c 3585adbf245837b1274a133c9ba80b28 gcc/ira-int.h 8f725eb9fa3ac85e9d5ef84ce846038c gcc/ira-lives.c ! 522fb5c925b7eed9276541a9f4938362 gcc/ira.c 6e9fa63752c66d23752f24f7c3351d0f gcc/ira.h ! af8f828e15b365475f84c2b92e73c82a gcc/java/ChangeLog 3ac37a9f1ad274538f2de05e991e7fb3 gcc/java/ChangeLog.ptr 5daac56e6d929be638ed287da3720f51 gcc/java/ChangeLog.tree-ssa 85367b2efe44791f0249fcc76f2f806b gcc/java/Make-lang.in --- 4297,4305 ---- 88c4b720b8f837bf45d6853c4ec62328 gcc/ira-emit.c 3585adbf245837b1274a133c9ba80b28 gcc/ira-int.h 8f725eb9fa3ac85e9d5ef84ce846038c gcc/ira-lives.c ! 1309c084ff9e75838ba4df0adb4be39f gcc/ira.c 6e9fa63752c66d23752f24f7c3351d0f gcc/ira.h ! 072e776519a3c5e0ced01ab454a4698c gcc/java/ChangeLog 3ac37a9f1ad274538f2de05e991e7fb3 gcc/java/ChangeLog.ptr 5daac56e6d929be638ed287da3720f51 gcc/java/ChangeLog.tree-ssa 85367b2efe44791f0249fcc76f2f806b gcc/java/Make-lang.in *************** d4f7140fcd55bba037803fb314146a6c gcc/li *** 4359,4370 **** 83de5c6450456e215a5484083afcd32a gcc/limity.h 215c6f49808872795f7d456b5a251286 gcc/lists.c b470e80e981bd0db53d0db92e14eb7f8 gcc/longlong.h ! e2e7ba6f0ebbfefbedd7d1afd7c42845 gcc/loop-doloop.c 87c5c170e0982351d0bc2ed15ccfc0cd gcc/loop-init.c ! 9a7978c768d7eb9066b1e078a03eedae gcc/loop-invariant.c 523c04b9f67b7b752c93dd500ac4cf70 gcc/loop-iv.c 15d8789ce7f88c685cd7ac6da486b22d gcc/loop-unroll.c ! ac640f613653ce3415e797d4a220969c gcc/loop-unswitch.c e8075f8154aedafc80f1a0038e41814a gcc/lower-subreg.c 6b305c62e5ffb4464157a05cba3f3429 gcc/machmode.def 4ea8e84067e9bb40df37b1448065eacf gcc/machmode.h --- 4360,4371 ---- 83de5c6450456e215a5484083afcd32a gcc/limity.h 215c6f49808872795f7d456b5a251286 gcc/lists.c b470e80e981bd0db53d0db92e14eb7f8 gcc/longlong.h ! 18ea3d51e9175f8e6861959cb91c36fe gcc/loop-doloop.c 87c5c170e0982351d0bc2ed15ccfc0cd gcc/loop-init.c ! c0b9d883cabb6d64c638cc703cf33ce4 gcc/loop-invariant.c 523c04b9f67b7b752c93dd500ac4cf70 gcc/loop-iv.c 15d8789ce7f88c685cd7ac6da486b22d gcc/loop-unroll.c ! 3f4ca2f41471c9c3a823baffd3a37ac7 gcc/loop-unswitch.c e8075f8154aedafc80f1a0038e41814a gcc/lower-subreg.c 6b305c62e5ffb4464157a05cba3f3429 gcc/machmode.def 4ea8e84067e9bb40df37b1448065eacf gcc/machmode.h *************** e3337b83ef2cb6432c676362d67a1e21 gcc/mi *** 4379,4385 **** 2569a0ab9b2c9f2c2b8e980aee6fbbe3 gcc/mode-classes.def 1f0275897f3a2efb5fcf26e73a67df57 gcc/mode-switching.c 5995091cdf192f93cb32cb9aebfe0f39 gcc/modulo-sched.c ! 1528885c23ab6a7ad2ebe9540f46ab7d gcc/objc/ChangeLog 6db8e709895834ffea707a6c1f2ed235 gcc/objc/Make-lang.in aa5319dd541cdb0eb8622f9adf66b761 gcc/objc/README 079d3dc27e9567936ebcc70e9662b3c8 gcc/objc/config-lang.in --- 4380,4386 ---- 2569a0ab9b2c9f2c2b8e980aee6fbbe3 gcc/mode-classes.def 1f0275897f3a2efb5fcf26e73a67df57 gcc/mode-switching.c 5995091cdf192f93cb32cb9aebfe0f39 gcc/modulo-sched.c ! fb934874ec5efc2fc16a1a6779b94fec gcc/objc/ChangeLog 6db8e709895834ffea707a6c1f2ed235 gcc/objc/Make-lang.in aa5319dd541cdb0eb8622f9adf66b761 gcc/objc/README 079d3dc27e9567936ebcc70e9662b3c8 gcc/objc/config-lang.in *************** aa5319dd541cdb0eb8622f9adf66b761 gcc/ob *** 4388,4394 **** 8dac305da629383aaa6696e6e28b3ea3 gcc/objc/objc-act.h b4908117ca50eef79835fdfaec14f075 gcc/objc/objc-lang.c 6779d586f851c44361fe2884d2d9192c gcc/objc/objc-tree.def ! 96e5e78570dc70473f626d0d548dafa9 gcc/objcp/ChangeLog a56c8048658b152b957cd35f057d5822 gcc/objcp/Make-lang.in 871a47a5d40ed19c0d393bb1a52229c2 gcc/objcp/config-lang.in b69e6fb8f98a0eca7d27309f950a6974 gcc/objcp/lang-specs.h --- 4389,4395 ---- 8dac305da629383aaa6696e6e28b3ea3 gcc/objc/objc-act.h b4908117ca50eef79835fdfaec14f075 gcc/objc/objc-lang.c 6779d586f851c44361fe2884d2d9192c gcc/objc/objc-tree.def ! ac3f804c49108c8e23624c2bee1b60de gcc/objcp/ChangeLog a56c8048658b152b957cd35f057d5822 gcc/objcp/Make-lang.in 871a47a5d40ed19c0d393bb1a52229c2 gcc/objcp/config-lang.in b69e6fb8f98a0eca7d27309f950a6974 gcc/objcp/lang-specs.h *************** b69e6fb8f98a0eca7d27309f950a6974 gcc/ob *** 4398,4407 **** 490ac03e2b3629ce6c46c3e19416a9db gcc/omega.c 6b1227a03f78a60d5eddd1e818bbb9aa gcc/omega.h a3f728fda21b0771f085384774deea89 gcc/omp-builtins.def ! d23094d68f0465298c6e1be7de19524f gcc/omp-low.c 2232b5c3b8d2decaeddc3c6eebd15e4d gcc/opt-functions.awk ecb17bb0f21652aff510a738b9235bbf gcc/opt-gather.awk ! 17a17bcd7efa351dee976d663a659d16 gcc/optabs.c cfce020d60e5269628a045137afb7164 gcc/optabs.h 4cc9b8caea58c23f435b35ef0d8c536f gcc/optc-gen.awk eec1a199d5cd301d654e42e4296d291e gcc/opth-gen.awk --- 4399,4408 ---- 490ac03e2b3629ce6c46c3e19416a9db gcc/omega.c 6b1227a03f78a60d5eddd1e818bbb9aa gcc/omega.h a3f728fda21b0771f085384774deea89 gcc/omp-builtins.def ! 13894477e0fd1eb60f5c140211b95571 gcc/omp-low.c 2232b5c3b8d2decaeddc3c6eebd15e4d gcc/opt-functions.awk ecb17bb0f21652aff510a738b9235bbf gcc/opt-gather.awk ! 18d7c5fdc9a7393257e0c02b3d8680ef gcc/optabs.c cfce020d60e5269628a045137afb7164 gcc/optabs.h 4cc9b8caea58c23f435b35ef0d8c536f gcc/optc-gen.awk eec1a199d5cd301d654e42e4296d291e gcc/opth-gen.awk *************** eec1a199d5cd301d654e42e4296d291e gcc/op *** 4410,4419 **** 46a5edb609250bf03f441f830292edf1 gcc/opts.h dc4785c464bb65b3283b1eb6be191e68 gcc/output.h 40f584abe6f0f02df429988c97a65a88 gcc/params.c ! fce38dd43bc377d6079adcc197d2b7b7 gcc/params.def 6521f298f456d022fb134b601239a41b gcc/params.h ef2875efcc80e05eaa1c0becbe397361 gcc/passes.c ! ae3feb8bc2805df9e3972386332b1f14 gcc/po/ChangeLog 954b21fb36cc0d8e9f6e2d6507152f23 gcc/po/EXCLUDES 1d2722d5e15bb9d2538537ca110eee3a gcc/po/be.gmo 7a473a685fe0c9058330e0e69aea9157 gcc/po/be.po --- 4411,4420 ---- 46a5edb609250bf03f441f830292edf1 gcc/opts.h dc4785c464bb65b3283b1eb6be191e68 gcc/output.h 40f584abe6f0f02df429988c97a65a88 gcc/params.c ! ec5e4fd4d422805e3ad97793f01cfb9f gcc/params.def 6521f298f456d022fb134b601239a41b gcc/params.h ef2875efcc80e05eaa1c0becbe397361 gcc/passes.c ! e785340277e6e5ad06d3a8337a523aad gcc/po/ChangeLog 954b21fb36cc0d8e9f6e2d6507152f23 gcc/po/EXCLUDES 1d2722d5e15bb9d2538537ca110eee3a gcc/po/be.gmo 7a473a685fe0c9058330e0e69aea9157 gcc/po/be.po *************** f56f15c3e0e79210253dfe668b1ca28b gcc/re *** 4472,4484 **** 3209bbbe30e61efabe7ef8361318c6d8 gcc/recog.h 253d10a5dc55738274fc51fa2fd759b9 gcc/reg-notes.def c6a4cd620bb24b0622f9af5c3b1e98ab gcc/reg-stack.c ! 67dd86ca2b672094f639561c2ddbe9d0 gcc/reginfo.c 0b6bcdd1e61d4a15270ad73220bf2069 gcc/regmove.c db556cefd6fbad5a901646e1653a7557 gcc/regrename.c 9f878368e024e1ca5ab65feac637e0c2 gcc/regs.h 332678c4bea66009d413e45a26db0b13 gcc/regstat.c 67673b0df664f97f1db8bf1526836709 gcc/reload.c ! 3844576d99e09792a897790da9a7db1d gcc/reload.h 05df02ccb9f86104abb446accc33b0fa gcc/reload1.c 5d36a985f65efc52dde3558fc6aac4a1 gcc/reorg.c 9bb477d46544816b6fc70549e7de9ada gcc/resource.c --- 4473,4485 ---- 3209bbbe30e61efabe7ef8361318c6d8 gcc/recog.h 253d10a5dc55738274fc51fa2fd759b9 gcc/reg-notes.def c6a4cd620bb24b0622f9af5c3b1e98ab gcc/reg-stack.c ! d295ce254514c273533d7d60035390ae gcc/reginfo.c 0b6bcdd1e61d4a15270ad73220bf2069 gcc/regmove.c db556cefd6fbad5a901646e1653a7557 gcc/regrename.c 9f878368e024e1ca5ab65feac637e0c2 gcc/regs.h 332678c4bea66009d413e45a26db0b13 gcc/regstat.c 67673b0df664f97f1db8bf1526836709 gcc/reload.c ! b001064f4f19f9817fda66ee8827b533 gcc/reload.h 05df02ccb9f86104abb446accc33b0fa gcc/reload1.c 5d36a985f65efc52dde3558fc6aac4a1 gcc/reorg.c 9bb477d46544816b6fc70549e7de9ada gcc/resource.c *************** ff8319b1fdf1fc359d7d75b3ca90bbb8 gcc/rt *** 4487,4493 **** 51892db3058b92278eddad9bc7d4a41e gcc/rtl-factoring.c 7f4b13486225bf7e528082bfebbf91a2 gcc/rtl.c 12bcacdc0bb486aeb6726b8b6ed20987 gcc/rtl.def ! 012d0c2beea869b1350978e50d3e9f19 gcc/rtl.h c2837126981ec53f218b36852fbdfb45 gcc/rtlanal.c 2f69f037cee3a42b47d82c4811253b8b gcc/rtlhooks-def.h 6b940bf7f9cbf0b990ade2012b4f1651 gcc/rtlhooks.c --- 4488,4494 ---- 51892db3058b92278eddad9bc7d4a41e gcc/rtl-factoring.c 7f4b13486225bf7e528082bfebbf91a2 gcc/rtl.c 12bcacdc0bb486aeb6726b8b6ed20987 gcc/rtl.def ! 3b09f32bac878bd270d18df0ce2f66ec gcc/rtl.h c2837126981ec53f218b36852fbdfb45 gcc/rtlanal.c 2f69f037cee3a42b47d82c4811253b8b gcc/rtlhooks-def.h 6b940bf7f9cbf0b990ade2012b4f1651 gcc/rtlhooks.c *************** cd7d6d8dffb6ca3094d690e109f65269 gcc/sp *** 4521,4528 **** 9574236a020481ac722cd45287658b5a gcc/stack-ptr-mod.c 147ff0930cebba529dbc7dba56524550 gcc/statistics.c c8abb3f3323eac8780b7df9a60294b16 gcc/statistics.h ! 2e83465a505ed2a0c97312afe51df5c2 gcc/stmt.c ! c21883147932ccec0975429a509fd2ca gcc/stor-layout.c 208d3e34b0e60459a400ef1991cfb041 gcc/stringpool.c cd9f672baf86c6aba6e4918701259bcc gcc/stub-objc.c 1cdeb3fdf6930fac07e15b5153db89fe gcc/sync-builtins.def --- 4522,4529 ---- 9574236a020481ac722cd45287658b5a gcc/stack-ptr-mod.c 147ff0930cebba529dbc7dba56524550 gcc/statistics.c c8abb3f3323eac8780b7df9a60294b16 gcc/statistics.h ! 84bda8e5a62a6ec1ff1d62c9d42845f8 gcc/stmt.c ! c56e42bcb67ae8bbcbf5b289f217fcd6 gcc/stor-layout.c 208d3e34b0e60459a400ef1991cfb041 gcc/stringpool.c cd9f672baf86c6aba6e4918701259bcc gcc/stub-objc.c 1cdeb3fdf6930fac07e15b5153db89fe gcc/sync-builtins.def *************** ebfdd2c5dd54f706eb6c336d717d9322 gcc/sy *** 4533,4539 **** ae4dce65dd83d608af62fade75f7d7e8 gcc/target.h e61b6e1a81185a8b2041114c6db5fb94 gcc/targhooks.c db9c3c56fd4a14315b9a82443ccd5488 gcc/targhooks.h ! 689588767db6599fc84a0afae85e9ad1 gcc/testsuite/ChangeLog 627c767d2c955635f6476cec53eb0361 gcc/testsuite/ChangeLog-1993-2007 d01c0009edf6d948d50bf0075b7772d0 gcc/testsuite/ChangeLog-2008 6c2ceb0138a4f779fd6d8b6327fa8611 gcc/testsuite/ChangeLog.ptr --- 4534,4540 ---- ae4dce65dd83d608af62fade75f7d7e8 gcc/target.h e61b6e1a81185a8b2041114c6db5fb94 gcc/targhooks.c db9c3c56fd4a14315b9a82443ccd5488 gcc/targhooks.h ! e2e1b19e61faf417b0b2f75e6b0382f3 gcc/testsuite/ChangeLog 627c767d2c955635f6476cec53eb0361 gcc/testsuite/ChangeLog-1993-2007 d01c0009edf6d948d50bf0075b7772d0 gcc/testsuite/ChangeLog-2008 6c2ceb0138a4f779fd6d8b6327fa8611 gcc/testsuite/ChangeLog.ptr *************** c2eb2f892b7b914e0a687ca43783d1f3 gcc/te *** 4547,4553 **** 03cf8258e72032ed61d82d449e3ff3ef gcc/testsuite/ada/acats/norun.lst d5748b449a081324237ae22a21f32a3f gcc/testsuite/ada/acats/overflow.lst a861f60b3bd96c5eb4942bade6c1e65a gcc/testsuite/ada/acats/run_acats ! 7e828654094c2d5c14dc425aa058fe6f gcc/testsuite/ada/acats/run_all.sh 5723a26fced8721c3e90e6e7a9ba2a23 gcc/testsuite/ada/acats/stackcheck.lst d45e1c07702f81b7fa521c99282fd51b gcc/testsuite/ada/acats/support/acats25.lst 2f262cdb98b38922d7b7f84414f43b84 gcc/testsuite/ada/acats/support/checkfil.ada --- 4548,4554 ---- 03cf8258e72032ed61d82d449e3ff3ef gcc/testsuite/ada/acats/norun.lst d5748b449a081324237ae22a21f32a3f gcc/testsuite/ada/acats/overflow.lst a861f60b3bd96c5eb4942bade6c1e65a gcc/testsuite/ada/acats/run_acats ! d3a8c986c49258ada6f23ab241f36ad3 gcc/testsuite/ada/acats/run_all.sh 5723a26fced8721c3e90e6e7a9ba2a23 gcc/testsuite/ada/acats/stackcheck.lst d45e1c07702f81b7fa521c99282fd51b gcc/testsuite/ada/acats/support/acats25.lst 2f262cdb98b38922d7b7f84414f43b84 gcc/testsuite/ada/acats/support/checkfil.ada *************** f511f2cd46e1fa5fad1320edf3b06bdc gcc/te *** 7224,7229 **** --- 7225,7231 ---- c5d5176bf2a0d86ae5769b300e777296 gcc/testsuite/g++.dg/abi/mangle33.C 98d74115f2d27834eff6022eecd4d051 gcc/testsuite/g++.dg/abi/mangle34.C 200f21813a4ee7cb051aaf6d88d18b5b gcc/testsuite/g++.dg/abi/mangle4.C + 46bf2e513d420128b64e0c1fc9d77169 gcc/testsuite/g++.dg/abi/mangle42.C 8d713f873b380f7cb5bf13fe8019b486 gcc/testsuite/g++.dg/abi/mangle5.C 91c28df1b9796be812f1b833d650c6b1 gcc/testsuite/g++.dg/abi/mangle6.C 3ca84e7c044b9a2c08f1b773db1d5f4f gcc/testsuite/g++.dg/abi/mangle7.C *************** c30de2400829d5e6176f6a8e297cba06 gcc/te *** 7430,7435 **** --- 7432,7438 ---- abda548f6cf197b5d004afe0b4fa5557 gcc/testsuite/g++.dg/conversion/op3.C 7fc0616b77be1d282a71cb29e276be55 gcc/testsuite/g++.dg/conversion/op4.C e931274865053d8a40492868844d5c08 gcc/testsuite/g++.dg/conversion/op5.C + a8c7731865b3dd81b8ffe44b8b058d57 gcc/testsuite/g++.dg/conversion/op6.C 23830a13c326c99bae67e56e30ebc0b4 gcc/testsuite/g++.dg/conversion/ptrmem1.C 3690e02d434485ce8753b6e24f99aea9 gcc/testsuite/g++.dg/conversion/ptrmem2.C 1896de082df820f0dcb7e67fe47949ca gcc/testsuite/g++.dg/conversion/ptrmem3.C *************** a9cf363ccde67638eed4148103577d18 gcc/te *** 7860,7865 **** --- 7863,7869 ---- fa240b5916a88de396432f0b952489b3 gcc/testsuite/g++.dg/debug/pr29906.C bf050d057433140d0ed2aeeab122c5be gcc/testsuite/g++.dg/debug/pr30898.C 1b42af04a1371351292650a3fd822c78 gcc/testsuite/g++.dg/debug/pr34895.C + 50e4a9b0417cf81d17db932d6e6767fd gcc/testsuite/g++.dg/debug/pr43010.C c3f392076ad11f8768ef0321b89abd5f gcc/testsuite/g++.dg/debug/static1.C 7e13d86d33b17cfb7cdf61b7b8cca961 gcc/testsuite/g++.dg/debug/template1.C f50cc26d9a41a3cc4afb62032326372f gcc/testsuite/g++.dg/debug/trivial.C *************** c8f6f4459095bf15bd799a6d96061277 gcc/te *** 7931,7936 **** --- 7935,7941 ---- ee5fb539eb5e41ab9f5aa0028f011fce gcc/testsuite/g++.dg/eh/omit-frame-pointer.C dfa0fe611ce9682e5de477f908c0b5c0 gcc/testsuite/g++.dg/eh/omit-frame-pointer2.C f31dc353c4075f1cee72592569d86e2e gcc/testsuite/g++.dg/eh/pr29166.C + a081cebee3412cc144c315a53ce4d824 gcc/testsuite/g++.dg/eh/pr42859.C a9ed8d0335c982c533cb9ab886ed3a49 gcc/testsuite/g++.dg/eh/registers1.C 10cee1522872b7a635448041c93abb77 gcc/testsuite/g++.dg/eh/scope1.C aedb51a1352090a92bc38eb90e5d6523 gcc/testsuite/g++.dg/eh/shadow1.C *************** e44d460202c349fcf4bb0de15b410685 gcc/te *** 8140,8145 **** --- 8145,8152 ---- b4d4dad31de4936353878d38d9bf3387 gcc/testsuite/g++.dg/ext/attrib33.C 6ca90338cc7b2eaecb90e6f07f49d349 gcc/testsuite/g++.dg/ext/attrib34.C 72dcf6393fd2127116d516c2816413ba gcc/testsuite/g++.dg/ext/attrib35.C + c85b15ec7059c950864ba0f66b044e14 gcc/testsuite/g++.dg/ext/attrib36.C + 3314c5f2f3a9674141029db687c58ae3 gcc/testsuite/g++.dg/ext/attrib37.C 0689e86022776421672cfd3ac67e3153 gcc/testsuite/g++.dg/ext/attrib4.C ec01dbb0bb96c7cda806a516a5cf87d4 gcc/testsuite/g++.dg/ext/attrib5.C 76284b29c6fce52f56ddbcc04acd3a97 gcc/testsuite/g++.dg/ext/attrib6.C *************** b9dcf1ba56b6782c19ca555e3554c6a3 gcc/te *** 8158,8163 **** --- 8165,8171 ---- 1371f46aed56d32c7b6433596ea7eacf gcc/testsuite/g++.dg/ext/boolcomplex-1.c 2688425f4bb09561395ab602acbbe5c1 gcc/testsuite/g++.dg/ext/builtin1.C 8e27d5e71c6ca468b0da85a6f69c93ca gcc/testsuite/g++.dg/ext/builtin10.C + 0159469d5f1eba2e6013c4c9e15f33ea gcc/testsuite/g++.dg/ext/builtin11.C 4b79f0ca012fab75e5085a3acc4d333d gcc/testsuite/g++.dg/ext/builtin2.C 2eb79b8e493396d3b59ec091894971a4 gcc/testsuite/g++.dg/ext/builtin3.C d0e4a0673fb68ac42869b8c996361788 gcc/testsuite/g++.dg/ext/builtin4.C *************** cfb1e3d3e6cedd5cd651ea51248b3822 gcc/te *** 8204,8209 **** --- 8212,8218 ---- 074eff0b52262e8cadfc7165db4809ad gcc/testsuite/g++.dg/ext/dll-MI1.h 6aa7306aa2bf445debe3d81c5b253dd4 gcc/testsuite/g++.dg/ext/dllexport-MI1.C 4bc15b43bea65ed1a02904869e0e19d5 gcc/testsuite/g++.dg/ext/dllexport1.C + a52a4739ea003d6f3cf3527f462da7bc gcc/testsuite/g++.dg/ext/dllexport3.C 8762efb9149a937554f3e867cca0e9d8 gcc/testsuite/g++.dg/ext/dllimport-MI1.C 49d4139859203b19e08de8394ce6cc72 gcc/testsuite/g++.dg/ext/dllimport1.C 3c9b89ab2016a6038228f5d5b55923ac gcc/testsuite/g++.dg/ext/dllimport10.C *************** c8441975995cf5b489a5e180b7676146 gcc/te *** 8283,8288 **** --- 8292,8298 ---- 1fc9c68973f25404ea587aa6ed700dc7 gcc/testsuite/g++.dg/ext/is_empty.C 0ae0b89107bfa1fc2ca82a358f64505e gcc/testsuite/g++.dg/ext/is_enum.C a7f24c72c3a372a243466cb833a3b8e0 gcc/testsuite/g++.dg/ext/is_pod.C + 84c3a14b6222536e4f6c6bb7519b5400 gcc/testsuite/g++.dg/ext/is_pod_98.C f316c6cb603f1746eab7e3d67e84b5c4 gcc/testsuite/g++.dg/ext/is_pod_incomplete.C cfa9503b4961ef09af7a624c704b0e86 gcc/testsuite/g++.dg/ext/is_polymorphic.C 2e8453a4e0be4018f2b415a3cb899b8e gcc/testsuite/g++.dg/ext/is_union.C *************** ca385abd9d6b36d0667c2ad521a0233e gcc/te *** 8910,8916 **** 4487271d3a3d8cbbe87a8aa0dee4b541 gcc/testsuite/g++.dg/init/value7.C 75fa012514803aa0a98113ff8b7474c6 gcc/testsuite/g++.dg/init/vector1.C 6a507132cbee807fabd3c9dfd0f81093 gcc/testsuite/g++.dg/init/volatile1.C ! b4833437e95f20ff344fc9fa58417c38 gcc/testsuite/g++.dg/ipa/iinline-1.C f1339a059a53b8c932f6dd4870283209 gcc/testsuite/g++.dg/lookup/ambig1.C fa1ea4ed4c9f1ae996929481bd6de67c gcc/testsuite/g++.dg/lookup/ambig2.C 0e636168c26983f9ef884688bb4917e7 gcc/testsuite/g++.dg/lookup/ambig3.C --- 8920,8926 ---- 4487271d3a3d8cbbe87a8aa0dee4b541 gcc/testsuite/g++.dg/init/value7.C 75fa012514803aa0a98113ff8b7474c6 gcc/testsuite/g++.dg/init/vector1.C 6a507132cbee807fabd3c9dfd0f81093 gcc/testsuite/g++.dg/init/volatile1.C ! 93fc3984527ffae879d436a763ed1b27 gcc/testsuite/g++.dg/ipa/iinline-1.C f1339a059a53b8c932f6dd4870283209 gcc/testsuite/g++.dg/lookup/ambig1.C fa1ea4ed4c9f1ae996929481bd6de67c gcc/testsuite/g++.dg/lookup/ambig2.C 0e636168c26983f9ef884688bb4917e7 gcc/testsuite/g++.dg/lookup/ambig3.C *************** d48bf743fe7cd2670b77dd76e8fc1714 gcc/te *** 9138,9143 **** --- 9148,9154 ---- 65e3fab7de933a99f4b5f52a982ea8d1 gcc/testsuite/g++.dg/opt/fold1.C 8bda53d5b874de63c6fb463b2e63a8f9 gcc/testsuite/g++.dg/opt/fold2.C d89445d9cb1f86fe29290ee87eb3d8df gcc/testsuite/g++.dg/opt/fold3.C + e9864875d79d70c5a28e303b80cda9bd gcc/testsuite/g++.dg/opt/ice1.C 89db632d35bc828ff4165ebbf333e9d4 gcc/testsuite/g++.dg/opt/ifcvt1.C 4624dde4c5fc4aac12f23da866696b9c gcc/testsuite/g++.dg/opt/init1.C c38d4267a5dc18af5254f21903b0176e gcc/testsuite/g++.dg/opt/init2.C *************** e7de4fdd2efa00c9e16713dbef6623d4 gcc/te *** 9333,9338 **** --- 9344,9353 ---- f2c44da2d098b6e3329177d4a7f387ef gcc/testsuite/g++.dg/other/crash-2.C 0d9c768cc6c1ceba304511794490d245 gcc/testsuite/g++.dg/other/crash-3.C 33391914ea9093ca83b26c0e95f6cbe2 gcc/testsuite/g++.dg/other/crash-4.C + 56e3643ee857c666d2b01a4499a8c7d4 gcc/testsuite/g++.dg/other/crash-5.C + 313fe90fb22f83c8baeb11009bfc8606 gcc/testsuite/g++.dg/other/crash-7.C + c55f3be4a11adddcecaeeaf7d0aa26c7 gcc/testsuite/g++.dg/other/crash-8.C + f0220e22e3cb835b39e2741a4acec08b gcc/testsuite/g++.dg/other/crash-9.C 77b7a83e4c4a267c5a040e6fe91b27f2 gcc/testsuite/g++.dg/other/ctor1.C d7844a4cf4cd40841244c6c728405a11 gcc/testsuite/g++.dg/other/ctor2.C 63b7b98a70bc3e591093a887e3c9dc16 gcc/testsuite/g++.dg/other/cv_func.C *************** bd1c35be302338df14b1aa330813797d gcc/te *** 9342,9348 **** 5af94f8039df2b744ff5d415b5e74405 gcc/testsuite/g++.dg/other/datasec1.C 9e7395f0094f6f5737290e2034fc9ed7 gcc/testsuite/g++.dg/other/default1.C 6f1f053c4c91ab82ddb76edfbb093d10 gcc/testsuite/g++.dg/other/default2.C ! 27bdfcaf5800136fc4e54e47e09ba8f3 gcc/testsuite/g++.dg/other/default3.C 6866fe8f71cea11bb58d3c7e52a1b648 gcc/testsuite/g++.dg/other/default4.C 385a6ee992bfc399dbea973d1bebc397 gcc/testsuite/g++.dg/other/default5.C 80f3c563ca108ca76b87c22fbe6a3685 gcc/testsuite/g++.dg/other/default6.C --- 9357,9363 ---- 5af94f8039df2b744ff5d415b5e74405 gcc/testsuite/g++.dg/other/datasec1.C 9e7395f0094f6f5737290e2034fc9ed7 gcc/testsuite/g++.dg/other/default1.C 6f1f053c4c91ab82ddb76edfbb093d10 gcc/testsuite/g++.dg/other/default2.C ! eee6a24cfbfc0dea2535d2e3c1dc43bd gcc/testsuite/g++.dg/other/default3.C 6866fe8f71cea11bb58d3c7e52a1b648 gcc/testsuite/g++.dg/other/default4.C 385a6ee992bfc399dbea973d1bebc397 gcc/testsuite/g++.dg/other/default5.C 80f3c563ca108ca76b87c22fbe6a3685 gcc/testsuite/g++.dg/other/default6.C *************** f6ef4e2724fa7ce062da94fa1778b050 gcc/te *** 9385,9391 **** 95e8f5237dd1f8559adddbcd743c6a6f gcc/testsuite/g++.dg/other/error8.C b92370a23a79c9c243e1e6ba7329b0a7 gcc/testsuite/g++.dg/other/error9.C 852e036628024a86c673fccff94ec3f4 gcc/testsuite/g++.dg/other/field1.C ! 1db1be1134156a77bfcaf683d6aa2eda gcc/testsuite/g++.dg/other/first-global.C 8ca2623b82b776edbb3caee012caa2a9 gcc/testsuite/g++.dg/other/fold1.C 4e454805fdba784ccf383bf015fee2fc gcc/testsuite/g++.dg/other/friend1.C 73acd7749bd5e8d5aea359a56c89a202 gcc/testsuite/g++.dg/other/friend2.C --- 9400,9406 ---- 95e8f5237dd1f8559adddbcd743c6a6f gcc/testsuite/g++.dg/other/error8.C b92370a23a79c9c243e1e6ba7329b0a7 gcc/testsuite/g++.dg/other/error9.C 852e036628024a86c673fccff94ec3f4 gcc/testsuite/g++.dg/other/field1.C ! cf80a111687f408ce5ac368b8046be98 gcc/testsuite/g++.dg/other/first-global.C 8ca2623b82b776edbb3caee012caa2a9 gcc/testsuite/g++.dg/other/fold1.C 4e454805fdba784ccf383bf015fee2fc gcc/testsuite/g++.dg/other/friend1.C 73acd7749bd5e8d5aea359a56c89a202 gcc/testsuite/g++.dg/other/friend2.C *************** e7318945c51d3bbaf1fa1d922b1661f3 gcc/te *** 9460,9465 **** --- 9475,9481 ---- b5e1f069377d2f6c229e4b9cec2afc7d gcc/testsuite/g++.dg/other/pr39060.C 13032d4b520ba4039fd6df337bd67601 gcc/testsuite/g++.dg/other/pr39496.C 0d511a95d0c5ac404e6fa3583409d6b6 gcc/testsuite/g++.dg/other/pr40446.C + e18e3ba20f03468900780d327126e381 gcc/testsuite/g++.dg/other/pr43116.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 *************** c63564a10a99acc084dd7ef3ab31e068 gcc/te *** 9573,9578 **** --- 9589,9595 ---- 3942d08ed7cbdaac837b06646132916e gcc/testsuite/g++.dg/parse/ambig2.C dccd55557e6e7045693056e69f389dc4 gcc/testsuite/g++.dg/parse/ambig3.C 76ecf42117442856a63d100b212722de gcc/testsuite/g++.dg/parse/ambig4.C + 3e11f2f44f4a6d2c5535cc0fc01d94b0 gcc/testsuite/g++.dg/parse/ambig5.C bc8c4ed875b2c4b0e6b1ec9bcec25d41 gcc/testsuite/g++.dg/parse/angle-bracket.C 0befa26c74e8cbfa279f5b49a61408eb gcc/testsuite/g++.dg/parse/angle-bracket2.C 4d4f8ace7c1f4d0f32bbd4530d5b07c1 gcc/testsuite/g++.dg/parse/args1.C *************** daf5f5fa938643351cbd008ccc3bb60f gcc/te *** 9582,9588 **** 16b06ccce5dbf6640797da7bada365f5 gcc/testsuite/g++.dg/parse/asm2.C 231816ebf0d1f8c23a7446536f02f2fa gcc/testsuite/g++.dg/parse/asm3.C c51ee1846816a95e9af6e3d6b9e65695 gcc/testsuite/g++.dg/parse/attr-ctor1.C ! b597255f4d6679e8f7935dba66f5703d gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C fc7bb3a300dd247cd39bd47963487340 gcc/testsuite/g++.dg/parse/attr-externally-visible-2.C d84032d5d61187d741ca91d1d16ee607 gcc/testsuite/g++.dg/parse/attr1.C 3d4935439f09d7756194078a14580819 gcc/testsuite/g++.dg/parse/attr2.C --- 9599,9605 ---- 16b06ccce5dbf6640797da7bada365f5 gcc/testsuite/g++.dg/parse/asm2.C 231816ebf0d1f8c23a7446536f02f2fa gcc/testsuite/g++.dg/parse/asm3.C c51ee1846816a95e9af6e3d6b9e65695 gcc/testsuite/g++.dg/parse/attr-ctor1.C ! 98a4778cf32d8f5a1026962fa6d1ac00 gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C fc7bb3a300dd247cd39bd47963487340 gcc/testsuite/g++.dg/parse/attr-externally-visible-2.C d84032d5d61187d741ca91d1d16ee607 gcc/testsuite/g++.dg/parse/attr1.C 3d4935439f09d7756194078a14580819 gcc/testsuite/g++.dg/parse/attr2.C *************** fe86870b21fda02350088a1a430beacb gcc/te *** 9801,9806 **** --- 9818,9825 ---- 8f491718233bf66bea91944d8a3fa4c1 gcc/testsuite/g++.dg/parse/namespace-definition.C da081f6d9aba0da47081b44fc4725588 gcc/testsuite/g++.dg/parse/namespace1.C 00440bee143466373a89c2be7136a42b gcc/testsuite/g++.dg/parse/namespace10.C + 307391ca01b5e3f3edb4a285d4a148bc gcc/testsuite/g++.dg/parse/namespace11.C + 366e9e5966c8dbaba1b281aa69371aa7 gcc/testsuite/g++.dg/parse/namespace12.C bd51556645331c9b9f2e39ae3f2bd858 gcc/testsuite/g++.dg/parse/namespace2.C b2cbb96c1cb51b252c9cad30717d2f28 gcc/testsuite/g++.dg/parse/namespace3.C 32f8176826963ad9bc2120219dafdf95 gcc/testsuite/g++.dg/parse/namespace4.C *************** e831cec93609978519f8f94b9c7e0a97 gcc/te *** 9943,9949 **** 6bd4c0f7191355f693af56ab02582e5d gcc/testsuite/g++.dg/parse/using1.C b0efdadcde3dc0c5df6d0eb6b88135b3 gcc/testsuite/g++.dg/parse/using2.C ac80fae137a8a1ef9021d6e173ca8090 gcc/testsuite/g++.dg/parse/using3.C ! 566e1cf0732c0de8e8bde8ad30fa5204 gcc/testsuite/g++.dg/parse/varmod1.C 87484ba10cbb539c4f84ec334125b020 gcc/testsuite/g++.dg/parse/wrong-inline1.C d9064b328bf2156a9e67df26156ec572 gcc/testsuite/g++.dg/pch/array-1.C 83d74bee5cf081cef85c1fe007ee1ae0 gcc/testsuite/g++.dg/pch/array-1.Hs --- 9962,9968 ---- 6bd4c0f7191355f693af56ab02582e5d gcc/testsuite/g++.dg/parse/using1.C b0efdadcde3dc0c5df6d0eb6b88135b3 gcc/testsuite/g++.dg/parse/using2.C ac80fae137a8a1ef9021d6e173ca8090 gcc/testsuite/g++.dg/parse/using3.C ! 42d1e990b022f2ed62a07a0ff6d27340 gcc/testsuite/g++.dg/parse/varmod1.C 87484ba10cbb539c4f84ec334125b020 gcc/testsuite/g++.dg/parse/wrong-inline1.C d9064b328bf2156a9e67df26156ec572 gcc/testsuite/g++.dg/pch/array-1.C 83d74bee5cf081cef85c1fe007ee1ae0 gcc/testsuite/g++.dg/pch/array-1.Hs *************** a1171f569cb38a793af833ae3af0599e gcc/te *** 10457,10462 **** --- 10476,10482 ---- 8dca5b65d4eeaa3cbfa61a1861a850d2 gcc/testsuite/g++.dg/template/memclass1.C cdd15f6514749074086ff789caa565f2 gcc/testsuite/g++.dg/template/memclass2.C 0d33a29a97363269ef67e175452d1251 gcc/testsuite/g++.dg/template/memclass3.C + 459bb772f22194a2eec4a3d69444edf3 gcc/testsuite/g++.dg/template/memclass4.C 57fc8e37f6a64f03e3bea12e44f46909 gcc/testsuite/g++.dg/template/memfriend1.C 88f5f474357358b46b62eb6b6fdc9b8a gcc/testsuite/g++.dg/template/memfriend10.C 63a099d4fd981493045dce1eefbf9723 gcc/testsuite/g++.dg/template/memfriend11.C *************** c9cd6927c7a0605bf286009431494170 gcc/te *** 10580,10585 **** --- 10600,10606 ---- c29b186e715b166abc3703fea2205647 gcc/testsuite/g++.dg/template/ptrmem18.C 0560572d5223bb42d46f697f052023bb gcc/testsuite/g++.dg/template/ptrmem19.C 84010e00560365f022f7d4c351fe97bf gcc/testsuite/g++.dg/template/ptrmem2.C + 40885b2b32f76152b32ce8742a4a9f8f gcc/testsuite/g++.dg/template/ptrmem20.C 171d82f45a76129388539c01e3212ec9 gcc/testsuite/g++.dg/template/ptrmem3.C 8ae47dd36706d3817783e1bad776829e gcc/testsuite/g++.dg/template/ptrmem4.C c1d71028a4f69f5c3fcfd2fd8a35f919 gcc/testsuite/g++.dg/template/ptrmem5.C *************** a2356f34f02acc6500996b77569f619f gcc/te *** 10779,10784 **** --- 10800,10807 ---- 9061e33b2fe81615387074facf2e2518 gcc/testsuite/g++.dg/template/typedef24.C 7b7d7acd3f627bf5dad56718a978812f gcc/testsuite/g++.dg/template/typedef25.C 4b7b5ad8691fed069cf0e029ff4382dc gcc/testsuite/g++.dg/template/typedef26.C + 354cf432a344951b1a0d1cabae95edb4 gcc/testsuite/g++.dg/template/typedef27.C + 92286e7865372a4b9fb799f96e02fe6a gcc/testsuite/g++.dg/template/typedef28.C ccd975f84b8531606ff90ff87ff98010 gcc/testsuite/g++.dg/template/typedef3.C 0abf956c61b1548b77669c5d00411396 gcc/testsuite/g++.dg/template/typedef4.C 85d16af61ffdff9bc8c9e3f2444db5de gcc/testsuite/g++.dg/template/typedef5.C *************** b2d53f4aa50404a2e6c3d51d0a0213f1 gcc/te *** 10944,10952 **** --- 10967,10984 ---- 6288fd3a3bd0bd1724da11910b425047 gcc/testsuite/g++.dg/torture/pr42110.C 2a7843fc7360185d8c597e00ef02ddcb gcc/testsuite/g++.dg/torture/pr42183.C b10e8543fb804e02bf658bba9b63a306 gcc/testsuite/g++.dg/torture/pr42357.C + 375f3e5695d27b3a597504372a44228d gcc/testsuite/g++.dg/torture/pr42450.C caab81fe664970346251ad3c65b46250 gcc/testsuite/g++.dg/torture/pr42462.C + 8ae9715087d7da846f7a2004a5305eef gcc/testsuite/g++.dg/torture/pr42704.C + 6faa0f1bae4672d5d1fe30b02b392da8 gcc/testsuite/g++.dg/torture/pr42714.C + 94167fe7caf3f0a098eb425cde1ee709 gcc/testsuite/g++.dg/torture/pr42739.C 43953aa4786b2f0d157a0429e79efabb gcc/testsuite/g++.dg/torture/pr42760.C eb50f7b8b6b7679ccdd519260c76e1ce gcc/testsuite/g++.dg/torture/pr42773.C + 257b8de487b284f4945c33c7fad65d8f gcc/testsuite/g++.dg/torture/pr42871.C + 7c1f383ab4432a06607142b166406844 gcc/testsuite/g++.dg/torture/pr42883.C + 7ed9e7f486e83f1d5786530f3058eef7 gcc/testsuite/g++.dg/torture/pr42890.C + dd22df6fbe8eea710f762c4b9dc3234b gcc/testsuite/g++.dg/torture/pr43068.C + 3109f22b098cf163176faafc44391d82 gcc/testsuite/g++.dg/torture/pr43257.C 9832be91178ec7c78651fc4d49380a93 gcc/testsuite/g++.dg/torture/predcom-1.C d28910105d9c9253d94d70eacd5e19d4 gcc/testsuite/g++.dg/torture/pushpop_macro.C a1b47b9c3e69d79d1895ebc4fd11032b gcc/testsuite/g++.dg/torture/stackalign/check.h *************** e6a767be59130f79677faa96e068cef1 gcc/te *** 10984,10990 **** ebffc2389dbbf739ae120d2beb15bf62 gcc/testsuite/g++.dg/tree-ssa/empty-1.C 1a68a606ab899ac20dc0fb911f3edf25 gcc/testsuite/g++.dg/tree-ssa/ivopts-1.C 1c66c0a04e2d18d5e297d227f66382cc gcc/testsuite/g++.dg/tree-ssa/new1.C ! 72aa1ce70988a1e23f13c8cfdbaaf7a6 gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C 9ea732e01391f201c070578af2e42c8a gcc/testsuite/g++.dg/tree-ssa/obj-type-ref.C e48295bc246510ba07409a9c081f3d68 gcc/testsuite/g++.dg/tree-ssa/pointer-reference-alias.C f32a65e0adde0d18a7b0f1b12d14f24b gcc/testsuite/g++.dg/tree-ssa/pr14703.C --- 11016,11022 ---- ebffc2389dbbf739ae120d2beb15bf62 gcc/testsuite/g++.dg/tree-ssa/empty-1.C 1a68a606ab899ac20dc0fb911f3edf25 gcc/testsuite/g++.dg/tree-ssa/ivopts-1.C 1c66c0a04e2d18d5e297d227f66382cc gcc/testsuite/g++.dg/tree-ssa/new1.C ! 3f2e0e7e3ff73f5d65e9ee99f810fe1e gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C 9ea732e01391f201c070578af2e42c8a gcc/testsuite/g++.dg/tree-ssa/obj-type-ref.C e48295bc246510ba07409a9c081f3d68 gcc/testsuite/g++.dg/tree-ssa/pointer-reference-alias.C f32a65e0adde0d18a7b0f1b12d14f24b gcc/testsuite/g++.dg/tree-ssa/pr14703.C *************** d6c099217c434349a17ddddba1755f12 gcc/te *** 11097,11102 **** --- 11129,11135 ---- 8b73ed567529286487cab6a112ce46e8 gcc/testsuite/g++.dg/vect/pr36648.cc bb02984184613c4e23cd3b598fd11bf4 gcc/testsuite/g++.dg/vect/pr37143.C 2dff334c9a92b9aeb51b6a2dec8696ab gcc/testsuite/g++.dg/vect/pr37174.cc + 9f2e7f6f898f51a14fd95fcb8729c8d4 gcc/testsuite/g++.dg/vect/pr43771.cc 513092e9b3007754383f6199b4dc25a9 gcc/testsuite/g++.dg/vect/vect.exp 38c1d3bcd70aac8e2e1f0e19b075e6a9 gcc/testsuite/g++.dg/warn/Wall-write-strings.C 31374840ed3137c47aa43f8aefc76125 gcc/testsuite/g++.dg/warn/Walways-true-1.C *************** c0116d02edfe6d83a6e0319b7ae43310 gcc/te *** 13169,13175 **** 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 ! 76739793347295f1dd13ac4cd35a076d gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog c17ab5a5d39a20786219d5cb72e8a956 gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C d5a79bc5cd269747572d454134bc7e04 gcc/testsuite/g++.old-deja/g++.oliva/delete1.C 8c0b3f49c2e5d5c224c1e0aae235e1d8 gcc/testsuite/g++.old-deja/g++.oliva/delete2.C --- 13202,13208 ---- 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 ! c8f5dd00f8c0903dc882cf9d14f395ad gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog c17ab5a5d39a20786219d5cb72e8a956 gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C d5a79bc5cd269747572d454134bc7e04 gcc/testsuite/g++.old-deja/g++.oliva/delete1.C 8c0b3f49c2e5d5c224c1e0aae235e1d8 gcc/testsuite/g++.old-deja/g++.oliva/delete2.C *************** d83edbe52eb7bc716fbb4d703952fd5c gcc/te *** 13744,13751 **** d54d7f76b19f79dd290e5553a5679f48 gcc/testsuite/g++.old-deja/g++.pt/array5.C 9deafe0c23dcd9d4742de631c72fa4d3 gcc/testsuite/g++.old-deja/g++.pt/array6.C 0bf7b9320971f79173514bee96bfc707 gcc/testsuite/g++.old-deja/g++.pt/array7.C ! 9ad6c674ab6a9f9b3887f2753be55e8e gcc/testsuite/g++.old-deja/g++.pt/asm1.C ! 6e7995b25cead45381bee1b2b6852987 gcc/testsuite/g++.old-deja/g++.pt/asm2.C 7b56ab77e4324e29b1f9db68cfbae31d gcc/testsuite/g++.old-deja/g++.pt/assign1.C 49aa891957cc7ea1b964d4de61b52f87 gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C 1adb535176b9d881aafd1bb9dc833b29 gcc/testsuite/g++.old-deja/g++.pt/bad-type.C --- 13777,13784 ---- d54d7f76b19f79dd290e5553a5679f48 gcc/testsuite/g++.old-deja/g++.pt/array5.C 9deafe0c23dcd9d4742de631c72fa4d3 gcc/testsuite/g++.old-deja/g++.pt/array6.C 0bf7b9320971f79173514bee96bfc707 gcc/testsuite/g++.old-deja/g++.pt/array7.C ! 670f181733be8a4832d4b5e31e82842e gcc/testsuite/g++.old-deja/g++.pt/asm1.C ! dec17b4d09a21d8488fb013b7e942707 gcc/testsuite/g++.old-deja/g++.pt/asm2.C 7b56ab77e4324e29b1f9db68cfbae31d gcc/testsuite/g++.old-deja/g++.pt/assign1.C 49aa891957cc7ea1b964d4de61b52f87 gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C 1adb535176b9d881aafd1bb9dc833b29 gcc/testsuite/g++.old-deja/g++.pt/bad-type.C *************** ac01d71fcbc92c609cbf00b9a9c8b025 gcc/te *** 14669,14675 **** 9dd881236795fab247ec71c1abca3e09 gcc/testsuite/gcc.c-torture/compile/20000728-1.c 6c8eebc797ff96343d1f35a39c2b3b2f gcc/testsuite/gcc.c-torture/compile/20000802-1.c 94da29ee4520eab538ad89a0653f7619 gcc/testsuite/gcc.c-torture/compile/20000803-1.c ! dc205ee1cb60653d22c71e882da2fdab gcc/testsuite/gcc.c-torture/compile/20000804-1.c 73d8448c7350023f4723ba59fa3c7f38 gcc/testsuite/gcc.c-torture/compile/20000818-1.c 798ad95bcb3c0ac618dd80ee18912645 gcc/testsuite/gcc.c-torture/compile/20000825-1.c 6c54d5e909022b02771b10d881dba9b0 gcc/testsuite/gcc.c-torture/compile/20000827-1.c --- 14702,14708 ---- 9dd881236795fab247ec71c1abca3e09 gcc/testsuite/gcc.c-torture/compile/20000728-1.c 6c8eebc797ff96343d1f35a39c2b3b2f gcc/testsuite/gcc.c-torture/compile/20000802-1.c 94da29ee4520eab538ad89a0653f7619 gcc/testsuite/gcc.c-torture/compile/20000803-1.c ! 0aaf98926a6e85b94109a27daa0c4cc4 gcc/testsuite/gcc.c-torture/compile/20000804-1.c 73d8448c7350023f4723ba59fa3c7f38 gcc/testsuite/gcc.c-torture/compile/20000818-1.c 798ad95bcb3c0ac618dd80ee18912645 gcc/testsuite/gcc.c-torture/compile/20000825-1.c 6c54d5e909022b02771b10d881dba9b0 gcc/testsuite/gcc.c-torture/compile/20000827-1.c *************** a7e4fec723a626b88e826ec8a1f04238 gcc/te *** 15640,15645 **** --- 15673,15698 ---- 8cb4278a1c36b114c1885bb75193d53e gcc/testsuite/gcc.c-torture/compile/pr42398.c ee60a2375439bd55a6d4449ed72ad387 gcc/testsuite/gcc.c-torture/compile/pr42559.c 919dc3f51204b5168ddbd28279174620 gcc/testsuite/gcc.c-torture/compile/pr42632.c + e18e20f5d0041343d6eca71244c570eb gcc/testsuite/gcc.c-torture/compile/pr42703.c + 23de553c5cbe4727f60b7b0172595dd6 gcc/testsuite/gcc.c-torture/compile/pr42705.c + 4057522a64c58df2b5da6602273218c5 gcc/testsuite/gcc.c-torture/compile/pr42708-1.c + dd407e8c07f6548bb5efc0dce1455f68 gcc/testsuite/gcc.c-torture/compile/pr42716.c + cc02982a768ef376bb5b625c481ada2e gcc/testsuite/gcc.c-torture/compile/pr42717.c + cee69619caa9666102d6672ef44dc238 gcc/testsuite/gcc.c-torture/compile/pr42730.c + ecb5439125a9127a3294acfa7d2780f4 gcc/testsuite/gcc.c-torture/compile/pr42749.c + c5120bf1af38535196ef2bde7295a8b2 gcc/testsuite/gcc.c-torture/compile/pr42927.c + a450b257d48f47f5614f854bfeff1b47 gcc/testsuite/gcc.c-torture/compile/pr42956.c + 10f2ac7f6a0e2b70d2fddff7defbd100 gcc/testsuite/gcc.c-torture/compile/pr42998.c + 78af6a67a364e64fb8c6acaf6f0af1c1 gcc/testsuite/gcc.c-torture/compile/pr43066.c + bd01c709e631437b671f4bff04b131d2 gcc/testsuite/gcc.c-torture/compile/pr43164.c + dc411f683eea3885c8375e38553d59ec gcc/testsuite/gcc.c-torture/compile/pr43186.c + 3d43fa11eb919d798f195200c55f6beb gcc/testsuite/gcc.c-torture/compile/pr43188.c + 65dbaa74bc43285255b21b0b19258dbb gcc/testsuite/gcc.c-torture/compile/pr43191.c + 76c475ff4d33709803fc97f0699ac934 gcc/testsuite/gcc.c-torture/compile/pr43255.c + be4337453199a5db560abe6909a52488 gcc/testsuite/gcc.c-torture/compile/pr43288.c + e803f7181a8b15f8ce255b1667ffa8fb gcc/testsuite/gcc.c-torture/compile/pr43367.c + 742dd4fe334952d63199ef2d52ab6d8f gcc/testsuite/gcc.c-torture/compile/pr43415.c + 9ecdf91a562bb8fd41b46d26a2d43184 gcc/testsuite/gcc.c-torture/compile/pr43614.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 *************** cf2c365911f31126980f03602258a3a9 gcc/te *** 16103,16108 **** --- 16156,16162 ---- d3232dd352e9bcd62387703d83589e5a gcc/testsuite/gcc.c-torture/execute/20081218-1.c d3b47ec4afbb561dffc8b6525730f54f gcc/testsuite/gcc.c-torture/execute/20090219-1.c 8c9a29fe3843c2aab2075c3c9006bc7c gcc/testsuite/gcc.c-torture/execute/20091229-1.c + 27aeeeb89a91b17af98d81bf871d2aac gcc/testsuite/gcc.c-torture/execute/20100209-1.c 65f01ac7346bd4d47ed9c1ca94ab74ff gcc/testsuite/gcc.c-torture/execute/900409-1.c 5aefab4daab0bd29ecf2a389f3c44f40 gcc/testsuite/gcc.c-torture/execute/920202-1.c 655936aaf9a63e991a555cbc16738485 gcc/testsuite/gcc.c-torture/execute/920302-1.c *************** ea0a414631d1425171b5a4eb57657931 gcc/te *** 16910,16920 **** --- 16964,16983 ---- a1a92b38609808178913848a9c7d9ab3 gcc/testsuite/gcc.c-torture/execute/pr42142.c e277664d785bff4dbd22887229aa5e42 gcc/testsuite/gcc.c-torture/execute/pr42154.c 9d0805fdd9a0cf21d9cc09e46a30f205 gcc/testsuite/gcc.c-torture/execute/pr42231.c + 5650a464f68700c47c44119976fe334f gcc/testsuite/gcc.c-torture/execute/pr42248.c f950ad90251a238b07e78b1c6c63b7f7 gcc/testsuite/gcc.c-torture/execute/pr42269-2.c + bcf3ae2b3f1d2e9e126f255f7fd66a45 gcc/testsuite/gcc.c-torture/execute/pr42512.c 629f87f57011accdcdd57c84d8210a7d gcc/testsuite/gcc.c-torture/execute/pr42570.c 0394c6df8e11e5645264dd8cba51ab75 gcc/testsuite/gcc.c-torture/execute/pr42614.c 9bcea59be0916064443a026a4c16acbe gcc/testsuite/gcc.c-torture/execute/pr42691.c 9fcdb1a88bbe84e741f8bce1871cc5bf gcc/testsuite/gcc.c-torture/execute/pr42721.c + 7ae180c70149626d057190fa00abbd06 gcc/testsuite/gcc.c-torture/execute/pr43008.c + 0d38fcea72302e060cdb2ab8c609f77d gcc/testsuite/gcc.c-torture/execute/pr43220.c + 8bd2ecc7fe2b1287915eca13b75bc2a4 gcc/testsuite/gcc.c-torture/execute/pr43269.c + 4df6b2992e927a8a2c5dcb54b91c7269 gcc/testsuite/gcc.c-torture/execute/pr43385.c + e1c90e5d63e50e72d3af2ef2ef99702a gcc/testsuite/gcc.c-torture/execute/pr43438.c + 2202cff26e335eac3459e1004691c3ba gcc/testsuite/gcc.c-torture/execute/pr43560.c + 567b622287769b340f5289a5e6a8f9af gcc/testsuite/gcc.c-torture/execute/pr43629.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 *************** a7768b46bf8e46b842eb0fec134eda9a gcc/te *** 17660,17666 **** 6e4285cbdbe89806e0fc5ac964f08413 gcc/testsuite/gcc.dg/Wtype-limits.c 0a0db17aec55a3ef88c1d7fa10d65db8 gcc/testsuite/gcc.dg/Wunknownprag.c b6ed2e28797ae760fc392cfb1ef38b34 gcc/testsuite/gcc.dg/Wunreachable-1.c - 22501230c322b58362b5f5fa110c23af gcc/testsuite/gcc.dg/Wunreachable-2.c ca8446b4deea2e71ba110ce51cb0f64d gcc/testsuite/gcc.dg/Wunreachable-3.c b8e0f294e7a0bd471aad5f58ec5e3a2a gcc/testsuite/gcc.dg/Wunreachable-4.c 722beafddd509f458b524877bb5d6f9b gcc/testsuite/gcc.dg/Wunreachable-5.c --- 17723,17728 ---- *************** da2226add6799fd192e2b367404d1b0b gcc/te *** 18312,18317 **** --- 18374,18380 ---- 7cbd734da9d8330b57f4e78af353b9f2 gcc/testsuite/gcc.dg/complex-3.c 47685f7f7986540a92dac40dcd9edc3f gcc/testsuite/gcc.dg/complex-4.c 07752fb35f123a0e87621f2336fadd07 gcc/testsuite/gcc.dg/complex-5.c + a30ddef1186097ed6ddddd084b0b3b60 gcc/testsuite/gcc.dg/compound-literal-1.c 9a8460b2b7be20ec936144c1267fdf4b gcc/testsuite/gcc.dg/compound-lvalue-1.c a391524508e56b407f614b94ad4f54ea gcc/testsuite/gcc.dg/concat.c fe6e67a4e564ca5642810bdf85534463 gcc/testsuite/gcc.dg/concat2.c *************** aac88d6c23e9450d252e2db142241979 gcc/te *** 18859,18864 **** --- 18922,18928 ---- c21ba70ab1d3b408a61a2db48556f84a gcc/testsuite/gcc.dg/debug/dwarf2/pr36690-3.c abe11cb354984b89967275eb277ffb5c gcc/testsuite/gcc.dg/debug/dwarf2/pr37616.c e2c1960b8933c7c2e298e4a46ab224c5 gcc/testsuite/gcc.dg/debug/dwarf2/pr37726.c + aed8a14ad050fa3bb6dcc461ff515399 gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c 6aaaa01ca9cc43bf625ea378892dddd2 gcc/testsuite/gcc.dg/debug/dwarf2/static1.c 70f57f72d64befbc7c08ca70e61c0594 gcc/testsuite/gcc.dg/debug/dwarf2/var1.c 01d86a027c3baef8908f88b0c3bfcc31 gcc/testsuite/gcc.dg/debug/dwarf2/var2.c *************** c098ce6d3967a1bd0e4ccb722d146dd8 gcc/te *** 19071,19076 **** --- 19135,19141 ---- ba60814aadf21741cc3e6781a96f6801 gcc/testsuite/gcc.dg/enum1.c 36d60a18cc2d81c2f3553d9d74463b9e gcc/testsuite/gcc.dg/enum2.c 2fced693aa6aaf7f0a1c26e95d86359f gcc/testsuite/gcc.dg/enum3.c + 05c495e675c879072b48dd30557e9e7c gcc/testsuite/gcc.dg/errno-1.c bbb87d2a73c29d36f6bb6b3dec4a2b02 gcc/testsuite/gcc.dg/extra-semi-1.c 5ecbeae6593123b1ac9b91979c9faf1b gcc/testsuite/gcc.dg/extra-semi-2.c 8a92262e99815477a062c82d552896e8 gcc/testsuite/gcc.dg/extra-semi-3.c *************** f1bb42c018dfe5a3c7fd542272051354 gcc/te *** 19148,19153 **** --- 19213,19219 ---- f258fb8a2f7df6f84315d69daf1da5bf gcc/testsuite/gcc.dg/fold-convround-1.c 3ee918048505f3a0723d07a0b6e97292 gcc/testsuite/gcc.dg/fold-div-1.c 5e82999b8723220e75ab73768ef5a032 gcc/testsuite/gcc.dg/fold-div-2.c + 269893c1f91e6b1f38ae03215c279e09 gcc/testsuite/gcc.dg/fold-div-3.c 58240c705723514eb050955bc3867afb gcc/testsuite/gcc.dg/fold-eqand-1.c 360faa487ed790f721565dcb6aa25fab gcc/testsuite/gcc.dg/fold-eqandnot-1.c 399451e97d4de097fc5deb92a6129a66 gcc/testsuite/gcc.dg/fold-eqandshift-1.c *************** aa0be8944912bc8fd810cbfbecf40411 gcc/te *** 19643,19649 **** 50978a21d53288cabd0934746dc65b71 gcc/testsuite/gcc.dg/inline-31.c 36ad811a61fb66edc6068222a40bcffb gcc/testsuite/gcc.dg/inline-32.c c305a0d08b9f14e76b7fdf25ad43a83b gcc/testsuite/gcc.dg/inline-32a.c ! c978bf6d78ac184b15bc2a14ed2f1c02 gcc/testsuite/gcc.dg/inline-33.c 2eed98dfcc022044e610af32e1c937c1 gcc/testsuite/gcc.dg/inline-4.c 7fc691c96ff167ea4acaf530fdfd717a gcc/testsuite/gcc.dg/inline-5.c 96b467a4117442b64211f4f3411003a4 gcc/testsuite/gcc.dg/inline-6.c --- 19709,19715 ---- 50978a21d53288cabd0934746dc65b71 gcc/testsuite/gcc.dg/inline-31.c 36ad811a61fb66edc6068222a40bcffb gcc/testsuite/gcc.dg/inline-32.c c305a0d08b9f14e76b7fdf25ad43a83b gcc/testsuite/gcc.dg/inline-32a.c ! f573734cd8ed2482541d5da1045585b5 gcc/testsuite/gcc.dg/inline-33.c 2eed98dfcc022044e610af32e1c937c1 gcc/testsuite/gcc.dg/inline-4.c 7fc691c96ff167ea4acaf530fdfd717a gcc/testsuite/gcc.dg/inline-5.c 96b467a4117442b64211f4f3411003a4 gcc/testsuite/gcc.dg/inline-6.c *************** a481d0a49a4bf2aa98254e8df226bcd5 gcc/te *** 19664,19679 **** 345baf437ceb6cd649669a691a99fd3b gcc/testsuite/gcc.dg/intmax_t-1.c 3173dbf4a9e49235648d0a0de8390c94 gcc/testsuite/gcc.dg/invalid-call-1.c db05949efae2d1a4344227052cdc4879 gcc/testsuite/gcc.dg/ipa/iinline-1.c ! 5097136b215bdbf2189be57b6bc6e827 gcc/testsuite/gcc.dg/ipa/ipa-1.c ! 17aedcfc0a9b4f2817258fcc055cbb0c gcc/testsuite/gcc.dg/ipa/ipa-2.c ! 3ee50121d4976cea7d989d2d4376e89b gcc/testsuite/gcc.dg/ipa/ipa-3.c ! 981f8801cf8febf577bd121be0d66fae gcc/testsuite/gcc.dg/ipa/ipa-4.c ! 5dd8e161e87b9b21a170109011f4227a gcc/testsuite/gcc.dg/ipa/ipa-5.c 1f2c1d8cb67059afeec1476dcc575090 gcc/testsuite/gcc.dg/ipa/ipa-6.c ! 0ea47d780d3ca265bd4ea82ac3fbc134 gcc/testsuite/gcc.dg/ipa/ipa-7.c b7f0fbd7e8fabadddf5296da3d7ccec6 gcc/testsuite/gcc.dg/ipa/ipa.exp 8963daa24dd4907cd5ba3a4d4b352831 gcc/testsuite/gcc.dg/ipa/ipacost-1.c ! 4045d1f395a00e73729747f399387db4 gcc/testsuite/gcc.dg/ipa/ipacost-2.c 40d64d529ccf666026b88cb5ed885551 gcc/testsuite/gcc.dg/ipa/modif-1.c 8f5983946d28dca5853e89d0aa48b65d gcc/testsuite/gcc.dg/kpice1.c 0869783fa95b6864d6ee55773e4a5f4b gcc/testsuite/gcc.dg/label-compound-stmt-1.c --- 19730,19745 ---- 345baf437ceb6cd649669a691a99fd3b gcc/testsuite/gcc.dg/intmax_t-1.c 3173dbf4a9e49235648d0a0de8390c94 gcc/testsuite/gcc.dg/invalid-call-1.c db05949efae2d1a4344227052cdc4879 gcc/testsuite/gcc.dg/ipa/iinline-1.c ! d0b6a5890efc72a07ff47aa26375665b gcc/testsuite/gcc.dg/ipa/ipa-1.c ! b389a68608679f29192aa8db6bc5c1fe gcc/testsuite/gcc.dg/ipa/ipa-2.c ! 934f7f2a507ba6d43a7cf6fe02cc5cb0 gcc/testsuite/gcc.dg/ipa/ipa-3.c ! 5e362f0df54a8004508659ced1f1df2c gcc/testsuite/gcc.dg/ipa/ipa-4.c ! e6ecf180b8b9e5e03b4612c49e7f857a gcc/testsuite/gcc.dg/ipa/ipa-5.c 1f2c1d8cb67059afeec1476dcc575090 gcc/testsuite/gcc.dg/ipa/ipa-6.c ! 8d74f53db1bb4018b83a71231e684b03 gcc/testsuite/gcc.dg/ipa/ipa-7.c b7f0fbd7e8fabadddf5296da3d7ccec6 gcc/testsuite/gcc.dg/ipa/ipa.exp 8963daa24dd4907cd5ba3a4d4b352831 gcc/testsuite/gcc.dg/ipa/ipacost-1.c ! 3e3a82199eb9854fc4ba8ef7f127b9f4 gcc/testsuite/gcc.dg/ipa/ipacost-2.c 40d64d529ccf666026b88cb5ed885551 gcc/testsuite/gcc.dg/ipa/modif-1.c 8f5983946d28dca5853e89d0aa48b65d gcc/testsuite/gcc.dg/kpice1.c 0869783fa95b6864d6ee55773e4a5f4b gcc/testsuite/gcc.dg/label-compound-stmt-1.c *************** acdeeb693086bdb4ca6cdde57d9eb91d gcc/te *** 19868,19873 **** --- 19934,19940 ---- 27981842075571927c075cd224a261bf gcc/testsuite/gcc.dg/parm-forwdecl-4.c 70c234110e558181fac32cc9f5ee3cde gcc/testsuite/gcc.dg/parm-impl-decl-1.c 7e69b60a64c1d1dc0dae6a9c39bd12e9 gcc/testsuite/gcc.dg/parm-impl-decl-2.c + 4644ac5af252ecdad2a20a05a898be56 gcc/testsuite/gcc.dg/parm-impl-decl-3.c ebb045cc1bb72ee1460dbb46f96b8054 gcc/testsuite/gcc.dg/parm-incomplete-1.c 131603daf99bcee31284ede9a99a15ee gcc/testsuite/gcc.dg/parm-mismatch-1.c 7e5f340508c307de0b9d6dff0fb619ac gcc/testsuite/gcc.dg/parse-decl-after-if.c *************** a1d8b0e7ece2ac1ae4afa75a4df75675 gcc/te *** 20421,20429 **** --- 20488,20510 ---- c9b7dda201bc71d4b86aff390065b9c4 gcc/testsuite/gcc.dg/pr42078.c 76e69d75aa59a8bcc99483071273d8f7 gcc/testsuite/gcc.dg/pr42084.c 98dc622b6172cee1aaec9c5d3266e877 gcc/testsuite/gcc.dg/pr42215.c + fe25d38294019a33aa98d31b31407950 gcc/testsuite/gcc.dg/pr42250.c + f48f96a6a73333a80e4e214699c1ad78 gcc/testsuite/gcc.dg/pr42388.c + db90f9a9e645e0a657e3e10b075b5dfa gcc/testsuite/gcc.dg/pr42427.c 991dbffb574b25d1cc587f088dbc8e79 gcc/testsuite/gcc.dg/pr42475.c 83d7dcce1cf568f9d5d11fbc065f1957 gcc/testsuite/gcc.dg/pr42611.c fe703f1c5408673830a0564d9b17522c gcc/testsuite/gcc.dg/pr42662.c + 32bd49786a519a41137825e2e3983c6c gcc/testsuite/gcc.dg/pr42715.c + 8293091465ce72da1738d4a5ae859b82 gcc/testsuite/gcc.dg/pr43211.c + 8ca7f27f50dab4dea8ed70f525164c5c gcc/testsuite/gcc.dg/pr43280.c + 4c2ebf94b37cc0e36a1ba74938b3d7ff gcc/testsuite/gcc.dg/pr43299.c + b6ef0644e979e801f05abe45dccb8070 gcc/testsuite/gcc.dg/pr43300.c + f27673af6d2f2632fe2e6f6b79fc9677 gcc/testsuite/gcc.dg/pr43305.c + 209d5100960f12c3cafe43423b02a2a1 gcc/testsuite/gcc.dg/pr43379.c + da6af28fb1665b4dd70740580e168bc9 gcc/testsuite/gcc.dg/pr43402.c + d6273061f6f2ba294fd93343573dba0b gcc/testsuite/gcc.dg/pr43419.c + d99f23b3a3c3fc3eb2ae1a4a37dcab7a gcc/testsuite/gcc.dg/pr43562.c + 8ffa5d5718813dc00c6aed5e54e4e932 gcc/testsuite/gcc.dg/pr43643.c 8b7d73da2d5d78000716492365a85d5a gcc/testsuite/gcc.dg/pr8715.c 3d08410b2dd57259aa63f0e1c64b376e gcc/testsuite/gcc.dg/pr8788-1.c be04382a35ebb1cfae1b2168f1693a94 gcc/testsuite/gcc.dg/pr8835-1.c *************** df13691becf75c196daa6bc05c2f2652 gcc/te *** 20842,20848 **** --- 20923,20938 ---- 831e5b9981da7148c952643f329eaa25 gcc/testsuite/gcc.dg/torture/pr41094.c 90e4076b92021ee54266282003c1e753 gcc/testsuite/gcc.dg/torture/pr41261.c bfe95c052645309c3ee36c305fddcabc gcc/testsuite/gcc.dg/torture/pr41555.c + 22e561afc82e733d34acfa94a4b5a97f gcc/testsuite/gcc.dg/torture/pr42363.c b7cc091540c52666f4ffe5f8a77404ea gcc/testsuite/gcc.dg/torture/pr42667.c + 22c685d3dd3176fe8c0f358f3615516e gcc/testsuite/gcc.dg/torture/pr42898-2.c + 806d118f762c7448054f4a6065762a03 gcc/testsuite/gcc.dg/torture/pr42898.c + 978ab52905535a10554de208f2c24eca gcc/testsuite/gcc.dg/torture/pr42952.c + 652c9d4739d01999afd4200fee2629f6 gcc/testsuite/gcc.dg/torture/pr43000.c + e1652b70737288d33007ee4dd65e0d03 gcc/testsuite/gcc.dg/torture/pr43002.c + c681430ad406566d57567a8530445e23 gcc/testsuite/gcc.dg/torture/pr43165.c + b8264f7b6c46154892ef6b375aef1320 gcc/testsuite/gcc.dg/torture/pr43360.c + cb44e593f120096c426da56573f45fa9 gcc/testsuite/gcc.dg/torture/pr43560.c 4aa5c6ba57ce4b8ecba813c14459e755 gcc/testsuite/gcc.dg/torture/pta-ptrarith-1.c 69d4c2db789443b421badc94aa305fe7 gcc/testsuite/gcc.dg/torture/pta-ptrarith-2.c c0cfd51fe6f1e14871c143f73aad0044 gcc/testsuite/gcc.dg/torture/reassoc-1.c *************** cb62941dbd2c14fb31e022570c20a4d9 gcc/te *** 21116,21126 **** --- 21206,21218 ---- ee0564e9d214fe5d7c14a3fcf3790afe gcc/testsuite/gcc.dg/tree-ssa/ifc-3.c 86dacaa63955d22eb572a458f0e123bb gcc/testsuite/gcc.dg/tree-ssa/inline-1.c d48399fe421811e1ba9c520ad83abc34 gcc/testsuite/gcc.dg/tree-ssa/inline-2.c + cc36c7a2a9b2f574648265ed6a8152e9 gcc/testsuite/gcc.dg/tree-ssa/inline-4.c 1ad8e04ed04c247e5345eef2b0a41dbc gcc/testsuite/gcc.dg/tree-ssa/inline_asm-1.c 222f2e7c1a39080b36faf8eccb69807f gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c 8ef07d86d072e9835142abb4b9a4b094 gcc/testsuite/gcc.dg/tree-ssa/ipa-reference-1.c e26de2213471196c5e2fd7f1708093d7 gcc/testsuite/gcc.dg/tree-ssa/ivopts-1.c 1945a4829c34bc32bd53a97c157d566c gcc/testsuite/gcc.dg/tree-ssa/ivopts-2.c + 4ad9364b0c09a0471b394cf3347e334a gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c 5a05323bd5155552ddc7300540a458e8 gcc/testsuite/gcc.dg/tree-ssa/ldist-1.c 1bdc4fd9eab65fde87046965c258a0f6 gcc/testsuite/gcc.dg/tree-ssa/ldist-10.c 27623371953bd0b012f40a5588a27618 gcc/testsuite/gcc.dg/tree-ssa/ldist-11.c *************** c997d1737c7e7be01b3905b9e0066651 gcc/te *** 21354,21359 **** --- 21446,21452 ---- 2898429fa039eda8310b69091ba71f44 gcc/testsuite/gcc.dg/tree-ssa/pr39007.c 2b9af42f1411f4555b7f08e421e41604 gcc/testsuite/gcc.dg/tree-ssa/pr40087.c 266dbaa0e9d48a21499420b29e27db96 gcc/testsuite/gcc.dg/tree-ssa/pr41497.c + cc457f2fa06ef79ea0bfca7c60d47cc5 gcc/testsuite/gcc.dg/tree-ssa/pr42585.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 *************** d6d76f114f830b067acd4c244d653ce0 gcc/te *** 21753,21758 **** --- 21846,21852 ---- ab2616ef274376c7ac43531615f8e649 gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp c4ebc1842823d68e174c0658bdf3f4ad gcc/testsuite/gcc.dg/vect/dump-tree-dceloop-pr26359.c 8c1751f3e27761bf865421ea9cb47322 gcc/testsuite/gcc.dg/vect/fast-math-pr35982.c + f1ca9fac2ff63eb89bad0c48ab6a1912 gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c 5ffc16af8441a08f1b4e9b1c42883221 gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c 0e6dc97b41b43802b54e618570b7040b gcc/testsuite/gcc.dg/vect/fast-math-vect-complex-3.c c65bc588e25788f024b903470f9f0398 gcc/testsuite/gcc.dg/vect/fast-math-vect-pow-1.c *************** d82da6025b4784f51aeb5d62afe99ea2 gcc/te *** 21900,21905 **** --- 21994,22002 ---- 0f1194bea632e9e9ccfab90e11567962 gcc/testsuite/gcc.dg/vect/pr40542.c d27423fddbfcc722a6601263a6248768 gcc/testsuite/gcc.dg/vect/pr41956.c 07589dd5124695bbb83a9add6f26a26f gcc/testsuite/gcc.dg/vect/pr42193.c + 7ee2266e3554bd317dfc4e15ae571723 gcc/testsuite/gcc.dg/vect/pr42395.c + 692df87c12a2412652eba4e52cc994df gcc/testsuite/gcc.dg/vect/pr42604.c + 1a5049da121d8706bebf88eb2b005a26 gcc/testsuite/gcc.dg/vect/pr42709.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 *************** cef7070b381518da6b1a5af1d304f9f6 gcc/te *** 22251,22256 **** --- 22348,22354 ---- 3a3971b57d9b9c24f86e7ec58832e1cc gcc/testsuite/gcc.dg/vla-10.c 91041ed42dd5112d38357e620a914769 gcc/testsuite/gcc.dg/vla-11.c 3e1ba4e8c65af4f1d7b139f51191b956 gcc/testsuite/gcc.dg/vla-2.c + c6b6b5b7a5df399219bd5615e8fd8a97 gcc/testsuite/gcc.dg/vla-22.c 6da7e407ab569942e7bcc48db1e5e9a0 gcc/testsuite/gcc.dg/vla-3.c 06a138705cfcbdfc173c84f5ca7cd50b gcc/testsuite/gcc.dg/vla-4.c 0bfc65e6b7101240c2beb06569756f44 gcc/testsuite/gcc.dg/vla-5.c *************** ba299e0b7ee3d33354b1c6dbdf6301c2 gcc/te *** 22991,23007 **** ee0391369f79121b4ce4f67b01c08e35 gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c ae5fbabdcdc7bd92bb092b7a9e21eeec gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c 1c6df532cf568f4c6b5eee8f891c7c77 gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c ! 075cdb655d9fd3b1db02ad90496e6ba3 gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c ! b0b723e42a9a0e7e545c06baf74bf743 gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c ! 68777c1efd62d31ff4be8347c042453e gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c ! 7e77c2450be9786d3d619e155489bfbc gcc/testsuite/gcc.target/arm/neon/vget_lows16.c ! 8cba7dd3ba22f6f6fa0b2055bc325b6c gcc/testsuite/gcc.target/arm/neon/vget_lows32.c ! df118e2dc03d3f63e1a29c67346a2730 gcc/testsuite/gcc.target/arm/neon/vget_lows64.c ! 096a8b460ad05381340759faea795eb5 gcc/testsuite/gcc.target/arm/neon/vget_lows8.c ! 27da69ac93a0ff2ef19cc55d4a313306 gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c ! 7ff1629bec09e36b93052b6fe397088e gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c ! 55033d9fb2eeae0664366d07c33844c2 gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c ! eb55805bf9f1c6feb4d7f2dc5823b5e9 gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c cef4cb9c1874456c91511c9e88571349 gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c 9852aa4eb5c4f9c400b58a86057174fd gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c a2de14d456d1e27e7eda53761e8fa0b4 gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c --- 23089,23105 ---- ee0391369f79121b4ce4f67b01c08e35 gcc/testsuite/gcc.target/arm/neon/vget_laneu32.c ae5fbabdcdc7bd92bb092b7a9e21eeec gcc/testsuite/gcc.target/arm/neon/vget_laneu64.c 1c6df532cf568f4c6b5eee8f891c7c77 gcc/testsuite/gcc.target/arm/neon/vget_laneu8.c ! 3233c78a3c971ad0d129a492a4595427 gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c ! 922a44c86d747ba8fd7de3757690eda2 gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c ! 605b700f2150b08df25331ec940451a9 gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c ! d6126400ac9e87018a8160481560e33b gcc/testsuite/gcc.target/arm/neon/vget_lows16.c ! f6ba75e13d45a5171b9a18f79b320373 gcc/testsuite/gcc.target/arm/neon/vget_lows32.c ! 22a3f45196fbf80158761c74992010f5 gcc/testsuite/gcc.target/arm/neon/vget_lows64.c ! 995c200fc313094dec4f9d8e0b954103 gcc/testsuite/gcc.target/arm/neon/vget_lows8.c ! 638b60c9816a9dceca00da54d0adf901 gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c ! 775c48dd4f6ae7f46ede57e25b27ede6 gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c ! 76d27a84e86f7b6b87efdf8da343c8e9 gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c ! 2d85744db0ab3ed556015de354bcf4eb gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c cef4cb9c1874456c91511c9e88571349 gcc/testsuite/gcc.target/arm/neon/vhaddQs16.c 9852aa4eb5c4f9c400b58a86057174fd gcc/testsuite/gcc.target/arm/neon/vhaddQs32.c a2de14d456d1e27e7eda53761e8fa0b4 gcc/testsuite/gcc.target/arm/neon/vhaddQs8.c *************** f5aae6ed809bbb69a04b22639bbc2cbe gcc/te *** 24390,24400 **** 4cd9a1c1a55e012b64ec72ebf2b8a6ad gcc/testsuite/gcc.target/arm/neon/vzipu16.c abcf772be91151e5846e40366a1498e6 gcc/testsuite/gcc.target/arm/neon/vzipu32.c 635f267a842af0b8413c7d1f2c6752d2 gcc/testsuite/gcc.target/arm/neon/vzipu8.c 3143560976572191d8bba6ba78a45aa6 gcc/testsuite/gcc.target/arm/register-variables.c 15bccf64362edfe888645335ca60a21a gcc/testsuite/gcc.target/arm/scd42-1.c 22b6d4635b71bf03bd31344c57b987bd gcc/testsuite/gcc.target/arm/scd42-2.c 7a6d42192695bb35963980b35c67472e gcc/testsuite/gcc.target/arm/scd42-3.c ! d57ec17f8453bfe1f055a770a6b98ea2 gcc/testsuite/gcc.target/arm/sibcall-1.c 8b6472ce0a5365d1c1a8e1f8d6e00cdb gcc/testsuite/gcc.target/arm/stack-corruption.c 152321b1bfa07e69c572a0ca8573c015 gcc/testsuite/gcc.target/arm/symbian1.c a2a9b9135252a63f30ae15393ececf8f gcc/testsuite/gcc.target/arm/symbian2.c --- 24488,24499 ---- 4cd9a1c1a55e012b64ec72ebf2b8a6ad gcc/testsuite/gcc.target/arm/neon/vzipu16.c abcf772be91151e5846e40366a1498e6 gcc/testsuite/gcc.target/arm/neon/vzipu32.c 635f267a842af0b8413c7d1f2c6752d2 gcc/testsuite/gcc.target/arm/neon/vzipu8.c + 7faa3087ac299a608dfe40680d9d7d8e gcc/testsuite/gcc.target/arm/pr40887.c 3143560976572191d8bba6ba78a45aa6 gcc/testsuite/gcc.target/arm/register-variables.c 15bccf64362edfe888645335ca60a21a gcc/testsuite/gcc.target/arm/scd42-1.c 22b6d4635b71bf03bd31344c57b987bd gcc/testsuite/gcc.target/arm/scd42-2.c 7a6d42192695bb35963980b35c67472e gcc/testsuite/gcc.target/arm/scd42-3.c ! 4cbf78614d6806fb564e8277584708d5 gcc/testsuite/gcc.target/arm/sibcall-1.c 8b6472ce0a5365d1c1a8e1f8d6e00cdb gcc/testsuite/gcc.target/arm/stack-corruption.c 152321b1bfa07e69c572a0ca8573c015 gcc/testsuite/gcc.target/arm/symbian1.c a2a9b9135252a63f30ae15393ececf8f gcc/testsuite/gcc.target/arm/symbian2.c *************** a2a9b9135252a63f30ae15393ececf8f gcc/te *** 24402,24407 **** --- 24501,24507 ---- 6348d8c419a160922fcdffc252546f1f gcc/testsuite/gcc.target/arm/symbian4.c a7b483d7dfa030106153baa28a7406da gcc/testsuite/gcc.target/arm/symbian5.c 40ace8f9e25a205a8df50efca059bf90 gcc/testsuite/gcc.target/arm/synchronize.c + e09b382ddb07b1dc463602c0627084df gcc/testsuite/gcc.target/arm/thumb2-cbnz.c dd7bfde900d68546e1d3dd468f37370b gcc/testsuite/gcc.target/arm/va_list.c d6bcedd6c4dff9dc5fd06174695e70a9 gcc/testsuite/gcc.target/arm/vfp-1.c a5ae6ce832244f839b2a2d1c4b66196a gcc/testsuite/gcc.target/avr/avr.exp *************** a10441579d2b177bca2939688f1d171f gcc/te *** 25058,25064 **** 371f18813dae88e704517a2270da2fa7 gcc/testsuite/gcc.target/i386/call-1.c 23b2a9c534988bae4d3d9b6eb90cec09 gcc/testsuite/gcc.target/i386/cleanup-1.c 0b3d7c8dea2bff98d1d6a2893b499fc3 gcc/testsuite/gcc.target/i386/cleanup-2.c ! 6a9042e2e8ca7fc0db256675d3ffb045 gcc/testsuite/gcc.target/i386/clobbers.c 538ab6e8a06c514c724312c46aa4c439 gcc/testsuite/gcc.target/i386/cmov1.c 86cfb515b99e6eea4c48ca1ca4343c48 gcc/testsuite/gcc.target/i386/cmov2.c 0e485e17229df79f475b858df9c6e67e gcc/testsuite/gcc.target/i386/cmov3.c --- 25158,25164 ---- 371f18813dae88e704517a2270da2fa7 gcc/testsuite/gcc.target/i386/call-1.c 23b2a9c534988bae4d3d9b6eb90cec09 gcc/testsuite/gcc.target/i386/cleanup-1.c 0b3d7c8dea2bff98d1d6a2893b499fc3 gcc/testsuite/gcc.target/i386/cleanup-2.c ! b135d11a6585be7ce7c1a705a1592d1c gcc/testsuite/gcc.target/i386/clobbers.c 538ab6e8a06c514c724312c46aa4c439 gcc/testsuite/gcc.target/i386/cmov1.c 86cfb515b99e6eea4c48ca1ca4343c48 gcc/testsuite/gcc.target/i386/cmov2.c 0e485e17229df79f475b858df9c6e67e gcc/testsuite/gcc.target/i386/cmov3.c *************** a3368b0415f9d03e43b203c89a2e8980 gcc/te *** 25357,25362 **** --- 25457,25470 ---- 2a7f29e3fb46a16f23b2e683c0d1bee5 gcc/testsuite/gcc.target/i386/pr42542-3.c 761a94219c4b6801b40876cc2df724dc gcc/testsuite/gcc.target/i386/pr42542-3a.c 831ac40c091f8fecabc1e04f1c749092 gcc/testsuite/gcc.target/i386/pr42549.c + 5ba8800e6255e077d7c5f9159a73bb93 gcc/testsuite/gcc.target/i386/pr42881.c + c91c6015a1130478e24fe506bc452e64 gcc/testsuite/gcc.target/i386/pr42891.c + 4c2109921be5d78814d378b4018cfca2 gcc/testsuite/gcc.target/i386/pr43107.c + f959f9b7f68ec9300176ea5f3b5b723a gcc/testsuite/gcc.target/i386/pr43524.c + 1066419aa0129e03db1a00505876de93 gcc/testsuite/gcc.target/i386/pr43528.c + 5635dcc46744c1f49edb4c954be65a2a gcc/testsuite/gcc.target/i386/pr43638.c + d33e784836ddea334b7dbd70a03bd489 gcc/testsuite/gcc.target/i386/pr43662.c + 5fc034f7335e1d13da593214c69166d4 gcc/testsuite/gcc.target/i386/pr43668.c 5e93a2c631ad41e334cfdad124bfff8e gcc/testsuite/gcc.target/i386/pr9771-1.c c605ce6b9a51e90fdc02a1a65c4b5130 gcc/testsuite/gcc.target/i386/push-1.c 267203167ae369a7a0f5d3c309117f35 gcc/testsuite/gcc.target/i386/quad-sse.c *************** bb5f5f530e621748748879b844d09373 gcc/te *** 26339,26346 **** 43703aa20d2895ab14f1eee67daee087 gcc/testsuite/gcc.target/powerpc/ppc-mov-1.c 8296a3d02aa27f1b6b67df7b3cf793d6 gcc/testsuite/gcc.target/powerpc/ppc-negeq0-1.c 8222165153ab63c75f6e7fcaa10dd619 gcc/testsuite/gcc.target/powerpc/ppc-paired.c ! 60247af3c6943d4fb137e1f24709be0e gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c ! 434d06e19d6a4ad4f09b2583453ad053 gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c 74c8a87249145d84fb45eaaaee7aeddf gcc/testsuite/gcc.target/powerpc/ppc-spe.c 2a83a8e04d88e2928783f0d1382fd50d gcc/testsuite/gcc.target/powerpc/ppc-spe64-1.c 4d0ff9d9a35313743bd453bd56614c85 gcc/testsuite/gcc.target/powerpc/ppc-stackalign-1.c --- 26447,26454 ---- 43703aa20d2895ab14f1eee67daee087 gcc/testsuite/gcc.target/powerpc/ppc-mov-1.c 8296a3d02aa27f1b6b67df7b3cf793d6 gcc/testsuite/gcc.target/powerpc/ppc-negeq0-1.c 8222165153ab63c75f6e7fcaa10dd619 gcc/testsuite/gcc.target/powerpc/ppc-paired.c ! 2d32b04abd9a6df446aaf13fc6a4e1aa gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c ! 837869c65f77e63fbf7e737e15d7859d gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c 74c8a87249145d84fb45eaaaee7aeddf gcc/testsuite/gcc.target/powerpc/ppc-spe.c 2a83a8e04d88e2928783f0d1382fd50d gcc/testsuite/gcc.target/powerpc/ppc-spe64-1.c 4d0ff9d9a35313743bd453bd56614c85 gcc/testsuite/gcc.target/powerpc/ppc-stackalign-1.c *************** e9e2200b0b1b2ee975a929b593283ffc gcc/te *** 26398,26403 **** --- 26506,26512 ---- f9de3c4e9d9e8c3a707e1f51e48901b6 gcc/testsuite/gcc.target/s390/return-addr1.c 5368e8759352b798ae1db6bc79919aa2 gcc/testsuite/gcc.target/s390/return-addr2.c 80bd55ddffcf7304645d9bfce0860b74 gcc/testsuite/gcc.target/s390/s390.exp + 3a9ba61f8844739d1b5989c7c7e2b6c1 gcc/testsuite/gcc.target/s390/stackcheck1.c 201a36e4a6548d10d83352d305b4284a gcc/testsuite/gcc.target/s390/tf_to_di-1.c f475a011a6a790c75ba6388b234832d6 gcc/testsuite/gcc.target/sh/20080410-1.c 6e31e3d440ca307def004c1a6d5b9b65 gcc/testsuite/gcc.target/sh/pr21255-1.c *************** f475a011a6a790c75ba6388b234832d6 gcc/te *** 26405,26410 **** --- 26514,26520 ---- 0034abb329a3af51c7979828ca0dea1e gcc/testsuite/gcc.target/sh/pr21255-2-ml.c 1dafc074e32f7f4500b329fda15b704f gcc/testsuite/gcc.target/sh/pr21255-3.c 0d4dde217cb36efaf268d58522a8a42f gcc/testsuite/gcc.target/sh/pr21255-4.c + 5911dbde04a8e87e622e5e8ae38eb14a gcc/testsuite/gcc.target/sh/pr43417.c dadf2783f39a6e7573222cafcc2dee03 gcc/testsuite/gcc.target/sh/sh-relax-vxworks.c e21f6ad0f71c5acbd58d0b5dc9016512 gcc/testsuite/gcc.target/sh/sh-relax.c 7a1a030ce7dcdbc892dd4f66b1e1aea7 gcc/testsuite/gcc.target/sh/sh.exp *************** a53507d2fc82cfb71cc72c7ec12920cb gcc/te *** 26882,26892 **** 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 c246da22001f26a4ed16d193e775d0e8 gcc/testsuite/gfortran.dg/alloc_comp_basics_2.f90 8b7900064da86d65153abf5f6284186c gcc/testsuite/gfortran.dg/alloc_comp_basics_3.f90 eb52efb9c3923dcb41ceb87b3edcc8a4 gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90 788f2da1f3dbbf67dd75213ea950ca58 gcc/testsuite/gfortran.dg/alloc_comp_basics_5.f90 1381784dd87ccc9f7b1fbd7ac17cf61e gcc/testsuite/gfortran.dg/alloc_comp_constraint_1.f90 3c67ddbdd5451204f415b2315005e09e gcc/testsuite/gfortran.dg/alloc_comp_constraint_2.f90 3e06208aa88b798596871aff811fe396 gcc/testsuite/gfortran.dg/alloc_comp_constraint_3.f90 --- 26992,27003 ---- 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 ! 64cc4d6a265ae55059e052e1885d1b60 gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 c246da22001f26a4ed16d193e775d0e8 gcc/testsuite/gfortran.dg/alloc_comp_basics_2.f90 8b7900064da86d65153abf5f6284186c gcc/testsuite/gfortran.dg/alloc_comp_basics_3.f90 eb52efb9c3923dcb41ceb87b3edcc8a4 gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90 788f2da1f3dbbf67dd75213ea950ca58 gcc/testsuite/gfortran.dg/alloc_comp_basics_5.f90 + d4debc2ce0bb1e80387f6234b4a6b4f3 gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 1381784dd87ccc9f7b1fbd7ac17cf61e gcc/testsuite/gfortran.dg/alloc_comp_constraint_1.f90 3c67ddbdd5451204f415b2315005e09e gcc/testsuite/gfortran.dg/alloc_comp_constraint_2.f90 3e06208aa88b798596871aff811fe396 gcc/testsuite/gfortran.dg/alloc_comp_constraint_3.f90 *************** d75b0075c8c6384eac9f0e38dc4e226f gcc/te *** 26987,26992 **** --- 27098,27104 ---- 106ae15aea322aec53f8eee6bd9ab607 gcc/testsuite/gfortran.dg/array_constructor_30.f03 9556e61bd2895f28168a9c53a5a5f128 gcc/testsuite/gfortran.dg/array_constructor_31.f90 2cee9fb4f8702771f983d4b5e9ae6311 gcc/testsuite/gfortran.dg/array_constructor_32.f90 + f1f9f0cb02d6f65f6defd4f55db09f8d gcc/testsuite/gfortran.dg/array_constructor_35.f90 6b96d70766eaf58b5853527d5eb75dce gcc/testsuite/gfortran.dg/array_constructor_4.f90 9918ac77cf760a3800e94da773f0a74b gcc/testsuite/gfortran.dg/array_constructor_5.f90 6dc05669b848d267b25c38806e59d51f gcc/testsuite/gfortran.dg/array_constructor_6.f90 *************** aeee08c06705dff28b55c6b1d4768443 gcc/te *** 27214,27219 **** --- 27326,27332 ---- 8401a3b6e2b52bcb70ab1fb601b00f0d gcc/testsuite/gfortran.dg/bounds_check_12.f90 6c9bebc4de66a09395065b15142c00dc gcc/testsuite/gfortran.dg/bounds_check_13.f c188ffa97e40e04c6b81be57e2d1d86e gcc/testsuite/gfortran.dg/bounds_check_14.f90 + b1da43cac61fda6e983110b863ca3ca9 gcc/testsuite/gfortran.dg/bounds_check_15.f90 b890668874e1bc07a00cd706581c6fd1 gcc/testsuite/gfortran.dg/bounds_check_2.f 1ff91e96da26ef6e7839e53e2b71499d gcc/testsuite/gfortran.dg/bounds_check_3.f90 fdf70cf896ed53793a7e035732548166 gcc/testsuite/gfortran.dg/bounds_check_4.f90 *************** dbab7052c49d479a8d2e25e0b571b1d8 gcc/te *** 27250,27255 **** --- 27363,27369 ---- d04db9714722a890fe3f299c043d6607 gcc/testsuite/gfortran.dg/byte_2.f90 64fbd9c1485a21aef4a81ea5e8c59287 gcc/testsuite/gfortran.dg/c_assoc.f90 f2e6a128cac71b709ebccc997c97b4bf gcc/testsuite/gfortran.dg/c_assoc_2.f03 + 2b97f1cb4868fd97cb12455cd6c2a56e gcc/testsuite/gfortran.dg/c_assoc_3.f90 1e7649b256bbeeebbd2063422e65deb7 gcc/testsuite/gfortran.dg/c_by_val.c 0eab6a68f39b8a389cf7b5acfbeb63e0 gcc/testsuite/gfortran.dg/c_by_val_1.f 2e01e4009d12269c05b8f480e81cd06d gcc/testsuite/gfortran.dg/c_by_val_2.f90 *************** cd0a3ab144a76832a072cfa80dae7912 gcc/te *** 27319,27324 **** --- 27433,27439 ---- 9edb9613b7adaecb6871dbef347f450c gcc/testsuite/gfortran.dg/c_sizeof_2.f90 ae61c2dcc3bff5189d5648a6564b3745 gcc/testsuite/gfortran.dg/change_symbol_attributes_1.f90 084b5d657975b08c63f7ca7860d6e91b gcc/testsuite/gfortran.dg/char_allocation_1.f90 + 2c7a478d24889d07e00d91954870afaf gcc/testsuite/gfortran.dg/char_array_arg_1.f90 0b276172cbedbe035f11624a6c5e6b3f gcc/testsuite/gfortran.dg/char_array_constructor.f90 185e066559e2a7d59441e6a027cbaf58 gcc/testsuite/gfortran.dg/char_array_constructor_2.f90 17ac1cd1806c8d0ef2c54707891edcb5 gcc/testsuite/gfortran.dg/char_array_constructor_3.f90 *************** adf3e611b5d9dd41324a93faee4fe2c9 gcc/te *** 27498,27503 **** --- 27613,27619 ---- 7eae39e04c6fe82a9390d29f939b2330 gcc/testsuite/gfortran.dg/debug/pr35154-dwarf2.f 81533df4b608df220b1917435d9843ce gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f 8328a769e236eca654b131d1b3fb5076 gcc/testsuite/gfortran.dg/debug/pr37738.f + 788a70497a0a2ddba0abf97330a47c01 gcc/testsuite/gfortran.dg/debug/pr43166.f 311f4c5de7848479e7c29ad08de71190 gcc/testsuite/gfortran.dg/debug/trivial.f 431530310efb9ec01e397a4a411f8e67 gcc/testsuite/gfortran.dg/debug_1.f90 f12fc8f8c675ad90dacda21c47b123cf gcc/testsuite/gfortran.dg/debug_2.f *************** fa7652316a6597ee94b3275a13242a48 gcc/te *** 27529,27534 **** --- 27645,27651 ---- 33b29ccda90f5032a880d8873385d91d gcc/testsuite/gfortran.dg/dependency_21.f90 95f25ebcf96a9eb9c624c8ae2416c964 gcc/testsuite/gfortran.dg/dependency_22.f90 efb4c36b4de4ede0e9f304886513a031 gcc/testsuite/gfortran.dg/dependency_24.f90 + cb036bc9086a4e0d3b1fc2ef995695d7 gcc/testsuite/gfortran.dg/dependency_25.f90 c7a2d160920969b47b80dd51d065e6fd gcc/testsuite/gfortran.dg/dependency_3.f90 4f4c126cfd4ea300067152a5078e8d0c gcc/testsuite/gfortran.dg/dependency_4.f90 bbca43e474853e196b5ef3cebb69a8c3 gcc/testsuite/gfortran.dg/dependency_5.f90 *************** fea18fc8aaa232a79d68ed895d366065 gcc/te *** 27577,27582 **** --- 27694,27700 ---- ea4b46f100a2bfd145edbb489c0084b0 gcc/testsuite/gfortran.dg/direct_io_1.f90 2a1539169ac7a352e0c4d17620d0cc9a gcc/testsuite/gfortran.dg/direct_io_10.f 6189c74cd63d04b06db2b4ec34dbd296 gcc/testsuite/gfortran.dg/direct_io_11.f90 + 0a74880cdc5658a52b7a196aed00c73b gcc/testsuite/gfortran.dg/direct_io_12.f90 7d5421aad200f22bb35816d673b3531b gcc/testsuite/gfortran.dg/direct_io_2.f90 df2f28f9f16982ad455240a03d5df8d9 gcc/testsuite/gfortran.dg/direct_io_3.f90 284b669e1d4a30d12cb5bda22c4025f3 gcc/testsuite/gfortran.dg/direct_io_4.f90 *************** ac6aae447619979ef387642e0e64bbc7 gcc/te *** 27757,27762 **** --- 27875,27881 ---- d6f3f64d5a6dc77e985ad2d5e9428cb2 gcc/testsuite/gfortran.dg/fmt_bz_bn.f c456de37d47b3e258cc162f7989579db gcc/testsuite/gfortran.dg/fmt_bz_bn_err.f b017df9f92bac8093ea24f861f904231 gcc/testsuite/gfortran.dg/fmt_cache_1.f + e697f5c1b7f1072ed01fa9440c3ec58f gcc/testsuite/gfortran.dg/fmt_cache_2.f d03bfc790f803c45e2d4540b3b702989 gcc/testsuite/gfortran.dg/fmt_colon.f90 946db476ae1e2538fc4280f2d25a651e gcc/testsuite/gfortran.dg/fmt_error.f90 4007c20cb88f7766c44cda5e2164f46e gcc/testsuite/gfortran.dg/fmt_error_2.f90 *************** a15b12faedf2d4e35bb0b127937cac1a gcc/te *** 27815,27820 **** --- 27934,27940 ---- 6815b060b25ce51dec8610f3ce13f617 gcc/testsuite/gfortran.dg/fseek.f90 6a20548204fde239f2c45566a3d9c88a gcc/testsuite/gfortran.dg/ftell_1.f90 eb82184182bcdd325ab5dd89b44c8c11 gcc/testsuite/gfortran.dg/ftell_2.f90 + 793a172dfd693908e40910db8edfb653 gcc/testsuite/gfortran.dg/ftell_3.f90 eafbd5ff2448fd48e92bb178d4df571f gcc/testsuite/gfortran.dg/func_assign.f90 333497b1f9bafabd91fca257ecdde17b gcc/testsuite/gfortran.dg/func_assign_2.f90 204ffc7a69df2edfcaabe11c98fdfa4a gcc/testsuite/gfortran.dg/func_decl_1.f90 *************** db7fb41cad42f0573d62d9d599f1cff7 gcc/te *** 27829,27834 **** --- 27949,27955 ---- 709719590ee0f3a1f7e5152821123ab2 gcc/testsuite/gfortran.dg/func_result_2.f90 0b800d0ac9052e8fe8ea440fe9082c6f gcc/testsuite/gfortran.dg/func_result_3.f90 34d350905f7a86c8c4527368e0461951 gcc/testsuite/gfortran.dg/func_result_4.f90 + 48b9425c261c7d0241c6039112a57d37 gcc/testsuite/gfortran.dg/func_result_5.f90 75de1d42b04733f9d39bd20ca96c739a gcc/testsuite/gfortran.dg/function_charlen_1.f90 862f92f2a2cd3f1ac5d6b633bdb62000 gcc/testsuite/gfortran.dg/function_charlen_2.f90 e32f614d1ecbbe82af488472e50ea93d gcc/testsuite/gfortran.dg/function_charlen_3.f *************** e533f9c044665f6320f5108619bd9bed gcc/te *** 27994,27999 **** --- 28115,28121 ---- 2d040d27b2a196f48ec6c022370e818b gcc/testsuite/gfortran.dg/generic_17.f90 f140925d3de40557f56b41a0c7de46fb gcc/testsuite/gfortran.dg/generic_18.f90 676fac5933b9a694386c6cae95665706 gcc/testsuite/gfortran.dg/generic_2.f90 + a6a06f68e84901e87d399e06cbe31d9c gcc/testsuite/gfortran.dg/generic_21.f90 8d379f7e0d1940c0cfc28f4cc608748f gcc/testsuite/gfortran.dg/generic_3.f90 1cc8484a753fe6ce0c1d75574116dd81 gcc/testsuite/gfortran.dg/generic_4.f90 da3abeef4e550d09043577d515f97239 gcc/testsuite/gfortran.dg/generic_5.f90 *************** d851335563e6c458581b274252f30672 gcc/te *** 28096,28106 **** b4570608c9f7bf1bf83b19629ce884db gcc/testsuite/gfortran.dg/gomp/pr40878-1.f90 4359c79fda5533d97ee157c4b047f274 gcc/testsuite/gfortran.dg/gomp/pr40878-2.f90 f3677d31dd1f67614d77de630d5f14c3 gcc/testsuite/gfortran.dg/gomp/pr41344.f a0169f3f7b23f97b379a44b2968ddb97 gcc/testsuite/gfortran.dg/gomp/reduction1.f90 02484261b0434dbaf2709c34db58cd4d gcc/testsuite/gfortran.dg/gomp/reduction2.f90 cf9706c950168b12fedcd8bec1221dd2 gcc/testsuite/gfortran.dg/gomp/reduction3.f90 d3619d026ab9456f87869aa3853e4407 gcc/testsuite/gfortran.dg/gomp/sharing-1.f90 ! 47a88c356f9e03cfe4ee220a7f370954 gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 cf0d844c3c09ea513672a529c792e9a2 gcc/testsuite/gfortran.dg/gomp/sharing-3.f90 41759f5578782a6f4ae3601bff797650 gcc/testsuite/gfortran.dg/gomp/workshare1.f90 361bf8573acec01a7db297dcb95d5da7 gcc/testsuite/gfortran.dg/goto_1.f --- 28218,28230 ---- b4570608c9f7bf1bf83b19629ce884db gcc/testsuite/gfortran.dg/gomp/pr40878-1.f90 4359c79fda5533d97ee157c4b047f274 gcc/testsuite/gfortran.dg/gomp/pr40878-2.f90 f3677d31dd1f67614d77de630d5f14c3 gcc/testsuite/gfortran.dg/gomp/pr41344.f + 64ec23cbb777b2296f56ac2b3b8024fa gcc/testsuite/gfortran.dg/gomp/pr43337.f90 + 1d6f79f130df09d550010b1d0daa490c gcc/testsuite/gfortran.dg/gomp/pr43836.f90 a0169f3f7b23f97b379a44b2968ddb97 gcc/testsuite/gfortran.dg/gomp/reduction1.f90 02484261b0434dbaf2709c34db58cd4d gcc/testsuite/gfortran.dg/gomp/reduction2.f90 cf9706c950168b12fedcd8bec1221dd2 gcc/testsuite/gfortran.dg/gomp/reduction3.f90 d3619d026ab9456f87869aa3853e4407 gcc/testsuite/gfortran.dg/gomp/sharing-1.f90 ! 0225b461902c034537f77db022b17f11 gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 cf0d844c3c09ea513672a529c792e9a2 gcc/testsuite/gfortran.dg/gomp/sharing-3.f90 41759f5578782a6f4ae3601bff797650 gcc/testsuite/gfortran.dg/gomp/workshare1.f90 361bf8573acec01a7db297dcb95d5da7 gcc/testsuite/gfortran.dg/goto_1.f *************** fbdf3dbc8604bd48c410cc6c2ac05aee gcc/te *** 28232,28237 **** --- 28356,28362 ---- 39b40793ece3e8c584665b0dc674ff07 gcc/testsuite/gfortran.dg/inquire_8.f90 efbda6f37b4ce44bd83cde96c335e73e gcc/testsuite/gfortran.dg/inquire_9.f90 1724a18e756515a495e846a6b7144795 gcc/testsuite/gfortran.dg/inquire_iolength.f90 + 6d6df1d812521213ca8cfc9a6026c9da gcc/testsuite/gfortran.dg/inquire_size.f90 26f75fabfd9689299a812eacc921b3e0 gcc/testsuite/gfortran.dg/int_1.f90 399c90c369716c5a69e3f36aaaeef706 gcc/testsuite/gfortran.dg/int_2.f90 1c33ddb023260200cdcf3434b09db9b0 gcc/testsuite/gfortran.dg/int_3.f90 *************** d46f14e4ab6ce781da9c2b85f51d091c gcc/te *** 28269,28274 **** --- 28394,28400 ---- a02639c7ddfc3ac8a4890522be6ba76e gcc/testsuite/gfortran.dg/interface_25.f90 c8d00638b835882a6248c3d8f42ef852 gcc/testsuite/gfortran.dg/interface_26.f90 d455318495ad0a749698b74f8385c513 gcc/testsuite/gfortran.dg/interface_3.f90 + 483fa5129fd05ecc281511dd6685dc93 gcc/testsuite/gfortran.dg/interface_31.f90 0e508bb7234a015b757691abc2bdb5a8 gcc/testsuite/gfortran.dg/interface_4.f90 0977bc2fe97d55af2293f6d4a238b050 gcc/testsuite/gfortran.dg/interface_5.f90 4e545ee9122a92e3c0825ae66963fed6 gcc/testsuite/gfortran.dg/interface_6.f90 *************** e797a26594e33f4316a85af1fe223cbc gcc/te *** 28281,28295 **** --- 28407,28424 ---- ed443d7313d79e7dc7f7680d21495138 gcc/testsuite/gfortran.dg/interface_assignment_1.f90 140ed5423a6b95947ddcab6df986bee7 gcc/testsuite/gfortran.dg/interface_assignment_2.f90 8b6cb482ddbbf7ff4bc36b11b4fab576 gcc/testsuite/gfortran.dg/interface_assignment_3.f90 + c67b7108639508aaed8d0f3c6e077108 gcc/testsuite/gfortran.dg/interface_assignment_5.f90 06845390e062f46d6319602644586136 gcc/testsuite/gfortran.dg/interface_derived_type_1.f90 7b9579edb84ad564f8dc9cc9e523577a gcc/testsuite/gfortran.dg/interface_proc_end.f90 a759616c63f4308f80df71d84f7fb337 gcc/testsuite/gfortran.dg/internal_dummy_1.f90 d35205d170172e3a3f55fd933b318bcc gcc/testsuite/gfortran.dg/internal_io_unf.f90 1b1af0edd2d2d4eaa41d753d4e885e15 gcc/testsuite/gfortran.dg/internal_pack_1.f90 + c706de6b3be765b3f4a39f039c5782d5 gcc/testsuite/gfortran.dg/internal_pack_10.f90 71ffca46dbef72f72be192371fcbfcc5 gcc/testsuite/gfortran.dg/internal_pack_2.f90 bd68d54ca4cd7f67cf7d07a390db2d1f gcc/testsuite/gfortran.dg/internal_pack_3.f90 9517bf5fc79bc0adea803a2fd2af75d0 gcc/testsuite/gfortran.dg/internal_pack_4.f90 907f47c79c6d8cdc3107f21eeeb9d154 gcc/testsuite/gfortran.dg/internal_pack_5.f90 + 4efd94c7484516826eed1bb7b61dbed6 gcc/testsuite/gfortran.dg/internal_pack_8.f90 f83b1bf4d5da4b9b222cbb323f92f831 gcc/testsuite/gfortran.dg/internal_readwrite_1.f90 8bf8dab685dfc8db514b460e22648f80 gcc/testsuite/gfortran.dg/internal_readwrite_2.f90 412ffcd6efa4d5022bfba9b386ae1592 gcc/testsuite/gfortran.dg/internal_references_1.f90 *************** d8ef5ca9d482b4ca40a7de0da540400c gcc/te *** 28511,28516 **** --- 28640,28646 ---- b3b3d333036bde30b1b439ec93f4fc9d gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90 4dcc20e7ac989aa6443735027757d9fd gcc/testsuite/gfortran.dg/module_read_1.f90 cf2300e7ab00c0bd6d9a267c4cb4db40 gcc/testsuite/gfortran.dg/module_widestring_1.f90 + 276dd21d8e96890409797046a94803db gcc/testsuite/gfortran.dg/module_write_1.f90 e2d7817fb979c570de1d1ec245d73737 gcc/testsuite/gfortran.dg/modulo_1.f90 f4df42c36841a7e731883e9a6a7f0b38 gcc/testsuite/gfortran.dg/move_alloc.f90 2b973171af9e682f87d70357cf19400d gcc/testsuite/gfortran.dg/multiple_allocation_1.f90 *************** f99bf13652ba65c36fdb37d304dcf099 gcc/te *** 28542,28549 **** 2b1bc85637b289257928ac29b4c9a0a5 gcc/testsuite/gfortran.dg/namelist_24.f90 a2ad9319cf9ce9e70a5b98ecbdb4d741 gcc/testsuite/gfortran.dg/namelist_25.f90 bfa6cc66cd4ac2eb9f930b4bdbc05baa gcc/testsuite/gfortran.dg/namelist_26.f90 ! a10908f12e9a929f61cae6708488423d gcc/testsuite/gfortran.dg/namelist_27.f90 ! 9b1342780d90a93f3a69e5d777cf8c9c gcc/testsuite/gfortran.dg/namelist_28.f90 08614cfba5d121bbfc836b9f53500b33 gcc/testsuite/gfortran.dg/namelist_29.f90 1dfc7b131bae9468faca33bcea3ec9bb gcc/testsuite/gfortran.dg/namelist_3.f90 1f1b749b1b460d9d7a513636b0ecb306 gcc/testsuite/gfortran.dg/namelist_30.f90 --- 28672,28679 ---- 2b1bc85637b289257928ac29b4c9a0a5 gcc/testsuite/gfortran.dg/namelist_24.f90 a2ad9319cf9ce9e70a5b98ecbdb4d741 gcc/testsuite/gfortran.dg/namelist_25.f90 bfa6cc66cd4ac2eb9f930b4bdbc05baa gcc/testsuite/gfortran.dg/namelist_26.f90 ! 7f3c6cf58fde83281f706f760249a63b gcc/testsuite/gfortran.dg/namelist_27.f90 ! aae873d49ae8dd1936f5abcd8ae16aa6 gcc/testsuite/gfortran.dg/namelist_28.f90 08614cfba5d121bbfc836b9f53500b33 gcc/testsuite/gfortran.dg/namelist_29.f90 1dfc7b131bae9468faca33bcea3ec9bb gcc/testsuite/gfortran.dg/namelist_3.f90 1f1b749b1b460d9d7a513636b0ecb306 gcc/testsuite/gfortran.dg/namelist_30.f90 *************** f0d6527105879f6c4ca2e3ac76d32982 gcc/te *** 28577,28582 **** --- 28707,28715 ---- 7ea2b09312b175771248a7d11ab072f8 gcc/testsuite/gfortran.dg/namelist_56.f90 7cfc8a3cb206eea2addd967abf013624 gcc/testsuite/gfortran.dg/namelist_57.f90 26decd8a6fe821fa895e83e4777a43f6 gcc/testsuite/gfortran.dg/namelist_58.f90 + bab2531b6270e9d665dd73e2155c1752 gcc/testsuite/gfortran.dg/namelist_59.f90 + 7a932f8d1201cefbdd2545a21119e539 gcc/testsuite/gfortran.dg/namelist_60.f90 + 90f9e0225b27df1270a47a96b26e0900 gcc/testsuite/gfortran.dg/namelist_61.f90 138069b06bed4dd2d6e20acb12f17f7c gcc/testsuite/gfortran.dg/namelist_assumed_char.f90 73de646ecd69b0bf965fecc1ccd64052 gcc/testsuite/gfortran.dg/namelist_blockdata.f 83887fdeb898325d2669dfdf819782d4 gcc/testsuite/gfortran.dg/namelist_char_only.f90 *************** f4df3c0170a4515e50cb92f9b4808015 gcc/te *** 28669,28674 **** --- 28802,28808 ---- 743f4035acb3ea39dabb3983484b1186 gcc/testsuite/gfortran.dg/parameter_array_init_4.f90 eae00dc423498aa8440c26545e8a81fa gcc/testsuite/gfortran.dg/parameter_array_init_5.f90 32c99065e26b34dfb314fdea08f82fe4 gcc/testsuite/gfortran.dg/parameter_array_ref_1.f90 + 302ab3504a83b13e3ec7d1096f84ae36 gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 ab80e6c2e5a1e29803d4f759d9d401e0 gcc/testsuite/gfortran.dg/parameter_array_section_1.f90 24a45a5ae4e568e98331d7c7156527a6 gcc/testsuite/gfortran.dg/parameter_array_section_2.f90 20f5555ad18fb82bbee124f3cd547f33 gcc/testsuite/gfortran.dg/parameter_save.f90 *************** b9e2c750274471b80970250d22b1f7dd gcc/te *** 28814,28819 **** --- 28948,28956 ---- b0352cfde4ae60cc2b0b0f5e8074caec gcc/testsuite/gfortran.dg/pr41347.f90 7474cbf3d33d0f676c86eb8e1c5076a4 gcc/testsuite/gfortran.dg/pr41928.f90 f97bbef31f7ca1230b7b8b18d0f71473 gcc/testsuite/gfortran.dg/pr42166.f90 + 1a4e070f9e54fef158848ff09b92a9d6 gcc/testsuite/gfortran.dg/pr42294.f + 7f250967671ff3b657404ee17aa72a10 gcc/testsuite/gfortran.dg/pr43229.f90 + 0808d46b345e8db382dc37c40a89e446 gcc/testsuite/gfortran.dg/pr43475.f90 6ff99f4b0021f30bee039a61db7cba9d gcc/testsuite/gfortran.dg/predcom-1.f 20a411a7e5a57891297c4c6a96d92009 gcc/testsuite/gfortran.dg/predcom-2.f c1ed4aee35f394f952b49fcdcfc84fba gcc/testsuite/gfortran.dg/present_1.f90 *************** e9e87e079e88e1bdbe28a6f7713a7a67 gcc/te *** 28910,28920 **** --- 29047,29062 ---- b3b504a22f520fe94f43c9da9aedc54a gcc/testsuite/gfortran.dg/read_2.f90 783859be08e76beb597a0c158806efbd gcc/testsuite/gfortran.dg/read_bad_advance.f90 f1368abf78b7377b4233685d8e40b957 gcc/testsuite/gfortran.dg/read_comma.f + 4827186742c74f5e47624b8550b9666f gcc/testsuite/gfortran.dg/read_empty_file.f 3e27975e40574b24f2d11658e4424a86 gcc/testsuite/gfortran.dg/read_eof_1.f90 55ae1e91ca52833304f958cf1b1ec4f2 gcc/testsuite/gfortran.dg/read_eof_2.f90 a4a5193a593a9d92e6ce6e869e36d3b4 gcc/testsuite/gfortran.dg/read_eof_3.f90 83f19f0cf15e901d3aaa73e9b745936b gcc/testsuite/gfortran.dg/read_eof_4.f90 0b62b5ce4f62377ff0bb92414ad376d7 gcc/testsuite/gfortran.dg/read_eof_5.f90 + 4827186742c74f5e47624b8550b9666f gcc/testsuite/gfortran.dg/read_eof_6.f + 56d7784ce0b24a643e868249f2866218 gcc/testsuite/gfortran.dg/read_eof_7.f90 + e6ddc172f0548331f2c0c4184d60163a gcc/testsuite/gfortran.dg/read_eof_8.f90 + 99cc06fefcaa4300337c0e83c574c9a8 gcc/testsuite/gfortran.dg/read_eof_all.f90 9fd36acbf7195e54543d725a79963818 gcc/testsuite/gfortran.dg/read_eor.f90 6bb6bd2bcc0162c46dde6e942732ea49 gcc/testsuite/gfortran.dg/read_float_1.f90 b4a55822ea7fb8465626dd436935352d gcc/testsuite/gfortran.dg/read_logical.f90 *************** b4a55822ea7fb8465626dd436935352d gcc/te *** 28922,28929 **** b1710f95802705e955a4e12129127cae gcc/testsuite/gfortran.dg/read_noadvance.f90 efbee4def2644aa1f06469edc5ca97e7 gcc/testsuite/gfortran.dg/read_repeat.f90 e43d8576af4c51273f2e6b04adce30bd gcc/testsuite/gfortran.dg/read_size_noadvance.f90 f3b42dde0a1bd6f3702be6e6eac82ea9 gcc/testsuite/gfortran.dg/read_x_eor.f90 ! fbf70685a3bc685e9212f0873214843f gcc/testsuite/gfortran.dg/read_x_past.f 8d08753ddb5730d37ee89ea784ae666a gcc/testsuite/gfortran.dg/readwrite_unf_direct_eor_1.f90 7919f7fe5728e532ca7141b09ddd62cd gcc/testsuite/gfortran.dg/real_const_1.f 68f10c8f9f2989d7477294a7adb9b04d gcc/testsuite/gfortran.dg/real_const_2.f90 --- 29064,29072 ---- b1710f95802705e955a4e12129127cae gcc/testsuite/gfortran.dg/read_noadvance.f90 efbee4def2644aa1f06469edc5ca97e7 gcc/testsuite/gfortran.dg/read_repeat.f90 e43d8576af4c51273f2e6b04adce30bd gcc/testsuite/gfortran.dg/read_size_noadvance.f90 + e856ce9862609ab963f808f23453b17b gcc/testsuite/gfortran.dg/read_x_eof.f90 f3b42dde0a1bd6f3702be6e6eac82ea9 gcc/testsuite/gfortran.dg/read_x_eor.f90 ! 609a92aa69347947cf5d79157289f2e6 gcc/testsuite/gfortran.dg/read_x_past.f 8d08753ddb5730d37ee89ea784ae666a gcc/testsuite/gfortran.dg/readwrite_unf_direct_eor_1.f90 7919f7fe5728e532ca7141b09ddd62cd gcc/testsuite/gfortran.dg/real_const_1.f 68f10c8f9f2989d7477294a7adb9b04d gcc/testsuite/gfortran.dg/real_const_2.f90 *************** be9d963d61c94f5b45d708d79d01cf6b gcc/te *** 29104,29109 **** --- 29247,29253 ---- 85239fd79e7a114b351469cf16cd3313 gcc/testsuite/gfortran.dg/subref_array_pointer_1.f90 c2bd7e7682daec9150e75d2e85fbf8f9 gcc/testsuite/gfortran.dg/subref_array_pointer_2.f90 6649bac79415db2a58d58487a25296a1 gcc/testsuite/gfortran.dg/subref_array_pointer_3.f90 + 4a6795bec109e26b2700f2b774404b08 gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 5d191c8bf3bf27ac01ca56c0ffda9c45 gcc/testsuite/gfortran.dg/substr_1.f90 580288434e9346b5af337ac5b32dbd93 gcc/testsuite/gfortran.dg/substr_2.f 5efd48a9890debf4529a7efb0d892c93 gcc/testsuite/gfortran.dg/substr_3.f *************** cbd160fa487335a0853797f8c2cdb5b4 gcc/te *** 29430,29435 **** --- 29574,29580 ---- 3a4564a9fbeb28a840e68ea186582402 gcc/testsuite/gfortran.fortran-torture/compile/pr36078.f90 08f6bae93db5b11cf15273ca75f49c11 gcc/testsuite/gfortran.fortran-torture/compile/pr37236.f bff697a90a03eff01ad3f51a4d72ee71 gcc/testsuite/gfortran.fortran-torture/compile/pr39937.f + 80e110638bde42fd313d3f9c9aeae6e7 gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90 7602f8cc2d0ebd2bf0bb974069a764e0 gcc/testsuite/gfortran.fortran-torture/compile/shape_reshape.f90 d5ee9d72b3b02f47b393934ca0c89627 gcc/testsuite/gfortran.fortran-torture/compile/stoppause.f90 0be215e4a53f9370c44eaa153bf1ed6e gcc/testsuite/gfortran.fortran-torture/compile/strparm_1.f90 *************** aa816d8f5ef5d24a6e170c281a0e6293 gcc/te *** 29606,29611 **** --- 29751,29757 ---- 07667f24ae28f6d6a2b702f73564e72f gcc/testsuite/gfortran.fortran-torture/execute/pr32140.f90 5c446847c788f3f0940dc6877970d396 gcc/testsuite/gfortran.fortran-torture/execute/pr32604.f90 0277cb8618f5a94496d3d935dccfcba0 gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f + 18d76094e6dbeab187d55c32505d6af4 gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90 78df18b9400c1b2f401164418dc104c0 gcc/testsuite/gfortran.fortran-torture/execute/procarg.f90 54b26651618ba6afa7aae0c3b8994e66 gcc/testsuite/gfortran.fortran-torture/execute/ptr.f90 eae8dc541702830d5c63bf337333c15b gcc/testsuite/gfortran.fortran-torture/execute/random_1.f90 *************** bd812535e6617c5f4dde6719c8748277 gcc/te *** 30034,30039 **** --- 30180,30188 ---- 9b1270e410165ddf9774a615ec835037 gcc/testsuite/gnat.dg/rep_clause1.adb ab0796b373d12c713aeb10168d14ed69 gcc/testsuite/gnat.dg/rep_clause2.adb 879097798e84a55d0876c499122cdd18 gcc/testsuite/gnat.dg/rep_clause2.ads + fa5a9d20428f7e69fd9afabb504a1fc9 gcc/testsuite/gnat.dg/rep_clause5.adb + 46f3ac56081a27e35da2755e49fc4346 gcc/testsuite/gnat.dg/rep_clause5.ads + 843d45d1aea7940fa2fa7298a2450388 gcc/testsuite/gnat.dg/rep_clause5_pkg.ads 09242df2e3a405bf99465bb2edbbad2a gcc/testsuite/gnat.dg/requeue1.adb 77a2deb117bbc1c83d9ac56811a530d4 gcc/testsuite/gnat.dg/return1.adb e8943fb770148780f79076ef64a6a023 gcc/testsuite/gnat.dg/return1.ads *************** c9ee3e5381bc429cfc01a3fc202a2def gcc/te *** 30199,30206 **** dabe82afb4a1d87cfec89a79201e6fa4 gcc/testsuite/gnat.dg/tf_interface_1.adb 2788f52faca4b05138e22d7b94c5580f gcc/testsuite/gnat.dg/tf_interface_1.ads f5e02a34b4286874bd728685770f9dfc gcc/testsuite/gnat.dg/tfren.adb ! 6f5940cfae225c4ef83beee66740aab7 gcc/testsuite/gnat.dg/thin_pointer.adb ! 56de0ae932bf61112bc1c64783b46e4e gcc/testsuite/gnat.dg/thin_pointer.ads 57bd4d412d626255a34311b684278b15 gcc/testsuite/gnat.dg/timing_events.adb 9b44f3b996bb4262650743e829b4eae6 gcc/testsuite/gnat.dg/trampoline1.adb eb48d53172a77a7a54f6cec63e1ea3fe gcc/testsuite/gnat.dg/trampoline2.adb --- 30348,30358 ---- dabe82afb4a1d87cfec89a79201e6fa4 gcc/testsuite/gnat.dg/tf_interface_1.adb 2788f52faca4b05138e22d7b94c5580f gcc/testsuite/gnat.dg/tf_interface_1.ads f5e02a34b4286874bd728685770f9dfc gcc/testsuite/gnat.dg/tfren.adb ! 236c394a332a4c4882111e6e30859802 gcc/testsuite/gnat.dg/thin_pointer1.adb ! 65638c6857c5b88d6c41b18514a5b94d gcc/testsuite/gnat.dg/thin_pointer1.ads ! 78da6c56fea67c92e358fe90e50bce06 gcc/testsuite/gnat.dg/thin_pointer2.adb ! 7dd91b63000a8f6c6b656a7924a78f66 gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb ! fac6bd7a00c7e2373fadf62e98942410 gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads 57bd4d412d626255a34311b684278b15 gcc/testsuite/gnat.dg/timing_events.adb 9b44f3b996bb4262650743e829b4eae6 gcc/testsuite/gnat.dg/trampoline1.adb eb48d53172a77a7a54f6cec63e1ea3fe gcc/testsuite/gnat.dg/trampoline2.adb *************** a2ed7dca9deec7e6ad60bc60383ad8d2 gcc/te *** 30251,30257 **** dcbd7be2fa9b1dde86adfe3316c1a5fe gcc/testsuite/lib/gfortran-dg.exp ef0fa15100fce8dcf1e9e7112fd9b357 gcc/testsuite/lib/gfortran.exp 8b079a0f267bbf49610f8914a77822f3 gcc/testsuite/lib/gnat-dg.exp ! 01eb8157285b75969cc5bf6ea7c6eae7 gcc/testsuite/lib/gnat.exp 0e1023f126aff8542060fbcaeca17b91 gcc/testsuite/lib/mike-g++.exp 8f08659c067bfe72b8fbcfd19980de18 gcc/testsuite/lib/mike-gcc.exp 972ca58db82e5b8442240969761b8315 gcc/testsuite/lib/obj-c++-dg.exp --- 30403,30409 ---- dcbd7be2fa9b1dde86adfe3316c1a5fe gcc/testsuite/lib/gfortran-dg.exp ef0fa15100fce8dcf1e9e7112fd9b357 gcc/testsuite/lib/gfortran.exp 8b079a0f267bbf49610f8914a77822f3 gcc/testsuite/lib/gnat-dg.exp ! baab1a150944b7d0e432a1a6dbe56cc3 gcc/testsuite/lib/gnat.exp 0e1023f126aff8542060fbcaeca17b91 gcc/testsuite/lib/mike-g++.exp 8f08659c067bfe72b8fbcfd19980de18 gcc/testsuite/lib/mike-gcc.exp 972ca58db82e5b8442240969761b8315 gcc/testsuite/lib/obj-c++-dg.exp *************** ac08ec7aa95bbbc5e1fce85e90617833 gcc/te *** 30267,30274 **** 98d6cc3401bd49f0f2cf61a1735aec75 gcc/testsuite/lib/scanrtl.exp 9a908bb507989b82eddfeb9d23c66587 gcc/testsuite/lib/scantree.exp e491de496275e2c1eaa1010c85de53ca gcc/testsuite/lib/target-libpath.exp ! ad5e11f87bc4eabf482e6b0c668f1b2b gcc/testsuite/lib/target-supports-dg.exp ! 4a83380989581fe40719e89b87ca5744 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 --- 30419,30426 ---- 98d6cc3401bd49f0f2cf61a1735aec75 gcc/testsuite/lib/scanrtl.exp 9a908bb507989b82eddfeb9d23c66587 gcc/testsuite/lib/scantree.exp e491de496275e2c1eaa1010c85de53ca gcc/testsuite/lib/target-libpath.exp ! 59df3b9ec08ffe18ebdc57b93fedfc3c gcc/testsuite/lib/target-supports-dg.exp ! 9e6211bb950be9a4ad345ea5bc0096cf 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 *************** ba285401a863e0573f80d25a4ff3cf88 gcc/te *** 30651,30657 **** ff38a68c34552514346653b9991507c6 gcc/testsuite/objc/execute/formal_protocol-6.m 0c611b99a91d28210266c408ff243879 gcc/testsuite/objc/execute/formal_protocol-7.m e35d74e9cbbcb893a957c61358508059 gcc/testsuite/objc/execute/forward-1.m ! 773206c519e759f0b7c1853071ced6cc gcc/testsuite/objc/execute/forward-1.x c1cd0508a9c25c70c9843a0afc4acf95 gcc/testsuite/objc/execute/function-message-1.m 2e32e017fe7de84283b8c9f03661d155 gcc/testsuite/objc/execute/informal_protocol.m c5a1ab4cc050d437968f7cbed4c847ec gcc/testsuite/objc/execute/initialize.m --- 30803,30809 ---- ff38a68c34552514346653b9991507c6 gcc/testsuite/objc/execute/formal_protocol-6.m 0c611b99a91d28210266c408ff243879 gcc/testsuite/objc/execute/formal_protocol-7.m e35d74e9cbbcb893a957c61358508059 gcc/testsuite/objc/execute/forward-1.m ! af8f508775d885c5095860156d19d504 gcc/testsuite/objc/execute/forward-1.x c1cd0508a9c25c70c9843a0afc4acf95 gcc/testsuite/objc/execute/function-message-1.m 2e32e017fe7de84283b8c9f03661d155 gcc/testsuite/objc/execute/informal_protocol.m c5a1ab4cc050d437968f7cbed4c847ec gcc/testsuite/objc/execute/initialize.m *************** a6fac8c4e267216520925ffc8a818611 gcc/ti *** 30692,30698 **** fa7668ab8cb3d9d01bdbdcf20801d64f gcc/timevar.def 0073c65b0f2a11f66fb766036a2d0396 gcc/timevar.h 7a6ea86b42297c6685a61b0a97c6aa26 gcc/tlink.c ! 27b732fd7fe4661804f827864e271aaa gcc/toplev.c a2511344f23b936967e6b054eaa40a99 gcc/toplev.h 5b6fe4ead04a442fb2beef9ac639c5b7 gcc/tracer.c d252f595c3b657e4a95424d5c228a487 gcc/tree-affine.c --- 30844,30850 ---- fa7668ab8cb3d9d01bdbdcf20801d64f gcc/timevar.def 0073c65b0f2a11f66fb766036a2d0396 gcc/timevar.h 7a6ea86b42297c6685a61b0a97c6aa26 gcc/tlink.c ! 3b77ec1073e4b5085a906b0d84f8812e gcc/toplev.c a2511344f23b936967e6b054eaa40a99 gcc/toplev.h 5b6fe4ead04a442fb2beef9ac639c5b7 gcc/tracer.c d252f595c3b657e4a95424d5c228a487 gcc/tree-affine.c *************** a409ef6271e7349a7d1ba26376221b25 gcc/tr *** 30714,30729 **** 05ae630977385569c6c89c3b583627cb gcc/tree-flow-inline.h 24106014d0db14fdc62ebf4926088dc2 gcc/tree-flow.h 9c3d691478b1ee15a910bfb905b9724c gcc/tree-if-conv.c ! 15785115cf286e667c04882798992d6f gcc/tree-inline.c e89ef9f63732856e58241270249cd88f gcc/tree-inline.h 86ec613c676367e4f7d81cd33f3d4b51 gcc/tree-into-ssa.c e61efd034a6f59b8648c99d54659b408 gcc/tree-iterator.c 581451b5f476e14959a949a6586529fb gcc/tree-iterator.h f6e158d40740d258b84622fd976d887e gcc/tree-loop-distribution.c ! ecbe4e3f549a5bdd8ca63719b64402d6 gcc/tree-loop-linear.c 888f9f700a29a2a81ae14cf332e6aa73 gcc/tree-mudflap.c e3ec682d6aed08778baff5f999e2b22a gcc/tree-mudflap.h ! f06374e854c51c58ec02a2dd2c8641d8 gcc/tree-nested.c f4cf37a4d74bb0a896c79e7947f8b9f3 gcc/tree-nomudflap.c 1d859836cf51afd750fdfe06fcb80536 gcc/tree-nrv.c 1d59ce234b2e95f7264f83fd49fd50b1 gcc/tree-object-size.c --- 30866,30881 ---- 05ae630977385569c6c89c3b583627cb gcc/tree-flow-inline.h 24106014d0db14fdc62ebf4926088dc2 gcc/tree-flow.h 9c3d691478b1ee15a910bfb905b9724c gcc/tree-if-conv.c ! ea46504d31095374a021e973eedfae50 gcc/tree-inline.c e89ef9f63732856e58241270249cd88f gcc/tree-inline.h 86ec613c676367e4f7d81cd33f3d4b51 gcc/tree-into-ssa.c e61efd034a6f59b8648c99d54659b408 gcc/tree-iterator.c 581451b5f476e14959a949a6586529fb gcc/tree-iterator.h f6e158d40740d258b84622fd976d887e gcc/tree-loop-distribution.c ! c8107617265fa4e83d11ad1db3766d2c gcc/tree-loop-linear.c 888f9f700a29a2a81ae14cf332e6aa73 gcc/tree-mudflap.c e3ec682d6aed08778baff5f999e2b22a gcc/tree-mudflap.h ! cd669bee5b266ae55a2d3d7aa2d82a79 gcc/tree-nested.c f4cf37a4d74bb0a896c79e7947f8b9f3 gcc/tree-nomudflap.c 1d859836cf51afd750fdfe06fcb80536 gcc/tree-nrv.c 1d59ce234b2e95f7264f83fd49fd50b1 gcc/tree-object-size.c *************** db575b88a4bf8a9ad70130b4b3f30da6 gcc/tr *** 30737,30746 **** 436994a40e27a8032599006a6ccbda72 gcc/tree-profile.c 1acac502469470176cb27083cee2bfd5 gcc/tree-scalar-evolution.c 05c2fe7a7e5ab6511b6ed3df4b2b92dc gcc/tree-scalar-evolution.h ! a71467793efb8ef1c3eb7eda0d654900 gcc/tree-sra.c ! 17fdd9cae8202b75755618dabe59a9de gcc/tree-ssa-address.c 5d55a4f16f35f470b2617de3710dd352 gcc/tree-ssa-alias.c ! ebab544837b9684cc65cddc58bdac9b0 gcc/tree-ssa-ccp.c 35d4beef227ac5e08c4d0b8cef52f68b gcc/tree-ssa-coalesce.c 801c5e9973056ccefbf9257b5d19f30a gcc/tree-ssa-copy.c 2addd634736f8ade3525e6af92a78469 gcc/tree-ssa-copyrename.c --- 30889,30898 ---- 436994a40e27a8032599006a6ccbda72 gcc/tree-profile.c 1acac502469470176cb27083cee2bfd5 gcc/tree-scalar-evolution.c 05c2fe7a7e5ab6511b6ed3df4b2b92dc gcc/tree-scalar-evolution.h ! 1dd683bb45b83eb2eb15b54cb9821fb2 gcc/tree-sra.c ! f93d2d32db5f9a323bdc654719d96f82 gcc/tree-ssa-address.c 5d55a4f16f35f470b2617de3710dd352 gcc/tree-ssa-alias.c ! ebd0c7a42bce4511046e5489e0d78f3b gcc/tree-ssa-ccp.c 35d4beef227ac5e08c4d0b8cef52f68b gcc/tree-ssa-coalesce.c 801c5e9973056ccefbf9257b5d19f30a gcc/tree-ssa-copy.c 2addd634736f8ade3525e6af92a78469 gcc/tree-ssa-copyrename.c *************** a6562ce11cf9cdf6f140c186b991057d gcc/tr *** 30752,30774 **** 36e1b51008629ccf0945ab931de9c07b gcc/tree-ssa-live.c 2d593505d859ddc7fd900dac818186d2 gcc/tree-ssa-live.h 9734f55b7518dbe2c9aec464add72076 gcc/tree-ssa-loop-ch.c ! dce5847171e1b0c287a4d266efb3754e gcc/tree-ssa-loop-im.c ! 93684356f7841216f443d7202784e0bb gcc/tree-ssa-loop-ivcanon.c ! 7a7339fa11c351b1276227cccb41f807 gcc/tree-ssa-loop-ivopts.c 28f15835a4cf86bb6cd27a2beb0e3717 gcc/tree-ssa-loop-manip.c 00bcd745587f4a6ce7c2cb9d5a0171f2 gcc/tree-ssa-loop-niter.c 219c7cef73c3e7dc974da87b3805ef50 gcc/tree-ssa-loop-prefetch.c ceed1bfcc7386d0e82896eb7b73d0247 gcc/tree-ssa-loop-unswitch.c 49bb90cf6d57e8d4d5aa1c181c2f767d gcc/tree-ssa-loop.c 6a8835bbba21f816d1eea042a66fefb8 gcc/tree-ssa-math-opts.c ! 4c60a90890a3ae722baf2d04bdf01f9e gcc/tree-ssa-operands.c 24fc49b7c726323b2e249fb01132d683 gcc/tree-ssa-operands.h 5c471c8182ac31faf8daa0cab1bad55c gcc/tree-ssa-phiopt.c 44a7827fe52e476e5aebb0ea4541c8ab gcc/tree-ssa-phiprop.c ! 11b4f0bc7d018ccd6763948e76a2e53d gcc/tree-ssa-pre.c b3a5cd136577d4d9764860fbb9aa2d70 gcc/tree-ssa-propagate.c 4e03d85d1b53fca9c060b5d626da09fd gcc/tree-ssa-propagate.h ! 4dcc9d7bbf0cda85c5b8bac32f9cef45 gcc/tree-ssa-reassoc.c 14a0b6bb22d8ada345cccf34a4162033 gcc/tree-ssa-sccvn.c 2f5411534286a67f7fc406d70facbe09 gcc/tree-ssa-sccvn.h d1b4126d8f53283460df31db7194b14b gcc/tree-ssa-sink.c --- 30904,30926 ---- 36e1b51008629ccf0945ab931de9c07b gcc/tree-ssa-live.c 2d593505d859ddc7fd900dac818186d2 gcc/tree-ssa-live.h 9734f55b7518dbe2c9aec464add72076 gcc/tree-ssa-loop-ch.c ! b306120551927a23f6339aed8a2b5f3e gcc/tree-ssa-loop-im.c ! 02b5dc92a7f205b6e8b4179875fae7a8 gcc/tree-ssa-loop-ivcanon.c ! b3b5ecef1001e0bba018be4c7f60112b gcc/tree-ssa-loop-ivopts.c 28f15835a4cf86bb6cd27a2beb0e3717 gcc/tree-ssa-loop-manip.c 00bcd745587f4a6ce7c2cb9d5a0171f2 gcc/tree-ssa-loop-niter.c 219c7cef73c3e7dc974da87b3805ef50 gcc/tree-ssa-loop-prefetch.c ceed1bfcc7386d0e82896eb7b73d0247 gcc/tree-ssa-loop-unswitch.c 49bb90cf6d57e8d4d5aa1c181c2f767d gcc/tree-ssa-loop.c 6a8835bbba21f816d1eea042a66fefb8 gcc/tree-ssa-math-opts.c ! 34bfd7fea9aaaefac5e3707d46413a83 gcc/tree-ssa-operands.c 24fc49b7c726323b2e249fb01132d683 gcc/tree-ssa-operands.h 5c471c8182ac31faf8daa0cab1bad55c gcc/tree-ssa-phiopt.c 44a7827fe52e476e5aebb0ea4541c8ab gcc/tree-ssa-phiprop.c ! 06dded0bf7b24127b8411cda66b18428 gcc/tree-ssa-pre.c b3a5cd136577d4d9764860fbb9aa2d70 gcc/tree-ssa-propagate.c 4e03d85d1b53fca9c060b5d626da09fd gcc/tree-ssa-propagate.h ! e110d972b97351bca1a2e2e5b634e712 gcc/tree-ssa-reassoc.c 14a0b6bb22d8ada345cccf34a4162033 gcc/tree-ssa-sccvn.c 2f5411534286a67f7fc406d70facbe09 gcc/tree-ssa-sccvn.h d1b4126d8f53283460df31db7194b14b gcc/tree-ssa-sink.c *************** acd8ec20ec0a9db6415f00c228c998a3 gcc/tr *** 30784,30797 **** 9dc7ea806141e247f0061ebed82e5f57 gcc/tree-stdarg.h d018c1f2e7e00060bd155e8d9a075a9c gcc/tree-switch-conversion.c 0b620ad94e894b3b6b01d8ad07b28cd8 gcc/tree-tailcall.c ! 8b9a411fea3ada550be1075107f1a9f4 gcc/tree-vect-analyze.c b6d73aea616cb17079714ba502599e66 gcc/tree-vect-generic.c e9ea3657041d1e1af4d907315c3bb2a0 gcc/tree-vect-patterns.c e675feb81815d0d7b1a0fbb8db36993a gcc/tree-vect-transform.c 01e02e87728135a58b591cabe4c205e5 gcc/tree-vectorizer.c 1580a3b3f097344f73bdf67a4ec536b2 gcc/tree-vectorizer.h 2ed643370044f0bbae65aa767907811c gcc/tree-vrp.c ! 8b67838685a67853b8606bf576fefb87 gcc/tree.c 8639c6d7afaa9c919825f4a2c32588ab gcc/tree.def 044db7dd0049fc763dd4ad5dc5bb5123 gcc/tree.h 80acfd102fff9a634fb1ddcecd372240 gcc/treestruct.def --- 30936,30949 ---- 9dc7ea806141e247f0061ebed82e5f57 gcc/tree-stdarg.h d018c1f2e7e00060bd155e8d9a075a9c gcc/tree-switch-conversion.c 0b620ad94e894b3b6b01d8ad07b28cd8 gcc/tree-tailcall.c ! e08815ba32294df679d5edc14caa2390 gcc/tree-vect-analyze.c b6d73aea616cb17079714ba502599e66 gcc/tree-vect-generic.c e9ea3657041d1e1af4d907315c3bb2a0 gcc/tree-vect-patterns.c e675feb81815d0d7b1a0fbb8db36993a gcc/tree-vect-transform.c 01e02e87728135a58b591cabe4c205e5 gcc/tree-vectorizer.c 1580a3b3f097344f73bdf67a4ec536b2 gcc/tree-vectorizer.h 2ed643370044f0bbae65aa767907811c gcc/tree-vrp.c ! 4f07ac951a5de26b0297b26ac075422d gcc/tree.c 8639c6d7afaa9c919825f4a2c32588ab gcc/tree.def 044db7dd0049fc763dd4ad5dc5bb5123 gcc/tree.h 80acfd102fff9a634fb1ddcecd372240 gcc/treestruct.def *************** a4c06b5d0ee8f1be4624969690fff2b9 gcc/we *** 30829,30841 **** 42adadee6c316f624c86e3ccfdeee75c gcc/xcoff.h 4bb6c12cfbacc8d214992f0f2f518c35 gcc/xcoffout.c 26455c95210e49d4944e4cb9c55be072 gcc/xcoffout.h ! 9db9ac3846f2362496eab1284d93a277 gnattools/ChangeLog 5c6e51b0ba78687e3e203baf2cb8efee gnattools/Makefile.in a0ff396cebc896665506c2e467585f33 gnattools/configure fee7c8fcbc6994c9cc4cdc0f719cc7cc gnattools/configure.ac 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! 298d728244207201dff0646dd861c743 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 f7d3e7ee65516643f4847560778a30cf include/ansidecl.h 7f56ea1304d016a45770f3989736f181 include/demangle.h --- 30981,30993 ---- 42adadee6c316f624c86e3ccfdeee75c gcc/xcoff.h 4bb6c12cfbacc8d214992f0f2f518c35 gcc/xcoffout.c 26455c95210e49d4944e4cb9c55be072 gcc/xcoffout.h ! 710ae6251db5221dfbb6e9bb0b7896a4 gnattools/ChangeLog 5c6e51b0ba78687e3e203baf2cb8efee gnattools/Makefile.in a0ff396cebc896665506c2e467585f33 gnattools/configure fee7c8fcbc6994c9cc4cdc0f719cc7cc gnattools/configure.ac 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! a83b6788bba12372e74150a153c47ae7 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 f7d3e7ee65516643f4847560778a30cf include/ansidecl.h 7f56ea1304d016a45770f3989736f181 include/demangle.h *************** c665cdb0d6c3bfb5d86841b168a2d1f9 includ *** 30860,30866 **** 0294cecbb1f66d640ccba3a5d862d05b include/xregex2.h 06cee0773295c3ade78d4605550102dc include/xtensa-config.h aded5875c5d5830de6653181e8ced19c install-sh ! 553988bbf9ebc392a476acb2c7498df4 intl/ChangeLog afcc65eba0b481722fcfcb92bae389b2 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION --- 31012,31018 ---- 0294cecbb1f66d640ccba3a5d862d05b include/xregex2.h 06cee0773295c3ade78d4605550102dc include/xtensa-config.h aded5875c5d5830de6653181e8ced19c install-sh ! c67a0f33a5a8fbfd6ac0fc0457d97d3c intl/ChangeLog afcc65eba0b481722fcfcb92bae389b2 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION *************** d50a8c6c5b41089930accbdce767d3c0 intl/p *** 30902,30912 **** b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! 21d5c409c00621234c9fd7d78570351e libada/ChangeLog 262839d559b47e6b7e3099d78607925a libada/Makefile.in 07862146e86060f3f2fec11cdd9b0d22 libada/configure e37a058398e43aabbe1177079b0fa59f libada/configure.ac ! 281d94ee8614cb2ead8f02a9edf2f81e libcpp/ChangeLog e4bd42c5b05fa59f0882ee3ae5228ca8 libcpp/Makefile.in cdb0d04b305e8a1db0b518b01a50345a libcpp/aclocal.m4 0bbe704b181f2d1f34a7ff96797032f1 libcpp/charset.c --- 31054,31064 ---- b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! f6ca6507369a7384c7ace9bb12632e43 libada/ChangeLog 262839d559b47e6b7e3099d78607925a libada/Makefile.in 07862146e86060f3f2fec11cdd9b0d22 libada/configure e37a058398e43aabbe1177079b0fa59f libada/configure.ac ! b6d66db6599796c935c5f0e1c415cd38 libcpp/ChangeLog e4bd42c5b05fa59f0882ee3ae5228ca8 libcpp/Makefile.in cdb0d04b305e8a1db0b518b01a50345a libcpp/aclocal.m4 0bbe704b181f2d1f34a7ff96797032f1 libcpp/charset.c *************** f245087209821e1d2530ec9773466012 libcpp *** 30924,30930 **** 92589a2bbd9d3976bb4f98fe68d76232 libcpp/include/line-map.h 9c8b622d48414f97ec94d549a9d14052 libcpp/include/mkdeps.h 3f1b3455fbec4787e7270a57db2fffd3 libcpp/include/symtab.h ! 8b2f489c41a2ba60cda03e22e05bb189 libcpp/init.c 2067e7af9061ecfadaa9dab0184b5f15 libcpp/internal.h d68dc437f9b05d2728d4aa7a15f7d684 libcpp/lex.c 37c1150401bd9917ed54b723a1fad022 libcpp/line-map.c --- 31076,31082 ---- 92589a2bbd9d3976bb4f98fe68d76232 libcpp/include/line-map.h 9c8b622d48414f97ec94d549a9d14052 libcpp/include/mkdeps.h 3f1b3455fbec4787e7270a57db2fffd3 libcpp/include/symtab.h ! d0c2d322eea3b8ab701c4d084af098ce libcpp/init.c 2067e7af9061ecfadaa9dab0184b5f15 libcpp/internal.h d68dc437f9b05d2728d4aa7a15f7d684 libcpp/lex.c 37c1150401bd9917ed54b723a1fad022 libcpp/line-map.c *************** bd3ad232a81e8a65301172800949c9b8 libcpp *** 30933,30939 **** 2d45a726957f93e9ec053b644480b2e9 libcpp/makeucnid.c f35ae8ba1fd3553b47bcf87cc1730aeb libcpp/mkdeps.c 27f54e6a64816a2de073e04aeee5952e libcpp/pch.c ! 935e92d8edec3fdb9d392229d5afa721 libcpp/po/ChangeLog fc5cc939e5c54692720d84af5a2a1d65 libcpp/po/be.gmo 19432f3b20d6c2f0837866cbc06f78e7 libcpp/po/be.po 54da3a45154df725cc7b7a1f2fa8cced libcpp/po/ca.gmo --- 31085,31091 ---- 2d45a726957f93e9ec053b644480b2e9 libcpp/makeucnid.c f35ae8ba1fd3553b47bcf87cc1730aeb libcpp/mkdeps.c 27f54e6a64816a2de073e04aeee5952e libcpp/pch.c ! 68fb21478de2b7e92248424be585c32a libcpp/po/ChangeLog fc5cc939e5c54692720d84af5a2a1d65 libcpp/po/be.gmo 19432f3b20d6c2f0837866cbc06f78e7 libcpp/po/be.po 54da3a45154df725cc7b7a1f2fa8cced libcpp/po/ca.gmo *************** fb521a18156982ce2a50c28291c16622 libcpp *** 30972,30978 **** 67fcd3d878017060c56219962e5e062b libcpp/traditional.c 11f204ddd01b33474c3de82de9192de4 libcpp/ucnid.h 524392c32703f6022427bf6bbdb833c8 libcpp/ucnid.tab ! bc4d7306a1d2133cf87fac7a90ee838e libdecnumber/ChangeLog db91d69aaa5063f52bcad6e8ffb8edea libdecnumber/Makefile.in fadf2817f83f012f9f3e7dfd466a54aa libdecnumber/aclocal.m4 a0ecbc50fa8e505f88a951c3c294ecbc libdecnumber/bid/bid-dpd.h --- 31124,31130 ---- 67fcd3d878017060c56219962e5e062b libcpp/traditional.c 11f204ddd01b33474c3de82de9192de4 libcpp/ucnid.h 524392c32703f6022427bf6bbdb833c8 libcpp/ucnid.tab ! 535c39f98aff0bbc865556e80d843a0d libdecnumber/ChangeLog db91d69aaa5063f52bcad6e8ffb8edea libdecnumber/Makefile.in fadf2817f83f012f9f3e7dfd466a54aa libdecnumber/aclocal.m4 a0ecbc50fa8e505f88a951c3c294ecbc libdecnumber/bid/bid-dpd.h *************** a97c47969dfc92a7666dfe3c2e1e1448 libdec *** 31034,31040 **** 5659059205f642d272e5f9d4ba943919 libdecnumber/dpd/decimal64.c 245e62676fd97afc6b66736ed611da97 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 3fbad274591f523d59f85988ccc2e9ad libffi/ChangeLog fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 085f9917800070e791f49bf4733e23fa libffi/LICENSE --- 31186,31192 ---- 5659059205f642d272e5f9d4ba943919 libdecnumber/dpd/decimal64.c 245e62676fd97afc6b66736ed611da97 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 093f5dc98c1e284a460a147d8107dff1 libffi/ChangeLog fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 085f9917800070e791f49bf4733e23fa libffi/LICENSE *************** bc6590aba3bf36fc97d58b1b59ac8a59 libffi *** 31057,31063 **** ce415c93b22e376157452a7f4c347bf7 libffi/src/alpha/osf.S 5378400ca904f45ed790e198ee0bd45f libffi/src/arm/ffi.c dbfa53ae32f36a7ab4b800633394e10f libffi/src/arm/ffitarget.h ! 1fab779273259615b72a50dd68e32aae libffi/src/arm/sysv.S 90f581b859612117668a5896149ce321 libffi/src/closures.c 5d7af3480697d2ceab7f4ec35baa9d26 libffi/src/cris/ffi.c de1ccbe3822f2bfb4f864ca6867c9d65 libffi/src/cris/ffitarget.h --- 31209,31215 ---- ce415c93b22e376157452a7f4c347bf7 libffi/src/alpha/osf.S 5378400ca904f45ed790e198ee0bd45f libffi/src/arm/ffi.c dbfa53ae32f36a7ab4b800633394e10f libffi/src/arm/ffitarget.h ! 02f8827ec2ab045c80069ef3c0272a96 libffi/src/arm/sysv.S 90f581b859612117668a5896149ce321 libffi/src/closures.c 5d7af3480697d2ceab7f4ec35baa9d26 libffi/src/cris/ffi.c de1ccbe3822f2bfb4f864ca6867c9d65 libffi/src/cris/ffitarget.h *************** b84890d83f011c1b342ba72165c5337b libffi *** 31236,31242 **** 92f1548985e720c30797e9e403807475 libffi/testsuite/libffi.special/special.exp f66daec7c7f631f03fad7424a605034b libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 644d525e2eac2b11bb3011acf99b9545 libgcc/ChangeLog ff55ad4dde97e7076aad7016505db695 libgcc/Makefile.in f64c32aad25e9b04e007e11b2993e5f0 libgcc/config.host 4d2e967f3d00f422f15be583a4ca4881 libgcc/config/alpha/t-crtfm --- 31388,31394 ---- 92f1548985e720c30797e9e403807475 libffi/testsuite/libffi.special/special.exp f66daec7c7f631f03fad7424a605034b libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! 300c976515961c90939b9a997d595bd9 libgcc/ChangeLog ff55ad4dde97e7076aad7016505db695 libgcc/Makefile.in f64c32aad25e9b04e007e11b2993e5f0 libgcc/config.host 4d2e967f3d00f422f15be583a4ca4881 libgcc/config/alpha/t-crtfm *************** b327c22ab49cc6d437dfa1511120ce05 libgcc *** 31258,31264 **** 3718d04330f080e48e2713e80efc582a libgcc/config/i386/t-darwin 3718d04330f080e48e2713e80efc582a libgcc/config/i386/t-darwin64 1db6a856e71a77322048ac264691101d libgcc/config/i386/t-nwld ! c2b9707d430ed58a16cc4e52a6be4b04 libgcc/config/i386/t-sol2 94daf17b5266212738d5b2af493c4c39 libgcc/config/ia64/__divxf3.asm 6237072841e52adf2670733ae018d2af libgcc/config/ia64/_fixtfdi.asm 12034e90166b8070e256a14f849a7b1d libgcc/config/ia64/_fixunstfdi.asm --- 31410,31416 ---- 3718d04330f080e48e2713e80efc582a libgcc/config/i386/t-darwin 3718d04330f080e48e2713e80efc582a libgcc/config/i386/t-darwin64 1db6a856e71a77322048ac264691101d libgcc/config/i386/t-nwld ! 02f45d7124fae56623759b2326c36bba libgcc/config/i386/t-sol2 94daf17b5266212738d5b2af493c4c39 libgcc/config/ia64/__divxf3.asm 6237072841e52adf2670733ae018d2af libgcc/config/ia64/_fixtfdi.asm 12034e90166b8070e256a14f849a7b1d libgcc/config/ia64/_fixunstfdi.asm *************** e9968ccea8a0142626a966b8b4238529 libgcc *** 31267,31273 **** 721bfee787d81d97c021d28b97dc3415 libgcc/config/ia64/t-ia64 53a2b9e67710b0b8f02e3e3316cd4482 libgcc/config/ia64/t-softfp-compat 45cb97bd14177f2d809994a800675ceb libgcc/config/ia64/tf-signs.c ! f4662b8a8ec94f2b1303b96d7c4b814e libgcc/config/libbid/ChangeLog 86e150f40ebcb97e568366a5cb38cbbe libgcc/config/libbid/_addsub_dd.c ded9495633ce7c1e30d900eae5f9a599 libgcc/config/libbid/_addsub_sd.c d26f72ff45dfd7210a6a33a599274515 libgcc/config/libbid/_addsub_td.c --- 31419,31425 ---- 721bfee787d81d97c021d28b97dc3415 libgcc/config/ia64/t-ia64 53a2b9e67710b0b8f02e3e3316cd4482 libgcc/config/ia64/t-softfp-compat 45cb97bd14177f2d809994a800675ceb libgcc/config/ia64/tf-signs.c ! 926d4445e4f48448f5dad91e9e8704a7 libgcc/config/libbid/ChangeLog 86e150f40ebcb97e568366a5cb38cbbe libgcc/config/libbid/_addsub_dd.c ded9495633ce7c1e30d900eae5f9a599 libgcc/config/libbid/_addsub_sd.c d26f72ff45dfd7210a6a33a599274515 libgcc/config/libbid/_addsub_td.c *************** c7b70dcc1f2024624fcba54a60ffcdda libgcc *** 31441,31447 **** c326222d0001569c09d987898e433cee libgcc/shared-object.mk e46c2a78dca584dfd7a4b4673666ab86 libgcc/siditi-object.mk 4f944647ef4ccaaaf9bb117b88d3cfd8 libgcc/static-object.mk ! 80340ce88e5ab05343268c932111dbef libgfortran/ChangeLog 2c771a7b083f9d4ba381a572d357758a libgfortran/ChangeLog-2002 67e64c8bcbf53773807721aeb4785c9e libgfortran/ChangeLog-2003 9d1927b41c85e097fe773c06a3229dba libgfortran/ChangeLog-2004 --- 31593,31599 ---- c326222d0001569c09d987898e433cee libgcc/shared-object.mk e46c2a78dca584dfd7a4b4673666ab86 libgcc/siditi-object.mk 4f944647ef4ccaaaf9bb117b88d3cfd8 libgcc/static-object.mk ! a3c55d0ee2668cb48260ae4a41131b75 libgfortran/ChangeLog 2c771a7b083f9d4ba381a572d357758a libgfortran/ChangeLog-2002 67e64c8bcbf53773807721aeb4785c9e libgfortran/ChangeLog-2003 9d1927b41c85e097fe773c06a3229dba libgfortran/ChangeLog-2004 *************** cd4871a26dea20fc4b56b83232ae909b libgfo *** 32018,32034 **** 3ab6331e75401f420f950311d2f6da5d libgfortran/io/fbuf.c 7b454fde1e2b8dc005149f2f16505ab4 libgfortran/io/file_pos.c 36cec12a69cbc731458b22aa5abb45ff libgfortran/io/format.c ! 56629341bdb78d5778653df168cc73bc libgfortran/io/inquire.c ! 5f04726e70d44c8268cff5f2a9c037f2 libgfortran/io/intrinsics.c ! a3acc5d86125b77cf8e9bb975b6dc236 libgfortran/io/io.h ! 8717a7cd0019da960566e428d20a21fe libgfortran/io/list_read.c e3d0222201de41d61352a9382d8d87a6 libgfortran/io/lock.c 7bc93382a79c7a6ec7499ebbdf333834 libgfortran/io/open.c ! 5965e452ed45cc03d1f719b61f94a385 libgfortran/io/read.c 040e81da2aa94c975d261ab697d7f2d1 libgfortran/io/size_from_kind.c ! 6bb6091efe841312f3913d7e85f240ff libgfortran/io/transfer.c 2d7cab0c200f88072a76cb9db85307d1 libgfortran/io/unit.c ! a9158466d82612d4b572636ce1af5cf0 libgfortran/io/unix.c 76a373fbeaa5a92f45721e26a5923299 libgfortran/io/write.c e907f57d335878fa603cdcfeee0c88ba libgfortran/io/write_float.def 302582db6a96addac19c425768a569b7 libgfortran/libgfortran.h --- 32170,32186 ---- 3ab6331e75401f420f950311d2f6da5d libgfortran/io/fbuf.c 7b454fde1e2b8dc005149f2f16505ab4 libgfortran/io/file_pos.c 36cec12a69cbc731458b22aa5abb45ff libgfortran/io/format.c ! 75c7250f8fc1fa03a8f74ec1ceea92bc libgfortran/io/inquire.c ! 325fb163c88f33e01e3a39b197718ae5 libgfortran/io/intrinsics.c ! 69a0483bbd140d342184a68bd1f0802c libgfortran/io/io.h ! 0223368f27e58becf4e4dfade8d4bb04 libgfortran/io/list_read.c e3d0222201de41d61352a9382d8d87a6 libgfortran/io/lock.c 7bc93382a79c7a6ec7499ebbdf333834 libgfortran/io/open.c ! c4b7291214389015063c97e6c10a2b0a libgfortran/io/read.c 040e81da2aa94c975d261ab697d7f2d1 libgfortran/io/size_from_kind.c ! 9e09eeeaf201e640ecfb7116d7651167 libgfortran/io/transfer.c 2d7cab0c200f88072a76cb9db85307d1 libgfortran/io/unit.c ! 62290c2c48784e299256004fb8c5fe11 libgfortran/io/unix.c 76a373fbeaa5a92f45721e26a5923299 libgfortran/io/write.c e907f57d335878fa603cdcfeee0c88ba libgfortran/io/write_float.def 302582db6a96addac19c425768a569b7 libgfortran/libgfortran.h *************** bb7b00b09e55b42f687c4a55526d857f libgfo *** 32093,32099 **** 7abfa5ebb9488b9ae9fda8bb9aa388e9 libgfortran/runtime/select_inc.c 167f1718b833039909bb6da7cb5b0dae libgfortran/runtime/stop.c feb49d9c3840163547cc8b4824eff95d libgfortran/runtime/string.c ! 8580abf4fb427369baf406fa2e47e8c7 libgomp/ChangeLog a957fa342ad14a799be6ec12665a02f2 libgomp/Makefile.am 6582e01473d0fdc94fb3f0e3a602735f libgomp/Makefile.in e271ea66cfb75eb496bd2ab072faf5e2 libgomp/acinclude.m4 --- 32245,32251 ---- 7abfa5ebb9488b9ae9fda8bb9aa388e9 libgfortran/runtime/select_inc.c 167f1718b833039909bb6da7cb5b0dae libgfortran/runtime/stop.c feb49d9c3840163547cc8b4824eff95d libgfortran/runtime/string.c ! d5180d9c06bcb17409ad37d9ac46db20 libgomp/ChangeLog a957fa342ad14a799be6ec12665a02f2 libgomp/Makefile.am 6582e01473d0fdc94fb3f0e3a602735f libgomp/Makefile.in e271ea66cfb75eb496bd2ab072faf5e2 libgomp/acinclude.m4 *************** e271ea66cfb75eb496bd2ab072faf5e2 libgom *** 32102,32108 **** 3206dd33f2b67f74b5833ca7737684a4 libgomp/barrier.c 40386c3559085e012cca2e97400cbda5 libgomp/config.h.in 24c23edcb18872f0e9c0e9b8e62bfed8 libgomp/config/bsd/proc.c ! b0cc29b5a43e85a49488dc510a921c61 libgomp/config/linux/affinity.c 0bf6c5c3e3ddaeac58761315a660f799 libgomp/config/linux/alpha/futex.h a4b939ba8bd625c99d3d5c9df8d9a603 libgomp/config/linux/bar.c 470c2d132b7dfa44a15ab8c0d286c04f libgomp/config/linux/bar.h --- 32254,32260 ---- 3206dd33f2b67f74b5833ca7737684a4 libgomp/barrier.c 40386c3559085e012cca2e97400cbda5 libgomp/config.h.in 24c23edcb18872f0e9c0e9b8e62bfed8 libgomp/config/bsd/proc.c ! 7be450f9758c36879c5eeba02f256dcf libgomp/config/linux/affinity.c 0bf6c5c3e3ddaeac58761315a660f799 libgomp/config/linux/alpha/futex.h a4b939ba8bd625c99d3d5c9df8d9a603 libgomp/config/linux/bar.c 470c2d132b7dfa44a15ab8c0d286c04f libgomp/config/linux/bar.h *************** e1bf7422d6a3d020e8314b7d56152e00 libgom *** 32115,32121 **** f80919bd18dd7ca65ea7371eeb3c00a1 libgomp/config/linux/omp-lock.h e5fc2fdceed9b637bdad4aa6d36c3333 libgomp/config/linux/powerpc/futex.h ab47084e3559fbdeac499331b88a904b libgomp/config/linux/powerpc/mutex.h ! f9b5e875f626f8c8bccdc65fab1a3259 libgomp/config/linux/proc.c 407f7512a8334ed9b75d21b8e333a757 libgomp/config/linux/ptrlock.c abbc7018ea4f3d30181801626a1a8fdf libgomp/config/linux/ptrlock.h c5192627b88d75011d212d944e3b1d03 libgomp/config/linux/s390/futex.h --- 32267,32273 ---- f80919bd18dd7ca65ea7371eeb3c00a1 libgomp/config/linux/omp-lock.h e5fc2fdceed9b637bdad4aa6d36c3333 libgomp/config/linux/powerpc/futex.h ab47084e3559fbdeac499331b88a904b libgomp/config/linux/powerpc/mutex.h ! 86666c3f0dfe9e6dd70521486ae508ba libgomp/config/linux/proc.c 407f7512a8334ed9b75d21b8e333a757 libgomp/config/linux/ptrlock.c abbc7018ea4f3d30181801626a1a8fdf libgomp/config/linux/ptrlock.h c5192627b88d75011d212d944e3b1d03 libgomp/config/linux/s390/futex.h *************** dde74499bfac2f781e122aff525e756d libgom *** 32145,32157 **** 30ed6212c6f71a6ff6ec763e9e745357 libgomp/configure.ac 36b3805a4e653da431521a58586162d7 libgomp/configure.tgt eeb570991118428a63a9a984a972a7a7 libgomp/critical.c ! 4052cb7dbf8dc526115e76e145e034db libgomp/env.c 6b5ff93a158188e66a8b93c3eacf05ed libgomp/error.c 128cf5c7eafe7070c6574b5bbf4c644e libgomp/fortran.c acc3925b8f43fb985313663c30103701 libgomp/iter.c cf8a700a297d5418b1a70e667db6d660 libgomp/iter_ull.c 58f614974a58d0fe0d3526f923dfe827 libgomp/libgomp.h ! 5f031b0b5aa3f650a0cd2cb8016e246d libgomp/libgomp.info 6d09628d0d1ec45377b20f3e3391395b libgomp/libgomp.map 591ff20dfd2b81e3c919249b5db8a967 libgomp/libgomp.spec.in c6e20f2bcf9c5b57cf8e597f1f11bbf5 libgomp/libgomp.texi --- 32297,32309 ---- 30ed6212c6f71a6ff6ec763e9e745357 libgomp/configure.ac 36b3805a4e653da431521a58586162d7 libgomp/configure.tgt eeb570991118428a63a9a984a972a7a7 libgomp/critical.c ! dc42a04242fd6a5c3320aabf352baa6c libgomp/env.c 6b5ff93a158188e66a8b93c3eacf05ed libgomp/error.c 128cf5c7eafe7070c6574b5bbf4c644e libgomp/fortran.c acc3925b8f43fb985313663c30103701 libgomp/iter.c cf8a700a297d5418b1a70e667db6d660 libgomp/iter_ull.c 58f614974a58d0fe0d3526f923dfe827 libgomp/libgomp.h ! 402b029f2bcb4f29d11d35db825228ff libgomp/libgomp.info 6d09628d0d1ec45377b20f3e3391395b libgomp/libgomp.map 591ff20dfd2b81e3c919249b5db8a967 libgomp/libgomp.spec.in c6e20f2bcf9c5b57cf8e597f1f11bbf5 libgomp/libgomp.texi *************** d465c6a1379628dd0c8ef7ff1b1603a5 libgom *** 32164,32170 **** 4b6284f036c0d0dafb14edcffb4b9016 libgomp/omp_lib.h.in 73e6d08403a8e727387e0f1d18cfaf50 libgomp/ordered.c 673848502297766890ae3ce2c020b2a9 libgomp/parallel.c ! 7659f31d2924ffc5391736a98a82634d libgomp/sections.c e66356d101428eac8f5e285c7ff4f3c7 libgomp/single.c 6044b9d5219ccd1f32bcd6bdcc69ab8c libgomp/task.c f56fd4506dba9b7ddf43f5c8f9a5d525 libgomp/team.c --- 32316,32322 ---- 4b6284f036c0d0dafb14edcffb4b9016 libgomp/omp_lib.h.in 73e6d08403a8e727387e0f1d18cfaf50 libgomp/ordered.c 673848502297766890ae3ce2c020b2a9 libgomp/parallel.c ! 73a6029980d537dcb50ad182e7eeabac libgomp/sections.c e66356d101428eac8f5e285c7ff4f3c7 libgomp/single.c 6044b9d5219ccd1f32bcd6bdcc69ab8c libgomp/task.c f56fd4506dba9b7ddf43f5c8f9a5d525 libgomp/team.c *************** bc3be9337646882bc8533bbbc9f01dd6 libgom *** 32353,32358 **** --- 32505,32511 ---- 493a1e8c69b49b1ea3ddb5ced9d0cca3 libgomp/testsuite/libgomp.c/pr39591-2.c 29fe07764851d55e5c590ddee1bdb8bb libgomp/testsuite/libgomp.c/pr39591-3.c 006c9241a06131d8b1ad87c0a7a58349 libgomp/testsuite/libgomp.c/pr42029.c + 965ea816877f4bf791f4bf1a1aeef3cf libgomp/testsuite/libgomp.c/pr42942.c ea7c9e74bda402b1663a903b26400fab libgomp/testsuite/libgomp.c/private-1.c a594cebdf052900dd0c8792068e14d85 libgomp/testsuite/libgomp.c/reduction-1.c 6a724210e4cb30df7ade4ef7ee0aa83e libgomp/testsuite/libgomp.c/reduction-2.c *************** d3e7c403248ba696f161f0c29c1f87a6 libgom *** 32375,32380 **** --- 32528,32534 ---- 927bc460f431a751bec399f6f3f1eae7 libgomp/testsuite/libgomp.fortran/allocatable2.f90 1746499596b2e82f512b2f7679eba1b1 libgomp/testsuite/libgomp.fortran/allocatable3.f90 f32aba254f0d07b32bb09a6665fa5d11 libgomp/testsuite/libgomp.fortran/allocatable4.f90 + 8e7d95f9f5e69d9ae1ea20e6b3554025 libgomp/testsuite/libgomp.fortran/allocatable5.f90 d69ebafdf43e748e354c0c05228cdd0c libgomp/testsuite/libgomp.fortran/appendix-a/a.15.1.f90 3f53f7b5eb9ab9c8cb9eb0edfeedad91 libgomp/testsuite/libgomp.fortran/appendix-a/a.16.1.f90 519d7f01f054c7eb7495ba49409d2c51 libgomp/testsuite/libgomp.fortran/appendix-a/a.18.1.f90 *************** a8af85b9fb1ec1aac107848d192f6c66 libgom *** 32487,32496 **** 18d833d56cee6b7e31b05c4f13095fa5 libgomp/testsuite/libgomp.fortran/vla5.f90 7427a865726447de556ef77bffbb9314 libgomp/testsuite/libgomp.fortran/vla6.f90 ee9b4e6286720c9e31c8afb5899375cf libgomp/testsuite/libgomp.fortran/vla7.f90 10994954f2e9828dd2a982c245ff4a59 libgomp/testsuite/libgomp.fortran/workshare1.f90 66ffa69cccfc856bc101f397c0632b69 libgomp/work.c a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! a3731da79a6e86f558ab14ca0e70523b libiberty/ChangeLog 5d7d26fcf11db09a97b1dc5814d59dcd libiberty/Makefile.in 294191545dc71f5ad13229b0a5bfd7b1 libiberty/README 8797cb1a6faa84f3c7fe3d12164a4b13 libiberty/_doprnt.c --- 32641,32651 ---- 18d833d56cee6b7e31b05c4f13095fa5 libgomp/testsuite/libgomp.fortran/vla5.f90 7427a865726447de556ef77bffbb9314 libgomp/testsuite/libgomp.fortran/vla6.f90 ee9b4e6286720c9e31c8afb5899375cf libgomp/testsuite/libgomp.fortran/vla7.f90 + 1f532880c0b8ed8f5f9b366e2c990f26 libgomp/testsuite/libgomp.fortran/vla8.f90 10994954f2e9828dd2a982c245ff4a59 libgomp/testsuite/libgomp.fortran/workshare1.f90 66ffa69cccfc856bc101f397c0632b69 libgomp/work.c a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! 46fa81b1e841bde09da5b2f43e6932e8 libiberty/ChangeLog 5d7d26fcf11db09a97b1dc5814d59dcd libiberty/Makefile.in 294191545dc71f5ad13229b0a5bfd7b1 libiberty/README 8797cb1a6faa84f3c7fe3d12164a4b13 libiberty/_doprnt.c *************** fdaf5fdc2a84ff34103604588aea1a3b libibe *** 32520,32526 **** e2988fc11a09ff9f65903ff8a25dc4f2 libiberty/configure.ac a8959f1d1758eb14819753023f89d199 libiberty/copying-lib.texi fe053283d3559af3ec5cac45f8ead009 libiberty/copysign.c ! 0855007f42d2487b50bc0866e2c05b30 libiberty/cp-demangle.c 8cea50969b39425036204cd5e6736d6f libiberty/cp-demangle.h a57edfd55211c46358188905b2dfac7d libiberty/cp-demint.c efdae98b615eb04085dd967fbe618295 libiberty/cplus-dem.c --- 32675,32681 ---- e2988fc11a09ff9f65903ff8a25dc4f2 libiberty/configure.ac a8959f1d1758eb14819753023f89d199 libiberty/copying-lib.texi fe053283d3559af3ec5cac45f8ead009 libiberty/copysign.c ! fc64ad780a913e0089bdc649049031c7 libiberty/cp-demangle.c 8cea50969b39425036204cd5e6736d6f libiberty/cp-demangle.h a57edfd55211c46358188905b2dfac7d libiberty/cp-demint.c efdae98b615eb04085dd967fbe618295 libiberty/cplus-dem.c *************** f824ac0dcaa3a91b48d01cc80a7d17ef libibe *** 32606,32612 **** 26196a9a92fae743a06d65f0e081084b libiberty/strtoul.c 9e1bb6fe95ebb6415672ddf1da29ec65 libiberty/strverscmp.c 8f24f8939540ed6d58ad0dcdf1132562 libiberty/testsuite/Makefile.in ! 53add024c45b2df9472fe9b1884783f7 libiberty/testsuite/demangle-expected 260c6daa082aed2403b1a5b12d233f27 libiberty/testsuite/test-demangle.c 9c8adfe97eb319577a25393de6ee66c8 libiberty/testsuite/test-expandargv.c e9e958dbfc45a08dbbbbe48c83d3987e libiberty/testsuite/test-pexecute.c --- 32761,32767 ---- 26196a9a92fae743a06d65f0e081084b libiberty/strtoul.c 9e1bb6fe95ebb6415672ddf1da29ec65 libiberty/strverscmp.c 8f24f8939540ed6d58ad0dcdf1132562 libiberty/testsuite/Makefile.in ! f6f1cf5cc84a601d5fb7341320c8989f libiberty/testsuite/demangle-expected 260c6daa082aed2403b1a5b12d233f27 libiberty/testsuite/test-demangle.c 9c8adfe97eb319577a25393de6ee66c8 libiberty/testsuite/test-expandargv.c e9e958dbfc45a08dbbbbe48c83d3987e libiberty/testsuite/test-pexecute.c *************** cdc140ce93944c5bb2ac62cd3dfd86d6 libibe *** 32628,32634 **** 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c c6e7ef53b4ff115a136d917511222656 libiberty/xstrndup.c 94d55d512a9ba36caa9b7df079bae19f libjava/COPYING ! 569ad86a5a6bba80e51abda5d80a080b libjava/ChangeLog 03e1f38b916604fdf1470238201325f3 libjava/ChangeLog-1998 691acb61fbd6a2235826ff55db5578be libjava/ChangeLog-1999 b58c6701706771a02bf00a77666941ef libjava/ChangeLog-2000 --- 32783,32789 ---- 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c c6e7ef53b4ff115a136d917511222656 libiberty/xstrndup.c 94d55d512a9ba36caa9b7df079bae19f libjava/COPYING ! 118ce9c5a7fc6a69edb1dea0901edc9f libjava/ChangeLog 03e1f38b916604fdf1470238201325f3 libjava/ChangeLog-1998 691acb61fbd6a2235826ff55db5578be libjava/ChangeLog-1999 b58c6701706771a02bf00a77666941ef libjava/ChangeLog-2000 *************** de54f80484e640306e109e785e4611c8 libjav *** 32664,32670 **** 880a25226e4e4e4c241663041d24f8dd libjava/classpath/AUTHORS efd97e0bb913655e0c8b16fa78bdded4 libjava/classpath/BUGS af0004801732bc4b20d90f351cf80510 libjava/classpath/COPYING ! 293a60a8d9998ba6caa1c1e868d19c44 libjava/classpath/ChangeLog 3418fae58de967afe26d915a4b18d82c libjava/classpath/ChangeLog-2003 a5b72adb94a3c362738b0f52e57a82af libjava/classpath/ChangeLog-2004 61159c6e0802d0d2a92b3051003db5c5 libjava/classpath/ChangeLog-2005 --- 32819,32825 ---- 880a25226e4e4e4c241663041d24f8dd libjava/classpath/AUTHORS efd97e0bb913655e0c8b16fa78bdded4 libjava/classpath/BUGS af0004801732bc4b20d90f351cf80510 libjava/classpath/COPYING ! b722b6bb91db610f8daaf22c1aa40d87 libjava/classpath/ChangeLog 3418fae58de967afe26d915a4b18d82c libjava/classpath/ChangeLog-2003 a5b72adb94a3c362738b0f52e57a82af libjava/classpath/ChangeLog-2004 61159c6e0802d0d2a92b3051003db5c5 libjava/classpath/ChangeLog-2005 *************** f5c6a4723cbe101a2c000b83875c2326 libjav *** 32701,32721 **** b343eec566430e85d1f95c21438aa4ee libjava/classpath/doc/api/Makefile.am 179ea612146ae215bc3e7790ab2369e4 libjava/classpath/doc/api/Makefile.in 063a948da1da1787e5ad8af8cd260ffe libjava/classpath/doc/cp-hacking.texinfo ! 2d1b2903c2dd2210bb1c346f5fd65a7e libjava/classpath/doc/cp-tools.info 2f9243a9d8681fb57cfc14ea3839b38e libjava/classpath/doc/cp-tools.texinfo 3155d9bd9a7bf4aff2ff0dfe4a2cb878 libjava/classpath/doc/cp-vmintegration.texinfo ! 348b011d2b01450c8c34d6ee21c3218d libjava/classpath/doc/gappletviewer.1 ! ba353bbb5a462f61c71e5fde904da1d9 libjava/classpath/doc/gjar.1 ! f7686ab04139aa51c780e08be8ff3ab2 libjava/classpath/doc/gjarsigner.1 ! 9fc9ff6fb98c43f602a3e56a1d82ef33 libjava/classpath/doc/gjavah.1 ! 8f0b811a6f7df8d35466905e329af44d libjava/classpath/doc/gjdoc.1 ! 431cef4f42284cefdeb2c70eb1ea3777 libjava/classpath/doc/gkeytool.1 ! ba3eb343515ff5e77dc734c81af1fe23 libjava/classpath/doc/gnative2ascii.1 ! 4aa9e773e3ad33571409318c561cae7f libjava/classpath/doc/gorbd.1 ! 5cd53ad19cb8392e190253f95e4c61b7 libjava/classpath/doc/grmid.1 ! d7625552ed9270b39fcf8535aa2daf78 libjava/classpath/doc/grmiregistry.1 ! 390cd2d31581e1c34ee1dba77e2451ee libjava/classpath/doc/gserialver.1 ! 94a3a000d00a88ada6fd15cc826ae8cf libjava/classpath/doc/gtnameserv.1 7e4e31659df1c7e815f9151958dceef2 libjava/classpath/doc/texi2pod.pl 55dea7a47b6450cdcb103c76295441bd libjava/classpath/doc/texinfo.tex b1e0c0c30547d57d7a09b04d47c70b06 libjava/classpath/examples/.cvsignore --- 32856,32876 ---- b343eec566430e85d1f95c21438aa4ee libjava/classpath/doc/api/Makefile.am 179ea612146ae215bc3e7790ab2369e4 libjava/classpath/doc/api/Makefile.in 063a948da1da1787e5ad8af8cd260ffe libjava/classpath/doc/cp-hacking.texinfo ! 1b5e1b1960ddbfa7413c19df53fc4b6e libjava/classpath/doc/cp-tools.info 2f9243a9d8681fb57cfc14ea3839b38e libjava/classpath/doc/cp-tools.texinfo 3155d9bd9a7bf4aff2ff0dfe4a2cb878 libjava/classpath/doc/cp-vmintegration.texinfo ! 3b1088ff8db1e19b43ce4d63effb349e libjava/classpath/doc/gappletviewer.1 ! 5984b7c60aa7487c1a4228da5554acab libjava/classpath/doc/gjar.1 ! 58c88f466d24b238b10e68ff57d07c11 libjava/classpath/doc/gjarsigner.1 ! 3194f559c842fe30858e4b4dd2587f20 libjava/classpath/doc/gjavah.1 ! e9d47a60befc101045f48fc79087e505 libjava/classpath/doc/gjdoc.1 ! 00ae19f29ab1cc486c7dea5bc9c9f5ba libjava/classpath/doc/gkeytool.1 ! 046c82d75ea8fe2bc43f23910c1c528c libjava/classpath/doc/gnative2ascii.1 ! 160b8c598e00416ed8b50f16b15a2fd8 libjava/classpath/doc/gorbd.1 ! 08b462255357232bd111a83cfe8cd78d libjava/classpath/doc/grmid.1 ! f8afb2adf1b9cb9c1277cda29138bb05 libjava/classpath/doc/grmiregistry.1 ! 1c95bf3737ed1721dd5dedb6abf578e6 libjava/classpath/doc/gserialver.1 ! 9c439fa3fc4870cfe5c90d18abe5e66f libjava/classpath/doc/gtnameserv.1 7e4e31659df1c7e815f9151958dceef2 libjava/classpath/doc/texi2pod.pl 55dea7a47b6450cdcb103c76295441bd libjava/classpath/doc/texinfo.tex b1e0c0c30547d57d7a09b04d47c70b06 libjava/classpath/examples/.cvsignore *************** c1ce4729db55108c4a08b25266172219 libjav *** 47950,47957 **** 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 ! 8c6a7a7c3970dee3cb301dd710ec77d4 libjava/configure ! 6decd8c73806086d3caa382d8ecf2189 libjava/configure.ac c093e2cd85abcf74ae46b3ca286a40e7 libjava/configure.host 012f2a1247de717e81d230f40da5bd94 libjava/contrib/aot-compile-rpm.in 3e89d242a7180e4fcb6d15eb171cae47 libjava/contrib/aot-compile.in --- 48105,48112 ---- 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 ! 02d23fe2376551ccf52480800752b570 libjava/configure ! fe670bef7fad49fb53ecd031d38522ee libjava/configure.ac c093e2cd85abcf74ae46b3ca286a40e7 libjava/configure.host 012f2a1247de717e81d230f40da5bd94 libjava/contrib/aot-compile-rpm.in 3e89d242a7180e4fcb6d15eb171cae47 libjava/contrib/aot-compile.in *************** c4f13c76610deabfbf13fce4ed092a52 libjav *** 50958,50964 **** 103d984e127298285d898fdf861bbcc4 libjava/include/default-signal.h 61a8f68287be880d78be5f3a87955a5b libjava/include/dwarf2-signal.h 1faaf0b92549ee71e16eb962081a1872 libjava/include/execution.h ! c0d7c6f06053fed3c20834ffa45767fa libjava/include/hppa-signal.h faa5b6ab80f09f9cbbf9a37c692802ed libjava/include/i386-signal.h 236d1671f79ab5d9e6b987e93d051bc4 libjava/include/java-assert.h d66bf0f1a1d12efd11fc047959c52eab libjava/include/java-chardecomp.h --- 51113,51119 ---- 103d984e127298285d898fdf861bbcc4 libjava/include/default-signal.h 61a8f68287be880d78be5f3a87955a5b libjava/include/dwarf2-signal.h 1faaf0b92549ee71e16eb962081a1872 libjava/include/execution.h ! bb860010ae28680040cc76ee14244e00 libjava/include/hppa-signal.h faa5b6ab80f09f9cbbf9a37c692802ed libjava/include/i386-signal.h 236d1671f79ab5d9e6b987e93d051bc4 libjava/include/java-assert.h d66bf0f1a1d12efd11fc047959c52eab libjava/include/java-chardecomp.h *************** b7b74c3baf28d5f962413a2da4365924 libjav *** 50976,50982 **** 3a44c2deb139896dc6c870e6e034f3de libjava/include/mips-signal.h fbf7d330568bdaa7a956babb35183cf2 libjava/include/no-gc.h 7b87be72c28e8b06735a01a042f101bb libjava/include/no-threads.h ! 8de1c85740456c7a7de765e3c50522ef libjava/include/pa-signal.h 9cba5a995083029c95d293573fa74681 libjava/include/posix-threads.h 834bc90d74c0a2b600343975f21fa703 libjava/include/posix.h 39567a786a96e4caf11e79958c9c6478 libjava/include/powerpc-signal.h --- 51131,51137 ---- 3a44c2deb139896dc6c870e6e034f3de libjava/include/mips-signal.h fbf7d330568bdaa7a956babb35183cf2 libjava/include/no-gc.h 7b87be72c28e8b06735a01a042f101bb libjava/include/no-threads.h ! 2b9bf5a1c2b1f584a8b1694fe7dfcf76 libjava/include/pa-signal.h 9cba5a995083029c95d293573fa74681 libjava/include/posix-threads.h 834bc90d74c0a2b600343975f21fa703 libjava/include/posix.h 39567a786a96e4caf11e79958c9c6478 libjava/include/powerpc-signal.h *************** d04590c4dc6a61734d09958671cba4da libjav *** 54907,54913 **** 13fc127864a775b5feed8f9c90cef50f libjava/libgcj.ver 76464737aa7df6509d1446b5716a4c51 libjava/libgcj_bc.c e3eda01d9815f8d24aae2dbd89b68b06 libjava/libltdl/COPYING.LIB ! 3eaecd7297add52677af9e8925e77c6d libjava/libltdl/ChangeLog 687405b58bc7fffede3a92c2d9d39bcf libjava/libltdl/Makefile.am ac1431b3e2aa810ce3be72c06d06302a libjava/libltdl/Makefile.in 36da24f9facf00b349ea10dba3789d92 libjava/libltdl/README --- 55062,55068 ---- 13fc127864a775b5feed8f9c90cef50f libjava/libgcj.ver 76464737aa7df6509d1446b5716a4c51 libjava/libgcj_bc.c e3eda01d9815f8d24aae2dbd89b68b06 libjava/libltdl/COPYING.LIB ! 7da1cda6f529091a16f387e1e92f965c libjava/libltdl/ChangeLog 687405b58bc7fffede3a92c2d9d39bcf libjava/libltdl/Makefile.am ac1431b3e2aa810ce3be72c06d06302a libjava/libltdl/Makefile.in 36da24f9facf00b349ea10dba3789d92 libjava/libltdl/README *************** d41d8cd98f00b204e9800998ecf8427e libjav *** 56601,56607 **** 434ac04eb066f5075299583492846410 libjava/verify.cc 355440a0c2fb5e16259d7ae381b37ed5 libjava/win32-threads.cc 434d5e5e91727dec004f0d1d1fab47ec libjava/win32.cc ! 7176429a05730deb44176f91cf58781d libmudflap/ChangeLog 6d4defe09ae6115619c10f3496c4ab64 libmudflap/Makefile.am 39b46b84ef49309117e8d0d20e6571f8 libmudflap/Makefile.in 9883ed42b491d8aea83fdde90561cf2a libmudflap/acinclude.m4 --- 56756,56762 ---- 434ac04eb066f5075299583492846410 libjava/verify.cc 355440a0c2fb5e16259d7ae381b37ed5 libjava/win32-threads.cc 434d5e5e91727dec004f0d1d1fab47ec libjava/win32.cc ! bebb3254c6ed0302fdca029873560b64 libmudflap/ChangeLog 6d4defe09ae6115619c10f3496c4ab64 libmudflap/Makefile.am 39b46b84ef49309117e8d0d20e6571f8 libmudflap/Makefile.in 9883ed42b491d8aea83fdde90561cf2a libmudflap/acinclude.m4 *************** c502e330a2452b0db330811b47612f98 libmud *** 56728,56734 **** 34f8f23d8ea931c121a3081e487f2498 libmudflap/testsuite/libmudflap.c/pass51-frag.c a051a4c55bb7af739947f5202bd4ddff libmudflap/testsuite/libmudflap.c/pass52-frag.c 68b3516885a8c2fcfdba7df5322933ed libmudflap/testsuite/libmudflap.c/pass53-frag.c ! e8d6c9eb8a817572b55f6b93f1d82fda libmudflap/testsuite/libmudflap.c/pass54-frag.c cb3ccbf6d4f3904248184c7db388827d libmudflap/testsuite/libmudflap.c/pass56-frag.c d5c53f81b148c1f3d90f58f8fd0b0ba3 libmudflap/testsuite/libmudflap.c/pass6-frag.c aeb0b4bd9db7d88df770ea6203dc7719 libmudflap/testsuite/libmudflap.c/pass62-frag.c --- 56883,56889 ---- 34f8f23d8ea931c121a3081e487f2498 libmudflap/testsuite/libmudflap.c/pass51-frag.c a051a4c55bb7af739947f5202bd4ddff libmudflap/testsuite/libmudflap.c/pass52-frag.c 68b3516885a8c2fcfdba7df5322933ed libmudflap/testsuite/libmudflap.c/pass53-frag.c ! 41390c98013c5e45819ea44dd1ae77e8 libmudflap/testsuite/libmudflap.c/pass54-frag.c cb3ccbf6d4f3904248184c7db388827d libmudflap/testsuite/libmudflap.c/pass56-frag.c d5c53f81b148c1f3d90f58f8fd0b0ba3 libmudflap/testsuite/libmudflap.c/pass6-frag.c aeb0b4bd9db7d88df770ea6203dc7719 libmudflap/testsuite/libmudflap.c/pass62-frag.c *************** c5335252518805ab1392c05df57648dd libmud *** 56744,56750 **** 9c6e0ee7556df21372ba89fcb2612d17 libmudflap/testsuite/libmudflap.cth/pass40-frag.c 725a94441658e42a6adf2add0a0a419d libmudflap/testsuite/libmudflap.cth/pass59-frag.c 60168171460c9277504005955b1ea1b8 libmudflap/testsuite/mfconfig.exp.in ! 0287e092b4548984d5d52be6de99db26 libobjc/ChangeLog 41023a63330b3f3df8d84a9f53f51144 libobjc/Makefile.in c29f84b3cc952e29b58505493f5a83d2 libobjc/NXConstStr.m 989107befe0f3cbd2cdcf09c37efd3f1 libobjc/Object.m --- 56899,56905 ---- 9c6e0ee7556df21372ba89fcb2612d17 libmudflap/testsuite/libmudflap.cth/pass40-frag.c 725a94441658e42a6adf2add0a0a419d libmudflap/testsuite/libmudflap.cth/pass59-frag.c 60168171460c9277504005955b1ea1b8 libmudflap/testsuite/mfconfig.exp.in ! bf0b3b6b3e493b43812ecb51abb49c4e libobjc/ChangeLog 41023a63330b3f3df8d84a9f53f51144 libobjc/Makefile.in c29f84b3cc952e29b58505493f5a83d2 libobjc/NXConstStr.m 989107befe0f3cbd2cdcf09c37efd3f1 libobjc/Object.m *************** c90ce33066aad1708a9e1982519b72e6 libobj *** 56802,56808 **** c90ce33066aad1708a9e1982519b72e6 libobjc/thr-vxworks.c 6236bc1c75de340fddb7f419e3b7ec36 libobjc/thr-win32.c fde3505ce0d880daddfed519e0f248a8 libobjc/thr.c ! 2fc870f4a772da49adc3bb34acdd24d5 libssp/ChangeLog 8ba45911491ce4f2901104def2a4910b libssp/Makefile.am 10621bd0b0e1fc57827c748dc30af8fd libssp/Makefile.in f7d347e8ca11532917d54d715bb150f7 libssp/aclocal.m4 --- 56957,56963 ---- c90ce33066aad1708a9e1982519b72e6 libobjc/thr-vxworks.c 6236bc1c75de340fddb7f419e3b7ec36 libobjc/thr-win32.c fde3505ce0d880daddfed519e0f248a8 libobjc/thr.c ! 1b110a97e1965c73b9988bd0fe34f72f libssp/ChangeLog 8ba45911491ce4f2901104def2a4910b libssp/Makefile.am 10621bd0b0e1fc57827c748dc30af8fd libssp/Makefile.in f7d347e8ca11532917d54d715bb150f7 libssp/aclocal.m4 *************** aeb2f84c5e8ba3215469d507bd2efe57 libssp *** 56831,56837 **** e9ab923d2562bf5f5be6883dfb9f0184 libssp/strncpy-chk.c 5e0d8b8a766c31b12354baec1b7a159c libssp/vsnprintf-chk.c f56ab1f8922a16f7e9e4f5270ae1e34e libssp/vsprintf-chk.c ! 5b0ac03b99138eab999915b93c288728 libstdc++-v3/ChangeLog 0cda0576312959181333fb6113d11fca libstdc++-v3/ChangeLog-1998 2ae7a1f1cc67620a3493cac4ec7a49d4 libstdc++-v3/ChangeLog-1999 7b42e2258fc86c55d4a1196c3073f514 libstdc++-v3/ChangeLog-2000 --- 56986,56992 ---- e9ab923d2562bf5f5be6883dfb9f0184 libssp/strncpy-chk.c 5e0d8b8a766c31b12354baec1b7a159c libssp/vsnprintf-chk.c f56ab1f8922a16f7e9e4f5270ae1e34e libssp/vsprintf-chk.c ! e47f71589d25e65b95a1c35cf6c09942 libstdc++-v3/ChangeLog 0cda0576312959181333fb6113d11fca libstdc++-v3/ChangeLog-1998 2ae7a1f1cc67620a3493cac4ec7a49d4 libstdc++-v3/ChangeLog-1999 7b42e2258fc86c55d4a1196c3073f514 libstdc++-v3/ChangeLog-2000 *************** dc6e1ac6d45f7252d42a9916248ca2af libstd *** 57492,57505 **** 342514d6456bf1fdaaa4ac1194d41d8b libstdc++-v3/fragment.am d80f20bed35bc943dead85fbfadd86f1 libstdc++-v3/include/Makefile.am 4f3899068168fc79162a0de9c84fc8df libstdc++-v3/include/Makefile.in ! a1a97a151ba90c6924de55c52ed230ea libstdc++-v3/include/backward/auto_ptr.h 8f92767c2c3a3404d21670c204930288 libstdc++-v3/include/backward/backward_warning.h ! 55efc2005ff8698992d438cb473509c5 libstdc++-v3/include/backward/binders.h ! 8286a4fbeffaf0b4d2be8cba8c51f0f4 libstdc++-v3/include/backward/hash_fun.h ! 5eb7506bfc8c4e5b5c30c92b4ccd1ccd libstdc++-v3/include/backward/hash_map ! 2f341986b3ce1be1f7e12a2033b9d8b5 libstdc++-v3/include/backward/hash_set ! 45d770d0a3490936f6b3be79a875e9b8 libstdc++-v3/include/backward/hashtable.h ! feed17ba0713d8502e785d0033cac88a libstdc++-v3/include/backward/strstream 121be170ea40bcb05b177ef58655fef8 libstdc++-v3/include/bits/algorithmfwd.h 9a6a2721fae3eaa7fbe5d67ae3a36bfe libstdc++-v3/include/bits/allocator.h d00353532a8e75dec2301713f0356a7e libstdc++-v3/include/bits/atomic_0.h --- 57647,57660 ---- 342514d6456bf1fdaaa4ac1194d41d8b libstdc++-v3/fragment.am d80f20bed35bc943dead85fbfadd86f1 libstdc++-v3/include/Makefile.am 4f3899068168fc79162a0de9c84fc8df libstdc++-v3/include/Makefile.in ! 7c1bab3fed36e81e77889af68b0e5592 libstdc++-v3/include/backward/auto_ptr.h 8f92767c2c3a3404d21670c204930288 libstdc++-v3/include/backward/backward_warning.h ! 88264747cb2f2deba3763d3895102300 libstdc++-v3/include/backward/binders.h ! 3a970e82e0795359434fdf87493bc8db libstdc++-v3/include/backward/hash_fun.h ! a97fdf5cc30a645c220f0bd393461109 libstdc++-v3/include/backward/hash_map ! 70d34bcca3a59efd8aca1d9f02e1978e libstdc++-v3/include/backward/hash_set ! 27d3bab7e23d5d30050e506f42898970 libstdc++-v3/include/backward/hashtable.h ! cb35a64f5446fa17c4f2fc543536d79f libstdc++-v3/include/backward/strstream 121be170ea40bcb05b177ef58655fef8 libstdc++-v3/include/bits/algorithmfwd.h 9a6a2721fae3eaa7fbe5d67ae3a36bfe libstdc++-v3/include/bits/allocator.h d00353532a8e75dec2301713f0356a7e libstdc++-v3/include/bits/atomic_0.h *************** d9d31baff2efff4e9818c477ec7436b9 libstd *** 57508,57515 **** ef99e4293c1fcf8536f0e01d1fe50ad4 libstdc++-v3/include/bits/atomicfwd_cxx.h 8978919ef26198df76b94dd259804d43 libstdc++-v3/include/bits/basic_ios.h ede9d054043fb2e03ea2edacc7052a12 libstdc++-v3/include/bits/basic_ios.tcc ! 4f1965d81dbaf5868ca4b56f232fc0a7 libstdc++-v3/include/bits/basic_string.h ! e48285b63fc006897b84329bc48cdfc9 libstdc++-v3/include/bits/basic_string.tcc 57f0342a190b316401f7d8325a0b6bfb libstdc++-v3/include/bits/boost_concept_check.h c7b283769b6d1e7ee8ffbf6adc0453a4 libstdc++-v3/include/bits/c++config 0d52337194abaad41caa7308f5cc4d6e libstdc++-v3/include/bits/char_traits.h --- 57663,57670 ---- ef99e4293c1fcf8536f0e01d1fe50ad4 libstdc++-v3/include/bits/atomicfwd_cxx.h 8978919ef26198df76b94dd259804d43 libstdc++-v3/include/bits/basic_ios.h ede9d054043fb2e03ea2edacc7052a12 libstdc++-v3/include/bits/basic_ios.tcc ! a75f23c3a8e875d9361244384a9618bd libstdc++-v3/include/bits/basic_string.h ! 59d2309389014551897a52477242c24b libstdc++-v3/include/bits/basic_string.tcc 57f0342a190b316401f7d8325a0b6bfb libstdc++-v3/include/bits/boost_concept_check.h c7b283769b6d1e7ee8ffbf6adc0453a4 libstdc++-v3/include/bits/c++config 0d52337194abaad41caa7308f5cc4d6e libstdc++-v3/include/bits/char_traits.h *************** fda00080ceccdc0428edb6784b52ae74 libstd *** 57990,57997 **** 1d8f59fc56d7a669c4f60cae0d16857c libstdc++-v3/include/ext/vstring.tcc 82139ac732e7c82100ffa2844f8ca5b5 libstdc++-v3/include/ext/vstring_fwd.h 4d6a727cdc25a72bb8b1edbac3cbcdbf libstdc++-v3/include/ext/vstring_util.h ! ea52e4ba185e58fa8c6bb68f6fa24f67 libstdc++-v3/include/parallel/algo.h ! e66b21a69928423ad30d67cbadd23dca libstdc++-v3/include/parallel/algobase.h 2fde30a761e23705ef7874e52aed41f4 libstdc++-v3/include/parallel/algorithm fc25c30b380f86f23eb462cd73dd157c libstdc++-v3/include/parallel/algorithmfwd.h 0023ea8255f31c454ccb37a8046ddb59 libstdc++-v3/include/parallel/balanced_quicksort.h --- 58145,58152 ---- 1d8f59fc56d7a669c4f60cae0d16857c libstdc++-v3/include/ext/vstring.tcc 82139ac732e7c82100ffa2844f8ca5b5 libstdc++-v3/include/ext/vstring_fwd.h 4d6a727cdc25a72bb8b1edbac3cbcdbf libstdc++-v3/include/ext/vstring_util.h ! 5bef86455b7acd38f47bd8638333f1ac libstdc++-v3/include/parallel/algo.h ! 4d940385d1d76bfb83f7efb6d8e2c646 libstdc++-v3/include/parallel/algobase.h 2fde30a761e23705ef7874e52aed41f4 libstdc++-v3/include/parallel/algorithm fc25c30b380f86f23eb462cd73dd157c libstdc++-v3/include/parallel/algorithmfwd.h 0023ea8255f31c454ccb37a8046ddb59 libstdc++-v3/include/parallel/balanced_quicksort.h *************** d2c0d31e7efc29841f415837e6bc0278 libstd *** 58013,58025 **** c8158589f00560ad63812d54820d6e1d libstdc++-v3/include/parallel/multiseq_selection.h 8e66edf75be54a8554e8d555e3465a68 libstdc++-v3/include/parallel/multiway_merge.h bb51f618599616078add29923c065904 libstdc++-v3/include/parallel/multiway_mergesort.h ! 8c6272e2dfe51f7cd8f946838f47e170 libstdc++-v3/include/parallel/numeric ce01e3639bbd59db8523d1526f6d5b54 libstdc++-v3/include/parallel/numericfwd.h f63d20ab1679069e551ef93467e49549 libstdc++-v3/include/parallel/omp_loop.h 61e293297d266ac75eac3ac533a4ed52 libstdc++-v3/include/parallel/omp_loop_static.h f908068a8832b9214aa74e9e09ad2a84 libstdc++-v3/include/parallel/par_loop.h 2ac62f2b0a5cd483f0bdeaf744a1e087 libstdc++-v3/include/parallel/parallel.h ! ec464b1e94e5724ef85b88bd90e01388 libstdc++-v3/include/parallel/partial_sum.h 3207ebf84b17d91fbc6b77aaafe0ecbd libstdc++-v3/include/parallel/partition.h cff0a5f1ef326e5d629e5f48c8067803 libstdc++-v3/include/parallel/queue.h 93d73f6d63d183b6fae59863333f2b6b libstdc++-v3/include/parallel/quicksort.h --- 58168,58180 ---- c8158589f00560ad63812d54820d6e1d libstdc++-v3/include/parallel/multiseq_selection.h 8e66edf75be54a8554e8d555e3465a68 libstdc++-v3/include/parallel/multiway_merge.h bb51f618599616078add29923c065904 libstdc++-v3/include/parallel/multiway_mergesort.h ! 31988c3ede1b157e03dde2caeff30322 libstdc++-v3/include/parallel/numeric ce01e3639bbd59db8523d1526f6d5b54 libstdc++-v3/include/parallel/numericfwd.h f63d20ab1679069e551ef93467e49549 libstdc++-v3/include/parallel/omp_loop.h 61e293297d266ac75eac3ac533a4ed52 libstdc++-v3/include/parallel/omp_loop_static.h f908068a8832b9214aa74e9e09ad2a84 libstdc++-v3/include/parallel/par_loop.h 2ac62f2b0a5cd483f0bdeaf744a1e087 libstdc++-v3/include/parallel/parallel.h ! 01285d71082698758590523f39233cac libstdc++-v3/include/parallel/partial_sum.h 3207ebf84b17d91fbc6b77aaafe0ecbd libstdc++-v3/include/parallel/partition.h cff0a5f1ef326e5d629e5f48c8067803 libstdc++-v3/include/parallel/queue.h 93d73f6d63d183b6fae59863333f2b6b libstdc++-v3/include/parallel/quicksort.h *************** c47a31a7f378ac3ded9ade6d39cfe5e2 libstd *** 60156,60162 **** 97032d91fb817ac59ec224fdcc197ef8 libstdc++-v3/testsuite/26_numerics/headers/cmath/25913.cc 68616c1da64c634c5ffd32348979cb97 libstdc++-v3/testsuite/26_numerics/headers/cmath/37582.cc 323395ac7fcdd9d5981c7a23c22e984d libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc ! b548e1b5e8cd871d30732b9421da86d0 libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc 2bccec6739f23c7e7cc7ff9beb7f6aa5 libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc d3b122e04efe2eb3549070be53d8b1bf libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc 3e42bb842fc98d8b7e106a61a31980f5 libstdc++-v3/testsuite/26_numerics/headers/cmath/dr550.cc --- 60311,60317 ---- 97032d91fb817ac59ec224fdcc197ef8 libstdc++-v3/testsuite/26_numerics/headers/cmath/25913.cc 68616c1da64c634c5ffd32348979cb97 libstdc++-v3/testsuite/26_numerics/headers/cmath/37582.cc 323395ac7fcdd9d5981c7a23c22e984d libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc ! c2d833c1b5a41aafc95818b008613d9a libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc 2bccec6739f23c7e7cc7ff9beb7f6aa5 libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc d3b122e04efe2eb3549070be53d8b1bf libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc 3e42bb842fc98d8b7e106a61a31980f5 libstdc++-v3/testsuite/26_numerics/headers/cmath/dr550.cc *************** d102711a18aaee95828874982b8744db libstd *** 61567,61573 **** c9ff6a5ff1a214ab6ff01c8e9f865979 libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc a2a5b5cbab65de8945cb0dfddfca69ac libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc 54921be1c301336186fc7b0e5d923485 libstdc++-v3/testsuite/ext/vstring/types/23767.cc ! 0bed5b15042ed190032934e26a33f470 libstdc++-v3/testsuite/lib/dg-options.exp 508f882c08cd38de6eaa8e40cd21329a libstdc++-v3/testsuite/lib/libstdc++.exp d9d421acdfa4d73041c0dc261897b7a1 libstdc++-v3/testsuite/lib/prune.exp 5090e905280219e011f5dc92880885eb libstdc++-v3/testsuite/libstdc++-abi/abi.exp --- 61722,61728 ---- c9ff6a5ff1a214ab6ff01c8e9f865979 libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc a2a5b5cbab65de8945cb0dfddfca69ac libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc 54921be1c301336186fc7b0e5d923485 libstdc++-v3/testsuite/ext/vstring/types/23767.cc ! 2eb62d9220dfc89d2986850e3c26d4df libstdc++-v3/testsuite/lib/dg-options.exp 508f882c08cd38de6eaa8e40cd21329a libstdc++-v3/testsuite/lib/libstdc++.exp d9d421acdfa4d73041c0dc261897b7a1 libstdc++-v3/testsuite/lib/prune.exp 5090e905280219e011f5dc92880885eb libstdc++-v3/testsuite/libstdc++-abi/abi.exp *************** c42d2565a53a629b57bf6e79a5ae0697 ltmain *** 62315,62324 **** bc2f6032c98896249eadb56177c7d357 ltsugar.m4 8ad9271cd6f868874ffff4223e2ff0ee ltversion.m4 13eeb5a2026d18ffe6428827fc7ab406 lt~obsolete.m4 ! 693dccb886244086cb6451eb70f7b83b maintainer-scripts/ChangeLog 9bf52719995189b7572953a25ad202ed maintainer-scripts/README 907b1fc4a36a43358b745c52de228fc7 maintainer-scripts/crontab ! 118ebfb07a175579a51ec5b1030d7e8d maintainer-scripts/gcc_release 33d97164a8610c7abf67eff7d28f47ff maintainer-scripts/maintainer-addresses eecc02d90b3ca9dedd9a88bf1d5e6ba7 maintainer-scripts/update_version_svn edad62ff83ce605a93e06b4047324a46 maintainer-scripts/update_web_docs_libstdcxx_svn --- 62470,62479 ---- bc2f6032c98896249eadb56177c7d357 ltsugar.m4 8ad9271cd6f868874ffff4223e2ff0ee ltversion.m4 13eeb5a2026d18ffe6428827fc7ab406 lt~obsolete.m4 ! a839986159399a01ee152b89cca69d60 maintainer-scripts/ChangeLog 9bf52719995189b7572953a25ad202ed maintainer-scripts/README 907b1fc4a36a43358b745c52de228fc7 maintainer-scripts/crontab ! fcff2666949e8b4b296d1bfc260d53e3 maintainer-scripts/gcc_release 33d97164a8610c7abf67eff7d28f47ff maintainer-scripts/maintainer-addresses eecc02d90b3ca9dedd9a88bf1d5e6ba7 maintainer-scripts/update_version_svn edad62ff83ce605a93e06b4047324a46 maintainer-scripts/update_web_docs_libstdcxx_svn *************** fbe2467afef81c41c166173adeb0ee20 mkdep *** 62329,62335 **** a20215c156b06261d944ae7f30a3b75c move-if-change cf2baa0854f564a7785307e79f155efc symlink-tree e0a5f7e59d19edfd4b4d26479a141f02 ylwrap ! 747f74bcfe187b026e778a2d5bb8837c zlib/ChangeLog 85fcf93ac4aa5b30b63f2f4bb3f654a3 zlib/ChangeLog.gcj 2f46720fda5ab68a1e495009895d874c zlib/FAQ 8851ace55681b1664d97c045d71e339b zlib/INDEX --- 62484,62490 ---- a20215c156b06261d944ae7f30a3b75c move-if-change cf2baa0854f564a7785307e79f155efc symlink-tree e0a5f7e59d19edfd4b4d26479a141f02 ylwrap ! 85c2c175be91a0c89f7e9ceb942f4865 zlib/ChangeLog 85fcf93ac4aa5b30b63f2f4bb3f654a3 zlib/ChangeLog.gcj 2f46720fda5ab68a1e495009895d874c zlib/FAQ 8851ace55681b1664d97c045d71e339b zlib/INDEX diff -Nrcpad gcc-4.4.3/NEWS gcc-4.4.4/NEWS *** gcc-4.4.3/NEWS Thu Jan 21 10:30:02 2010 --- gcc-4.4.4/NEWS Thu Apr 29 08:27:18 2010 *************** see ONEWS. *** 8,34 **** http://gcc.gnu.org/gcc-4.4/index.html GCC 4.4 Release Series ! October 15, 2009 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 4.4.3. This release is a bug-fix release, containing fixes for regressions in ! GCC 4.4.1 relative to previous releases of GCC. Release History GCC 4.4.3 ! January 21, 2010 ([2]changes) GCC 4.4.2 ! October 15, 2009 ([3]changes) GCC 4.4.1 ! July 22, 2009 ([4]changes) GCC 4.4.0 ! April 21, 2009 ([5]changes) References and Acknowledgements --- 8,37 ---- http://gcc.gnu.org/gcc-4.4/index.html GCC 4.4 Release Series ! April 29, 2010 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 4.4.4. This release is a bug-fix release, containing fixes for regressions in ! GCC 4.4.3 relative to previous releases of GCC. Release History + GCC 4.4.4 + April 29, 2010 ([2]changes) + GCC 4.4.3 ! January 21, 2010 ([3]changes) GCC 4.4.2 ! October 15, 2009 ([4]changes) GCC 4.4.1 ! July 22, 2009 ([5]changes) GCC 4.4.0 ! April 21, 2009 ([6]changes) References and Acknowledgements *************** References and Acknowledgements *** 36,73 **** 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 2010-01-21 [20]Valid XHTML 1.0 References --- 39,76 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [7]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 [8]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [9]GCC project ! web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites or [12]our SVN server. ! Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There ! are also [14]other ways to contact the FSF. ! These pages are maintained by [15]the GCC team. For questions related to the use of GCC, please consult these web ! pages and the [16]GCC manuals. If that fails, the ! [17]gcc-help@gcc.gnu.org mailing list might help. Please send comments on these web pages and the development of GCC to ! our developer mailing list at [18]gcc@gnu.org or [19]gcc@gcc.gnu.org. ! All of our lists have [20]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 2010-04-29 [21]Valid XHTML 1.0 References *************** References *** 76,102 **** 3. http://gcc.gnu.org/gcc-4.4/changes.html 4. http://gcc.gnu.org/gcc-4.4/changes.html 5. http://gcc.gnu.org/gcc-4.4/changes.html ! 6. http://gcc.gnu.org/gcc-4.4/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.4/changes.html GCC 4.4 Release Series Changes, New Features, and Fixes ! The latest release in the 4.4 release series is [1]GCC 4.4.3. Caveats --- 79,106 ---- 3. http://gcc.gnu.org/gcc-4.4/changes.html 4. http://gcc.gnu.org/gcc-4.4/changes.html 5. http://gcc.gnu.org/gcc-4.4/changes.html ! 6. http://gcc.gnu.org/gcc-4.4/changes.html ! 7. http://gcc.gnu.org/gcc-4.4/buildstat.html ! 8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. http://gcc.gnu.org/index.html ! 10. mailto:gcc@gcc.gnu.org ! 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/svn.html ! 13. mailto:gnu@gnu.org ! 14. http://www.gnu.org/home.html#ContactInfo ! 15. http://gcc.gnu.org/about.html ! 16. http://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gnu.org ! 19. mailto:gcc@gcc.gnu.org ! 20. http://gcc.gnu.org/lists.html ! 21. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.4/changes.html GCC 4.4 Release Series Changes, New Features, and Fixes ! The latest release in the 4.4 release series is [1]GCC 4.4.4. Caveats *************** New warning options *** 301,306 **** --- 305,312 ---- warning if any stack frame is larger than NUMBER bytes. This may be used to help ensure that code fits within a limited amount of stack space. + * The command-line option -Wlarger-than-N is now written as + -Wlarger-than=N and the old form is deprecated. * The new -Wno-mudflap option disables warnings about constructs which can not be instrumented when using -fmudflap. *************** GCC 4.4.3 *** 652,680 **** 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 [16]gnu@gnu.org. There ! are also [17]other ways to contact the FSF. ! These pages are maintained by [18]the GCC team. For questions related to the use of GCC, please consult these web ! pages and the [19]GCC manuals. If that fails, the ! [20]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 [21]gcc@gnu.org or [22]gcc@gcc.gnu.org. ! All of our lists have [23]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 2010-01-21 [24]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/gcc-4.4/changes.html#4.4.3 2. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted 3. http://gcc.gnu.org/gcc-4.4/porting_to.html 4. http://gcc.gnu.org/wiki/Graphite --- 658,693 ---- not be complete (that is, it is possible that some PRs that have been fixed are not listed here). ! GCC 4.4.4 ! This is the [16]list of problem reports (PRs) from GCC's bug tracking ! system that are known to be fixed in the 4.4.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 [17]gnu@gnu.org. There ! are also [18]other ways to contact the FSF. ! ! These pages are maintained by [19]the GCC team. For questions related to the use of GCC, please consult these web ! pages and the [20]GCC manuals. If that fails, the ! [21]gcc-help@gcc.gnu.org mailing list might help. Please send comments on these web pages and the development of GCC to ! our developer mailing list at [22]gcc@gnu.org or [23]gcc@gcc.gnu.org. ! All of our lists have [24]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 2010-04-29 [25]Valid XHTML 1.0 References ! 1. http://gcc.gnu.org/gcc-4.4/changes.html#4.4.4 2. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted 3. http://gcc.gnu.org/gcc-4.4/porting_to.html 4. http://gcc.gnu.org/wiki/Graphite *************** References *** 689,703 **** 13. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.1 14. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.2 15. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.3 ! 16. mailto:gnu@gnu.org ! 17. http://www.gnu.org/home.html#ContactInfo ! 18. http://gcc.gnu.org/about.html ! 19. http://gcc.gnu.org/onlinedocs/ ! 20. mailto:gcc-help@gcc.gnu.org ! 21. mailto:gcc@gnu.org ! 22. mailto:gcc@gcc.gnu.org ! 23. http://gcc.gnu.org/lists.html ! 24. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.3/index.html GCC 4.3 Release Series --- 702,717 ---- 13. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.1 14. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.2 15. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.3 ! 16. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.4 ! 17. mailto:gnu@gnu.org ! 18. http://www.gnu.org/home.html#ContactInfo ! 19. http://gcc.gnu.org/about.html ! 20. http://gcc.gnu.org/onlinedocs/ ! 21. mailto:gcc-help@gcc.gnu.org ! 22. mailto:gcc@gnu.org ! 23. mailto:gcc@gcc.gnu.org ! 24. http://gcc.gnu.org/lists.html ! 25. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-4.3/index.html GCC 4.3 Release Series diff -Nrcpad gcc-4.4.3/boehm-gc/ChangeLog gcc-4.4.4/boehm-gc/ChangeLog *** gcc-4.4.3/boehm-gc/ChangeLog Thu Jan 21 09:36:17 2010 --- gcc-4.4.4/boehm-gc/ChangeLog Thu Apr 29 07:49:06 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/config/ChangeLog gcc-4.4.4/config/ChangeLog *** gcc-4.4.3/config/ChangeLog Thu Jan 21 09:37:23 2010 --- gcc-4.4.4/config/ChangeLog Thu Apr 29 07:50:54 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/contrib/ChangeLog gcc-4.4.4/contrib/ChangeLog *** gcc-4.4.3/contrib/ChangeLog Thu Jan 21 09:38:45 2010 --- gcc-4.4.4/contrib/ChangeLog Thu Apr 29 07:52:39 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/contrib/reghunt/ChangeLog gcc-4.4.4/contrib/reghunt/ChangeLog *** gcc-4.4.3/contrib/reghunt/ChangeLog Thu Jan 21 09:38:39 2010 --- gcc-4.4.4/contrib/reghunt/ChangeLog Thu Apr 29 07:52:33 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/contrib/regression/ChangeLog gcc-4.4.4/contrib/regression/ChangeLog *** gcc-4.4.3/contrib/regression/ChangeLog Thu Jan 21 09:38:34 2010 --- gcc-4.4.4/contrib/regression/ChangeLog Thu Apr 29 07:52:27 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/fixincludes/ChangeLog gcc-4.4.4/fixincludes/ChangeLog *** gcc-4.4.3/fixincludes/ChangeLog Thu Jan 21 09:36:01 2010 --- gcc-4.4.4/fixincludes/ChangeLog Thu Apr 29 07:48:38 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/BASE-VER gcc-4.4.4/gcc/BASE-VER *** gcc-4.4.3/gcc/BASE-VER Thu Oct 15 12:10:23 2009 --- gcc-4.4.4/gcc/BASE-VER Thu Jan 21 12:55:56 2010 *************** *** 1 **** ! 4.4.3 --- 1 ---- ! 4.4.4 diff -Nrcpad gcc-4.4.3/gcc/ChangeLog gcc-4.4.4/gcc/ChangeLog *** gcc-4.4.3/gcc/ChangeLog Thu Jan 21 09:37:02 2010 --- gcc-4.4.4/gcc/ChangeLog Thu Apr 29 07:50:17 2010 *************** *** 1,3 **** --- 1,554 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-21 Jakub Jelinek + + PR middle-end/43570 + * omp-low.c (scan_sharing_clauses): Don't scan_omp_op + OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE. + (lower_copyprivate_clauses): Use private var in outer + context instead of original var. Make sure the types + are correct for VLAs. + + 2010-04-20 Jakub Jelinek + + PR middle-end/43337 + * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE + with non-local decl doesn't need chain. + + 2010-04-19 Jie Zhang + + PR target/43662 + * reginfo.c (reinit_regs): Set caller_save_initialized_p + to false. + + 2010-04-19 Ira Rosen + + PR tree-optimization/43771 + * tree-vect-analyze.c (vect_supported_load_permutation_p): Check + that load permutation doesn't have gaps. + + 2010-04-18 Eric Botcazou + + PR tree-optimization/43769 + * tree-sra.c (bitfield_overlaps_p): If the length of the element is + self-referential, try to compute an upper bound. + + 2010-04-08 John David Anglin + + Backport from mainline: + 2009-12-05 John David Anglin + + PR ada/41912 + * pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame + for signal frames. + * pa/hpux-unwind.h (pa32_fallback_frame_state): Likewise. + + 2010-04-08 Rainer Orth + + PR target/43643 + * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx. + + 2010-04-08 Rainer Orth + + Backport from mainline: + 2010-03-22 Rainer Orth + + PR target/38085 + * config/i386/i386.c (x86_function_profiler) + [!NO_PROFILE_COUNTERS]: Fix typo. + * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call + instead of callq. + + 2010-04-08 Richard Guenther + + PR middle-end/42956 + * gimplify.c (gimple_fold_indirect_ref): Avoid generating + new ARRAY_REFs on variable size element or minimal index arrays. + * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use + gimple_fold_indirect_ref. + + 2010-04-08 Wolfgang Gellerich + + * config/s390/s390.c (override_options): Adjust the z10 + defaults for max-unroll-times, max-completely-peeled-insns + and max-completely-peel-times. + + 2010-04-08 Wolfgang Gellerich + + * config/s390/s390.c (override_options): Set + default of max-pending-list-length to 256 + + 2010-04-08 Jakub Jelinek + + Backport from mainline: + 2010-03-29 Richard Guenther + + PR tree-optimization/43560 + * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p + parameter. + (can_sm_ref_p): Treat stores to readonly locations as + trapping. + + 2010-04-01 Richard Guenther + + PR tree-optimization/43607 + * ipa-type-escape.c (check_call): Do not access non-existing + arguments. + + 2010-04-01 Richard Guenther + + PR middle-end/43614 + * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS + and TREE_THIS_VOLATILE. + (copy_ref_info): Likewise. + * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE. + * tree.c (build7_stat): Ignore side-effects of all but arg5 + for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of + TARGET_MEM_REF. + + 2010-04-08 Richard Guenther + + PR tree-optimization/43186 + * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param. + * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document. + * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit + unroller iterations. + + 2010-04-07 H.J. Lu + + PR target/43668 + * config/i386/i386.c (setup_incoming_varargs_64): Align stack to + 16byte for FP register save area. + + 2010-04-07 Richard Guenther + + PR tree-optimization/43629 + * tree-ssa-ccp.c (likely_value): Properly look for constant + values. Reset all_undefined_operands if we have seen a + constant value. + + 2010-04-06 Jakub Jelinek + + PR target/43638 + * config/i386/i386.c (print_operand): Remove 'e' and 'E' code + handling. + + 2010-03-31 Uros Bizjak + + Backport from mainline: + 2010-03-27 Uros Bizjak + + PR tree-optimization/43528 + * stor-layout.c (place_field): Check that constant fits into + unsigned HWI when skipping calculation of MS bitfield layout. + + 2010-03-26 Uros Bizjak + + PR target/43524 + * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]: + Remove invalid assert and wrong comment. + + 2010-03-31 Richard Guenther + + PR middle-end/43600 + * cgraphunit.c (cgraph_output_in_order): Do not allocate + temporary data on stack. + + 2010-03-31 Jie Zhang + + PR 43562 + * reload.h (caller_save_initialized_p): Declare. + * toplev.c (backend_init_target): Don't call init_caller_save but + set caller_save_initialized_p to false. + * caller-save.c (caller_save_initialized_p): Define. + (init_caller_save): Check caller_save_initialized_p. + * ira.c (ira): Call init_caller_save if flag_caller_saves. + + 2010-03-30 Andreas Krebbel + + * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic + stack check if the mask would be zero. + + 2010-03-27 Kaveh R. Ghazi + + Backport: + 2009-06-16 J"orn Rennecke + Janis Johnson + + PR target/39254 + * config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE + for the symbol ref of a constant that is the source of a move + - nor for any other not-obvious-label-ref constants. + + 2010-03-27 Uros Bizjak + + PR target/42113 + * config/alpha/alpha.md (*cmp_sadd_si): Change mode + of scratch register to DImode. Split to DImode comparison operator. + Use SImode subreg of scratch register in the multiplication. + (*cmp_sadd_sidi): Ditto. + (*cmp_ssub_si): Ditto. + (*cmp_ssub_sidi): Ditto. + + 2010-03-27 Joseph Myers + + PR c/43381 + * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a + nested binding iff it is a FUNCTION_DECL. + (store_parm_decls_newstyle): Pass nested=true to bind for + FUNCTION_DECLs amongst parameters. + + 2010-03-25 Jakub Jelinek + + PR c/43385 + * gimplify.c (gimple_boolify): Only recurse on __builtin_expect + argument if the argument is truth_value_p. + + 2010-03-23 Kaz Kojima + + Backport from mainline: + 2010-01-08 DJ Delorie + + * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler + register popping order. + + 2010-03-22 James E. Wilson + + PR target/43348 + * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp, + call_value_gp,sibcall_gp): Use 's' constraint not 'i'. + + 2010-03-22 Richard Guenther + + Backport from mainline: + 2010-03-19 Richard Guenther + + PR tree-optimization/43415 + * tree-ssa-pre.c (phi_translate): Split out worker to ... + (phi_translate_1): ... this. + (phi_translate): Move all caching here. Cache all NARY + and REFERENCE translations. + + 2010-03-22 Jakub Jelinek + + Backport from mainline: + 2010-03-20 Richard Guenther + + PR rtl-optimization/43438 + * combine.c (make_extraction): Properly zero-/sign-extend an + extraction of the low part of a CONST_INT. Also handle + CONST_DOUBLE. + + 2010-03-19 Michael Matz + + PR c++/43116 + * attribs.c (decl_attributes): When rebuilding a function pointer + type use the same qualifiers as the original pointer type. + + PR target/43305 + * builtins.c (expand_builtin_interclass_mathfn, + expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls + if that fails. + + 2010-03-18 Michael Matz + + PR middle-end/43419 + * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5) + into sqrt(x) if we need to preserve signed zeros. + + 2010-03-21 John David Anglin + + PR middle-end/42718 + * pa.md (movmemsi): Set align to one if zero. + (movmemdi): Likewise. + + 2010-03-21 Kaz Kojima + + Backport from mainline: + 2009-05-12 Paolo Bonzini + + PR target/43417 + * config/sh/sh.md (cbranchdi4_i): Use an "I08" constraint + instead of "i" constraint. + + 2010-03-18 H.J. Lu + + Backport from mainline: + 2010-03-18 Steven Bosscher + Eric Botcazou + + PR rtl-optimization/43360 + * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL + note if we don't know its invariant status. + + 2010-03-08 Jakub Jelinek + + Backport from mainline: + 2010-03-04 Andrew Pinski + + PR c/43248 + * c-decl.c (build_compound_literal): Return early if init is + an error_mark_node. + + 2010-03-08 Jakub Jelinek + + Backport from mainline: + 2010-02-19 Jakub Jelinek + + PR middle-end/42233 + * dojump.c (do_jump) : Invert priority. + + PR bootstrap/43121 + * except.c (sjlj_emit_function_enter): Don't call + add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn + directly. + * rtl.h (add_reg_br_prob_note): Remove prototype. + + PR middle-end/42233 + * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller. + + PR middle-end/42233 + * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump, + do_jump_1, do_compare_rtx_and_jump): Add PROB argument. + * dojump.c: Include output.h. + (inv): New inline function. + (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump, + do_jump_by_parts_greater_rtx, do_jump_by_parts_greater, + do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx, + do_jump_by_parts_equality, do_compare_and_jump): Add PROB + argument, pass it down to other calls. + (do_compare_rtx_and_jump): Likewise. If PROB is not -1, + add REG_BR_PROB note to the conditional jump. + * cfgexpand.c (add_reg_br_prob_note): Removed. + (expand_gimple_cond): Don't call it, add the probability + as last argument to jumpif_1/jumpifnot_1. + * Makefile.in (dojump.o): Depend on output.h. + * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump + callers. + * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise. + * stmt.c (do_jump_if_equal): Likewise. + * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise. + * loop-unswitch.c (compare_and_jump_seq): Likewise. + * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): + Likewise. + * optabs.c (expand_doubleword_shift, expand_abs): Likewise. + * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and + jumpifnot_1 callers. + (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump + callers. + (store_expr): Adjust jumpifnot caller. + (store_constructor): Adjust jumpif caller. + + PR middle-end/42233 + * gimplify.c (gimple_boolify): For __builtin_expect call + gimple_boolify also on its first argument. + + 2010-03-02 Uros Bizjak + + * config/alpha/alpha.c (override_options): Fix -mtune error message. + + 2010-03-02 Jakub Jelinek + + Backport from mainline: + 2010-03-01 Richard Guenther + + PR tree-optimization/43220 + * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize + BUILT_IN_STACK_{SAVE,RESTORE} around alloca. + + 2010-02-24 Ramana Radhakrishnan + + Backport from trunk + 2009-07-10 Mark Mitchell + + * config/arm/thumb2.md (thumb2_cbz): Correct computation of length + attribute. + (thumb2_cbnz): Likewise. + + 2010-02-22 Andreas Krebbel + + * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative. + (QI to BLKmode splitter): New splitter. + + 2010-02-18 Ulrich Weigand + + * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call + lang_hooks.types_compatible_p instead of comptypes. + + 2010-02-18 Ramana Radhakrishnan + + PR target/40887 + Backport from trunk. + 2009-12-24 Julian Brown + Ramana Radhakrishnan + + * config/arm/arm.c (output_call_mem): Remove armv5 support. + * config/arm/arm.md (*call_mem): Disable for armv5. Add note. + (*call_value_mem): Likewise. + + 2010-02-17 Mikael Pettersson + + * config/sparc/gas.h: New file. Restore + TARGET_ASM_NAMED_SECTION to its ELF default. + * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not + check !HAVE_GNU_AS. + * config/sparc/sparc.c (sparc_elf_asm_named_section): + Likewise. Add ATTRIBUTE_UNUSED to prototype. + * config.gcc (sparc*-*-linux*): Include sparc/gas.h + after sparc/sysv4.h. + + 2010-02-17 Ramana Radhakrishnan + + Backport from trunk. + 2009-12-07 Julian Brown + + * config/arm/constraints.md (Ps, Pt): New constraint letters. + * config/arm/thumb2.md (*thumb2_addsi_short): Tighten constraints. + + 2010-02-16 Ira Rosen + + PR tree-optimization/43074 + * tree-vect-analyze.c (vect_detect_hybrid_slp_stmts): Add + vectorizable cycles in hybrid SLP check. + + 2010-02-14 Andreas Krebbel + + * config/s390/s390.c (s390_sched_init): New function. + (TARGET_SCHED_INIT): Target hook defined. + + 2010-02-13 Richard Guenther + + PR tree-optimization/42871 + * tree-ssa-pre.c (phi_translate_set): Make sure to retain + leaders. + + 2010-02-10 Daniel Gutson + + * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__ + added to the preprocessor condition. + + 2010-02-10 Jakub Jelinek + + PR debug/43010 + * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die + if no debug info should be emitted for it. + + 2010-02-09 Jakub Jelinek + + Backport from mainline: + 2010-01-13 Richard Guenther + + PR tree-optimization/42705 + * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after + labels. + + 2010-02-08 Jakub Jelinek + + PR tree-optimization/42890 + * tree-inline.c (delete_unreachable_blocks_update_callgraph): New + function backported from the trunk. + (tree_function_versioning): Call it instead of + delete_unreachable_blocks. + + PR tree-optimization/42931 + * tree-loop-linear.c (try_interchange_loops): Don't call + double_int_mul if estimated_loop_iterations failed. + + 2010-02-08 Richard Guenther + + PR middle-end/42995 + * tree-inline.c (estimate_move_cost): Assert we are not called + with a void type. + (estimate_num_insns): Do not count the terminating void_type_node + of a function argument type list. + + Backport from mainline: + 2010-01-06 Richard Guenther + + * ipa-inline.c (cgraph_decide_inlining_incrementally): Do + not inline regular functions into always-inline functions. + + 2010-01-05 Martin Jambor + + PR tree-optimization/42462 + * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of + current_function_decl to helper functions and macros. + + 2010-02-04 Richard Guenther + + PR rtl-optimization/42952 + * dse.c (const_or_frame_p): Remove MEM handling. + + 2010-01-31 Eric Botcazou + + PR middle-end/42898 + Backport from mainline: + 2009-04-23 Eric Botcazou + + * gimplify.c (gimplify_modify_expr_rhs) : Do not do a direct + assignment from the constructor either if the target is volatile. + + 2010-01-31 Richard Guenther + + PR middle-end/42898 + * gimplify.c (gimplify_init_constructor): For volatile LHS + initialize a temporary. + + 2010-01-26 Rainer Orth + + * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for + HAVE_GNU_AS value. + * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION): + Test for HAVE_GNU_AS value. + + 2010-01-26 Jakub Jelinek + + PR fortran/42866 + * omp-low.c (expand_omp_sections): Only use single_pred if + l2_bb is single_pred_p. + + 2010-01-25 Christian Bruel + + PR target/42841 + * config/sh/sh.c (find_barrier): Increase length for non delayed + conditional branches. + (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P. + + 2010-01-25 Ramana Radhakrishnan + + Backport from trunk. + 2010-01-19 Ramana Radhakrishnan + + PR target/38697 + * config/arm/neon-testgen.m (emit_automatics): New parameter + features. Adjust for Fixed_return_reg feature. + (test_intrinsic): Call emit_automatics with new feature. + * config/arm/neon.ml: Update copyright years. + (features): New Fixed_return_reg feature. + (ops): Update feature for Vget_low. + + 2010-01-24 David S. Miller + + * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only + define if not using GAS. + * config/sparc/sparc.c (sparc_elf_asm_named_section): + Likewise. Delete SECTION_MERGE code, which is only applicable + when using GAS. + + 2010-01-21 Felyza Wishbringer + + PR bootstrap/42786 + * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx + cpu types. Add support for *-sse3 cpu types. + (x86_64-*-*): Ditto. + + 2010-01-21 Jakub Jelinek + + * BASE-VER: Set to 4.4.4. + * DEV-PHASE: Set to prerelease. + 2010-01-21 Release Manager * GCC 4.4.3 released. *************** *** 108,116 **** * Backport from mainline 2010-01-12 Julian Brown ! * config/arm/neon-schedgen.ml (Utils): Don't try to open missing module. ! (find_with_result): New. 2010-01-12 Jakub Jelinek --- 659,667 ---- * Backport from mainline 2010-01-12 Julian Brown ! * config/arm/neon-schedgen.ml (Utils): Don't try to open missing module. ! (find_with_result): New. 2010-01-12 Jakub Jelinek diff -Nrcpad gcc-4.4.3/gcc/DATESTAMP gcc-4.4.4/gcc/DATESTAMP *** gcc-4.4.3/gcc/DATESTAMP Thu Jan 21 00:16:35 2010 --- gcc-4.4.4/gcc/DATESTAMP Thu Apr 29 00:16:42 2010 *************** *** 1 **** ! 20100121 --- 1 ---- ! 20100429 diff -Nrcpad gcc-4.4.3/gcc/Makefile.in gcc-4.4.4/gcc/Makefile.in *** gcc-4.4.3/gcc/Makefile.in Sat Jul 25 17:53:35 2009 --- gcc-4.4.4/gcc/Makefile.in Mon Mar 8 11:46:28 2010 *************** *** 3,9 **** # Copyright (C) 1987, 1988, 1990, 1991, 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. --- 3,9 ---- # Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, # 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, ! # 2008, 2009, 2010 Free Software Foundation, Inc. #This file is part of GCC. *************** expr.o : expr.c $(CONFIG_H) $(SYSTEM_H) *** 2514,2520 **** tree-pass.h $(DF_H) $(DIAGNOSTIC_H) vecprim.h dojump.o : dojump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \ $(FLAGS_H) $(FUNCTION_H) $(EXPR_H) $(OPTABS_H) $(INSN_ATTR_H) insn-config.h \ ! langhooks.h $(GGC_H) gt-dojump.h vecprim.h $(BASIC_BLOCK_H) builtins.o : builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(TREE_H) $(GIMPLE_H) $(FLAGS_H) $(TARGET_H) $(FUNCTION_H) $(REGS_H) \ $(EXPR_H) $(OPTABS_H) insn-config.h $(RECOG_H) output.h typeclass.h \ --- 2514,2520 ---- tree-pass.h $(DF_H) $(DIAGNOSTIC_H) vecprim.h dojump.o : dojump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \ $(FLAGS_H) $(FUNCTION_H) $(EXPR_H) $(OPTABS_H) $(INSN_ATTR_H) insn-config.h \ ! langhooks.h $(GGC_H) gt-dojump.h vecprim.h $(BASIC_BLOCK_H) output.h builtins.o : builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(TREE_H) $(GIMPLE_H) $(FLAGS_H) $(TARGET_H) $(FUNCTION_H) $(REGS_H) \ $(EXPR_H) $(OPTABS_H) insn-config.h $(RECOG_H) output.h typeclass.h \ diff -Nrcpad gcc-4.4.3/gcc/ada/ChangeLog gcc-4.4.4/gcc/ada/ChangeLog *** gcc-4.4.3/gcc/ada/ChangeLog Thu Jan 21 09:37:13 2010 --- gcc-4.4.4/gcc/ada/ChangeLog Thu Apr 29 07:50:33 2010 *************** *** 1,3 **** --- 1,14 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-02-27 Eric Botcazou + + PR ada/42253 + * gcc-interface/utils2.c (build_binary_op) : Assert that fat + pointer base types are variant of each other. Apply special treatment + for null to fat pointer types in all cases. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/ada/gcc-interface/utils2.c gcc-4.4.4/gcc/ada/gcc-interface/utils2.c *** gcc-4.4.3/gcc/ada/gcc-interface/utils2.c Tue Jun 30 19:20:57 2009 --- gcc-4.4.4/gcc/ada/gcc-interface/utils2.c Sat Feb 27 14:30:12 2010 *************** build_binary_op (enum tree_code op_code, *** 879,904 **** return result; } ! /* Otherwise, the base types must be the same unless the objects are ! fat pointers or records. If we have records, use the best type and ! convert both operands to that type. */ if (left_base_type != right_base_type) { if (TYPE_FAT_POINTER_P (left_base_type) ! && TYPE_FAT_POINTER_P (right_base_type) ! && TYPE_MAIN_VARIANT (left_base_type) ! == TYPE_MAIN_VARIANT (right_base_type)) ! best_type = left_base_type; else if (TREE_CODE (left_base_type) == RECORD_TYPE && TREE_CODE (right_base_type) == RECORD_TYPE) { ! /* The only way these are permitted to be the same is if both ! types have the same name. In that case, one of them must ! not be self-referential. Use that one as the best type. ! Even better is if one is of fixed size. */ gcc_assert (TYPE_NAME (left_base_type) ! && (TYPE_NAME (left_base_type) ! == TYPE_NAME (right_base_type))); if (TREE_CONSTANT (TYPE_SIZE (left_base_type))) best_type = left_base_type; --- 879,906 ---- return result; } ! /* Otherwise, the base types must be the same, unless they are both fat ! pointer types or record types. In the latter case, use the best type ! and convert both operands to that type. */ if (left_base_type != right_base_type) { if (TYPE_FAT_POINTER_P (left_base_type) ! && TYPE_FAT_POINTER_P (right_base_type)) ! { ! gcc_assert (TYPE_MAIN_VARIANT (left_base_type) ! == TYPE_MAIN_VARIANT (right_base_type)); ! best_type = left_base_type; ! } ! else if (TREE_CODE (left_base_type) == RECORD_TYPE && TREE_CODE (right_base_type) == RECORD_TYPE) { ! /* The only way this is permitted is if both types have the same ! name. In that case, one of them must not be self-referential. ! Use it as the best type. Even better with a fixed size. */ gcc_assert (TYPE_NAME (left_base_type) ! && TYPE_NAME (left_base_type) ! == TYPE_NAME (right_base_type)); if (TREE_CONSTANT (TYPE_SIZE (left_base_type))) best_type = left_base_type; *************** build_binary_op (enum tree_code op_code, *** 911,944 **** else gcc_unreachable (); } else gcc_unreachable (); left_operand = convert (best_type, left_operand); right_operand = convert (best_type, right_operand); } - - /* If we are comparing a fat pointer against zero, we need to - just compare the data pointer. */ - else if (TYPE_FAT_POINTER_P (left_base_type) - && TREE_CODE (right_operand) == CONSTRUCTOR - && integer_zerop (VEC_index (constructor_elt, - CONSTRUCTOR_ELTS (right_operand), - 0) - ->value)) - { - right_operand = build_component_ref (left_operand, NULL_TREE, - TYPE_FIELDS (left_base_type), - false); - left_operand = convert (TREE_TYPE (right_operand), - integer_zero_node); - } else { left_operand = convert (left_base_type, left_operand); right_operand = convert (right_base_type, right_operand); } modulus = NULL_TREE; break; --- 913,946 ---- else gcc_unreachable (); } + else gcc_unreachable (); left_operand = convert (best_type, left_operand); right_operand = convert (best_type, right_operand); } else { left_operand = convert (left_base_type, left_operand); right_operand = convert (right_base_type, right_operand); } + /* If we are comparing a fat pointer against zero, we just need to + compare the data pointer. */ + if (TYPE_FAT_POINTER_P (left_base_type) + && TREE_CODE (right_operand) == CONSTRUCTOR + && integer_zerop (VEC_index (constructor_elt, + CONSTRUCTOR_ELTS (right_operand), + 0)->value)) + { + left_operand + = build_component_ref (left_operand, NULL_TREE, + TYPE_FIELDS (left_base_type), false); + right_operand + = convert (TREE_TYPE (left_operand), integer_zero_node); + } + modulus = NULL_TREE; break; diff -Nrcpad gcc-4.4.3/gcc/attribs.c gcc-4.4.4/gcc/attribs.c *** gcc-4.4.3/gcc/attribs.c Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/attribs.c Mon Mar 22 15:03:45 2010 *************** *** 1,6 **** /* Functions dealing with attribute handling, used by most front ends. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. This file is part of GCC. --- 1,6 ---- /* Functions dealing with attribute handling, used by most front ends. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** decl_attributes (tree *node, tree attrib *** 277,282 **** --- 277,283 ---- tree *anode = node; const struct attribute_spec *spec = lookup_attribute_spec (name); bool no_add_attrs = 0; + int fn_ptr_quals = 0; tree fn_ptr_tmp = NULL_TREE; if (spec == NULL) *************** decl_attributes (tree *node, tree attrib *** 344,349 **** --- 345,351 ---- This would all be simpler if attributes were part of the declarator, grumble grumble. */ fn_ptr_tmp = TREE_TYPE (*anode); + fn_ptr_quals = TYPE_QUALS (*anode); anode = &fn_ptr_tmp; flags &= ~(int) ATTR_FLAG_TYPE_IN_PLACE; } *************** decl_attributes (tree *node, tree attrib *** 440,445 **** --- 442,449 ---- /* Rebuild the function pointer type and put it in the appropriate place. */ fn_ptr_tmp = build_pointer_type (fn_ptr_tmp); + if (fn_ptr_quals) + fn_ptr_tmp = build_qualified_type (fn_ptr_tmp, fn_ptr_quals); if (DECL_P (*node)) TREE_TYPE (*node) = fn_ptr_tmp; else diff -Nrcpad gcc-4.4.3/gcc/builtins.c gcc-4.4.4/gcc/builtins.c *** gcc-4.4.3/gcc/builtins.c Thu Jan 14 09:46:04 2010 --- gcc-4.4.4/gcc/builtins.c Mon Mar 22 15:00:20 2010 *************** *** 1,6 **** /* Expand builtin functions. Copyright (C) 1988, 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. --- 1,6 ---- /* Expand builtin functions. Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** expand_builtin_interclass_mathfn (tree e *** 2275,2280 **** --- 2275,2282 ---- /* Before working hard, check whether the instruction is available. */ if (icode != CODE_FOR_nothing) { + rtx last = get_last_insn (); + tree orig_arg = arg; /* Make a suitable register to place result in. */ if (!target || GET_MODE (target) != TYPE_MODE (TREE_TYPE (exp))) *************** expand_builtin_interclass_mathfn (tree e *** 2295,2302 **** /* Compute into TARGET. Set TARGET to wherever the result comes back. */ ! emit_unop_insn (icode, target, op0, UNKNOWN); ! return target; } /* If there is no optab, try generic code. */ --- 2297,2306 ---- /* Compute into TARGET. Set TARGET to wherever the result comes back. */ ! if (maybe_emit_unop_insn (icode, target, op0, UNKNOWN)) ! return target; ! delete_insns_since (last); ! CALL_EXPR_ARG (exp, 0) = orig_arg; } /* If there is no optab, try generic code. */ *************** expand_builtin_pow (tree exp, rtx target *** 2987,2993 **** && ((flag_unsafe_math_optimizations && optimize_insn_for_speed_p () && powi_cost (n/2) <= POWI_MAX_MULTS) ! || n == 1)) { tree call_expr = build_call_expr (fn, 1, narg0); /* Use expand_expr in case the newly built call expression --- 2991,3000 ---- && ((flag_unsafe_math_optimizations && optimize_insn_for_speed_p () && powi_cost (n/2) <= POWI_MAX_MULTS) ! /* Even the c==0.5 case cannot be done unconditionally ! when we need to preserve signed zeros, as ! pow (-0, 0.5) is +0, while sqrt(-0) is -0. */ ! || (!HONOR_SIGNED_ZEROS (mode) && n == 1))) { tree call_expr = build_call_expr (fn, 1, narg0); /* Use expand_expr in case the newly built call expression *************** expand_builtin_signbit (tree exp, rtx ta *** 5834,5842 **** icode = signbit_optab->handlers [(int) fmode].insn_code; if (icode != CODE_FOR_nothing) { target = gen_reg_rtx (TYPE_MODE (TREE_TYPE (exp))); ! emit_unop_insn (icode, target, temp, UNKNOWN); ! return target; } /* For floating point formats without a sign bit, implement signbit --- 5841,5851 ---- icode = signbit_optab->handlers [(int) fmode].insn_code; if (icode != CODE_FOR_nothing) { + rtx last = get_last_insn (); target = gen_reg_rtx (TYPE_MODE (TREE_TYPE (exp))); ! if (maybe_emit_unop_insn (icode, target, temp, UNKNOWN)) ! return target; ! delete_insns_since (last); } /* For floating point formats without a sign bit, implement signbit diff -Nrcpad gcc-4.4.3/gcc/c-decl.c gcc-4.4.4/gcc/c-decl.c *** gcc-4.4.3/gcc/c-decl.c Thu Jan 14 22:49:17 2010 --- gcc-4.4.4/gcc/c-decl.c Sat Mar 27 11:46:07 2010 *************** *** 1,6 **** /* Process declarations and variables for C compiler. Copyright (C) 1988, 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. --- 1,6 ---- /* Process declarations and variables for C compiler. Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ! 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** build_compound_literal (tree type, tree *** 3735,3741 **** tree complit; tree stmt; ! if (type == error_mark_node) return error_mark_node; decl = build_decl (VAR_DECL, NULL_TREE, type); --- 3735,3742 ---- tree complit; tree stmt; ! if (type == error_mark_node ! || init == error_mark_node) return error_mark_node; decl = build_decl (VAR_DECL, NULL_TREE, type); *************** get_parm_info (bool ellipsis) *** 5255,5260 **** --- 5256,5266 ---- type itself. FUNCTION_DECLs appear when there is an implicit function declaration in the parameter list. */ + /* When we reinsert this decl in the function body, we need + to reconstruct whether it was marked as nested. */ + gcc_assert (TREE_CODE (decl) == FUNCTION_DECL + ? b->nested + : !b->nested); TREE_CHAIN (decl) = others; others = decl; /* fall through */ *************** store_parm_decls_newstyle (tree fndecl, *** 6372,6378 **** DECL_CONTEXT (decl) = current_function_decl; if (DECL_NAME (decl)) bind (DECL_NAME (decl), decl, current_scope, ! /*invisible=*/false, /*nested=*/false); } /* And all the tag declarations. */ --- 6378,6385 ---- DECL_CONTEXT (decl) = current_function_decl; if (DECL_NAME (decl)) bind (DECL_NAME (decl), decl, current_scope, ! /*invisible=*/false, ! /*nested=*/(TREE_CODE (decl) == FUNCTION_DECL)); } /* And all the tag declarations. */ diff -Nrcpad gcc-4.4.3/gcc/caller-save.c gcc-4.4.4/gcc/caller-save.c *** gcc-4.4.3/gcc/caller-save.c Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/caller-save.c Wed Mar 31 02:51:31 2010 *************** along with GCC; see the file COPYING3. *** 40,45 **** --- 40,48 ---- #include "df.h" #include "ggc.h" + /* True if caller-save has been initialized. */ + bool caller_save_initialized_p; + /* Call used hard registers which can not be saved because there is no insn for this. */ HARD_REG_SET no_caller_save_reg_set; *************** init_caller_save (void) *** 204,209 **** --- 207,217 ---- rtx address; int i, j; + if (caller_save_initialized_p) + return; + + caller_save_initialized_p = true; + CLEAR_HARD_REG_SET (no_caller_save_reg_set); /* First find all the registers that we need to deal with and all the modes that they can have. If we can't find a mode to use, diff -Nrcpad gcc-4.4.3/gcc/cfgexpand.c gcc-4.4.4/gcc/cfgexpand.c *** gcc-4.4.3/gcc/cfgexpand.c Tue Jan 5 08:56:30 2010 --- gcc-4.4.4/gcc/cfgexpand.c Mon Mar 8 11:46:28 2010 *************** release_stmt_tree (gimple stmt, tree stm *** 379,424 **** } - /* Verify that there is exactly single jump instruction since last and attach - REG_BR_PROB note specifying probability. - ??? We really ought to pass the probability down to RTL expanders and let it - re-distribute it when the conditional expands into multiple conditionals. - This is however difficult to do. */ - void - add_reg_br_prob_note (rtx last, int probability) - { - if (profile_status == PROFILE_ABSENT) - return; - for (last = NEXT_INSN (last); last && NEXT_INSN (last); last = NEXT_INSN (last)) - if (JUMP_P (last)) - { - /* It is common to emit condjump-around-jump sequence when we don't know - how to reverse the conditional. Special case this. */ - if (!any_condjump_p (last) - || !JUMP_P (NEXT_INSN (last)) - || !simplejump_p (NEXT_INSN (last)) - || !NEXT_INSN (NEXT_INSN (last)) - || !BARRIER_P (NEXT_INSN (NEXT_INSN (last))) - || !NEXT_INSN (NEXT_INSN (NEXT_INSN (last))) - || !LABEL_P (NEXT_INSN (NEXT_INSN (NEXT_INSN (last)))) - || NEXT_INSN (NEXT_INSN (NEXT_INSN (NEXT_INSN (last))))) - goto failed; - gcc_assert (!find_reg_note (last, REG_BR_PROB, 0)); - add_reg_note (last, REG_BR_PROB, - GEN_INT (REG_BR_PROB_BASE - probability)); - return; - } - if (!last || !JUMP_P (last) || !any_condjump_p (last)) - goto failed; - gcc_assert (!find_reg_note (last, REG_BR_PROB, 0)); - add_reg_note (last, REG_BR_PROB, GEN_INT (probability)); - return; - failed: - if (dump_file) - fprintf (dump_file, "Failed to add probability note\n"); - } - - #ifndef STACK_ALIGNMENT_NEEDED #define STACK_ALIGNMENT_NEEDED 1 #endif --- 379,384 ---- *************** expand_gimple_cond (basic_block bb, gimp *** 1669,1676 **** two-way jump that needs to be decomposed into two basic blocks. */ if (false_edge->dest == bb->next_bb) { ! jumpif (pred, label_rtx_for_bb (true_edge->dest)); ! add_reg_br_prob_note (last, true_edge->probability); maybe_dump_rtl_for_gimple_stmt (stmt, last); if (true_edge->goto_locus) { --- 1629,1636 ---- two-way jump that needs to be decomposed into two basic blocks. */ if (false_edge->dest == bb->next_bb) { ! jumpif (pred, label_rtx_for_bb (true_edge->dest), ! true_edge->probability); maybe_dump_rtl_for_gimple_stmt (stmt, last); if (true_edge->goto_locus) { *************** expand_gimple_cond (basic_block bb, gimp *** 1685,1692 **** } if (true_edge->dest == bb->next_bb) { ! jumpifnot (pred, label_rtx_for_bb (false_edge->dest)); ! add_reg_br_prob_note (last, false_edge->probability); maybe_dump_rtl_for_gimple_stmt (stmt, last); if (false_edge->goto_locus) { --- 1645,1652 ---- } if (true_edge->dest == bb->next_bb) { ! jumpifnot (pred, label_rtx_for_bb (false_edge->dest), ! false_edge->probability); maybe_dump_rtl_for_gimple_stmt (stmt, last); if (false_edge->goto_locus) { *************** expand_gimple_cond (basic_block bb, gimp *** 1700,1707 **** return NULL; } ! jumpif (pred, label_rtx_for_bb (true_edge->dest)); ! add_reg_br_prob_note (last, true_edge->probability); last = get_last_insn (); if (false_edge->goto_locus) { --- 1660,1666 ---- return NULL; } ! jumpif (pred, label_rtx_for_bb (true_edge->dest), true_edge->probability); last = get_last_insn (); if (false_edge->goto_locus) { diff -Nrcpad gcc-4.4.3/gcc/cfgrtl.c gcc-4.4.4/gcc/cfgrtl.c *** gcc-4.4.3/gcc/cfgrtl.c Thu May 21 23:17:37 2009 --- gcc-4.4.4/gcc/cfgrtl.c Mon Mar 8 11:46:28 2010 *************** *** 1,6 **** /* Control flow graph manipulation code for GNU compiler. Copyright (C) 1987, 1988, 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,6 ---- /* Control flow graph manipulation code for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** rtl_lv_add_condition_to_bb (basic_block *** 2951,2957 **** op0 = force_operand (op0, NULL_RTX); op1 = force_operand (op1, NULL_RTX); do_compare_rtx_and_jump (op0, op1, comp, 0, ! mode, NULL_RTX, NULL_RTX, label); jump = get_last_insn (); JUMP_LABEL (jump) = label; LABEL_NUSES (label)++; --- 2951,2957 ---- op0 = force_operand (op0, NULL_RTX); op1 = force_operand (op1, NULL_RTX); do_compare_rtx_and_jump (op0, op1, comp, 0, ! mode, NULL_RTX, NULL_RTX, label, -1); jump = get_last_insn (); JUMP_LABEL (jump) = label; LABEL_NUSES (label)++; diff -Nrcpad gcc-4.4.3/gcc/cgraphunit.c gcc-4.4.4/gcc/cgraphunit.c *** gcc-4.4.3/gcc/cgraphunit.c Mon Oct 19 12:15:27 2009 --- gcc-4.4.4/gcc/cgraphunit.c Wed Mar 31 13:23:17 2010 *************** static void *** 1135,1141 **** cgraph_output_in_order (void) { int max; - size_t size; struct cgraph_order_sort *nodes; int i; struct cgraph_node *pf; --- 1135,1140 ---- *************** cgraph_output_in_order (void) *** 1143,1151 **** struct cgraph_asm_node *pa; max = cgraph_order; ! size = max * sizeof (struct cgraph_order_sort); ! nodes = (struct cgraph_order_sort *) alloca (size); ! memset (nodes, 0, size); varpool_analyze_pending_decls (); --- 1142,1148 ---- struct cgraph_asm_node *pa; max = cgraph_order; ! nodes = XCNEWVEC (struct cgraph_order_sort, max); varpool_analyze_pending_decls (); *************** cgraph_output_in_order (void) *** 1212,1217 **** --- 1209,1215 ---- } cgraph_asm_nodes = NULL; + free (nodes); } /* Return true when function body of DECL still needs to be kept around diff -Nrcpad gcc-4.4.3/gcc/combine.c gcc-4.4.4/gcc/combine.c *** gcc-4.4.3/gcc/combine.c Fri Jan 15 22:11:43 2010 --- gcc-4.4.4/gcc/combine.c Mon Mar 22 15:05:46 2010 *************** *** 1,6 **** /* Optimize by combining instructions for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. --- 1,6 ---- /* Optimize by combining instructions for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** make_extraction (enum machine_mode mode, *** 6531,6538 **** if (mode == tmode) return new_rtx; ! if (GET_CODE (new_rtx) == CONST_INT) ! return gen_int_mode (INTVAL (new_rtx), mode); /* If we know that no extraneous bits are set, and that the high bit is not set, convert the extraction to the cheaper of --- 6531,6540 ---- if (mode == tmode) return new_rtx; ! if (CONST_INT_P (new_rtx) ! || GET_CODE (new_rtx) == CONST_DOUBLE) ! return simplify_unary_operation (unsignedp ? ZERO_EXTEND : SIGN_EXTEND, ! mode, new_rtx, tmode); /* If we know that no extraneous bits are set, and that the high bit is not set, convert the extraction to the cheaper of diff -Nrcpad gcc-4.4.3/gcc/config/alpha/alpha.c gcc-4.4.4/gcc/config/alpha/alpha.c *** gcc-4.4.3/gcc/config/alpha/alpha.c Sat Jan 2 14:28:25 2010 --- gcc-4.4.4/gcc/config/alpha/alpha.c Tue Mar 2 19:25:27 2010 *************** override_options (void) *** 391,397 **** break; } if (! cpu_table [i].name) ! error ("bad value %qs for -mcpu switch", alpha_tune_string); } /* Do some sanity checks on the above options. */ --- 391,397 ---- break; } if (! cpu_table [i].name) ! error ("bad value %qs for -mtune switch", alpha_tune_string); } /* Do some sanity checks on the above options. */ diff -Nrcpad gcc-4.4.3/gcc/config/alpha/alpha.md gcc-4.4.4/gcc/config/alpha/alpha.md *** gcc-4.4.3/gcc/config/alpha/alpha.md Mon Nov 23 21:14:32 2009 --- gcc-4.4.4/gcc/config/alpha/alpha.md Sat Mar 27 12:09:24 2010 *************** *** 4339,4358 **** (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "sext_add_operand" "rIO"))) ! (clobber (match_scratch:SI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (plus:SI (mult:SI (match_dup 5) (match_dup 3)) (match_dup 4)))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (SImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = operands[0]; }) (define_insn_and_split "*cmp_sadd_sidi" --- 4339,4360 ---- (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "sext_add_operand" "rIO"))) ! (clobber (match_scratch:DI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (plus:SI (mult:SI (match_dup 6) (match_dup 3)) (match_dup 4)))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = gen_lowpart (DImode, operands[0]); ! ! operands[6] = gen_lowpart (SImode, operands[5]); }) (define_insn_and_split "*cmp_sadd_sidi" *************** *** 4365,4384 **** (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "sext_add_operand" "rIO")))) ! (clobber (match_scratch:SI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (sign_extend:DI (plus:SI (mult:SI (match_dup 5) (match_dup 3)) (match_dup 4))))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (SImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = gen_lowpart (SImode, operands[0]); }) (define_insn_and_split "*cmp_ssub_di" --- 4367,4388 ---- (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "sext_add_operand" "rIO")))) ! (clobber (match_scratch:DI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (sign_extend:DI (plus:SI (mult:SI (match_dup 6) (match_dup 3)) (match_dup 4))))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = operands[0]; ! ! operands[6] = gen_lowpart (SImode, operands[5]); }) (define_insn_and_split "*cmp_ssub_di" *************** *** 4415,4434 **** (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "reg_or_8bit_operand" "rI"))) ! (clobber (match_scratch:SI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (minus:SI (mult:SI (match_dup 5) (match_dup 3)) (match_dup 4)))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (SImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = operands[0]; }) (define_insn_and_split "*cmp_ssub_sidi" --- 4419,4440 ---- (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "reg_or_8bit_operand" "rI"))) ! (clobber (match_scratch:DI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (minus:SI (mult:SI (match_dup 6) (match_dup 3)) (match_dup 4)))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = gen_lowpart (DImode, operands[0]); ! ! operands[6] = gen_lowpart (SImode, operands[5]); }) (define_insn_and_split "*cmp_ssub_sidi" *************** *** 4441,4460 **** (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "reg_or_8bit_operand" "rI")))) ! (clobber (match_scratch:SI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:SI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (sign_extend:DI (minus:SI (mult:SI (match_dup 5) (match_dup 3)) (match_dup 4))))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (SImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = gen_lowpart (SImode, operands[0]); }) ;; Here are the CALL and unconditional branch insns. Calls on NT and OSF --- 4447,4468 ---- (match_operand:SI 3 "const48_operand" "I") (const_int 0)) (match_operand:SI 4 "reg_or_8bit_operand" "rI")))) ! (clobber (match_scratch:DI 5 "=r"))] "" "#" "" [(set (match_dup 5) ! (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (sign_extend:DI (minus:SI (mult:SI (match_dup 6) (match_dup 3)) (match_dup 4))))] { if (can_create_pseudo_p ()) ! operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) ! operands[5] = operands[0]; ! ! operands[6] = gen_lowpart (SImode, operands[5]); }) ;; Here are the CALL and unconditional branch insns. Calls on NT and OSF diff -Nrcpad gcc-4.4.3/gcc/config/arm/arm.c gcc-4.4.4/gcc/config/arm/arm.c *** gcc-4.4.3/gcc/config/arm/arm.c Fri Dec 11 17:37:34 2009 --- gcc-4.4.4/gcc/config/arm/arm.c Thu Feb 18 13:13:03 2010 *************** output_call (rtx *operands) *** 10273,10283 **** return ""; } ! /* Output a 'call' insn that is a reference in memory. */ const char * output_call_mem (rtx *operands) { ! if (TARGET_INTERWORK && !arm_arch5) { output_asm_insn ("ldr%?\t%|ip, %0", operands); output_asm_insn ("mov%?\t%|lr, %|pc", operands); --- 10273,10286 ---- return ""; } ! /* Output a 'call' insn that is a reference in memory. This is ! disabled for ARMv5 and we prefer a blx instead because otherwise ! there's a significant performance overhead. */ const char * output_call_mem (rtx *operands) { ! gcc_assert (!arm_arch5); ! if (TARGET_INTERWORK) { output_asm_insn ("ldr%?\t%|ip, %0", operands); output_asm_insn ("mov%?\t%|lr, %|pc", operands); *************** output_call_mem (rtx *operands) *** 10289,10304 **** first instruction. It's safe to use IP as the target of the load since the call will kill it anyway. */ output_asm_insn ("ldr%?\t%|ip, %0", operands); ! if (arm_arch5) ! output_asm_insn ("blx%?\t%|ip", operands); else ! { ! output_asm_insn ("mov%?\t%|lr, %|pc", operands); ! if (arm_arch4t) ! output_asm_insn ("bx%?\t%|ip", operands); ! else ! output_asm_insn ("mov%?\t%|pc, %|ip", operands); ! } } else { --- 10292,10302 ---- first instruction. It's safe to use IP as the target of the load since the call will kill it anyway. */ output_asm_insn ("ldr%?\t%|ip, %0", operands); ! output_asm_insn ("mov%?\t%|lr, %|pc", operands); ! if (arm_arch4t) ! output_asm_insn ("bx%?\t%|ip", operands); else ! output_asm_insn ("mov%?\t%|pc, %|ip", operands); } else { diff -Nrcpad gcc-4.4.3/gcc/config/arm/arm.md gcc-4.4.4/gcc/config/arm/arm.md *** gcc-4.4.3/gcc/config/arm/arm.md Wed Aug 5 16:11:25 2009 --- gcc-4.4.4/gcc/config/arm/arm.md Thu Feb 18 13:13:03 2010 *************** *** 8441,8452 **** (set_attr "type" "call")] ) (define_insn "*call_mem" [(call (mem:SI (match_operand:SI 0 "call_memory_operand" "m")) (match_operand 1 "" "")) (use (match_operand 2 "" "")) (clobber (reg:SI LR_REGNUM))] ! "TARGET_ARM" "* return output_call_mem (operands); " --- 8441,8457 ---- (set_attr "type" "call")] ) + + ;; Note: not used for armv5+ because the sequence used (ldr pc, ...) is not + ;; considered a function call by the branch predictor of some cores (PR40887). + ;; Falls back to blx rN (*call_reg_armv5). + (define_insn "*call_mem" [(call (mem:SI (match_operand:SI 0 "call_memory_operand" "m")) (match_operand 1 "" "")) (use (match_operand 2 "" "")) (clobber (reg:SI LR_REGNUM))] ! "TARGET_ARM && !arm_arch5" "* return output_call_mem (operands); " *************** *** 8548,8560 **** (set_attr "type" "call")] ) (define_insn "*call_value_mem" [(set (match_operand 0 "" "") (call (mem:SI (match_operand:SI 1 "call_memory_operand" "m")) (match_operand 2 "" ""))) (use (match_operand 3 "" "")) (clobber (reg:SI LR_REGNUM))] ! "TARGET_ARM && (!CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))" "* return output_call_mem (&operands[1]); " --- 8553,8567 ---- (set_attr "type" "call")] ) + ;; Note: see *call_mem + (define_insn "*call_value_mem" [(set (match_operand 0 "" "") (call (mem:SI (match_operand:SI 1 "call_memory_operand" "m")) (match_operand 2 "" ""))) (use (match_operand 3 "" "")) (clobber (reg:SI LR_REGNUM))] ! "TARGET_ARM && !arm_arch5 && (!CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))" "* return output_call_mem (&operands[1]); " diff -Nrcpad gcc-4.4.3/gcc/config/arm/constraints.md gcc-4.4.4/gcc/config/arm/constraints.md *** gcc-4.4.3/gcc/config/arm/constraints.md Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/config/arm/constraints.md Wed Feb 17 16:16:16 2010 *************** *** 30,35 **** --- 30,36 ---- ;; The following multi-letter normal constraints have been used: ;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv + ;; in Thumb-2 state: Ps, Pt ;; The following memory constraints have been used: ;; in ARM/Thumb-2 state: Q, Ut, Uv, Uy, Un, Us *************** *** 129,134 **** --- 130,145 ---- (match_test "TARGET_THUMB1 && ival >= -508 && ival <= 508 && ((ival & 3) == 0)"))) + (define_constraint "Ps" + "@internal In Thumb-2 state a constant in the range -255 to +255" + (and (match_code "const_int") + (match_test "TARGET_THUMB2 && ival >= -255 && ival <= 255"))) + + (define_constraint "Pt" + "@internal In Thumb-2 state a constant in the range -7 to +7" + (and (match_code "const_int") + (match_test "TARGET_THUMB2 && ival >= -7 && ival <= 7"))) + (define_constraint "G" "In ARM/Thumb-2 state a valid FPA immediate constant." (and (match_code "const_double") diff -Nrcpad gcc-4.4.3/gcc/config/arm/lib1funcs.asm gcc-4.4.4/gcc/config/arm/lib1funcs.asm *** gcc-4.4.3/gcc/config/arm/lib1funcs.asm Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/gcc/config/arm/lib1funcs.asm Wed Feb 10 20:41:55 2010 *************** see the files COPYING3 and COPYING.RUNTI *** 95,101 **** #endif #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ ! || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) # define __ARM_ARCH__ 7 #endif --- 95,102 ---- #endif #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ ! || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \ ! || defined(__ARM_ARCH_7EM__) # define __ARM_ARCH__ 7 #endif diff -Nrcpad gcc-4.4.3/gcc/config/arm/neon-testgen.ml gcc-4.4.4/gcc/config/arm/neon-testgen.ml *** gcc-4.4.3/gcc/config/arm/neon-testgen.ml Thu Aug 2 10:49:31 2007 --- gcc-4.4.4/gcc/config/arm/neon-testgen.ml Mon Jan 25 12:29:25 2010 *************** *** 1,5 **** (* Auto-generate ARM Neon intrinsics tests. ! Copyright (C) 2006, 2007 Free Software Foundation, Inc. Contributed by CodeSourcery. This file is part of GCC. --- 1,5 ---- (* Auto-generate ARM Neon intrinsics tests. ! Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by CodeSourcery. This file is part of GCC. *************** let emit_prologue chan test_name = *** 58,64 **** (* Emit declarations of local variables that are going to be passed to an intrinsic, together with one to take a returned value if needed. *) ! let emit_automatics chan c_types = let emit () = ignore ( List.fold_left (fun arg_number -> fun (flags, ty) -> --- 58,64 ---- (* Emit declarations of local variables that are going to be passed to an intrinsic, together with one to take a returned value if needed. *) ! let emit_automatics chan c_types features = let emit () = ignore ( List.fold_left (fun arg_number -> fun (flags, ty) -> *************** let emit_automatics chan c_types = *** 75,85 **** in match c_types with (_, return_ty) :: tys -> ! if return_ty <> "void" then ! (* The intrinsic returns a value. *) ! (Printf.fprintf chan " %s out_%s;\n" return_ty return_ty; ! emit ()) ! else (* The intrinsic does not return a value. *) emit () | _ -> assert false --- 75,91 ---- in match c_types with (_, return_ty) :: tys -> ! if return_ty <> "void" then begin ! (* The intrinsic returns a value. We need to do explict register ! allocation for vget_low tests or they fail because of copy ! elimination. *) ! ((if List.mem Fixed_return_reg features then ! Printf.fprintf chan " register %s out_%s asm (\"d18\");\n" ! return_ty return_ty ! else ! Printf.fprintf chan " %s out_%s;\n" return_ty return_ty); ! emit ()) ! end else (* The intrinsic does not return a value. *) emit () | _ -> assert false *************** let test_intrinsic dir opcode features s *** 256,262 **** (* Emit file and function prologues. *) emit_prologue chan test_name; (* Emit local variable declarations. *) ! emit_automatics chan c_types; Printf.fprintf chan "\n"; (* Emit the call to the intrinsic. *) emit_call chan const_valuator c_types name elt_ty; --- 262,268 ---- (* Emit file and function prologues. *) emit_prologue chan test_name; (* Emit local variable declarations. *) ! emit_automatics chan c_types features; Printf.fprintf chan "\n"; (* Emit the call to the intrinsic. *) emit_call chan const_valuator c_types name elt_ty; diff -Nrcpad gcc-4.4.3/gcc/config/arm/neon.ml gcc-4.4.4/gcc/config/arm/neon.ml *** gcc-4.4.3/gcc/config/arm/neon.ml Thu Aug 2 10:49:31 2007 --- gcc-4.4.4/gcc/config/arm/neon.ml Mon Jan 25 12:29:25 2010 *************** *** 1,7 **** (* Common code for ARM NEON header file, documentation and test case generators. ! Copyright (C) 2006, 2007 Free Software Foundation, Inc. Contributed by CodeSourcery. This file is part of GCC. --- 1,7 ---- (* Common code for ARM NEON header file, documentation and test case generators. ! Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by CodeSourcery. This file is part of GCC. *************** type features = *** 233,238 **** --- 233,239 ---- cases. The function supplied must return the integer to be written into the testcase for the argument number (0-based) supplied to it. *) | Const_valuator of (int -> int) + | Fixed_return_reg exception MixedMode of elts * elts *************** let ops = *** 1076,1084 **** Use_operands [| Dreg; Qreg |], "vget_high", notype_1, pf_su_8_64; Vget_low, [Instruction_name ["vmov"]; ! Disassembles_as [Use_operands [| Dreg; Dreg |]]], Use_operands [| Dreg; Qreg |], "vget_low", ! notype_1, pf_su_8_64; (* Conversions. *) Vcvt, [InfoWord], All (2, Dreg), "vcvt", conv_1, --- 1077,1089 ---- Use_operands [| Dreg; Qreg |], "vget_high", notype_1, pf_su_8_64; Vget_low, [Instruction_name ["vmov"]; ! Disassembles_as [Use_operands [| Dreg; Dreg |]]; ! Fixed_return_reg], Use_operands [| Dreg; Qreg |], "vget_low", ! notype_1, pf_su_8_32; ! Vget_low, [No_op], ! Use_operands [| Dreg; Qreg |], "vget_low", ! notype_1, [S64; U64]; (* Conversions. *) Vcvt, [InfoWord], All (2, Dreg), "vcvt", conv_1, diff -Nrcpad gcc-4.4.3/gcc/config/arm/thumb2.md gcc-4.4.4/gcc/config/arm/thumb2.md *** gcc-4.4.3/gcc/config/arm/thumb2.md Wed Dec 2 11:30:38 2009 --- gcc-4.4.4/gcc/config/arm/thumb2.md Wed Feb 24 14:50:43 2010 *************** *** 1108,1116 **** ) (define_insn "*thumb2_addsi_short" ! [(set (match_operand:SI 0 "low_register_operand" "=l") ! (plus:SI (match_operand:SI 1 "low_register_operand" "l") ! (match_operand:SI 2 "low_reg_or_int_operand" "lIL"))) (clobber (reg:CC CC_REGNUM))] "TARGET_THUMB2 && reload_completed" "* --- 1108,1116 ---- ) (define_insn "*thumb2_addsi_short" ! [(set (match_operand:SI 0 "low_register_operand" "=l,l") ! (plus:SI (match_operand:SI 1 "low_register_operand" "l,0") ! (match_operand:SI 2 "low_reg_or_int_operand" "lPt,Ps"))) (clobber (reg:CC CC_REGNUM))] "TARGET_THUMB2 && reload_completed" "* *************** *** 1171,1177 **** (clobber (reg:CC CC_REGNUM))] "TARGET_THUMB2" "* ! if (get_attr_length (insn) == 2 && which_alternative == 0) return \"cbz\\t%0, %l1\"; else return \"cmp\\t%0, #0\;beq\\t%l1\"; --- 1171,1177 ---- (clobber (reg:CC CC_REGNUM))] "TARGET_THUMB2" "* ! if (get_attr_length (insn) == 2) return \"cbz\\t%0, %l1\"; else return \"cmp\\t%0, #0\;beq\\t%l1\"; *************** *** 1179,1185 **** [(set (attr "length") (if_then_else (and (ge (minus (match_dup 1) (pc)) (const_int 2)) ! (le (minus (match_dup 1) (pc)) (const_int 128))) (const_int 2) (const_int 8)))] ) --- 1179,1186 ---- [(set (attr "length") (if_then_else (and (ge (minus (match_dup 1) (pc)) (const_int 2)) ! (le (minus (match_dup 1) (pc)) (const_int 128)) ! (eq (symbol_ref ("which_alternative")) (const_int 0))) (const_int 2) (const_int 8)))] ) *************** *** 1193,1199 **** (clobber (reg:CC CC_REGNUM))] "TARGET_THUMB2" "* ! if (get_attr_length (insn) == 2 && which_alternative == 0) return \"cbnz\\t%0, %l1\"; else return \"cmp\\t%0, #0\;bne\\t%l1\"; --- 1194,1200 ---- (clobber (reg:CC CC_REGNUM))] "TARGET_THUMB2" "* ! if (get_attr_length (insn) == 2) return \"cbnz\\t%0, %l1\"; else return \"cmp\\t%0, #0\;bne\\t%l1\"; *************** *** 1201,1207 **** [(set (attr "length") (if_then_else (and (ge (minus (match_dup 1) (pc)) (const_int 2)) ! (le (minus (match_dup 1) (pc)) (const_int 128))) (const_int 2) (const_int 8)))] ) --- 1202,1209 ---- [(set (attr "length") (if_then_else (and (ge (minus (match_dup 1) (pc)) (const_int 2)) ! (le (minus (match_dup 1) (pc)) (const_int 128)) ! (eq (symbol_ref ("which_alternative")) (const_int 0))) (const_int 2) (const_int 8)))] ) diff -Nrcpad gcc-4.4.3/gcc/config/i386/gmon-sol2.c gcc-4.4.4/gcc/config/i386/gmon-sol2.c *** gcc-4.4.3/gcc/config/i386/gmon-sol2.c Tue May 1 17:51:21 2007 --- gcc-4.4.4/gcc/config/i386/gmon-sol2.c Thu Apr 8 15:09:17 2010 *************** asm(".globl _mcount\n" *** 268,281 **** FROMPCINDEX (via the frame pointer. */ "\tmovq\t0x38(%rsp),%rdi\n" "\tmovq\t0x8(%rbp),%rsi\n" ! "\tcallq\tinternal_mcount\n" /* Restore the saved registers. */ "\tmovq\t0x30(%rsp),%r9\n" "\tmovq\t0x28(%rsp),%r8\n" "\tmovq\t0x20(%rsp),%rdi\n" "\tmovq\t0x18(%rsp),%rsi\n" "\tmovq\t0x10(%rsp),%rdx\n" ! "\tmovq\t0x08(%rsp),%rdx\n" "\tmovq\t(%rsp),%rax\n" "\taddq\t$0x38,%rsp\n" "\tretq\n" --- 268,281 ---- FROMPCINDEX (via the frame pointer. */ "\tmovq\t0x38(%rsp),%rdi\n" "\tmovq\t0x8(%rbp),%rsi\n" ! "\tcall\tinternal_mcount\n" /* Restore the saved registers. */ "\tmovq\t0x30(%rsp),%r9\n" "\tmovq\t0x28(%rsp),%r8\n" "\tmovq\t0x20(%rsp),%rdi\n" "\tmovq\t0x18(%rsp),%rsi\n" "\tmovq\t0x10(%rsp),%rdx\n" ! "\tmovq\t0x08(%rsp),%rcx\n" "\tmovq\t(%rsp),%rax\n" "\taddq\t$0x38,%rsp\n" "\tretq\n" diff -Nrcpad gcc-4.4.3/gcc/config/i386/i386.c gcc-4.4.4/gcc/config/i386/i386.c *** gcc-4.4.3/gcc/config/i386/i386.c Thu Jan 7 19:55:44 2010 --- gcc-4.4.4/gcc/config/i386/i386.c Thu Apr 8 15:09:17 2010 *************** *** 1,6 **** /* Subroutines used for code generation on IA-32. Copyright (C) 1988, 1992, 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. --- 1,6 ---- /* Subroutines used for code generation on IA-32. Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** setup_incoming_varargs_64 (CUMULATIVE_AR *** 6588,6593 **** --- 6588,6597 ---- if (ix86_varargs_fpr_size) { + /* Stack must be aligned to 16byte for FP register save area. */ + if (crtl->stack_alignment_needed < 128) + crtl->stack_alignment_needed = 128; + /* Now emit code to save SSE registers. The AX parameter contains number of SSE parameter registers used to call this function. We use sse_prologue_save insn template that produces computed jump across *************** ix86_expand_prologue (void) *** 8280,8292 **** GEN_INT (-allocate), -1); else { - /* Only valid for Win32. */ rtx eax = gen_rtx_REG (Pmode, AX_REG); bool eax_live; rtx t; - gcc_assert (!TARGET_64BIT || cfun->machine->call_abi == MS_ABI); - if (cfun->machine->call_abi == MS_ABI) eax_live = false; else --- 8284,8293 ---- *************** get_some_local_dynamic_name (void) *** 10823,10829 **** L,W,B,Q,S,T -- print the opcode suffix for specified size of operand. C -- print opcode suffix for set/cmov insn. c -- like C, but print reversed condition - E,e -- likewise, but for compare-and-branch fused insn. F,f -- likewise, but for floating-point. O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.", otherwise nothing --- 10824,10829 ---- *************** print_operand (FILE *file, rtx x, int co *** 11180,11193 **** put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 1, file); return; - case 'E': - put_condition_code (GET_CODE (x), CCmode, 0, 0, file); - return; - - case 'e': - put_condition_code (GET_CODE (x), CCmode, 1, 0, file); - return; - case 'H': /* It doesn't actually matter what mode we use here, as we're only going to use this for printing. */ --- 11180,11185 ---- *************** x86_function_profiler (FILE *file, int l *** 26845,26851 **** if (TARGET_64BIT) { #ifndef NO_PROFILE_COUNTERS ! fprintf (file, "\tleaq\t%sP%d@(%%rip),%%r11\n", LPREFIX, labelno); #endif if (DEFAULT_ABI == SYSV_ABI && flag_pic) --- 26837,26843 ---- if (TARGET_64BIT) { #ifndef NO_PROFILE_COUNTERS ! fprintf (file, "\tleaq\t%sP%d(%%rip),%%r11\n", LPREFIX, labelno); #endif if (DEFAULT_ABI == SYSV_ABI && flag_pic) diff -Nrcpad gcc-4.4.3/gcc/config/ia64/ia64.md gcc-4.4.4/gcc/config/ia64/ia64.md *** gcc-4.4.3/gcc/config/ia64/ia64.md Mon Dec 8 23:25:51 2008 --- gcc-4.4.4/gcc/config/ia64/ia64.md Tue Mar 23 01:16:10 2010 *************** *** 5818,5824 **** }) (define_insn "call_nogp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,i")) (const_int 0)) (clobber (match_operand:DI 1 "register_operand" "=b,b"))] "" --- 5818,5824 ---- }) (define_insn "call_nogp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,s")) (const_int 0)) (clobber (match_operand:DI 1 "register_operand" "=b,b"))] "" *************** *** 5827,5833 **** (define_insn "call_value_nogp" [(set (match_operand 0 "" "=X,X") ! (call (mem:DI (match_operand:DI 1 "call_operand" "?b,i")) (const_int 0))) (clobber (match_operand:DI 2 "register_operand" "=b,b"))] "" --- 5827,5833 ---- (define_insn "call_value_nogp" [(set (match_operand 0 "" "=X,X") ! (call (mem:DI (match_operand:DI 1 "call_operand" "?b,s")) (const_int 0))) (clobber (match_operand:DI 2 "register_operand" "=b,b"))] "" *************** *** 5835,5848 **** [(set_attr "itanium_class" "br,scall")]) (define_insn "sibcall_nogp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,i")) (const_int 0))] "" "br%+.many %0" [(set_attr "itanium_class" "br,scall")]) (define_insn "call_gp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,i")) (const_int 1)) (clobber (match_operand:DI 1 "register_operand" "=b,b")) (clobber (match_scratch:DI 2 "=&r,X")) --- 5835,5848 ---- [(set_attr "itanium_class" "br,scall")]) (define_insn "sibcall_nogp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,s")) (const_int 0))] "" "br%+.many %0" [(set_attr "itanium_class" "br,scall")]) (define_insn "call_gp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,s")) (const_int 1)) (clobber (match_operand:DI 1 "register_operand" "=b,b")) (clobber (match_scratch:DI 2 "=&r,X")) *************** *** 5883,5889 **** (define_insn "call_value_gp" [(set (match_operand 0 "" "=X,X") ! (call (mem:DI (match_operand:DI 1 "call_operand" "?r,i")) (const_int 1))) (clobber (match_operand:DI 2 "register_operand" "=b,b")) (clobber (match_scratch:DI 3 "=&r,X")) --- 5883,5889 ---- (define_insn "call_value_gp" [(set (match_operand 0 "" "=X,X") ! (call (mem:DI (match_operand:DI 1 "call_operand" "?r,s")) (const_int 1))) (clobber (match_operand:DI 2 "register_operand" "=b,b")) (clobber (match_scratch:DI 3 "=&r,X")) *************** *** 5923,5929 **** }) (define_insn_and_split "sibcall_gp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,i")) (const_int 1)) (clobber (match_scratch:DI 1 "=&r,X")) (clobber (match_scratch:DI 2 "=b,X"))] --- 5923,5929 ---- }) (define_insn_and_split "sibcall_gp" ! [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,s")) (const_int 1)) (clobber (match_scratch:DI 1 "=&r,X")) (clobber (match_scratch:DI 2 "=b,X"))] diff -Nrcpad gcc-4.4.3/gcc/config/pa/hpux-unwind.h gcc-4.4.4/gcc/config/pa/hpux-unwind.h *** gcc-4.4.3/gcc/config/pa/hpux-unwind.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/gcc/config/pa/hpux-unwind.h Fri Apr 9 01:40:47 2010 *************** pa_fallback_frame_state (struct _Unwind_ *** 351,356 **** --- 351,357 ---- fs->retaddr_column = DWARF_ALT_FRAME_RETURN_COLUMN; UPDATE_FS_FOR_PC (fs, DWARF_ALT_FRAME_RETURN_COLUMN); + fs->signal_frame = 1; return _URC_NO_REASON; } diff -Nrcpad gcc-4.4.3/gcc/config/pa/linux-unwind.h gcc-4.4.4/gcc/config/pa/linux-unwind.h *** gcc-4.4.3/gcc/config/pa/linux-unwind.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/gcc/config/pa/linux-unwind.h Fri Apr 9 01:40:47 2010 *************** pa32_fallback_frame_state (struct _Unwin *** 135,140 **** --- 135,141 ---- fs->regs.reg[DWARF_ALT_FRAME_RETURN_COLUMN].loc.offset = (long) &sc->sc_iaoq[0] - new_cfa; fs->retaddr_column = DWARF_ALT_FRAME_RETURN_COLUMN; + fs->signal_frame = 1; return _URC_NO_REASON; } #endif /* inhibit_libc */ diff -Nrcpad gcc-4.4.3/gcc/config/pa/pa.md gcc-4.4.4/gcc/config/pa/pa.md *** gcc-4.4.3/gcc/config/pa/pa.md Fri Oct 23 20:13:15 2009 --- gcc-4.4.4/gcc/config/pa/pa.md Mon Mar 22 01:02:42 2010 *************** *** 3548,3554 **** size = INTVAL (operands[2]); align = INTVAL (operands[3]); ! align = align > 4 ? 4 : align; /* If size/alignment is large, then use the library routines. */ if (size / align > 16) --- 3548,3554 ---- size = INTVAL (operands[2]); align = INTVAL (operands[3]); ! align = align > 4 ? 4 : (align ? align : 1); /* If size/alignment is large, then use the library routines. */ if (size / align > 16) *************** *** 3736,3742 **** size = INTVAL (operands[2]); align = INTVAL (operands[3]); ! align = align > 8 ? 8 : align; /* If size/alignment is large, then use the library routines. */ if (size / align > 16) --- 3736,3742 ---- size = INTVAL (operands[2]); align = INTVAL (operands[3]); ! align = align > 8 ? 8 : (align ? align : 1); /* If size/alignment is large, then use the library routines. */ if (size / align > 16) diff -Nrcpad gcc-4.4.3/gcc/config/rs6000/rs6000.c gcc-4.4.4/gcc/config/rs6000/rs6000.c *** gcc-4.4.3/gcc/config/rs6000/rs6000.c Wed Sep 23 22:19:05 2009 --- gcc-4.4.4/gcc/config/rs6000/rs6000.c Sat Mar 27 18:56:08 2010 *************** *** 1,6 **** /* Subroutines used for code generation on IBM RS/6000. Copyright (C) 1991, 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) --- 1,6 ---- /* Subroutines used for code generation on IBM RS/6000. Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) *************** rs6000_emit_move (rtx dest, rtx source, *** 5232,5245 **** && ! legitimate_constant_pool_address_p (operands[1]) && ! toc_relative_expr_p (operands[1])) { - /* Emit a USE operation so that the constant isn't deleted if - expensive optimizations are turned on because nobody - references it. This should only be done for operands that - contain SYMBOL_REFs with CONSTANT_POOL_ADDRESS_P set. - This should not be done for operands that contain LABEL_REFs. - For now, we just handle the obvious case. */ - if (GET_CODE (operands[1]) != LABEL_REF) - emit_use (operands[1]); #if TARGET_MACHO /* Darwin uses a special PIC legitimizer. */ --- 5232,5237 ---- *************** rs6000_aix_emit_builtin_unwind_init (voi *** 15534,15540 **** do_compare_rtx_and_jump (opcode, tocompare, EQ, 1, SImode, NULL_RTX, NULL_RTX, ! no_toc_save_needed); mem = gen_frame_mem (Pmode, gen_rtx_PLUS (Pmode, stack_top, --- 15526,15532 ---- do_compare_rtx_and_jump (opcode, tocompare, EQ, 1, SImode, NULL_RTX, NULL_RTX, ! no_toc_save_needed, -1); mem = gen_frame_mem (Pmode, gen_rtx_PLUS (Pmode, stack_top, diff -Nrcpad gcc-4.4.3/gcc/config/s390/s390.c gcc-4.4.4/gcc/config/s390/s390.c *** gcc-4.4.3/gcc/config/s390/s390.c Fri Nov 27 13:13:59 2009 --- gcc-4.4.4/gcc/config/s390/s390.c Thu Apr 8 11:42:59 2010 *************** override_options (void) *** 1650,1658 **** target_flags |= MASK_LONG_DOUBLE_128; #endif ! if (s390_tune == PROCESSOR_2097_Z10 ! && !PARAM_SET_P (PARAM_MAX_UNROLLED_INSNS)) ! set_param_value ("max-unrolled-insns", 100); } /* Map for smallest class containing reg regno. */ --- 1650,1668 ---- target_flags |= MASK_LONG_DOUBLE_128; #endif ! if (s390_tune == PROCESSOR_2097_Z10) ! { ! if (!PARAM_SET_P (PARAM_MAX_UNROLLED_INSNS)) ! set_param_value ("max-unrolled-insns", 100); ! if (!PARAM_SET_P (PARAM_MAX_UNROLL_TIMES)) ! set_param_value ("max-unroll-times", 32); ! if (!PARAM_SET_P (PARAM_MAX_COMPLETELY_PEELED_INSNS)) ! set_param_value ("max-completely-peeled-insns", 800); ! if (!PARAM_SET_P (PARAM_MAX_COMPLETELY_PEEL_TIMES)) ! set_param_value ("max-completely-peel-times", 64); ! } ! ! set_param_value ("max-pending-list-length", 256); } /* Map for smallest class containing reg regno. */ *************** s390_emit_prologue (void) *** 7763,7782 **** } else { ! HOST_WIDE_INT stack_check_mask = ((s390_stack_size - 1) ! & ~(stack_guard - 1)); ! rtx t = gen_rtx_AND (Pmode, stack_pointer_rtx, ! GEN_INT (stack_check_mask)); ! if (TARGET_64BIT) ! gen_cmpdi (t, const0_rtx); ! else ! gen_cmpsi (t, const0_rtx); ! emit_insn (gen_conditional_trap (gen_rtx_EQ (CCmode, ! gen_rtx_REG (CCmode, ! CC_REGNUM), ! const0_rtx), ! const0_rtx)); } } --- 7773,7809 ---- } else { ! /* stack_guard has to be smaller than s390_stack_size. ! Otherwise we would emit an AND with zero which would ! not match the test under mask pattern. */ ! if (stack_guard >= s390_stack_size) ! { ! warning (0, "frame size of function %qs is " ! HOST_WIDE_INT_PRINT_DEC ! " bytes which is more than half the stack size. " ! "The dynamic check would not be reliable. " ! "No check emitted for this function.", ! current_function_name(), ! cfun_frame_layout.frame_size); ! } ! else ! { ! HOST_WIDE_INT stack_check_mask = ((s390_stack_size - 1) ! & ~(stack_guard - 1)); ! rtx t = gen_rtx_AND (Pmode, stack_pointer_rtx, ! GEN_INT (stack_check_mask)); ! if (TARGET_64BIT) ! gen_cmpdi (t, const0_rtx); ! else ! gen_cmpsi (t, const0_rtx); ! emit_insn (gen_conditional_trap ( ! gen_rtx_EQ (CCmode, ! gen_rtx_REG (CCmode, ! CC_REGNUM), ! const0_rtx), ! const0_rtx)); ! } } } *************** s390_sched_variable_issue (FILE *file AT *** 10090,10095 **** --- 10117,10130 ---- return more; } + static void + s390_sched_init (FILE *file ATTRIBUTE_UNUSED, + int verbose ATTRIBUTE_UNUSED, + int max_ready ATTRIBUTE_UNUSED) + { + last_scheduled_insn = NULL_RTX; + } + /* Initialize GCC target structure. */ #undef TARGET_ASM_ALIGNED_HI_OP *************** s390_sched_variable_issue (FILE *file AT *** 10147,10152 **** --- 10182,10189 ---- #define TARGET_SCHED_VARIABLE_ISSUE s390_sched_variable_issue #undef TARGET_SCHED_REORDER #define TARGET_SCHED_REORDER s390_sched_reorder + #undef TARGET_SCHED_INIT + #define TARGET_SCHED_INIT s390_sched_init #undef TARGET_CANNOT_COPY_INSN_P #define TARGET_CANNOT_COPY_INSN_P s390_cannot_copy_insn_p diff -Nrcpad gcc-4.4.3/gcc/config/s390/s390.md gcc-4.4.4/gcc/config/s390/s390.md *** gcc-4.4.3/gcc/config/s390/s390.md Wed Dec 9 12:21:01 2009 --- gcc-4.4.4/gcc/config/s390/s390.md Mon Feb 22 11:32:39 2010 *************** *** 1864,1871 **** }) (define_insn "*movqi" ! [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,d,R,T,Q,S") ! (match_operand:QI 1 "general_operand" "d,n,R,T,d,d,n,n"))] "" "@ lr\t%0,%1 --- 1864,1871 ---- }) (define_insn "*movqi" ! [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,d,R,T,Q,S,?Q") ! (match_operand:QI 1 "general_operand" " d,n,R,T,d,d,n,n,?Q"))] "" "@ lr\t%0,%1 *************** *** 1875,1883 **** stc\t%1,%0 stcy\t%1,%0 mvi\t%S0,%b1 ! mviy\t%S0,%b1" ! [(set_attr "op_type" "RR,RI,RX,RXY,RX,RXY,SI,SIY") ! (set_attr "type" "lr,*,*,*,store,store,store,store") (set_attr "z10prop" "z10_fr_E1, z10_fwd_A1, z10_super_E1, --- 1875,1884 ---- stc\t%1,%0 stcy\t%1,%0 mvi\t%S0,%b1 ! mviy\t%S0,%b1 ! *" ! [(set_attr "op_type" "RR,RI,RX,RXY,RX,RXY,SI,SIY,SS") ! (set_attr "type" "lr,*,*,*,store,store,store,store,*") (set_attr "z10prop" "z10_fr_E1, z10_fwd_A1, z10_super_E1, *************** *** 1885,1891 **** z10_rec, z10_rec, z10_super, ! z10_super")]) (define_peephole2 [(set (match_operand:QI 0 "nonimmediate_operand" "") --- 1886,1893 ---- z10_rec, z10_rec, z10_super, ! z10_super, ! *")]) (define_peephole2 [(set (match_operand:QI 0 "nonimmediate_operand" "") *************** *** 2262,2267 **** --- 2264,2285 ---- "mvc\t%O0(%2,%R0),%S1" [(set_attr "op_type" "SS")]) + ; This splitter converts a QI to QI mode copy into a BLK mode copy in + ; order to have it implemented with mvc. + + (define_split + [(set (match_operand:QI 0 "memory_operand" "") + (match_operand:QI 1 "memory_operand" ""))] + "reload_completed" + [(parallel + [(set (match_dup 0) (match_dup 1)) + (use (const_int 1))])] + { + operands[0] = adjust_address (operands[0], BLKmode, 0); + operands[1] = adjust_address (operands[1], BLKmode, 0); + }) + + (define_peephole2 [(parallel [(set (match_operand:BLK 0 "memory_operand" "") diff -Nrcpad gcc-4.4.3/gcc/config/sh/sh.c gcc-4.4.4/gcc/config/sh/sh.c *** gcc-4.4.3/gcc/config/sh/sh.c Sun May 24 22:18:47 2009 --- gcc-4.4.4/gcc/config/sh/sh.c Tue Mar 23 23:04:39 2010 *************** *** 1,6 **** /* Output routines for GCC for Renesas / SuperH SH. Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Steve Chamberlain (sac@cygnus.com). Improved by Jim Wilson (wilson@cygnus.com). --- 1,6 ---- /* Output routines for GCC for Renesas / SuperH SH. Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. Contributed by Steve Chamberlain (sac@cygnus.com). Improved by Jim Wilson (wilson@cygnus.com). *************** find_barrier (int num_mova, rtx mova, rt *** 4061,4066 **** --- 4061,4073 ---- && ! TARGET_SMALLCODE) new_align = 4; + /* There is a possibility that a bf is transformed into a bf/s by the + delay slot scheduler. */ + if (JUMP_P (from) && !JUMP_TABLE_DATA_P (from) + && get_attr_type (from) == TYPE_CBRANCH + && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (from)))) != SEQUENCE) + inc += 2; + if (found_si) { count_si += inc; *************** sh_expand_epilogue (bool sibcall_p) *** 6764,6776 **** pop (PR_REG); } ! /* Banked registers are poped first to avoid being scheduled in the delay slot. RTE switches banks before the ds instruction. */ if (current_function_interrupt) { ! for (i = FIRST_BANKED_REG; i <= LAST_BANKED_REG; i++) ! if (TEST_HARD_REG_BIT (live_regs_mask, i)) ! pop (LAST_BANKED_REG - i); last_reg = FIRST_PSEUDO_REGISTER - LAST_BANKED_REG - 1; } --- 6771,6783 ---- pop (PR_REG); } ! /* Banked registers are popped first to avoid being scheduled in the delay slot. RTE switches banks before the ds instruction. */ if (current_function_interrupt) { ! for (i = LAST_BANKED_REG; i >= FIRST_BANKED_REG; i--) ! if (TEST_HARD_REG_BIT (live_regs_mask, i)) ! pop (i); last_reg = FIRST_PSEUDO_REGISTER - LAST_BANKED_REG - 1; } *************** sh_insn_length_adjustment (rtx insn) *** 8721,8729 **** && GET_CODE (PATTERN (insn)) != USE && GET_CODE (PATTERN (insn)) != CLOBBER) || GET_CODE (insn) == CALL_INSN ! || (GET_CODE (insn) == JUMP_INSN ! && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC ! && GET_CODE (PATTERN (insn)) != ADDR_VEC)) && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE && get_attr_needs_delay_slot (insn) == NEEDS_DELAY_SLOT_YES) return 2; --- 8728,8734 ---- && GET_CODE (PATTERN (insn)) != USE && GET_CODE (PATTERN (insn)) != CLOBBER) || GET_CODE (insn) == CALL_INSN ! || (JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn))) && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE && get_attr_needs_delay_slot (insn) == NEEDS_DELAY_SLOT_YES) return 2; *************** sh_insn_length_adjustment (rtx insn) *** 8731,8739 **** /* SH2e has a bug that prevents the use of annulled branches, so if the delay slot is not filled, we'll have to put a NOP in it. */ if (sh_cpu == CPU_SH2E ! && GET_CODE (insn) == JUMP_INSN ! && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC ! && GET_CODE (PATTERN (insn)) != ADDR_VEC && get_attr_type (insn) == TYPE_CBRANCH && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE) return 2; --- 8736,8742 ---- /* SH2e has a bug that prevents the use of annulled branches, so if the delay slot is not filled, we'll have to put a NOP in it. */ if (sh_cpu == CPU_SH2E ! && JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn) && get_attr_type (insn) == TYPE_CBRANCH && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE) return 2; diff -Nrcpad gcc-4.4.3/gcc/config/sh/sh.md gcc-4.4.4/gcc/config/sh/sh.md *** gcc-4.4.3/gcc/config/sh/sh.md Wed Jun 3 00:10:00 2009 --- gcc-4.4.4/gcc/config/sh/sh.md Sun Mar 21 22:29:19 2010 *************** *** 1,6 **** ;;- Machine description for Renesas / SuperH SH. ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! ;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Contributed by Steve Chamberlain (sac@cygnus.com). ;; Improved by Jim Wilson (wilson@cygnus.com). --- 1,6 ---- ;;- Machine description for Renesas / SuperH SH. ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! ;; 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. ;; Contributed by Steve Chamberlain (sac@cygnus.com). ;; Improved by Jim Wilson (wilson@cygnus.com). *************** *** 734,740 **** [(set (pc) (if_then_else (match_operator 0 "comparison_operator" [(match_operand:DI 1 "arith_operand" "r,r") ! (match_operand:DI 2 "arith_operand" "rN,i")]) (label_ref (match_operand 3 "" "")) (pc))) (clobber (match_scratch:SI 4 "=X,&r")) --- 734,740 ---- [(set (pc) (if_then_else (match_operator 0 "comparison_operator" [(match_operand:DI 1 "arith_operand" "r,r") ! (match_operand:DI 2 "arith_operand" "rN,I08")]) (label_ref (match_operand 3 "" "")) (pc))) (clobber (match_scratch:SI 4 "=X,&r")) diff -Nrcpad gcc-4.4.3/gcc/config/sparc/gas.h gcc-4.4.4/gcc/config/sparc/gas.h *** gcc-4.4.3/gcc/config/sparc/gas.h Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/config/sparc/gas.h Thu Feb 18 04:24:04 2010 *************** *** 0 **** --- 1,6 ---- + /* Definitions of target machine for GCC, for SPARC + using the GNU assembler. */ + + /* Switch into a generic section. */ + #undef TARGET_ASM_NAMED_SECTION + #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section diff -Nrcpad gcc-4.4.3/gcc/config/sparc/sparc.c gcc-4.4.4/gcc/config/sparc/sparc.c *** gcc-4.4.3/gcc/config/sparc/sparc.c Tue Jan 5 22:32:25 2010 --- gcc-4.4.4/gcc/config/sparc/sparc.c Thu Feb 18 04:24:04 2010 *************** *** 1,6 **** /* Subroutines for insn-output.c for SPARC. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) 64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans, --- 1,6 ---- /* Subroutines for insn-output.c for SPARC. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) 64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans, *************** static int save_or_restore_regs (int, in *** 371,378 **** static void emit_save_or_restore_regs (int); static void sparc_asm_function_prologue (FILE *, HOST_WIDE_INT); static void sparc_asm_function_epilogue (FILE *, HOST_WIDE_INT); ! #ifdef OBJECT_FORMAT_ELF ! static void sparc_elf_asm_named_section (const char *, unsigned int, tree); #endif static int sparc_adjust_cost (rtx, rtx, rtx, int); --- 371,379 ---- static void emit_save_or_restore_regs (int); static void sparc_asm_function_prologue (FILE *, HOST_WIDE_INT); static void sparc_asm_function_epilogue (FILE *, HOST_WIDE_INT); ! #if defined (OBJECT_FORMAT_ELF) ! static void sparc_elf_asm_named_section (const char *, unsigned int, tree) ! ATTRIBUTE_UNUSED; #endif static int sparc_adjust_cost (rtx, rtx, rtx, int); *************** sparc_profile_hook (int labelno) *** 7847,7865 **** } } ! #ifdef OBJECT_FORMAT_ELF static void sparc_elf_asm_named_section (const char *name, unsigned int flags, tree decl) { - if (flags & SECTION_MERGE) - { - /* entsize cannot be expressed in this section attributes - encoding style. */ - default_elf_asm_named_section (name, flags, decl); - return; - } - fprintf (asm_out_file, "\t.section\t\"%s\"", name); if (!(flags & SECTION_DEBUG)) --- 7848,7858 ---- } } ! #if defined (OBJECT_FORMAT_ELF) static void sparc_elf_asm_named_section (const char *name, unsigned int flags, tree decl) { fprintf (asm_out_file, "\t.section\t\"%s\"", name); if (!(flags & SECTION_DEBUG)) diff -Nrcpad gcc-4.4.3/gcc/config/sparc/sysv4.h gcc-4.4.4/gcc/config/sparc/sysv4.h *** gcc-4.4.3/gcc/config/sparc/sysv4.h Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/config/sparc/sysv4.h Thu Feb 18 04:24:04 2010 *************** *** 1,5 **** /* Target definitions for GNU compiler for SPARC running System V.4 ! Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007, 2009 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@monkeys.com). --- 1,6 ---- /* Target definitions for GNU compiler for SPARC running System V.4 ! Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007, 2009, ! 2010 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@monkeys.com). diff -Nrcpad gcc-4.4.3/gcc/config/spu/spu-c.c gcc-4.4.4/gcc/config/spu/spu-c.c *** gcc-4.4.3/gcc/config/spu/spu-c.c Thu Apr 23 22:50:16 2009 --- gcc-4.4.4/gcc/config/spu/spu-c.c Fri Feb 19 15:34:36 2010 *************** spu_resolve_overloaded_builtin (tree fnd *** 161,168 **** 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; } if (param == void_list_node) --- 161,167 ---- if ((!SCALAR_TYPE_P (param_type) || !SCALAR_TYPE_P (arg_type) || (all_scalar && p == 0)) ! && !lang_hooks.types_compatible_p (param_type, arg_type)) break; } if (param == void_list_node) diff -Nrcpad gcc-4.4.3/gcc/config.gcc gcc-4.4.4/gcc/config.gcc *** gcc-4.4.3/gcc/config.gcc Mon Jan 4 15:13:08 2010 --- gcc-4.4.4/gcc/config.gcc Thu Feb 18 04:24:04 2010 *************** i[34567]86-*-linux* | i[34567]86-*-kfree *** 1088,1094 **** tmake_file="${tmake_file} i386/t-linux64" need_64bit_hwint=yes case X"${with_cpu}" in ! Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx) ;; X) if test x$with_cpu_64 = x; then --- 1088,1094 ---- tmake_file="${tmake_file} i386/t-linux64" need_64bit_hwint=yes case X"${with_cpu}" in ! Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) ;; X) if test x$with_cpu_64 = x; then *************** i[34567]86-*-linux* | i[34567]86-*-kfree *** 1097,1103 **** ;; *) echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 ! echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2 exit 1 ;; esac --- 1097,1103 ---- ;; *) echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 ! echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 exit 1 ;; esac *************** i[34567]86-*-solaris2*) *** 1202,1208 **** # libgcc/configure.ac instead. need_64bit_hwint=yes case X"${with_cpu}" in ! Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx) ;; X) if test x$with_cpu_64 = x; then --- 1202,1208 ---- # libgcc/configure.ac instead. need_64bit_hwint=yes case X"${with_cpu}" in ! Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) ;; X) if test x$with_cpu_64 = x; then *************** i[34567]86-*-solaris2*) *** 1211,1217 **** ;; *) echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 ! echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2 exit 1 ;; esac --- 1211,1217 ---- ;; *) echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2 ! echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2 exit 1 ;; esac *************** sparc-*-elf*) *** 2191,2197 **** extra_parts="crti.o crtn.o crtbegin.o crtend.o" ;; sparc-*-linux*) # SPARC's running GNU/Linux, libc6 ! tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux" if test x$enable_targets = xall; then --- 2191,2197 ---- extra_parts="crti.o crtn.o crtbegin.o crtend.o" ;; sparc-*-linux*) # SPARC's running GNU/Linux, libc6 ! tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux" if test x$enable_targets = xall; then *************** sparc64-*-freebsd*|ultrasparc-*-freebsd* *** 2303,2309 **** esac ;; sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux ! tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" ;; --- 2303,2309 ---- esac ;; sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux ! tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h sparc/linux64.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" ;; *************** if test x$with_cpu = x ; then *** 2472,2478 **** amdfam10-*|barcelona-*) with_cpu=amdfam10 ;; ! k8-*|opteron-*|athlon_64-*) with_cpu=k8 ;; athlon_xp-*|athlon_mp-*|athlon_4-*) --- 2472,2481 ---- amdfam10-*|barcelona-*) with_cpu=amdfam10 ;; ! k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) ! with_cpu=k8-sse3 ! ;; ! k8-*|opteron-*|athlon64-*|athlon_fx-*) with_cpu=k8 ;; athlon_xp-*|athlon_mp-*|athlon_4-*) *************** if test x$with_cpu = x ; then *** 2518,2524 **** amdfam10-*|barcelona-*) with_cpu=amdfam10 ;; ! k8-*|opteron-*|athlon_64-*) with_cpu=k8 ;; nocona-*) --- 2521,2530 ---- amdfam10-*|barcelona-*) with_cpu=amdfam10 ;; ! k8_sse3-*|opteron_sse3-*|athlon64_sse3-*) ! with_cpu=k8-sse3 ! ;; ! k8-*|opteron-*|athlon64-*|athlon_fx-*) with_cpu=k8 ;; nocona-*) *************** case "${target}" in *** 2812,2818 **** esac # OK ;; ! "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic) # OK ;; *) --- 2818,2824 ---- esac # OK ;; ! "" | amdfam10 | barcelona | k8-sse3 | opteron-sse3 | athlon64-sse3 | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic) # OK ;; *) diff -Nrcpad gcc-4.4.3/gcc/cp/ChangeLog gcc-4.4.4/gcc/cp/ChangeLog *** gcc-4.4.3/gcc/cp/ChangeLog Thu Jan 21 09:36:57 2010 --- gcc-4.4.4/gcc/cp/ChangeLog Thu Apr 29 07:50:09 2010 *************** *** 1,3 **** --- 1,27 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-03-30 Jason Merrill + + PR c++/41185 + PR c++/41786 + * parser.c (cp_parser_direct_declarator): Don't allow VLAs in + function parameter context. Don't print an error if parsing + tentatively. + + 2010-02-12 Jason Merrill + + PR c++/43024 + * name-lookup.h (current_binding_level): Check for null + cp_function_chain. + + 2010-02-12 Jakub Jelinek + + PR c++/43033 + * name-lookup.c (pushdecl_maybe_friend): Check default args of t + instead of x. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/cp/name-lookup.c gcc-4.4.4/gcc/cp/name-lookup.c *** gcc-4.4.3/gcc/cp/name-lookup.c Tue Nov 3 21:33:55 2009 --- gcc-4.4.4/gcc/cp/name-lookup.c Fri Feb 12 17:27:33 2010 *************** *** 1,5 **** /* Definitions for C++ name lookup routines. ! Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Gabriel Dos Reis --- 1,5 ---- /* Definitions for C++ name lookup routines. ! Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Gabriel Dos Reis *************** pushdecl_maybe_friend (tree x, bool is_f *** 840,847 **** add_decl_to_level (x, NAMESPACE_LEVEL (CP_DECL_CONTEXT (t))); } ! if (TREE_CODE (x) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (x)) ! check_default_args (x); if (t != x || DECL_FUNCTION_TEMPLATE_P (t)) POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t); --- 840,847 ---- add_decl_to_level (x, NAMESPACE_LEVEL (CP_DECL_CONTEXT (t))); } ! if (TREE_CODE (t) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (t)) ! check_default_args (t); if (t != x || DECL_FUNCTION_TEMPLATE_P (t)) POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t); diff -Nrcpad gcc-4.4.3/gcc/cp/name-lookup.h gcc-4.4.4/gcc/cp/name-lookup.h *** gcc-4.4.3/gcc/cp/name-lookup.h Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/cp/name-lookup.h Fri Feb 12 22:27:04 2010 *************** struct cp_binding_level GTY(()) *** 263,269 **** /* The binding level currently in effect. */ #define current_binding_level \ ! (*(cfun && cp_function_chain->bindings \ ? &cp_function_chain->bindings \ : &scope_chain->bindings)) --- 263,269 ---- /* The binding level currently in effect. */ #define current_binding_level \ ! (*(cfun && cp_function_chain && cp_function_chain->bindings \ ? &cp_function_chain->bindings \ : &scope_chain->bindings)) diff -Nrcpad gcc-4.4.3/gcc/cp/parser.c gcc-4.4.4/gcc/cp/parser.c *** gcc-4.4.3/gcc/cp/parser.c Mon Nov 9 20:28:18 2009 --- gcc-4.4.4/gcc/cp/parser.c Tue Mar 30 21:20:58 2010 *************** cp_parser_direct_declarator (cp_parser* *** 13335,13345 **** bounds = fold_non_dependent_expr (bounds); /* Normally, the array bound must be an integral constant expression. However, as an extension, we allow VLAs ! in function scopes. */ ! else if (!parser->in_function_body) { ! error ("%Harray bound is not an integer constant", ! &token->location); bounds = error_mark_node; } else if (processing_template_decl && !error_operand_p (bounds)) --- 13335,13347 ---- bounds = fold_non_dependent_expr (bounds); /* Normally, the array bound must be an integral constant expression. However, as an extension, we allow VLAs ! in function scopes as long as they aren't part of a ! parameter declaration. */ ! else if (!parser->in_function_body ! || current_binding_level->kind == sk_function_parms) { ! cp_parser_error (parser, ! "array bound is not an integer constant"); bounds = error_mark_node; } else if (processing_template_decl && !error_operand_p (bounds)) diff -Nrcpad gcc-4.4.3/gcc/doc/aot-compile.1 gcc-4.4.4/gcc/doc/aot-compile.1 *** gcc-4.4.3/gcc/doc/aot-compile.1 Thu Jan 21 11:33:09 2010 --- gcc-4.4.4/gcc/doc/aot-compile.1 Thu Apr 29 09:36:23 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "AOT-COMPILE 1" ! .TH AOT-COMPILE 1 "2010-01-21" "gcc-4.4.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 "AOT-COMPILE 1" ! .TH AOT-COMPILE 1 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/cpp.1 gcc-4.4.4/gcc/doc/cpp.1 *** gcc-4.4.3/gcc/doc/cpp.1 Thu Jan 21 10:39:10 2010 --- gcc-4.4.4/gcc/doc/cpp.1 Thu Apr 29 08:38:19 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/cpp.info gcc-4.4.4/gcc/doc/cpp.info *** gcc-4.4.3/gcc/doc/cpp.info Thu Jan 21 11:33:03 2010 --- gcc-4.4.4/gcc/doc/cpp.info Thu Apr 29 09:36:16 2010 *************** *** 1,5 **** This is doc/cpp.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.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, 2008 Free --- 1,5 ---- This is doc/cpp.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.4/gcc-4.4.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, 2008 Free diff -Nrcpad gcc-4.4.3/gcc/doc/cppinternals.info gcc-4.4.4/gcc/doc/cppinternals.info *** gcc-4.4.3/gcc/doc/cppinternals.info Thu Jan 21 11:33:05 2010 --- gcc-4.4.4/gcc/doc/cppinternals.info Thu Apr 29 09:36:17 2010 *************** *** 1,5 **** This is doc/cppinternals.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.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.13 from ! /d/gcc-4.4.4/gcc-4.4.4/gcc/doc/cppinternals.texi. INFO-DIR-SECTION Software development START-INFO-DIR-ENTRY diff -Nrcpad gcc-4.4.3/gcc/doc/fsf-funding.7 gcc-4.4.4/gcc/doc/fsf-funding.7 *** gcc-4.4.3/gcc/doc/fsf-funding.7 Thu Jan 21 10:39:13 2010 --- gcc-4.4.4/gcc/doc/fsf-funding.7 Thu Apr 29 08:38:22 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/g++.1 gcc-4.4.4/gcc/doc/g++.1 *** gcc-4.4.3/gcc/doc/g++.1 Thu Jan 21 11:33:08 2010 --- gcc-4.4.4/gcc/doc/g++.1 Thu Apr 29 09:36:23 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** The maximum number of insns of a complet *** 6728,6733 **** --- 6728,6736 ---- .IP "\fBmax-completely-peel-times\fR" 4 .IX Item "max-completely-peel-times" The maximum number of iterations of a loop to be suitable for complete peeling. + .IP "\fBmax-completely-peel-loop-nest-depth\fR" 4 + .IX Item "max-completely-peel-loop-nest-depth" + The maximum depth of a loop nest suitable for complete peeling. .IP "\fBmax-unswitch-insns\fR" 4 .IX Item "max-unswitch-insns" The maximum number of insns of an unswitched loop. diff -Nrcpad gcc-4.4.3/gcc/doc/gc-analyze.1 gcc-4.4.4/gcc/doc/gc-analyze.1 *** gcc-4.4.3/gcc/doc/gc-analyze.1 Thu Jan 21 11:20:56 2010 --- gcc-4.4.4/gcc/doc/gc-analyze.1 Thu Apr 29 09:23:22 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GC-ANALYZE 1" ! .TH GC-ANALYZE 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/gcc.1 gcc-4.4.4/gcc/doc/gcc.1 *** gcc-4.4.3/gcc/doc/gcc.1 Thu Jan 21 11:33:08 2010 --- gcc-4.4.4/gcc/doc/gcc.1 Thu Apr 29 09:36:23 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.4" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** The maximum number of insns of a complet *** 6728,6733 **** --- 6728,6736 ---- .IP "\fBmax-completely-peel-times\fR" 4 .IX Item "max-completely-peel-times" The maximum number of iterations of a loop to be suitable for complete peeling. + .IP "\fBmax-completely-peel-loop-nest-depth\fR" 4 + .IX Item "max-completely-peel-loop-nest-depth" + The maximum depth of a loop nest suitable for complete peeling. .IP "\fBmax-unswitch-insns\fR" 4 .IX Item "max-unswitch-insns" The maximum number of insns of an unswitched loop. diff -Nrcpad gcc-4.4.3/gcc/doc/gcc.info gcc-4.4.4/gcc/doc/gcc.info *** gcc-4.4.3/gcc/doc/gcc.info Thu Jan 21 11:33:04 2010 --- gcc-4.4.4/gcc/doc/gcc.info Thu Apr 29 09:36:16 2010 *************** *** 1,5 **** This is doc/gcc.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.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 --- 1,5 ---- This is doc/gcc.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.4/gcc-4.4.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 *************** 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.4.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.4.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. *************** includes experimental options that may p *** 6860,6865 **** --- 6860,6869 ---- The maximum number of iterations of a loop to be suitable for complete peeling. + `max-completely-peel-loop-nest-depth' + The maximum depth of a loop nest suitable for complete + peeling. + `max-unswitch-insns' The maximum number of insns of an unswitched loop. *************** Node: Warning Options116665 *** 43787,44028 **** Node: Debugging Options175012 Node: Optimize Options213831 Ref: Type-punning260632 ! Node: Preprocessor Options317043 ! Ref: Wtrigraphs321141 ! Ref: dashMF325889 ! Ref: fdollars-in-identifiers336408 ! Node: Assembler Options344969 ! Node: Link Options345674 ! Ref: Link Options-Footnote-1355144 ! Node: Directory Options355478 ! Node: Spec Files361540 ! Node: Target Options381879 ! Node: Submodel Options383397 ! Node: ARC Options385096 ! Node: ARM Options386583 ! Node: AVR Options398817 ! Node: Blackfin Options400906 ! Node: CRIS Options408798 ! Node: CRX Options412539 ! Node: Darwin Options412964 ! Node: DEC Alpha Options420457 ! Node: DEC Alpha/VMS Options432373 ! Node: FR30 Options432759 ! Node: FRV Options433334 ! Node: GNU/Linux Options440051 ! Node: H8/300 Options440509 ! Node: HPPA Options441576 ! Node: i386 and x86-64 Options451076 ! Node: IA-64 Options479061 ! Node: M32C Options486386 ! Node: M32R/D Options487677 ! Node: M680x0 Options491264 ! Node: M68hc1x Options505084 ! Node: MCore Options506652 ! Node: MIPS Options508160 ! Node: MMIX Options534195 ! Node: MN10300 Options536677 ! Node: PDP-11 Options538099 ! Node: picoChip Options539939 ! Node: PowerPC Options542138 ! Node: RS/6000 and PowerPC Options542374 ! Node: S/390 and zSeries Options573121 ! Node: Score Options581069 ! Node: SH Options581897 ! Node: SPARC Options592175 ! Node: SPU Options603148 ! Node: System V Options606436 ! Node: V850 Options607259 ! Node: VAX Options610399 ! Node: VxWorks Options610947 ! Node: x86-64 Options612102 ! Node: i386 and x86-64 Windows Options612320 ! Node: Xstormy16 Options614639 ! Node: Xtensa Options614928 ! Node: zSeries Options619075 ! Node: Code Gen Options619271 ! Node: Environment Variables643850 ! Node: Precompiled Headers651746 ! Node: Running Protoize657972 ! Node: C Implementation664309 ! Node: Translation implementation665972 ! Node: Environment implementation666546 ! Node: Identifiers implementation667096 ! Node: Characters implementation668150 ! Node: Integers implementation670956 ! Node: Floating point implementation672781 ! Node: Arrays and pointers implementation675710 ! Ref: Arrays and pointers implementation-Footnote-1677145 ! Node: Hints implementation677269 ! Node: Structures unions enumerations and bit-fields implementation678735 ! Node: Qualifiers implementation680721 ! Node: Declarators implementation682493 ! Node: Statements implementation682835 ! Node: Preprocessing directives implementation683162 ! Node: Library functions implementation685267 ! Node: Architecture implementation685907 ! Node: Locale-specific behavior implementation686610 ! Node: C Extensions686915 ! Node: Statement Exprs691526 ! Node: Local Labels696039 ! Node: Labels as Values699018 ! Ref: Labels as Values-Footnote-1701391 ! Node: Nested Functions701574 ! Node: Constructing Calls705468 ! Node: Typeof710191 ! Node: Conditionals713357 ! Node: Long Long714248 ! Node: Complex715749 ! Node: Floating Types718319 ! Node: Decimal Float719398 ! Node: Hex Floats721387 ! Node: Fixed-Point722428 ! Node: Zero Length725713 ! Node: Empty Structures728991 ! Node: Variable Length729407 ! Node: Variadic Macros732174 ! Node: Escaped Newlines734556 ! Node: Subscripting735395 ! Node: Pointer Arith736118 ! Node: Initializers736686 ! Node: Compound Literals737182 ! Node: Designated Inits739357 ! Node: Case Ranges743012 ! Node: Cast to Union743695 ! Node: Mixed Declarations744791 ! Node: Function Attributes745297 ! Node: Attribute Syntax807913 ! Node: Function Prototypes818183 ! Node: C++ Comments819964 ! Node: Dollar Signs820483 ! Node: Character Escapes820948 ! Node: Alignment821242 ! Node: Variable Attributes822616 ! Ref: i386 Variable Attributes837206 ! Node: Type Attributes843191 ! Ref: i386 Type Attributes856812 ! Ref: PowerPC Type Attributes857652 ! Ref: SPU Type Attributes858514 ! Node: Inline858805 ! Node: Extended Asm863752 ! Ref: Example of asm with clobbered asm reg869838 ! Node: Constraints884057 ! Node: Simple Constraints884907 ! Node: Multi-Alternative891578 ! Node: Modifiers893295 ! Node: Machine Constraints896189 ! Node: Asm Labels928402 ! Node: Explicit Reg Vars930078 ! Node: Global Reg Vars931686 ! Node: Local Reg Vars936236 ! Node: Alternate Keywords938677 ! Node: Incomplete Enums940105 ! Node: Function Names940862 ! Node: Return Address943024 ! Node: Vector Extensions945821 ! Node: Offsetof949323 ! Node: Atomic Builtins950137 ! Node: Object Size Checking955515 ! Node: Other Builtins960943 ! Node: Target Builtins985751 ! Node: Alpha Built-in Functions986645 ! Node: ARM iWMMXt Built-in Functions989644 ! Node: ARM NEON Intrinsics996363 ! Node: Blackfin Built-in Functions1204201 ! Node: FR-V Built-in Functions1204815 ! Node: Argument Types1205674 ! Node: Directly-mapped Integer Functions1207430 ! Node: Directly-mapped Media Functions1208512 ! Node: Raw read/write Functions1215544 ! Node: Other Built-in Functions1216456 ! Node: X86 Built-in Functions1217645 ! Node: MIPS DSP Built-in Functions1262085 ! Node: MIPS Paired-Single Support1274532 ! Node: MIPS Loongson Built-in Functions1276033 ! Node: Paired-Single Arithmetic1282551 ! Node: Paired-Single Built-in Functions1283497 ! Node: MIPS-3D Built-in Functions1286167 ! Node: picoChip Built-in Functions1291542 ! Node: Other MIPS Built-in Functions1292904 ! Node: PowerPC AltiVec Built-in Functions1293428 ! Node: SPARC VIS Built-in Functions1394852 ! Node: SPU Built-in Functions1396544 ! Node: Target Format Checks1398326 ! Node: Solaris Format Checks1398733 ! Node: Pragmas1399130 ! Node: ARM Pragmas1399824 ! Node: M32C Pragmas1400427 ! Node: RS/6000 and PowerPC Pragmas1401003 ! Node: Darwin Pragmas1401745 ! Node: Solaris Pragmas1402812 ! Node: Symbol-Renaming Pragmas1403973 ! Node: Structure-Packing Pragmas1406595 ! Node: Weak Pragmas1408247 ! Node: Diagnostic Pragmas1409049 ! Node: Visibility Pragmas1411683 ! Node: Push/Pop Macro Pragmas1412435 ! Node: Function Specific Option Pragmas1413408 ! Node: Unnamed Fields1415623 ! Node: Thread-Local1417133 ! Node: C99 Thread-Local Edits1419242 ! Node: C++98 Thread-Local Edits1421254 ! Node: Binary constants1424699 ! Node: C++ Extensions1425370 ! Node: Volatiles1427012 ! Node: Restricted Pointers1429688 ! Node: Vague Linkage1431282 ! Node: C++ Interface1434938 ! Ref: C++ Interface-Footnote-11439235 ! Node: Template Instantiation1439372 ! Node: Bound member functions1446384 ! Node: C++ Attributes1447927 ! Node: Namespace Association1449585 ! Node: Type Traits1450999 ! Node: Java Exceptions1456546 ! Node: Deprecated Features1457943 ! Node: Backwards Compatibility1460908 ! Node: Objective-C1462266 ! Node: Executing code before main1462847 ! Node: What you can and what you cannot do in +load1465453 ! Node: Type encoding1467620 ! Node: Garbage Collection1471007 ! Node: Constant string objects1473631 ! Node: compatibility_alias1476139 ! Node: Compatibility1477017 ! Node: Gcov1483584 ! Node: Gcov Intro1484115 ! Node: Invoking Gcov1486831 ! Node: Gcov and Optimization1498692 ! Node: Gcov Data Files1501345 ! Node: Cross-profiling1502483 ! Node: Trouble1504309 ! Node: Actual Bugs1505865 ! Node: Cross-Compiler Problems1506605 ! Node: Interoperation1507019 ! Node: Incompatibilities1514156 ! Node: Fixed Headers1522306 ! Node: Standard Libraries1523969 ! Node: Disappointments1525341 ! Node: C++ Misunderstandings1529699 ! Node: Static Definitions1530518 ! Node: Name lookup1531571 ! Ref: Name lookup-Footnote-11536349 ! Node: Temporaries1536536 ! Node: Copy Assignment1538512 ! Node: Protoize Caveats1540319 ! Node: Non-bugs1544292 ! Node: Warnings and Errors1554796 ! Node: Bugs1556560 ! Node: Bug Criteria1557124 ! Node: Bug Reporting1559334 ! Node: Service1559555 ! Node: Contributing1560374 ! Node: Funding1561114 ! Node: GNU Project1563603 ! Node: Copying1564249 ! Node: GNU Free Documentation License1601777 ! Node: Contributors1624183 ! Node: Option Index1660510 ! Node: Keyword Index1819678  End Tag Table --- 43791,44032 ---- Node: Debugging Options175012 Node: Optimize Options213831 Ref: Type-punning260632 ! Node: Preprocessor Options317170 ! Ref: Wtrigraphs321268 ! Ref: dashMF326016 ! Ref: fdollars-in-identifiers336535 ! Node: Assembler Options345096 ! Node: Link Options345801 ! Ref: Link Options-Footnote-1355271 ! Node: Directory Options355605 ! Node: Spec Files361667 ! Node: Target Options382006 ! Node: Submodel Options383524 ! Node: ARC Options385223 ! Node: ARM Options386710 ! Node: AVR Options398944 ! Node: Blackfin Options401033 ! Node: CRIS Options408925 ! Node: CRX Options412666 ! Node: Darwin Options413091 ! Node: DEC Alpha Options420584 ! Node: DEC Alpha/VMS Options432500 ! Node: FR30 Options432886 ! Node: FRV Options433461 ! Node: GNU/Linux Options440178 ! Node: H8/300 Options440636 ! Node: HPPA Options441703 ! Node: i386 and x86-64 Options451203 ! Node: IA-64 Options479188 ! Node: M32C Options486513 ! Node: M32R/D Options487804 ! Node: M680x0 Options491391 ! Node: M68hc1x Options505211 ! Node: MCore Options506779 ! Node: MIPS Options508287 ! Node: MMIX Options534322 ! Node: MN10300 Options536804 ! Node: PDP-11 Options538226 ! Node: picoChip Options540066 ! Node: PowerPC Options542265 ! Node: RS/6000 and PowerPC Options542501 ! Node: S/390 and zSeries Options573248 ! Node: Score Options581196 ! Node: SH Options582024 ! Node: SPARC Options592302 ! Node: SPU Options603275 ! Node: System V Options606563 ! Node: V850 Options607386 ! Node: VAX Options610526 ! Node: VxWorks Options611074 ! Node: x86-64 Options612229 ! Node: i386 and x86-64 Windows Options612447 ! Node: Xstormy16 Options614766 ! Node: Xtensa Options615055 ! Node: zSeries Options619202 ! Node: Code Gen Options619398 ! Node: Environment Variables643977 ! Node: Precompiled Headers651873 ! Node: Running Protoize658099 ! Node: C Implementation664436 ! Node: Translation implementation666099 ! Node: Environment implementation666673 ! Node: Identifiers implementation667223 ! Node: Characters implementation668277 ! Node: Integers implementation671083 ! Node: Floating point implementation672908 ! Node: Arrays and pointers implementation675837 ! Ref: Arrays and pointers implementation-Footnote-1677272 ! Node: Hints implementation677396 ! Node: Structures unions enumerations and bit-fields implementation678862 ! Node: Qualifiers implementation680848 ! Node: Declarators implementation682620 ! Node: Statements implementation682962 ! Node: Preprocessing directives implementation683289 ! Node: Library functions implementation685394 ! Node: Architecture implementation686034 ! Node: Locale-specific behavior implementation686737 ! Node: C Extensions687042 ! Node: Statement Exprs691653 ! Node: Local Labels696166 ! Node: Labels as Values699145 ! Ref: Labels as Values-Footnote-1701518 ! Node: Nested Functions701701 ! Node: Constructing Calls705595 ! Node: Typeof710318 ! Node: Conditionals713484 ! Node: Long Long714375 ! Node: Complex715876 ! Node: Floating Types718446 ! Node: Decimal Float719525 ! Node: Hex Floats721514 ! Node: Fixed-Point722555 ! Node: Zero Length725840 ! Node: Empty Structures729118 ! Node: Variable Length729534 ! Node: Variadic Macros732301 ! Node: Escaped Newlines734683 ! Node: Subscripting735522 ! Node: Pointer Arith736245 ! Node: Initializers736813 ! Node: Compound Literals737309 ! Node: Designated Inits739484 ! Node: Case Ranges743139 ! Node: Cast to Union743822 ! Node: Mixed Declarations744918 ! Node: Function Attributes745424 ! Node: Attribute Syntax808040 ! Node: Function Prototypes818310 ! Node: C++ Comments820091 ! Node: Dollar Signs820610 ! Node: Character Escapes821075 ! Node: Alignment821369 ! Node: Variable Attributes822743 ! Ref: i386 Variable Attributes837333 ! Node: Type Attributes843318 ! Ref: i386 Type Attributes856939 ! Ref: PowerPC Type Attributes857779 ! Ref: SPU Type Attributes858641 ! Node: Inline858932 ! Node: Extended Asm863879 ! Ref: Example of asm with clobbered asm reg869965 ! Node: Constraints884184 ! Node: Simple Constraints885034 ! Node: Multi-Alternative891705 ! Node: Modifiers893422 ! Node: Machine Constraints896316 ! Node: Asm Labels928529 ! Node: Explicit Reg Vars930205 ! Node: Global Reg Vars931813 ! Node: Local Reg Vars936363 ! Node: Alternate Keywords938804 ! Node: Incomplete Enums940232 ! Node: Function Names940989 ! Node: Return Address943151 ! Node: Vector Extensions945948 ! Node: Offsetof949450 ! Node: Atomic Builtins950264 ! Node: Object Size Checking955642 ! Node: Other Builtins961070 ! Node: Target Builtins985878 ! Node: Alpha Built-in Functions986772 ! Node: ARM iWMMXt Built-in Functions989771 ! Node: ARM NEON Intrinsics996490 ! Node: Blackfin Built-in Functions1204328 ! Node: FR-V Built-in Functions1204942 ! Node: Argument Types1205801 ! Node: Directly-mapped Integer Functions1207557 ! Node: Directly-mapped Media Functions1208639 ! Node: Raw read/write Functions1215671 ! Node: Other Built-in Functions1216583 ! Node: X86 Built-in Functions1217772 ! Node: MIPS DSP Built-in Functions1262212 ! Node: MIPS Paired-Single Support1274659 ! Node: MIPS Loongson Built-in Functions1276160 ! Node: Paired-Single Arithmetic1282678 ! Node: Paired-Single Built-in Functions1283624 ! Node: MIPS-3D Built-in Functions1286294 ! Node: picoChip Built-in Functions1291669 ! Node: Other MIPS Built-in Functions1293031 ! Node: PowerPC AltiVec Built-in Functions1293555 ! Node: SPARC VIS Built-in Functions1394979 ! Node: SPU Built-in Functions1396671 ! Node: Target Format Checks1398453 ! Node: Solaris Format Checks1398860 ! Node: Pragmas1399257 ! Node: ARM Pragmas1399951 ! Node: M32C Pragmas1400554 ! Node: RS/6000 and PowerPC Pragmas1401130 ! Node: Darwin Pragmas1401872 ! Node: Solaris Pragmas1402939 ! Node: Symbol-Renaming Pragmas1404100 ! Node: Structure-Packing Pragmas1406722 ! Node: Weak Pragmas1408374 ! Node: Diagnostic Pragmas1409176 ! Node: Visibility Pragmas1411810 ! Node: Push/Pop Macro Pragmas1412562 ! Node: Function Specific Option Pragmas1413535 ! Node: Unnamed Fields1415750 ! Node: Thread-Local1417260 ! Node: C99 Thread-Local Edits1419369 ! Node: C++98 Thread-Local Edits1421381 ! Node: Binary constants1424826 ! Node: C++ Extensions1425497 ! Node: Volatiles1427139 ! Node: Restricted Pointers1429815 ! Node: Vague Linkage1431409 ! Node: C++ Interface1435065 ! Ref: C++ Interface-Footnote-11439362 ! Node: Template Instantiation1439499 ! Node: Bound member functions1446511 ! Node: C++ Attributes1448054 ! Node: Namespace Association1449712 ! Node: Type Traits1451126 ! Node: Java Exceptions1456673 ! Node: Deprecated Features1458070 ! Node: Backwards Compatibility1461035 ! Node: Objective-C1462393 ! Node: Executing code before main1462974 ! Node: What you can and what you cannot do in +load1465580 ! Node: Type encoding1467747 ! Node: Garbage Collection1471134 ! Node: Constant string objects1473758 ! Node: compatibility_alias1476266 ! Node: Compatibility1477144 ! Node: Gcov1483711 ! Node: Gcov Intro1484242 ! Node: Invoking Gcov1486958 ! Node: Gcov and Optimization1498819 ! Node: Gcov Data Files1501472 ! Node: Cross-profiling1502610 ! Node: Trouble1504436 ! Node: Actual Bugs1505992 ! Node: Cross-Compiler Problems1506732 ! Node: Interoperation1507146 ! Node: Incompatibilities1514283 ! Node: Fixed Headers1522433 ! Node: Standard Libraries1524096 ! Node: Disappointments1525468 ! Node: C++ Misunderstandings1529826 ! Node: Static Definitions1530645 ! Node: Name lookup1531698 ! Ref: Name lookup-Footnote-11536476 ! Node: Temporaries1536663 ! Node: Copy Assignment1538639 ! Node: Protoize Caveats1540446 ! Node: Non-bugs1544419 ! Node: Warnings and Errors1554923 ! Node: Bugs1556687 ! Node: Bug Criteria1557251 ! Node: Bug Reporting1559461 ! Node: Service1559682 ! Node: Contributing1560501 ! Node: Funding1561241 ! Node: GNU Project1563730 ! Node: Copying1564376 ! Node: GNU Free Documentation License1601904 ! Node: Contributors1624310 ! Node: Option Index1660637 ! Node: Keyword Index1819805  End Tag Table diff -Nrcpad gcc-4.4.3/gcc/doc/gccinstall.info gcc-4.4.4/gcc/doc/gccinstall.info *** gcc-4.4.3/gcc/doc/gccinstall.info Thu Jan 21 11:33:05 2010 --- gcc-4.4.4/gcc/doc/gccinstall.info Thu Apr 29 09:36:17 2010 *************** *** 1,5 **** This is doc/gccinstall.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.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.13 from ! /d/gcc-4.4.4/gcc-4.4.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.4.3/gcc/doc/gccint.info gcc-4.4.4/gcc/doc/gccint.info *** gcc-4.4.3/gcc/doc/gccint.info Thu Jan 21 11:33:05 2010 --- gcc-4.4.4/gcc/doc/gccint.info Thu Apr 29 09:36:17 2010 *************** *** 1,5 **** This is doc/gccint.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.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, 2008 Free --- 1,5 ---- This is doc/gccint.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.4/gcc-4.4.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, 2008 Free *************** 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.4.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.4.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 diff -Nrcpad gcc-4.4.3/gcc/doc/gcj-dbtool.1 gcc-4.4.4/gcc/doc/gcj-dbtool.1 *** gcc-4.4.3/gcc/doc/gcj-dbtool.1 Thu Jan 21 11:20:56 2010 --- gcc-4.4.4/gcc/doc/gcj-dbtool.1 Thu Apr 29 09:23:22 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCJ-DBTOOL 1" ! .TH GCJ-DBTOOL 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/gcj.1 gcc-4.4.4/gcc/doc/gcj.1 *** gcc-4.4.3/gcc/doc/gcj.1 Thu Jan 21 11:20:56 2010 --- gcc-4.4.4/gcc/doc/gcj.1 Thu Apr 29 09:23:21 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCJ 1" ! .TH GCJ 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/gcj.info gcc-4.4.4/gcc/doc/gcj.info *** gcc-4.4.3/gcc/doc/gcj.info Thu Jan 21 11:33:05 2010 --- gcc-4.4.4/gcc/doc/gcj.info Thu Apr 29 09:36:18 2010 *************** *** 1,5 **** This is doc/gcj.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.3/gcc/java/gcj.texi. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gcj.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.4/gcc-4.4.4/gcc/java/gcj.texi. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. diff -Nrcpad gcc-4.4.3/gcc/doc/gcov.1 gcc-4.4.4/gcc/doc/gcov.1 *** gcc-4.4.3/gcc/doc/gcov.1 Thu Jan 21 10:39:10 2010 --- gcc-4.4.4/gcc/doc/gcov.1 Thu Apr 29 08:38:18 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/gfdl.7 gcc-4.4.4/gcc/doc/gfdl.7 *** gcc-4.4.3/gcc/doc/gfdl.7 Thu Jan 21 10:39:13 2010 --- gcc-4.4.4/gcc/doc/gfdl.7 Thu Apr 29 08:38:22 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/gfortran.1 gcc-4.4.4/gcc/doc/gfortran.1 *** gcc-4.4.3/gcc/doc/gfortran.1 Thu Jan 21 11:33:09 2010 --- gcc-4.4.4/gcc/doc/gfortran.1 Thu Apr 29 09:36:23 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/gij.1 gcc-4.4.4/gcc/doc/gij.1 *** gcc-4.4.3/gcc/doc/gij.1 Thu Jan 21 11:20:56 2010 --- gcc-4.4.4/gcc/doc/gij.1 Thu Apr 29 09:23:21 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GIJ 1" ! .TH GIJ 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/gpl.7 gcc-4.4.4/gcc/doc/gpl.7 *** gcc-4.4.3/gcc/doc/gpl.7 Thu Jan 21 11:33:08 2010 --- gcc-4.4.4/gcc/doc/gpl.7 Thu Apr 29 09:36:23 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/grmic.1 gcc-4.4.4/gcc/doc/grmic.1 *** gcc-4.4.3/gcc/doc/grmic.1 Thu Jan 21 11:20:56 2010 --- gcc-4.4.4/gcc/doc/grmic.1 Thu Apr 29 09:23:21 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GRMIC 1" ! .TH GRMIC 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/invoke.texi gcc-4.4.4/gcc/doc/invoke.texi *** gcc-4.4.3/gcc/doc/invoke.texi Wed Oct 21 15:44:23 2009 --- gcc-4.4.4/gcc/doc/invoke.texi Thu Apr 8 10:46:46 2010 *************** The maximum number of insns of a complet *** 7417,7422 **** --- 7417,7425 ---- @item max-completely-peel-times The maximum number of iterations of a loop to be suitable for complete peeling. + @item max-completely-peel-loop-nest-depth + The maximum depth of a loop nest suitable for complete peeling. + @item max-unswitch-insns The maximum number of insns of an unswitched loop. diff -Nrcpad gcc-4.4.3/gcc/doc/jcf-dump.1 gcc-4.4.4/gcc/doc/jcf-dump.1 *** gcc-4.4.3/gcc/doc/jcf-dump.1 Thu Jan 21 11:20:56 2010 --- gcc-4.4.4/gcc/doc/jcf-dump.1 Thu Apr 29 09:23:21 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "JCF-DUMP 1" ! .TH JCF-DUMP 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/jv-convert.1 gcc-4.4.4/gcc/doc/jv-convert.1 *** gcc-4.4.3/gcc/doc/jv-convert.1 Thu Jan 21 11:20:56 2010 --- gcc-4.4.4/gcc/doc/jv-convert.1 Thu Apr 29 09:23:21 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "JV-CONVERT 1" ! .TH JV-CONVERT 1 "2010-01-21" "gcc-4.4.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 "2010-04-29" "gcc-4.4.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.4.3/gcc/doc/rebuild-gcj-db.1 gcc-4.4.4/gcc/doc/rebuild-gcj-db.1 *** gcc-4.4.3/gcc/doc/rebuild-gcj-db.1 Thu Jan 21 11:33:09 2010 --- gcc-4.4.4/gcc/doc/rebuild-gcj-db.1 Thu Apr 29 09:36:24 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "REBUILD-GCJ-DB 1" ! .TH REBUILD-GCJ-DB 1 "2010-01-21" "gcc-4.4.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 "REBUILD-GCJ-DB 1" ! .TH REBUILD-GCJ-DB 1 "2010-04-29" "gcc-4.4.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.4.3/gcc/dojump.c gcc-4.4.4/gcc/dojump.c *** gcc-4.4.3/gcc/dojump.c Thu May 7 15:36:23 2009 --- gcc-4.4.4/gcc/dojump.c Mon Mar 8 11:46:28 2010 *************** *** 1,6 **** /* Convert tree expression to rtl instructions, for GNU compiler. Copyright (C) 1988, 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. --- 1,6 ---- /* Convert tree expression to rtl instructions, for GNU compiler. Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** along with GCC; see the file COPYING3. *** 35,46 **** #include "langhooks.h" #include "ggc.h" #include "basic-block.h" static bool prefer_and_bit_test (enum machine_mode, int); ! static void do_jump_by_parts_greater (tree, int, rtx, rtx); ! static void do_jump_by_parts_equality (tree, rtx, rtx); static void do_compare_and_jump (tree, enum rtx_code, enum rtx_code, rtx, ! rtx); /* At the start of a function, record that we have no previously-pushed arguments waiting to be popped. */ --- 35,55 ---- #include "langhooks.h" #include "ggc.h" #include "basic-block.h" + #include "output.h" static bool prefer_and_bit_test (enum machine_mode, int); ! static void do_jump_by_parts_greater (tree, int, rtx, rtx, int); ! static void do_jump_by_parts_equality (tree, rtx, rtx, int); static void do_compare_and_jump (tree, enum rtx_code, enum rtx_code, rtx, ! rtx, int); ! ! /* Invert probability if there is any. -1 stands for unknown. */ ! ! static inline int ! inv (int prob) ! { ! return prob == -1 ? -1 : REG_BR_PROB_BASE - prob; ! } /* At the start of a function, record that we have no previously-pushed arguments waiting to be popped. */ *************** do_pending_stack_adjust (void) *** 96,112 **** functions here. */ void ! jumpifnot (tree exp, rtx label) { ! do_jump (exp, label, NULL_RTX); } /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */ void ! jumpif (tree exp, rtx label) { ! do_jump (exp, NULL_RTX, label); } /* Used internally by prefer_and_bit_test. */ --- 105,121 ---- functions here. */ void ! jumpifnot (tree exp, rtx label, int prob) { ! do_jump (exp, label, NULL_RTX, inv (prob)); } /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */ void ! jumpif (tree exp, rtx label, int prob) { ! do_jump (exp, NULL_RTX, label, prob); } /* Used internally by prefer_and_bit_test. */ *************** prefer_and_bit_test (enum machine_mode m *** 156,165 **** do_jump always does any pending stack adjust except when it does not actually perform a jump. An example where there is no jump ! is when EXP is `(foo (), 0)' and IF_FALSE_LABEL is null. */ void ! do_jump (tree exp, rtx if_false_label, rtx if_true_label) { enum tree_code code = TREE_CODE (exp); rtx temp; --- 165,176 ---- do_jump always does any pending stack adjust except when it does not actually perform a jump. An example where there is no jump ! is when EXP is `(foo (), 0)' and IF_FALSE_LABEL is null. ! ! PROB is probability of jump to if_true_label, or -1 if unknown. */ void ! do_jump (tree exp, rtx if_false_label, rtx if_true_label, int prob) { enum tree_code code = TREE_CODE (exp); rtx temp; *************** do_jump (tree exp, rtx if_false_label, r *** 206,216 **** case LROTATE_EXPR: case RROTATE_EXPR: /* These cannot change zero->nonzero or vice versa. */ ! do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label); break; case TRUTH_NOT_EXPR: ! do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label); break; case COND_EXPR: --- 217,228 ---- case LROTATE_EXPR: case RROTATE_EXPR: /* These cannot change zero->nonzero or vice versa. */ ! do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label, prob); break; case TRUTH_NOT_EXPR: ! do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label, ! inv (prob)); break; case COND_EXPR: *************** do_jump (tree exp, rtx if_false_label, r *** 226,235 **** } do_pending_stack_adjust (); ! do_jump (TREE_OPERAND (exp, 0), label1, NULL_RTX); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label); emit_label (label1); ! do_jump (TREE_OPERAND (exp, 2), if_false_label, if_true_label); break; } --- 238,247 ---- } do_pending_stack_adjust (); ! do_jump (TREE_OPERAND (exp, 0), label1, NULL_RTX, -1); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label, prob); emit_label (label1); ! do_jump (TREE_OPERAND (exp, 2), if_false_label, if_true_label, prob); break; } *************** do_jump (tree exp, rtx if_false_label, r *** 261,267 **** && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code != CODE_FOR_nothing)) { ! do_jump (fold_convert (type, exp), if_false_label, if_true_label); break; } goto normal; --- 273,280 ---- && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code != CODE_FOR_nothing)) { ! do_jump (fold_convert (type, exp), if_false_label, if_true_label, ! prob); break; } goto normal; *************** do_jump (tree exp, rtx if_false_label, r *** 277,288 **** != MODE_COMPLEX_INT); if (integer_zerop (TREE_OPERAND (exp, 1))) ! do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label); else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT && !can_compare_p (EQ, TYPE_MODE (inner_type), ccp_jump)) ! do_jump_by_parts_equality (exp, if_false_label, if_true_label); else ! do_compare_and_jump (exp, EQ, EQ, if_false_label, if_true_label); break; } --- 290,303 ---- != MODE_COMPLEX_INT); if (integer_zerop (TREE_OPERAND (exp, 1))) ! do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label, ! inv (prob)); else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT && !can_compare_p (EQ, TYPE_MODE (inner_type), ccp_jump)) ! do_jump_by_parts_equality (exp, if_false_label, if_true_label, prob); else ! do_compare_and_jump (exp, EQ, EQ, if_false_label, if_true_label, ! prob); break; } *************** do_jump (tree exp, rtx if_false_label, r *** 302,313 **** != MODE_COMPLEX_INT); if (integer_zerop (TREE_OPERAND (exp, 1))) ! do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label); else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT && !can_compare_p (NE, TYPE_MODE (inner_type), ccp_jump)) ! do_jump_by_parts_equality (exp, if_true_label, if_false_label); else ! do_compare_and_jump (exp, NE, NE, if_false_label, if_true_label); break; } --- 317,330 ---- != MODE_COMPLEX_INT); if (integer_zerop (TREE_OPERAND (exp, 1))) ! do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label, prob); else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT && !can_compare_p (NE, TYPE_MODE (inner_type), ccp_jump)) ! do_jump_by_parts_equality (exp, if_true_label, if_false_label, ! inv (prob)); else ! do_compare_and_jump (exp, NE, NE, if_false_label, if_true_label, ! prob); break; } *************** do_jump (tree exp, rtx if_false_label, r *** 315,350 **** mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (LT, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 1, if_false_label, if_true_label); else ! do_compare_and_jump (exp, LT, LTU, if_false_label, if_true_label); break; case LE_EXPR: mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (LE, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 0, if_true_label, if_false_label); else ! do_compare_and_jump (exp, LE, LEU, if_false_label, if_true_label); break; case GT_EXPR: mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (GT, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 0, if_false_label, if_true_label); else ! do_compare_and_jump (exp, GT, GTU, if_false_label, if_true_label); break; case GE_EXPR: mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (GE, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 1, if_true_label, if_false_label); else ! do_compare_and_jump (exp, GE, GEU, if_false_label, if_true_label); break; case UNORDERED_EXPR: --- 332,374 ---- mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (LT, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 1, if_false_label, if_true_label, prob); else ! do_compare_and_jump (exp, LT, LTU, if_false_label, if_true_label, ! prob); break; case LE_EXPR: mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (LE, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 0, if_true_label, if_false_label, ! inv (prob)); else ! do_compare_and_jump (exp, LE, LEU, if_false_label, if_true_label, ! prob); break; case GT_EXPR: mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (GT, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 0, if_false_label, if_true_label, ! prob); else ! do_compare_and_jump (exp, GT, GTU, if_false_label, if_true_label, ! prob); break; case GE_EXPR: mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (GET_MODE_CLASS (mode) == MODE_INT && ! can_compare_p (GE, mode, ccp_jump)) ! do_jump_by_parts_greater (exp, 1, if_true_label, if_false_label, ! inv (prob)); else ! do_compare_and_jump (exp, GE, GEU, if_false_label, if_true_label, ! prob); break; case UNORDERED_EXPR: *************** do_jump (tree exp, rtx if_false_label, r *** 368,376 **** do_rev = 1; if (! do_rev) ! do_compare_and_jump (exp, cmp, cmp, if_false_label, if_true_label); else ! do_compare_and_jump (exp, rcmp, rcmp, if_true_label, if_false_label); } break; --- 392,401 ---- do_rev = 1; if (! do_rev) ! do_compare_and_jump (exp, cmp, cmp, if_false_label, if_true_label, prob); else ! do_compare_and_jump (exp, rcmp, rcmp, if_true_label, if_false_label, ! inv (prob)); } break; *************** do_jump (tree exp, rtx if_false_label, r *** 415,421 **** mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (can_compare_p (rcode1, mode, ccp_jump)) do_compare_and_jump (exp, rcode1, rcode1, if_false_label, ! if_true_label); else { tree op0 = save_expr (TREE_OPERAND (exp, 0)); --- 440,446 ---- mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); if (can_compare_p (rcode1, mode, ccp_jump)) do_compare_and_jump (exp, rcode1, rcode1, if_false_label, ! if_true_label, prob); else { tree op0 = save_expr (TREE_OPERAND (exp, 0)); *************** do_jump (tree exp, rtx if_false_label, r *** 429,436 **** cmp0 = fold_build2 (tcode1, TREE_TYPE (exp), op0, op1); cmp1 = fold_build2 (tcode2, TREE_TYPE (exp), op0, op1); ! do_jump (cmp0, 0, if_true_label); ! do_jump (cmp1, if_false_label, if_true_label); } break; } --- 454,461 ---- cmp0 = fold_build2 (tcode1, TREE_TYPE (exp), op0, op1); cmp1 = fold_build2 (tcode2, TREE_TYPE (exp), op0, op1); ! do_jump (cmp0, 0, if_true_label, prob); ! do_jump (cmp1, if_false_label, if_true_label, prob); } break; } *************** do_jump (tree exp, rtx if_false_label, r *** 443,448 **** --- 468,474 ---- { tree exp0 = TREE_OPERAND (exp, 0); rtx set_label, clr_label; + int setclr_prob = prob; /* Strip narrowing integral type conversions. */ while (CONVERT_EXPR_P (exp0) *************** do_jump (tree exp, rtx if_false_label, r *** 458,463 **** --- 484,490 ---- exp0 = TREE_OPERAND (exp0, 0); clr_label = if_true_label; set_label = if_false_label; + setclr_prob = inv (prob); } else { *************** do_jump (tree exp, rtx if_false_label, r *** 480,486 **** = (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; } } --- 507,513 ---- = (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, setclr_prob); break; } } *************** do_jump (tree exp, rtx if_false_label, r *** 503,509 **** && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code != CODE_FOR_nothing)) { ! do_jump (fold_convert (type, exp), if_false_label, if_true_label); break; } --- 530,537 ---- && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code != CODE_FOR_nothing)) { ! do_jump (fold_convert (type, exp), if_false_label, if_true_label, ! prob); break; } *************** do_jump (tree exp, rtx if_false_label, r *** 526,538 **** if (if_false_label == NULL_RTX) { drop_through_label = gen_label_rtx (); ! do_jump (TREE_OPERAND (exp, 0), drop_through_label, NULL_RTX); ! do_jump (TREE_OPERAND (exp, 1), NULL_RTX, if_true_label); } else { ! do_jump (TREE_OPERAND (exp, 0), if_false_label, NULL_RTX); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label); } break; --- 554,566 ---- if (if_false_label == NULL_RTX) { drop_through_label = gen_label_rtx (); ! do_jump (TREE_OPERAND (exp, 0), drop_through_label, NULL_RTX, prob); ! do_jump (TREE_OPERAND (exp, 1), NULL_RTX, if_true_label, prob); } else { ! do_jump (TREE_OPERAND (exp, 0), if_false_label, NULL_RTX, prob); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label, prob); } break; *************** do_jump (tree exp, rtx if_false_label, r *** 541,547 **** /* High branch cost, expand as the bitwise OR of the conditions. Do the same if the RHS has side effects, because we're effectively turning a TRUTH_OR_EXPR into a TRUTH_ORIF_EXPR. */ ! if (BRANCH_COST (optimize_insn_for_speed_p (), false)>= 4 || TREE_SIDE_EFFECTS (TREE_OPERAND (exp, 1))) goto normal; --- 569,575 ---- /* High branch cost, expand as the bitwise OR of the conditions. Do the same if the RHS has side effects, because we're effectively turning a TRUTH_OR_EXPR into a TRUTH_ORIF_EXPR. */ ! if (BRANCH_COST (optimize_insn_for_speed_p (), false) >= 4 || TREE_SIDE_EFFECTS (TREE_OPERAND (exp, 1))) goto normal; *************** do_jump (tree exp, rtx if_false_label, r *** 549,561 **** if (if_true_label == NULL_RTX) { drop_through_label = gen_label_rtx (); ! do_jump (TREE_OPERAND (exp, 0), NULL_RTX, drop_through_label); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, NULL_RTX); } else { ! do_jump (TREE_OPERAND (exp, 0), NULL_RTX, if_true_label); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label); } break; --- 577,589 ---- if (if_true_label == NULL_RTX) { drop_through_label = gen_label_rtx (); ! do_jump (TREE_OPERAND (exp, 0), NULL_RTX, drop_through_label, prob); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, NULL_RTX, prob); } else { ! do_jump (TREE_OPERAND (exp, 0), NULL_RTX, if_true_label, prob); ! do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label, prob); } break; *************** do_jump (tree exp, rtx if_false_label, r *** 577,583 **** do_compare_rtx_and_jump (temp, CONST0_RTX (GET_MODE (temp)), NE, TYPE_UNSIGNED (TREE_TYPE (exp)), GET_MODE (temp), NULL_RTX, ! if_false_label, if_true_label); } if (drop_through_label) --- 605,611 ---- do_compare_rtx_and_jump (temp, CONST0_RTX (GET_MODE (temp)), NE, TYPE_UNSIGNED (TREE_TYPE (exp)), GET_MODE (temp), NULL_RTX, ! if_false_label, if_true_label, prob); } if (drop_through_label) *************** do_jump (tree exp, rtx if_false_label, r *** 593,599 **** static void do_jump_by_parts_greater_rtx (enum machine_mode mode, int unsignedp, rtx op0, ! rtx op1, rtx if_false_label, rtx if_true_label) { int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD); rtx drop_through_label = 0; --- 621,628 ---- static void do_jump_by_parts_greater_rtx (enum machine_mode mode, int unsignedp, rtx op0, ! rtx op1, rtx if_false_label, rtx if_true_label, ! int prob) { int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD); rtx drop_through_label = 0; *************** do_jump_by_parts_greater_rtx (enum machi *** 625,635 **** /* All but high-order word must be compared as unsigned. */ do_compare_rtx_and_jump (op0_word, op1_word, GT, (unsignedp || i > 0), word_mode, NULL_RTX, ! NULL_RTX, if_true_label); /* Consider lower words only if these are equal. */ do_compare_rtx_and_jump (op0_word, op1_word, NE, unsignedp, word_mode, ! NULL_RTX, NULL_RTX, if_false_label); } if (if_false_label) --- 654,665 ---- /* All but high-order word must be compared as unsigned. */ do_compare_rtx_and_jump (op0_word, op1_word, GT, (unsignedp || i > 0), word_mode, NULL_RTX, ! NULL_RTX, if_true_label, prob); /* Consider lower words only if these are equal. */ do_compare_rtx_and_jump (op0_word, op1_word, NE, unsignedp, word_mode, ! NULL_RTX, NULL_RTX, if_false_label, ! inv (prob)); } if (if_false_label) *************** do_jump_by_parts_greater_rtx (enum machi *** 645,651 **** static void do_jump_by_parts_greater (tree exp, int swap, rtx if_false_label, ! rtx if_true_label) { rtx op0 = expand_normal (TREE_OPERAND (exp, swap)); rtx op1 = expand_normal (TREE_OPERAND (exp, !swap)); --- 675,681 ---- static void do_jump_by_parts_greater (tree exp, int swap, rtx if_false_label, ! rtx if_true_label, int prob) { rtx op0 = expand_normal (TREE_OPERAND (exp, swap)); rtx op1 = expand_normal (TREE_OPERAND (exp, !swap)); *************** do_jump_by_parts_greater (tree exp, int *** 653,659 **** int unsignedp = TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (exp, 0))); do_jump_by_parts_greater_rtx (mode, unsignedp, op0, op1, if_false_label, ! if_true_label); } /* Jump according to whether OP0 is 0. We assume that OP0 has an integer --- 683,689 ---- int unsignedp = TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (exp, 0))); do_jump_by_parts_greater_rtx (mode, unsignedp, op0, op1, if_false_label, ! if_true_label, prob); } /* Jump according to whether OP0 is 0. We assume that OP0 has an integer *************** do_jump_by_parts_greater (tree exp, int *** 663,669 **** static void do_jump_by_parts_zero_rtx (enum machine_mode mode, rtx op0, ! rtx if_false_label, rtx if_true_label) { int nwords = GET_MODE_SIZE (mode) / UNITS_PER_WORD; rtx part; --- 693,699 ---- static void do_jump_by_parts_zero_rtx (enum machine_mode mode, rtx op0, ! rtx if_false_label, rtx if_true_label, int prob) { int nwords = GET_MODE_SIZE (mode) / UNITS_PER_WORD; rtx part; *************** do_jump_by_parts_zero_rtx (enum machine_ *** 685,692 **** if (part != 0) { do_compare_rtx_and_jump (part, const0_rtx, EQ, 1, word_mode, ! NULL_RTX, if_false_label, if_true_label); ! return; } --- 715,721 ---- if (part != 0) { do_compare_rtx_and_jump (part, const0_rtx, EQ, 1, word_mode, ! NULL_RTX, if_false_label, if_true_label, prob); return; } *************** do_jump_by_parts_zero_rtx (enum machine_ *** 697,703 **** for (i = 0; i < nwords; i++) do_compare_rtx_and_jump (operand_subword_force (op0, i, mode), const0_rtx, EQ, 1, word_mode, NULL_RTX, ! if_false_label, NULL_RTX); if (if_true_label) emit_jump (if_true_label); --- 726,732 ---- for (i = 0; i < nwords; i++) do_compare_rtx_and_jump (operand_subword_force (op0, i, mode), const0_rtx, EQ, 1, word_mode, NULL_RTX, ! if_false_label, NULL_RTX, prob); if (if_true_label) emit_jump (if_true_label); *************** do_jump_by_parts_zero_rtx (enum machine_ *** 713,719 **** static void do_jump_by_parts_equality_rtx (enum machine_mode mode, rtx op0, rtx op1, ! rtx if_false_label, rtx if_true_label) { int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD); rtx drop_through_label = 0; --- 742,748 ---- static void do_jump_by_parts_equality_rtx (enum machine_mode mode, rtx op0, rtx op1, ! rtx if_false_label, rtx if_true_label, int prob) { int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD); rtx drop_through_label = 0; *************** do_jump_by_parts_equality_rtx (enum mach *** 721,732 **** if (op1 == const0_rtx) { ! do_jump_by_parts_zero_rtx (mode, op0, if_false_label, if_true_label); return; } else if (op0 == const0_rtx) { ! do_jump_by_parts_zero_rtx (mode, op1, if_false_label, if_true_label); return; } --- 750,763 ---- if (op1 == const0_rtx) { ! do_jump_by_parts_zero_rtx (mode, op0, if_false_label, if_true_label, ! prob); return; } else if (op0 == const0_rtx) { ! do_jump_by_parts_zero_rtx (mode, op1, if_false_label, if_true_label, ! prob); return; } *************** do_jump_by_parts_equality_rtx (enum mach *** 737,743 **** do_compare_rtx_and_jump (operand_subword_force (op0, i, mode), operand_subword_force (op1, i, mode), EQ, 0, word_mode, NULL_RTX, ! if_false_label, NULL_RTX); if (if_true_label) emit_jump (if_true_label); --- 768,774 ---- do_compare_rtx_and_jump (operand_subword_force (op0, i, mode), operand_subword_force (op1, i, mode), EQ, 0, word_mode, NULL_RTX, ! if_false_label, NULL_RTX, prob); if (if_true_label) emit_jump (if_true_label); *************** do_jump_by_parts_equality_rtx (enum mach *** 749,761 **** with one insn, test the comparison and jump to the appropriate label. */ static void ! do_jump_by_parts_equality (tree exp, rtx if_false_label, rtx if_true_label) { rtx op0 = expand_normal (TREE_OPERAND (exp, 0)); rtx op1 = expand_normal (TREE_OPERAND (exp, 1)); enum machine_mode mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); do_jump_by_parts_equality_rtx (mode, op0, op1, if_false_label, ! if_true_label); } /* Generate code for a comparison of OP0 and OP1 with rtx code CODE. --- 780,793 ---- with one insn, test the comparison and jump to the appropriate label. */ static void ! do_jump_by_parts_equality (tree exp, rtx if_false_label, rtx if_true_label, ! int prob) { rtx op0 = expand_normal (TREE_OPERAND (exp, 0)); rtx op1 = expand_normal (TREE_OPERAND (exp, 1)); enum machine_mode mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); do_jump_by_parts_equality_rtx (mode, op0, op1, if_false_label, ! if_true_label, prob); } /* Generate code for a comparison of OP0 and OP1 with rtx code CODE. *************** compare_from_rtx (rtx op0, rtx op1, enum *** 825,831 **** void do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp, enum machine_mode mode, rtx size, rtx if_false_label, ! rtx if_true_label) { rtx tem; int dummy_true_label = 0; --- 857,863 ---- void do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp, enum machine_mode mode, rtx size, rtx if_false_label, ! rtx if_true_label, int prob) { rtx tem; int dummy_true_label = 0; *************** do_compare_rtx_and_jump (rtx op0, rtx op *** 837,842 **** --- 869,875 ---- if_true_label = if_false_label; if_false_label = 0; code = reverse_condition (code); + prob = inv (prob); } /* If one operand is constant, make it the second one. Only do this *************** do_compare_rtx_and_jump (rtx op0, rtx op *** 886,937 **** { case LTU: do_jump_by_parts_greater_rtx (mode, 1, op1, op0, ! if_false_label, if_true_label); break; case LEU: do_jump_by_parts_greater_rtx (mode, 1, op0, op1, ! if_true_label, if_false_label); break; case GTU: do_jump_by_parts_greater_rtx (mode, 1, op0, op1, ! if_false_label, if_true_label); break; case GEU: do_jump_by_parts_greater_rtx (mode, 1, op1, op0, ! if_true_label, if_false_label); break; case LT: do_jump_by_parts_greater_rtx (mode, 0, op1, op0, ! if_false_label, if_true_label); break; case LE: do_jump_by_parts_greater_rtx (mode, 0, op0, op1, ! if_true_label, if_false_label); break; case GT: do_jump_by_parts_greater_rtx (mode, 0, op0, op1, ! if_false_label, if_true_label); break; case GE: do_jump_by_parts_greater_rtx (mode, 0, op1, op0, ! if_true_label, if_false_label); break; case EQ: do_jump_by_parts_equality_rtx (mode, op0, op1, if_false_label, ! if_true_label); break; case NE: do_jump_by_parts_equality_rtx (mode, op0, op1, if_true_label, ! if_false_label); break; default: --- 919,974 ---- { case LTU: do_jump_by_parts_greater_rtx (mode, 1, op1, op0, ! if_false_label, if_true_label, prob); break; case LEU: do_jump_by_parts_greater_rtx (mode, 1, op0, op1, ! if_true_label, if_false_label, ! inv (prob)); break; case GTU: do_jump_by_parts_greater_rtx (mode, 1, op0, op1, ! if_false_label, if_true_label, prob); break; case GEU: do_jump_by_parts_greater_rtx (mode, 1, op1, op0, ! if_true_label, if_false_label, ! inv (prob)); break; case LT: do_jump_by_parts_greater_rtx (mode, 0, op1, op0, ! if_false_label, if_true_label, prob); break; case LE: do_jump_by_parts_greater_rtx (mode, 0, op0, op1, ! if_true_label, if_false_label, ! inv (prob)); break; case GT: do_jump_by_parts_greater_rtx (mode, 0, op0, op1, ! if_false_label, if_true_label, prob); break; case GE: do_jump_by_parts_greater_rtx (mode, 0, op1, op0, ! if_true_label, if_false_label, ! inv (prob)); break; case EQ: do_jump_by_parts_equality_rtx (mode, op0, op1, if_false_label, ! if_true_label, prob); break; case NE: do_jump_by_parts_equality_rtx (mode, op0, op1, if_true_label, ! if_false_label, inv (prob)); break; default: *************** do_compare_rtx_and_jump (rtx op0, rtx op *** 939,946 **** } } else ! emit_cmp_and_jump_insns (op0, op1, code, size, mode, unsignedp, ! if_true_label); if (if_false_label) emit_jump (if_false_label); --- 976,1007 ---- } } else ! { ! rtx last = get_last_insn (); ! emit_cmp_and_jump_insns (op0, op1, code, size, mode, unsignedp, ! if_true_label); ! if (prob != -1 && profile_status != PROFILE_ABSENT) ! { ! for (last = NEXT_INSN (last); ! last && NEXT_INSN (last); ! last = NEXT_INSN (last)) ! if (JUMP_P (last)) ! break; ! if (!last ! || !JUMP_P (last) ! || NEXT_INSN (last) ! || !any_condjump_p (last)) ! { ! if (dump_file) ! fprintf (dump_file, "Failed to add probability note\n"); ! } ! else ! { ! gcc_assert (!find_reg_note (last, REG_BR_PROB, 0)); ! add_reg_note (last, REG_BR_PROB, GEN_INT (prob)); ! } ! } ! } if (if_false_label) emit_jump (if_false_label); *************** do_compare_rtx_and_jump (rtx op0, rtx op *** 961,967 **** static void do_compare_and_jump (tree exp, enum rtx_code signed_code, enum rtx_code unsigned_code, rtx if_false_label, ! rtx if_true_label) { rtx op0, op1; tree type; --- 1022,1028 ---- static void do_compare_and_jump (tree exp, enum rtx_code signed_code, enum rtx_code unsigned_code, rtx if_false_label, ! rtx if_true_label, int prob) { rtx op0, op1; tree type; *************** do_compare_and_jump (tree exp, enum rtx_ *** 1022,1028 **** do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, ((mode == BLKmode) ? expr_size (TREE_OPERAND (exp, 0)) : NULL_RTX), ! if_false_label, if_true_label); } #include "gt-dojump.h" --- 1083,1089 ---- do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, ((mode == BLKmode) ? expr_size (TREE_OPERAND (exp, 0)) : NULL_RTX), ! if_false_label, if_true_label, prob); } #include "gt-dojump.h" diff -Nrcpad gcc-4.4.3/gcc/dse.c gcc-4.4.4/gcc/dse.c *** gcc-4.4.3/gcc/dse.c Wed Aug 5 12:54:21 2009 --- gcc-4.4.4/gcc/dse.c Thu Feb 4 16:18:01 2010 *************** const_or_frame_p (rtx x) *** 1015,1023 **** { switch (GET_CODE (x)) { - case MEM: - return MEM_READONLY_P (x); - case CONST: case CONST_INT: case CONST_DOUBLE: --- 1015,1020 ---- diff -Nrcpad gcc-4.4.3/gcc/dwarf2out.c gcc-4.4.4/gcc/dwarf2out.c *** gcc-4.4.3/gcc/dwarf2out.c Wed Jan 20 08:39:18 2010 --- gcc-4.4.4/gcc/dwarf2out.c Wed Feb 10 15:09:06 2010 *************** retry_incomplete_types (void) *** 13222,13228 **** int i; for (i = VEC_length (tree, incomplete_types) - 1; i >= 0; i--) ! gen_type_die (VEC_index (tree, incomplete_types, i), comp_unit_die); } /* Determine what tag to use for a record type. */ --- 13222,13230 ---- int i; for (i = VEC_length (tree, incomplete_types) - 1; i >= 0; i--) ! if (should_emit_struct_debug (VEC_index (tree, incomplete_types, i), ! DINFO_USAGE_DIR_USE)) ! gen_type_die (VEC_index (tree, incomplete_types, i), comp_unit_die); } /* Determine what tag to use for a record type. */ diff -Nrcpad gcc-4.4.3/gcc/except.c gcc-4.4.4/gcc/except.c *** gcc-4.4.3/gcc/except.c Sat Mar 7 16:02:30 2009 --- gcc-4.4.4/gcc/except.c Mon Mar 8 11:46:28 2010 *************** *** 1,6 **** /* Implements exception handling. Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Mike Stump . --- 1,6 ---- /* Implements exception handling. Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Mike Stump . *************** sjlj_emit_function_enter (rtx dispatch_l *** 1834,1840 **** #ifdef DONT_USE_BUILTIN_SETJMP { ! rtx x; x = emit_library_call_value (setjmp_libfunc, NULL_RTX, LCT_RETURNS_TWICE, TYPE_MODE (integer_type_node), 1, plus_constant (XEXP (fc, 0), --- 1834,1840 ---- #ifdef DONT_USE_BUILTIN_SETJMP { ! rtx x, last; x = emit_library_call_value (setjmp_libfunc, NULL_RTX, LCT_RETURNS_TWICE, TYPE_MODE (integer_type_node), 1, plus_constant (XEXP (fc, 0), *************** sjlj_emit_function_enter (rtx dispatch_l *** 1842,1848 **** emit_cmp_and_jump_insns (x, const0_rtx, NE, 0, TYPE_MODE (integer_type_node), 0, dispatch_label); ! add_reg_br_prob_note (get_insns (), REG_BR_PROB_BASE/100); } #else expand_builtin_setjmp_setup (plus_constant (XEXP (fc, 0), sjlj_fc_jbuf_ofs), --- 1842,1853 ---- emit_cmp_and_jump_insns (x, const0_rtx, NE, 0, TYPE_MODE (integer_type_node), 0, dispatch_label); ! last = get_last_insn (); ! if (JUMP_P (last) && any_condjump_p (last)) ! { ! gcc_assert (!find_reg_note (last, REG_BR_PROB, 0)); ! add_reg_note (last, REG_BR_PROB, GEN_INT (REG_BR_PROB_BASE / 100)); ! } } #else expand_builtin_setjmp_setup (plus_constant (XEXP (fc, 0), sjlj_fc_jbuf_ofs), diff -Nrcpad gcc-4.4.3/gcc/expmed.c gcc-4.4.4/gcc/expmed.c *** gcc-4.4.3/gcc/expmed.c Wed Dec 30 19:42:03 2009 --- gcc-4.4.4/gcc/expmed.c Mon Mar 8 11:46:28 2010 *************** *** 1,7 **** /* Medium-level subroutines: convert bit-field store and extract and shifts, multiplies and divides to rtl instructions. Copyright (C) 1987, 1988, 1989, 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. --- 1,7 ---- /* Medium-level subroutines: convert bit-field store and extract and shifts, multiplies and divides to rtl instructions. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** emit_store_flag_force (rtx target, enum *** 5608,5614 **** emit_move_insn (target, const1_rtx); label = gen_label_rtx (); do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, NULL_RTX, ! NULL_RTX, label); emit_move_insn (target, const0_rtx); emit_label (label); --- 5608,5614 ---- emit_move_insn (target, const1_rtx); label = gen_label_rtx (); do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, NULL_RTX, ! NULL_RTX, label, -1); emit_move_insn (target, const0_rtx); emit_label (label); *************** do_cmp_and_jump (rtx arg1, rtx arg2, enu *** 5626,5630 **** { int unsignedp = (op == LTU || op == LEU || op == GTU || op == GEU); do_compare_rtx_and_jump (arg1, arg2, op, unsignedp, mode, ! NULL_RTX, NULL_RTX, label); } --- 5626,5630 ---- { int unsignedp = (op == LTU || op == LEU || op == GTU || op == GEU); do_compare_rtx_and_jump (arg1, arg2, op, unsignedp, mode, ! NULL_RTX, NULL_RTX, label, -1); } diff -Nrcpad gcc-4.4.3/gcc/expr.c gcc-4.4.4/gcc/expr.c *** gcc-4.4.3/gcc/expr.c Sat Jan 16 09:44:57 2010 --- gcc-4.4.4/gcc/expr.c Mon Mar 8 11:46:28 2010 *************** store_expr (tree exp, rtx target, int ca *** 4483,4489 **** do_pending_stack_adjust (); NO_DEFER_POP; ! jumpifnot (TREE_OPERAND (exp, 0), lab1); store_expr (TREE_OPERAND (exp, 1), target, call_param_p, nontemporal); emit_jump_insn (gen_jump (lab2)); --- 4483,4489 ---- do_pending_stack_adjust (); NO_DEFER_POP; ! jumpifnot (TREE_OPERAND (exp, 0), lab1, -1); store_expr (TREE_OPERAND (exp, 1), target, call_param_p, nontemporal); emit_jump_insn (gen_jump (lab2)); *************** store_constructor (tree exp, rtx target, *** 5503,5509 **** /* Generate a conditional jump to exit the loop. */ exit_cond = build2 (LT_EXPR, integer_type_node, index, hi_index); ! jumpif (exit_cond, loop_end); /* Update the loop counter, and jump to the head of the loop. */ --- 5503,5509 ---- /* Generate a conditional jump to exit the loop. */ exit_cond = build2 (LT_EXPR, integer_type_node, index, hi_index); ! jumpif (exit_cond, loop_end, -1); /* Update the loop counter, and jump to the head of the loop. */ *************** expand_expr_real_1 (tree exp, rtx target *** 8974,8980 **** temp = gen_label_rtx (); do_compare_rtx_and_jump (target, cmpop1, comparison_code, ! unsignedp, mode, NULL_RTX, NULL_RTX, temp); } emit_move_insn (target, op1); emit_label (temp); --- 8974,8981 ---- temp = gen_label_rtx (); do_compare_rtx_and_jump (target, cmpop1, comparison_code, ! unsignedp, mode, NULL_RTX, NULL_RTX, temp, ! -1); } emit_move_insn (target, op1); emit_label (temp); *************** expand_expr_real_1 (tree exp, rtx target *** 9125,9131 **** emit_move_insn (target, const0_rtx); op1 = gen_label_rtx (); ! jumpifnot (exp, op1); if (target) emit_move_insn (target, const1_rtx); --- 9126,9132 ---- emit_move_insn (target, const0_rtx); op1 = gen_label_rtx (); ! jumpifnot (exp, op1, -1); if (target) emit_move_insn (target, const1_rtx); *************** expand_expr_real_1 (tree exp, rtx target *** 9194,9200 **** NO_DEFER_POP; op0 = gen_label_rtx (); op1 = gen_label_rtx (); ! jumpifnot (TREE_OPERAND (exp, 0), op0); store_expr (TREE_OPERAND (exp, 1), temp, modifier == EXPAND_STACK_PARM, false); --- 9195,9201 ---- NO_DEFER_POP; op0 = gen_label_rtx (); op1 = gen_label_rtx (); ! jumpifnot (TREE_OPERAND (exp, 0), op0, -1); store_expr (TREE_OPERAND (exp, 1), temp, modifier == EXPAND_STACK_PARM, false); *************** expand_expr_real_1 (tree exp, rtx target *** 9240,9246 **** int value = TREE_CODE (rhs) == BIT_IOR_EXPR; do_jump (TREE_OPERAND (rhs, 1), value ? label : 0, ! value ? 0 : label); expand_assignment (lhs, build_int_cst (TREE_TYPE (rhs), value), MOVE_NONTEMPORAL (exp)); do_pending_stack_adjust (); --- 9241,9247 ---- int value = TREE_CODE (rhs) == BIT_IOR_EXPR; do_jump (TREE_OPERAND (rhs, 1), value ? label : 0, ! value ? 0 : label, -1); expand_assignment (lhs, build_int_cst (TREE_TYPE (rhs), value), MOVE_NONTEMPORAL (exp)); do_pending_stack_adjust (); *************** do_store_flag (tree exp, rtx target, enu *** 9924,9930 **** emit_move_insn (target, invert ? const0_rtx : const1_rtx); label = gen_label_rtx (); do_compare_rtx_and_jump (op0, op1, code, unsignedp, operand_mode, NULL_RTX, ! NULL_RTX, label); emit_move_insn (target, invert ? const1_rtx : const0_rtx); emit_label (label); --- 9925,9931 ---- emit_move_insn (target, invert ? const0_rtx : const1_rtx); label = gen_label_rtx (); do_compare_rtx_and_jump (op0, op1, code, unsignedp, operand_mode, NULL_RTX, ! NULL_RTX, label, -1); emit_move_insn (target, invert ? const1_rtx : const0_rtx); emit_label (label); diff -Nrcpad gcc-4.4.3/gcc/expr.h gcc-4.4.4/gcc/expr.h *** gcc-4.4.3/gcc/expr.h Tue Mar 17 17:46:23 2009 --- gcc-4.4.4/gcc/expr.h Mon Mar 8 11:46:28 2010 *************** *** 1,6 **** /* Definitions for code generation pass of GNU compiler. Copyright (C) 1987, 1991, 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. --- 1,6 ---- /* Definitions for code generation pass of GNU compiler. Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** extern void do_pending_stack_adjust (voi *** 564,583 **** extern tree string_constant (tree, tree *); /* Generate code to evaluate EXP and jump to LABEL if the value is zero. */ ! extern void jumpifnot (tree, rtx); /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */ ! extern void jumpif (tree, rtx); /* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if the result is zero, or IF_TRUE_LABEL if the result is one. */ ! extern void do_jump (tree, rtx, rtx); /* Generate rtl to compare two rtx's, will call emit_cmp_insn. */ extern rtx compare_from_rtx (rtx, rtx, enum rtx_code, int, enum machine_mode, rtx); extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int, ! enum machine_mode, rtx, rtx, rtx); /* Two different ways of generating switch statements. */ extern int try_casesi (tree, tree, tree, tree, rtx, rtx, rtx); --- 564,583 ---- extern tree string_constant (tree, tree *); /* Generate code to evaluate EXP and jump to LABEL if the value is zero. */ ! extern void jumpifnot (tree, rtx, int); /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */ ! extern void jumpif (tree, rtx, int); /* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if the result is zero, or IF_TRUE_LABEL if the result is one. */ ! extern void do_jump (tree, rtx, rtx, int); /* Generate rtl to compare two rtx's, will call emit_cmp_insn. */ extern rtx compare_from_rtx (rtx, rtx, enum rtx_code, int, enum machine_mode, rtx); extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int, ! enum machine_mode, rtx, rtx, rtx, int); /* Two different ways of generating switch statements. */ extern int try_casesi (tree, tree, tree, tree, rtx, rtx, rtx); diff -Nrcpad gcc-4.4.3/gcc/fortran/ChangeLog gcc-4.4.4/gcc/fortran/ChangeLog *** gcc-4.4.3/gcc/fortran/ChangeLog Thu Jan 21 09:36:41 2010 --- gcc-4.4.4/gcc/fortran/ChangeLog Thu Apr 29 07:49:35 2010 *************** *** 1,3 **** --- 1,112 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-21 Jakub Jelinek + + PR fortran/43836 + * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on + the decl. + + 2010-04-20 Harald Anlauf + + * intrinsic.c (sort_actual): Remove 'is' in error message. + + 2010-04-20 Jakub Jelinek + + PR fortran/43339 + * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for + sequential loops private in the innermost containing task region. + + 2010-04-07 Janne Blomqvist + + PR fortran/43539 + * gfortran.texi: Add section about representation of + LOGICAL variables. + + 2010-03-30 Jerry DeLisle + + PR fortran/43409 + Back port from trunk. + * ioparm.def: Change inquire size variable to type pointer to + GFC_IO_INT type. + + 2010-03-11 Tobias Burnus result. + + 2010-02-16 Paul Thomas + + PR fortran/41869 + * module.c (fix_mio_expr): Fix for private generic procedures. + + 2010-02-11 Jakub Jelinek + + PR fortran/43030 + * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts. + + PR fortran/43029 + * decl.c (enumerator_decl): Don't call gfc_free_enum_history + here. + (gfc_match_enumerator_def): But here whenever enumerator_decl returns + MATCH_ERROR. + + 2010-02-10 Jakub Jelinek + + PR fortran/42309 + * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing + info->dimen after info has been freed. + + 2010-02-06 Paul Thomas + + PR fortran/42309 + * trans-expr.c (gfc_conv_subref_array_arg): Add new argument + 'formal_ptr'. If this is true, give returned descriptor unity + lbounds, in all dimensions, and the appropriate offset. + (gfc_conv_procedure_call); If formal is a pointer, set the last + argument of gfc_conv_subref_array_arg to true. + * trans.h : Add last argument for gfc_conv_subref_array_arg. + * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the + new arg of gfc_conv_subref_array_arg to false. + * trans-stmt.c (forall_make_variable_temp): The same. + + 2010-02-02 Tobias Burnus + + PR fortran/42650 + * parse.c (decode_specification_statement): Use sym->result not sym. + + 2010-01-31 Paul Thomas + + PR fortran/38324 + * expr.c (gfc_get_full_arrayspec_from_expr): New function. + * gfortran.h : Add prototype for above. + * trans-expr.c (gfc_trans_alloc_subarray_assign): New function. + (gfc_trans_subcomponent_assign): Call new function to replace + the code to deal with allocatable components. + * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call + gfc_get_full_arrayspec_from_expr to replace existing code. + + 2010-01-30 Paul Thomas + + PR fortran/41044 + PR fortran/41167 + * expr.c (remove_subobject_ref): If the constructor is NULL use + the expression as the source. + (simplify_const_ref): Change the type of expression if + there are component references. Allow for substring to be at + the end of an arbitrarily long chain of references. If an + element is found that is not in an EXPR_ARRAY, assume that this + is scalar initialization of array. Call remove_subobject_ref in + this case with NULL second argument. + + 2010-01-27 Paul Thomas + + PR fortran/42736 + * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary + is required, turn any trailing array elements after a range + into ranges so that offsets can be calculated. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/fortran/decl.c gcc-4.4.4/gcc/fortran/decl.c *** gcc-4.4.3/gcc/fortran/decl.c Thu Oct 1 16:09:13 2009 --- gcc-4.4.4/gcc/fortran/decl.c Thu Feb 11 19:35:12 2010 *************** *** 1,5 **** /* Declaration statement matcher ! Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Andy Vaught --- 1,5 ---- /* Declaration statement matcher ! Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Andy Vaught *************** enumerator_decl (void) *** 6597,6606 **** if (initializer == NULL || initializer->ts.type != BT_INTEGER) { ! gfc_error("ENUMERATOR %L not initialized with integer expression", ! &var_locus); m = MATCH_ERROR; - gfc_free_enum_history (); goto cleanup; } --- 6597,6605 ---- if (initializer == NULL || initializer->ts.type != BT_INTEGER) { ! gfc_error ("ENUMERATOR %L not initialized with integer expression", ! &var_locus); m = MATCH_ERROR; goto cleanup; } *************** gfc_match_enumerator_def (void) *** 6666,6672 **** { m = enumerator_decl (); if (m == MATCH_ERROR) ! goto cleanup; if (m == MATCH_NO) break; --- 6665,6674 ---- { m = enumerator_decl (); if (m == MATCH_ERROR) ! { ! gfc_free_enum_history (); ! goto cleanup; ! } if (m == MATCH_NO) break; diff -Nrcpad gcc-4.4.3/gcc/fortran/expr.c gcc-4.4.4/gcc/fortran/expr.c *** gcc-4.4.3/gcc/fortran/expr.c Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/fortran/expr.c Sun Jan 31 14:57:13 2010 *************** remove_subobject_ref (gfc_expr *p, gfc_c *** 1123,1130 **** { gfc_expr *e; ! e = cons->expr; ! cons->expr = NULL; e->ref = p->ref->next; p->ref->next = NULL; gfc_replace_expr (p, e); --- 1123,1135 ---- { gfc_expr *e; ! if (cons) ! { ! e = cons->expr; ! cons->expr = NULL; ! } ! else ! e = gfc_copy_expr (p); e->ref = p->ref->next; p->ref->next = NULL; gfc_replace_expr (p, e); *************** simplify_const_ref (gfc_expr *p) *** 1428,1433 **** --- 1433,1439 ---- { gfc_constructor *cons; gfc_expr *newp; + gfc_ref *last_ref; while (p->ref) { *************** simplify_const_ref (gfc_expr *p) *** 1437,1442 **** --- 1443,1455 ---- switch (p->ref->u.ar.type) { case AR_ELEMENT: + /* , parameter :: x() = scalar_expr + will generate this. */ + if (p->expr_type != EXPR_ARRAY) + { + remove_subobject_ref (p, NULL); + break; + } if (find_array_element (p->value.constructor, &p->ref->u.ar, &cons) == FAILURE) return FAILURE; *************** simplify_const_ref (gfc_expr *p) *** 1466,1483 **** return FAILURE; } ! /* If this is a CHARACTER array and we possibly took a ! substring out of it, update the type-spec's character ! length according to the first element (as all should have ! the same length). */ ! if (p->ts.type == BT_CHARACTER) { ! int string_len; ! gcc_assert (p->ref->next); ! gcc_assert (!p->ref->next->next); ! gcc_assert (p->ref->next->type == REF_SUBSTRING); if (p->value.constructor) { const gfc_expr* first = p->value.constructor->expr; --- 1479,1503 ---- return FAILURE; } ! if (p->ts.type == BT_DERIVED ! && p->ref->next ! && p->value.constructor) { ! /* There may have been component references. */ ! p->ts = p->value.constructor->expr->ts; ! } ! last_ref = p->ref; ! for (; last_ref->next; last_ref = last_ref->next) {}; + if (p->ts.type == BT_CHARACTER + && last_ref->type == REF_SUBSTRING) + { + /* If this is a CHARACTER array and we possibly took + a substring out of it, update the type-spec's + character length according to the first element + (as all should have the same length). */ + int string_len; if (p->value.constructor) { const gfc_expr* first = p->value.constructor->expr; *************** gfc_get_variable_expr (gfc_symtree *var) *** 3327,3332 **** --- 3347,3404 ---- } + /* Returns the array_spec of a full array expression. A NULL is + returned otherwise. */ + gfc_array_spec * + gfc_get_full_arrayspec_from_expr (gfc_expr *expr) + { + gfc_array_spec *as; + gfc_ref *ref; + + if (expr->rank == 0) + return NULL; + + /* Follow any component references. */ + if (expr->expr_type == EXPR_VARIABLE + || expr->expr_type == EXPR_CONSTANT) + { + as = expr->symtree->n.sym->as; + for (ref = expr->ref; ref; ref = ref->next) + { + switch (ref->type) + { + case REF_COMPONENT: + as = ref->u.c.component->as; + continue; + + case REF_SUBSTRING: + continue; + + case REF_ARRAY: + { + switch (ref->u.ar.type) + { + case AR_ELEMENT: + case AR_SECTION: + case AR_UNKNOWN: + as = NULL; + continue; + + case AR_FULL: + break; + } + break; + } + } + } + } + else + as = NULL; + + return as; + } + + /* General expression traversal function. */ bool diff -Nrcpad gcc-4.4.3/gcc/fortran/f95-lang.c gcc-4.4.4/gcc/fortran/f95-lang.c *** gcc-4.4.3/gcc/fortran/f95-lang.c Wed Apr 22 11:37:04 2009 --- gcc-4.4.4/gcc/fortran/f95-lang.c Wed Apr 21 21:26:11 2010 *************** *** 1,5 **** /* gfortran backend interface ! Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Paul Brook. --- 1,5 ---- /* gfortran backend interface ! Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. Contributed by Paul Brook. *************** gfc_define_builtin (const char *name, *** 687,692 **** --- 687,693 ---- library_name, NULL_TREE); if (const_p) TREE_READONLY (decl) = 1; + TREE_NOTHROW (decl) = 1; built_in_decls[code] = decl; implicit_built_in_decls[code] = decl; diff -Nrcpad gcc-4.4.3/gcc/fortran/gfortran.h gcc-4.4.4/gcc/fortran/gfortran.h *** gcc-4.4.3/gcc/fortran/gfortran.h Sat Feb 21 22:25:06 2009 --- gcc-4.4.4/gcc/fortran/gfortran.h Sun Jan 31 14:57:13 2010 *************** gfc_try gfc_check_assign_symbol (gfc_sym *** 2450,2455 **** --- 2450,2457 ---- gfc_expr *gfc_default_initializer (gfc_typespec *); gfc_expr *gfc_get_variable_expr (gfc_symtree *); + gfc_array_spec *gfc_get_full_arrayspec_from_expr (gfc_expr *expr); + bool gfc_traverse_expr (gfc_expr *, gfc_symbol *, bool (*)(gfc_expr *, gfc_symbol *, int*), int); diff -Nrcpad gcc-4.4.3/gcc/fortran/gfortran.info gcc-4.4.4/gcc/fortran/gfortran.info *** gcc-4.4.3/gcc/fortran/gfortran.info Thu Jan 21 11:33:05 2010 --- gcc-4.4.4/gcc/fortran/gfortran.info Thu Apr 29 09:36:17 2010 *************** *** 1,5 **** This is doc/gfortran.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.3/gcc/fortran/gfortran.texi. Copyright (C) 1999-2008 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gfortran.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.4/gcc-4.4.4/gcc/fortran/gfortran.texi. Copyright (C) 1999-2008 Free Software Foundation, Inc. *************** Part I: Invoking GNU Fortran *** 71,77 **** Part II: Language Reference * Fortran 2003 and 2008 status:: Fortran 2003 and 2008 features supported by GNU Fortran. ! * Compiler Characteristics:: KIND type parameters supported. * Extensions:: Language extensions implemented by GNU Fortran. * Intrinsic Procedures:: Intrinsic procedures supported by GNU Fortran. * Intrinsic Modules:: Intrinsic modules supported by GNU Fortran. --- 71,77 ---- Part II: Language Reference * Fortran 2003 and 2008 status:: Fortran 2003 and 2008 features supported by GNU Fortran. ! * Compiler Characteristics:: User-visible implementation details. * Extensions:: Language extensions implemented by GNU Fortran. * Intrinsic Procedures:: Intrinsic procedures supported by GNU Fortran. * Intrinsic Modules:: Intrinsic modules supported by GNU Fortran. *************** File: gfortran.info, Node: Compiler Cha *** 1753,1766 **** ************************** This chapter describes certain characteristics of the GNU Fortran ! compiler, namely the KIND type parameter values supported. * Menu: * KIND Type Parameters::  ! File: gfortran.info, Node: KIND Type Parameters, Up: Compiler Characteristics 5.1 KIND Type Parameters ======================== --- 1753,1768 ---- ************************** This chapter describes certain characteristics of the GNU Fortran ! compiler, that are not specified by the Fortran standard, but which ! might in some way or another become visible to the programmer. * Menu: * KIND Type Parameters:: + * Internal representation of LOGICAL variables::  ! File: gfortran.info, Node: KIND Type Parameters, Next: Internal representation of LOGICAL variables, Up: Compiler Characteristics 5.1 KIND Type Parameters ======================== *************** imaginary part are a real value of the g *** 1796,1801 **** --- 1798,1829 ---- to use the `SELECT_*_KIND' intrinsics instead of the concrete values.  + File: gfortran.info, Node: Internal representation of LOGICAL variables, Prev: KIND Type Parameters, Up: Compiler Characteristics + + 5.2 Internal representation of LOGICAL variables + ================================================ + + The Fortran standard does not specify how variables of `LOGICAL' type + are represented, beyond requiring that `LOGICAL' variables of default + kind have the same storage size as default `INTEGER' and `REAL' + variables. The GNU Fortran internal representation is as follows. + + A `LOGICAL(KIND=N)' variable is represented as an `INTEGER(KIND=N)' + variable, however, with only two permissible values: `1' for `.TRUE.' + and `0' for `.FALSE.'. Any other integer value results in undefined + behavior. + + Note that for mixed-language programming using the `ISO_C_BINDING' + feature, there is a `C_BOOL' kind that can be used to create + `LOGICAL(KIND=C_BOOL)' variables which are interoperable with the C99 + _Bool type. The C99 _Bool type has an internal representation + described in the C99 standard, which is identical to the above + description, i.e. with 1 for true and 0 for false being the only + permissible values. Thus the internal representation of `LOGICAL' + variables in GNU Fortran is identical to C99 _Bool, except for a + possible difference in storage size depending on the kind. + +  File: gfortran.info, Node: Extensions, Next: Intrinsic Procedures, Prev: Compiler Characteristics, Up: Top 6 Extensions *************** Keyword Index *** 14347,14352 **** --- 14375,14382 ---- * logical not, bitwise: NOT. (line 6) * logical or, bitwise <1>: OR. (line 6) * logical or, bitwise: IOR. (line 6) + * logical, variable representation: Internal representation of LOGICAL variables. + (line 6) * login name: GETLOG. (line 6) * LONG: LONG. (line 6) * LSHIFT: LSHIFT. (line 6) *************** Keyword Index *** 14740,15040 ****  Tag Table: Node: Top1990 ! Node: Introduction3305 ! Node: About GNU Fortran4052 ! Node: GNU Fortran and GCC8080 ! Node: Preprocessing and conditional compilation10192 ! Node: GNU Fortran and G7711833 ! Node: Project Status12406 ! Node: Standards14921 ! Node: Invoking GNU Fortran16132 ! Node: Option Summary17855 ! Node: Fortran Dialect Options21343 ! Node: Preprocessing Options28153 ! Node: Error and Warning Options36279 ! Node: Debugging Options43706 ! Node: Directory Options45869 ! Node: Link Options47384 ! Node: Runtime Options48008 ! Node: Code Gen Options50088 ! Node: Environment Variables62313 ! Node: Runtime62918 ! Node: GFORTRAN_STDIN_UNIT64146 ! Node: GFORTRAN_STDOUT_UNIT64513 ! Node: GFORTRAN_STDERR_UNIT64914 ! Node: GFORTRAN_USE_STDERR65312 ! Node: GFORTRAN_TMPDIR65757 ! Node: GFORTRAN_UNBUFFERED_ALL66198 ! Node: GFORTRAN_UNBUFFERED_PRECONNECTED66721 ! Node: GFORTRAN_SHOW_LOCUS67363 ! Node: GFORTRAN_OPTIONAL_PLUS67857 ! Node: GFORTRAN_DEFAULT_RECL68332 ! Node: GFORTRAN_LIST_SEPARATOR68823 ! Node: GFORTRAN_CONVERT_UNIT69432 ! Node: GFORTRAN_ERROR_DUMPCORE72294 ! Node: GFORTRAN_ERROR_BACKTRACE72841 ! Node: Fortran 2003 and 2008 status73392 ! Node: Fortran 2003 status73632 ! Node: Fortran 2008 status75323 ! Node: Compiler Characteristics76292 ! Node: KIND Type Parameters76630 ! Node: Extensions77557 ! Node: Extensions implemented in GNU Fortran78156 ! Node: Old-style kind specifications79490 ! Node: Old-style variable initialization80596 ! Node: Extensions to namelist81908 ! Node: X format descriptor without count field83904 ! Node: Commas in FORMAT specifications84431 ! Node: Missing period in FORMAT specifications84948 ! Node: I/O item lists85510 ! Node: BOZ literal constants85899 ! Node: Real array indices88468 ! Node: Unary operators88765 ! Node: Implicitly convert LOGICAL and INTEGER values89179 ! Node: Hollerith constants support90139 ! Node: Cray pointers91911 ! Node: CONVERT specifier97321 ! Node: OpenMP99319 ! Node: Argument list functions101574 ! Node: Extensions not implemented in GNU Fortran103168 ! Node: STRUCTURE and RECORD104020 ! Node: ENCODE and DECODE statements106076 ! Node: Intrinsic Procedures107394 ! Node: Introduction to Intrinsics121084 ! Node: ABORT123436 ! Node: ABS124193 ! Node: ACCESS125695 ! Node: ACHAR127616 ! Node: ACOS128817 ! Node: ACOSH129815 ! Node: ADJUSTL130692 ! Node: ADJUSTR131633 ! Node: AIMAG132580 ! Node: AINT133900 ! Node: ALARM135372 ! Node: ALL137006 ! Node: ALLOCATED138924 ! Node: AND139805 ! Node: ANINT141102 ! Node: ANY142465 ! Node: ASIN144395 ! Node: ASINH145407 ! Node: ASSOCIATED146289 ! Node: ATAN149294 ! Node: ATAN2150183 ! Node: ATANH151527 ! Node: BESSEL_J0152407 ! Node: BESSEL_J1153451 ! Node: BESSEL_JN154503 ! Node: BESSEL_Y0155670 ! Node: BESSEL_Y1156670 ! Node: BESSEL_YN157670 ! Node: BIT_SIZE158887 ! Node: BTEST159716 ! Node: C_ASSOCIATED160604 ! Node: C_FUNLOC161813 ! Node: C_F_PROCPOINTER163182 ! Node: C_F_POINTER164811 ! Node: C_LOC166229 ! Node: C_SIZEOF167346 ! Node: CEILING168699 ! Node: CHAR169704 ! Node: CHDIR170768 ! Node: CHMOD171936 ! Node: CMPLX173731 ! Node: COMMAND_ARGUMENT_COUNT175195 ! Node: COMPLEX176102 ! Node: CONJG177245 ! Node: COS178255 ! Node: COSH179526 ! Node: COUNT180495 ! Node: CPU_TIME182351 ! Node: CSHIFT183705 ! Node: CTIME185361 ! Node: DATE_AND_TIME186620 ! Node: DBLE189081 ! Node: DCMPLX189905 ! Node: DFLOAT191099 ! Node: DIGITS191793 ! Node: DIM192759 ! Node: DOT_PRODUCT193902 ! Node: DPROD195558 ! Node: DREAL196284 ! Node: DTIME196948 ! Node: EOSHIFT199754 ! Node: EPSILON201827 ! Node: ERF202553 ! Node: ERFC203327 ! Node: ERFC_SCALED204131 ! Node: ETIME204823 ! Node: EXIT207054 ! Node: EXP207913 ! Node: EXPONENT209071 ! Node: FDATE209821 ! Node: FLOAT211096 ! Node: FGET211810 ! Node: FGETC213604 ! Node: FLOOR215372 ! Node: FLUSH216356 ! Node: FNUM216994 ! Node: FPUT217716 ! Node: FPUTC219317 ! Node: FRACTION221057 ! Node: FREE221958 ! Node: FSEEK222795 ! Node: FSTAT225089 ! Node: FTELL226129 ! Node: GAMMA227107 ! Node: GERROR228148 ! Node: GETARG228867 ! Node: GET_COMMAND230631 ! Node: GET_COMMAND_ARGUMENT231577 ! Node: GETCWD233545 ! Node: GETENV234491 ! Node: GET_ENVIRONMENT_VARIABLE235713 ! Node: GETGID237413 ! Node: GETLOG237948 ! Node: GETPID238806 ! Node: GETUID239534 ! Node: GMTIME240048 ! Node: HOSTNM241537 ! Node: HUGE242453 ! Node: HYPOT243172 ! Node: IACHAR243992 ! Node: IAND245172 ! Node: IARGC246159 ! Node: IBCLR247182 ! Node: IBITS247843 ! Node: IBSET248758 ! Node: ICHAR249414 ! Node: IDATE251395 ! Node: IEOR252422 ! Node: IERRNO253298 ! Node: INDEX intrinsic253853 ! Node: INT255199 ! Node: INT2256786 ! Node: INT8257551 ! Node: IOR258263 ! Node: IRAND259113 ! Node: IS_IOSTAT_END260465 ! Node: IS_IOSTAT_EOR261560 ! Node: ISATTY262685 ! Node: ISHFT263468 ! Node: ISHFTC264448 ! Node: ISNAN265664 ! Node: ITIME266412 ! Node: KILL267437 ! Node: KIND268310 ! Node: LBOUND269155 ! Node: LEADZ270467 ! Node: LEN271271 ! Node: LEN_TRIM272362 ! Node: LGE273350 ! Node: LGT274663 ! Node: LINK275940 ! Node: LLE276975 ! Node: LLT278279 ! Node: LNBLNK279549 ! Node: LOC280325 ! Node: LOG281056 ! Node: LOG10282347 ! Node: LOG_GAMMA283319 ! Node: LOGICAL284407 ! Node: LONG285211 ! Node: LSHIFT285967 ! Node: LSTAT286921 ! Node: LTIME288075 ! Node: MALLOC289490 ! Node: MATMUL290950 ! Node: MAX292040 ! Node: MAXEXPONENT293539 ! Node: MAXLOC294355 ! Node: MAXVAL296404 ! Node: MCLOCK298067 ! Node: MCLOCK8299070 ! Node: MERGE300284 ! Node: MIN301026 ! Node: MINEXPONENT302522 ! Node: MINLOC303152 ! Node: MINVAL305201 ! Node: MOD306883 ! Node: MODULO308375 ! Node: MOVE_ALLOC309589 ! Node: MVBITS310613 ! Node: NEAREST311672 ! Node: NEW_LINE312795 ! Node: NINT313566 ! Node: NOT314834 ! Node: NULL315417 ! Node: OR316315 ! Node: PACK317593 ! Node: PERROR319585 ! Node: PRECISION320207 ! Node: PRESENT321033 ! Node: PRODUCT322139 ! Node: RADIX323664 ! Node: RAN324441 ! Node: RAND324897 ! Node: RANDOM_NUMBER326232 ! Node: RANDOM_SEED327950 ! Node: RANGE329833 ! Node: REAL330457 ! Node: RENAME331899 ! Node: REPEAT332918 ! Node: RESHAPE333644 ! Node: RRSPACING335113 ! Node: RSHIFT335806 ! Node: SCALE336768 ! Node: SCAN337542 ! Node: SECNDS339092 ! Node: SECOND340180 ! Node: SELECTED_CHAR_KIND341056 ! Node: SELECTED_INT_KIND342053 ! Node: SELECTED_REAL_KIND343228 ! Node: SET_EXPONENT345167 ! Node: SHAPE346163 ! Node: SIGN347276 ! Node: SIGNAL348359 ! Node: SIN349856 ! Node: SINH350898 ! Node: SIZE351710 ! Node: SIZEOF353018 ! Node: SLEEP354312 ! Node: SNGL354869 ! Node: SPACING355540 ! Node: SPREAD356552 ! Node: SQRT357697 ! Node: SRAND358936 ! Node: STAT360104 ! Node: SUM363216 ! Node: SYMLNK364685 ! Node: SYSTEM365817 ! Node: SYSTEM_CLOCK366765 ! Node: TAN368109 ! Node: TANH368945 ! Node: TIME369812 ! Node: TIME8370916 ! Node: TINY372053 ! Node: TRAILZ372653 ! Node: TRANSFER373438 ! Node: TRANSPOSE375472 ! Node: TRIM376159 ! Node: TTYNAM377016 ! Node: UBOUND377931 ! Node: UMASK379300 ! Node: UNLINK379855 ! Node: UNPACK380832 ! Node: VERIFY382120 ! Node: XOR383836 ! Node: Intrinsic Modules385144 ! Node: Contributing390935 ! Node: Contributors391787 ! Node: Projects393410 ! Node: Proposed Extensions394213 ! Node: Copying396264 ! Node: GNU Free Documentation License433828 ! Node: Funding456240 ! Node: Option Index458765 ! Node: Keyword Index470647  End Tag Table --- 14770,15071 ----  Tag Table: Node: Top1990 ! Node: Introduction3310 ! Node: About GNU Fortran4057 ! Node: GNU Fortran and GCC8085 ! Node: Preprocessing and conditional compilation10197 ! Node: GNU Fortran and G7711838 ! Node: Project Status12411 ! Node: Standards14926 ! Node: Invoking GNU Fortran16137 ! Node: Option Summary17860 ! Node: Fortran Dialect Options21348 ! Node: Preprocessing Options28158 ! Node: Error and Warning Options36284 ! Node: Debugging Options43711 ! Node: Directory Options45874 ! Node: Link Options47389 ! Node: Runtime Options48013 ! Node: Code Gen Options50093 ! Node: Environment Variables62318 ! Node: Runtime62923 ! Node: GFORTRAN_STDIN_UNIT64151 ! Node: GFORTRAN_STDOUT_UNIT64518 ! Node: GFORTRAN_STDERR_UNIT64919 ! Node: GFORTRAN_USE_STDERR65317 ! Node: GFORTRAN_TMPDIR65762 ! Node: GFORTRAN_UNBUFFERED_ALL66203 ! Node: GFORTRAN_UNBUFFERED_PRECONNECTED66726 ! Node: GFORTRAN_SHOW_LOCUS67368 ! Node: GFORTRAN_OPTIONAL_PLUS67862 ! Node: GFORTRAN_DEFAULT_RECL68337 ! Node: GFORTRAN_LIST_SEPARATOR68828 ! Node: GFORTRAN_CONVERT_UNIT69437 ! Node: GFORTRAN_ERROR_DUMPCORE72299 ! Node: GFORTRAN_ERROR_BACKTRACE72846 ! Node: Fortran 2003 and 2008 status73397 ! Node: Fortran 2003 status73637 ! Node: Fortran 2008 status75328 ! Node: Compiler Characteristics76297 ! Node: KIND Type Parameters76756 ! Node: Internal representation of LOGICAL variables77736 ! Node: Extensions79047 ! Node: Extensions implemented in GNU Fortran79646 ! Node: Old-style kind specifications80980 ! Node: Old-style variable initialization82086 ! Node: Extensions to namelist83398 ! Node: X format descriptor without count field85394 ! Node: Commas in FORMAT specifications85921 ! Node: Missing period in FORMAT specifications86438 ! Node: I/O item lists87000 ! Node: BOZ literal constants87389 ! Node: Real array indices89958 ! Node: Unary operators90255 ! Node: Implicitly convert LOGICAL and INTEGER values90669 ! Node: Hollerith constants support91629 ! Node: Cray pointers93401 ! Node: CONVERT specifier98811 ! Node: OpenMP100809 ! Node: Argument list functions103064 ! Node: Extensions not implemented in GNU Fortran104658 ! Node: STRUCTURE and RECORD105510 ! Node: ENCODE and DECODE statements107566 ! Node: Intrinsic Procedures108884 ! Node: Introduction to Intrinsics122574 ! Node: ABORT124926 ! Node: ABS125683 ! Node: ACCESS127185 ! Node: ACHAR129106 ! Node: ACOS130307 ! Node: ACOSH131305 ! Node: ADJUSTL132182 ! Node: ADJUSTR133123 ! Node: AIMAG134070 ! Node: AINT135390 ! Node: ALARM136862 ! Node: ALL138496 ! Node: ALLOCATED140414 ! Node: AND141295 ! Node: ANINT142592 ! Node: ANY143955 ! Node: ASIN145885 ! Node: ASINH146897 ! Node: ASSOCIATED147779 ! Node: ATAN150784 ! Node: ATAN2151673 ! Node: ATANH153017 ! Node: BESSEL_J0153897 ! Node: BESSEL_J1154941 ! Node: BESSEL_JN155993 ! Node: BESSEL_Y0157160 ! Node: BESSEL_Y1158160 ! Node: BESSEL_YN159160 ! Node: BIT_SIZE160377 ! Node: BTEST161206 ! Node: C_ASSOCIATED162094 ! Node: C_FUNLOC163303 ! Node: C_F_PROCPOINTER164672 ! Node: C_F_POINTER166301 ! Node: C_LOC167719 ! Node: C_SIZEOF168836 ! Node: CEILING170189 ! Node: CHAR171194 ! Node: CHDIR172258 ! Node: CHMOD173426 ! Node: CMPLX175221 ! Node: COMMAND_ARGUMENT_COUNT176685 ! Node: COMPLEX177592 ! Node: CONJG178735 ! Node: COS179745 ! Node: COSH181016 ! Node: COUNT181985 ! Node: CPU_TIME183841 ! Node: CSHIFT185195 ! Node: CTIME186851 ! Node: DATE_AND_TIME188110 ! Node: DBLE190571 ! Node: DCMPLX191395 ! Node: DFLOAT192589 ! Node: DIGITS193283 ! Node: DIM194249 ! Node: DOT_PRODUCT195392 ! Node: DPROD197048 ! Node: DREAL197774 ! Node: DTIME198438 ! Node: EOSHIFT201244 ! Node: EPSILON203317 ! Node: ERF204043 ! Node: ERFC204817 ! Node: ERFC_SCALED205621 ! Node: ETIME206313 ! Node: EXIT208544 ! Node: EXP209403 ! Node: EXPONENT210561 ! Node: FDATE211311 ! Node: FLOAT212586 ! Node: FGET213300 ! Node: FGETC215094 ! Node: FLOOR216862 ! Node: FLUSH217846 ! Node: FNUM218484 ! Node: FPUT219206 ! Node: FPUTC220807 ! Node: FRACTION222547 ! Node: FREE223448 ! Node: FSEEK224285 ! Node: FSTAT226579 ! Node: FTELL227619 ! Node: GAMMA228597 ! Node: GERROR229638 ! Node: GETARG230357 ! Node: GET_COMMAND232121 ! Node: GET_COMMAND_ARGUMENT233067 ! Node: GETCWD235035 ! Node: GETENV235981 ! Node: GET_ENVIRONMENT_VARIABLE237203 ! Node: GETGID238903 ! Node: GETLOG239438 ! Node: GETPID240296 ! Node: GETUID241024 ! Node: GMTIME241538 ! Node: HOSTNM243027 ! Node: HUGE243943 ! Node: HYPOT244662 ! Node: IACHAR245482 ! Node: IAND246662 ! Node: IARGC247649 ! Node: IBCLR248672 ! Node: IBITS249333 ! Node: IBSET250248 ! Node: ICHAR250904 ! Node: IDATE252885 ! Node: IEOR253912 ! Node: IERRNO254788 ! Node: INDEX intrinsic255343 ! Node: INT256689 ! Node: INT2258276 ! Node: INT8259041 ! Node: IOR259753 ! Node: IRAND260603 ! Node: IS_IOSTAT_END261955 ! Node: IS_IOSTAT_EOR263050 ! Node: ISATTY264175 ! Node: ISHFT264958 ! Node: ISHFTC265938 ! Node: ISNAN267154 ! Node: ITIME267902 ! Node: KILL268927 ! Node: KIND269800 ! Node: LBOUND270645 ! Node: LEADZ271957 ! Node: LEN272761 ! Node: LEN_TRIM273852 ! Node: LGE274840 ! Node: LGT276153 ! Node: LINK277430 ! Node: LLE278465 ! Node: LLT279769 ! Node: LNBLNK281039 ! Node: LOC281815 ! Node: LOG282546 ! Node: LOG10283837 ! Node: LOG_GAMMA284809 ! Node: LOGICAL285897 ! Node: LONG286701 ! Node: LSHIFT287457 ! Node: LSTAT288411 ! Node: LTIME289565 ! Node: MALLOC290980 ! Node: MATMUL292440 ! Node: MAX293530 ! Node: MAXEXPONENT295029 ! Node: MAXLOC295845 ! Node: MAXVAL297894 ! Node: MCLOCK299557 ! Node: MCLOCK8300560 ! Node: MERGE301774 ! Node: MIN302516 ! Node: MINEXPONENT304012 ! Node: MINLOC304642 ! Node: MINVAL306691 ! Node: MOD308373 ! Node: MODULO309865 ! Node: MOVE_ALLOC311079 ! Node: MVBITS312103 ! Node: NEAREST313162 ! Node: NEW_LINE314285 ! Node: NINT315056 ! Node: NOT316324 ! Node: NULL316907 ! Node: OR317805 ! Node: PACK319083 ! Node: PERROR321075 ! Node: PRECISION321697 ! Node: PRESENT322523 ! Node: PRODUCT323629 ! Node: RADIX325154 ! Node: RAN325931 ! Node: RAND326387 ! Node: RANDOM_NUMBER327722 ! Node: RANDOM_SEED329440 ! Node: RANGE331323 ! Node: REAL331947 ! Node: RENAME333389 ! Node: REPEAT334408 ! Node: RESHAPE335134 ! Node: RRSPACING336603 ! Node: RSHIFT337296 ! Node: SCALE338258 ! Node: SCAN339032 ! Node: SECNDS340582 ! Node: SECOND341670 ! Node: SELECTED_CHAR_KIND342546 ! Node: SELECTED_INT_KIND343543 ! Node: SELECTED_REAL_KIND344718 ! Node: SET_EXPONENT346657 ! Node: SHAPE347653 ! Node: SIGN348766 ! Node: SIGNAL349849 ! Node: SIN351346 ! Node: SINH352388 ! Node: SIZE353200 ! Node: SIZEOF354508 ! Node: SLEEP355802 ! Node: SNGL356359 ! Node: SPACING357030 ! Node: SPREAD358042 ! Node: SQRT359187 ! Node: SRAND360426 ! Node: STAT361594 ! Node: SUM364706 ! Node: SYMLNK366175 ! Node: SYSTEM367307 ! Node: SYSTEM_CLOCK368255 ! Node: TAN369599 ! Node: TANH370435 ! Node: TIME371302 ! Node: TIME8372406 ! Node: TINY373543 ! Node: TRAILZ374143 ! Node: TRANSFER374928 ! Node: TRANSPOSE376962 ! Node: TRIM377649 ! Node: TTYNAM378506 ! Node: UBOUND379421 ! Node: UMASK380790 ! Node: UNLINK381345 ! Node: UNPACK382322 ! Node: VERIFY383610 ! Node: XOR385326 ! Node: Intrinsic Modules386634 ! Node: Contributing392425 ! Node: Contributors393277 ! Node: Projects394900 ! Node: Proposed Extensions395703 ! Node: Copying397754 ! Node: GNU Free Documentation License435318 ! Node: Funding457730 ! Node: Option Index460255 ! Node: Keyword Index472137  End Tag Table diff -Nrcpad gcc-4.4.3/gcc/fortran/gfortran.texi gcc-4.4.4/gcc/fortran/gfortran.texi *** gcc-4.4.3/gcc/fortran/gfortran.texi Wed Feb 18 18:54:41 2009 --- gcc-4.4.4/gcc/fortran/gfortran.texi Wed Apr 7 18:07:48 2010 *************** Part I: Invoking GNU Fortran *** 181,187 **** Part II: Language Reference * Fortran 2003 and 2008 status:: Fortran 2003 and 2008 features supported by GNU Fortran. ! * Compiler Characteristics:: KIND type parameters supported. * Extensions:: Language extensions implemented by GNU Fortran. * Intrinsic Procedures:: Intrinsic procedures supported by GNU Fortran. * Intrinsic Modules:: Intrinsic modules supported by GNU Fortran. --- 181,187 ---- Part II: Language Reference * Fortran 2003 and 2008 status:: Fortran 2003 and 2008 features supported by GNU Fortran. ! * Compiler Characteristics:: User-visible implementation details. * Extensions:: Language extensions implemented by GNU Fortran. * Intrinsic Procedures:: Intrinsic procedures supported by GNU Fortran. * Intrinsic Modules:: Intrinsic modules supported by GNU Fortran. *************** made and you should only use it for expe *** 914,927 **** @node Compiler Characteristics @chapter Compiler Characteristics ! @c TODO: Formulate this introduction a little more generally once ! @c there is more here than KIND type parameters. ! ! This chapter describes certain characteristics of the GNU Fortran compiler, ! namely the KIND type parameter values supported. @menu * KIND Type Parameters:: @end menu --- 914,926 ---- @node Compiler Characteristics @chapter Compiler Characteristics ! This chapter describes certain characteristics of the GNU Fortran ! compiler, that are not specified by the Fortran standard, but which ! might in some way or another become visible to the programmer. @menu * KIND Type Parameters:: + * Internal representation of LOGICAL variables:: @end menu *************** imaginary part are a real value of the g *** 965,970 **** --- 964,996 ---- the @code{SELECT_*_KIND} intrinsics instead of the concrete values. + @node Internal representation of LOGICAL variables + @section Internal representation of LOGICAL variables + @cindex logical, variable representation + + The Fortran standard does not specify how variables of @code{LOGICAL} + type are represented, beyond requiring that @code{LOGICAL} variables + of default kind have the same storage size as default @code{INTEGER} + and @code{REAL} variables. The GNU Fortran internal representation is + as follows. + + A @code{LOGICAL(KIND=N)} variable is represented as an + @code{INTEGER(KIND=N)} variable, however, with only two permissible + values: @code{1} for @code{.TRUE.} and @code{0} for + @code{.FALSE.}. Any other integer value results in undefined behavior. + + Note that for mixed-language programming using the + @code{ISO_C_BINDING} feature, there is a @code{C_BOOL} kind that can + be used to create @code{LOGICAL(KIND=C_BOOL)} variables which are + interoperable with the C99 _Bool type. The C99 _Bool type has an + internal representation described in the C99 standard, which is + identical to the above description, i.e. with 1 for true and 0 for + false being the only permissible values. Thus the internal + representation of @code{LOGICAL} variables in GNU Fortran is identical + to C99 _Bool, except for a possible difference in storage size + depending on the kind. + + @c --------------------------------------------------------------------- @c Extensions @c --------------------------------------------------------------------- diff -Nrcpad gcc-4.4.3/gcc/fortran/intrinsic.c gcc-4.4.4/gcc/fortran/intrinsic.c *** gcc-4.4.3/gcc/fortran/intrinsic.c Fri Sep 11 22:11:06 2009 --- gcc-4.4.4/gcc/fortran/intrinsic.c Tue Apr 20 21:29:39 2010 *************** keywords: *** 3105,3111 **** if (f->actual != NULL) { ! gfc_error ("Argument '%s' is appears twice in call to '%s' at %L", f->name, name, where); return FAILURE; } --- 3105,3111 ---- if (f->actual != NULL) { ! gfc_error ("Argument '%s' appears twice in call to '%s' at %L", f->name, name, where); return FAILURE; } diff -Nrcpad gcc-4.4.3/gcc/fortran/ioparm.def gcc-4.4.4/gcc/fortran/ioparm.def *** gcc-4.4.3/gcc/fortran/ioparm.def Sat Nov 22 08:10:41 2008 --- gcc-4.4.4/gcc/fortran/ioparm.def Wed Mar 31 01:59:52 2010 *************** IOPARM (inquire, encoding, 1 << 2, char *** 66,72 **** IOPARM (inquire, round, 1 << 3, char2) IOPARM (inquire, sign, 1 << 4, char1) IOPARM (inquire, pending, 1 << 5, pint4) ! IOPARM (inquire, size, 1 << 6, pint4) IOPARM (inquire, id, 1 << 7, pint4) IOPARM (wait, common, 0, common) IOPARM (wait, id, 1 << 7, pint4) --- 66,72 ---- IOPARM (inquire, round, 1 << 3, char2) IOPARM (inquire, sign, 1 << 4, char1) IOPARM (inquire, pending, 1 << 5, pint4) ! IOPARM (inquire, size, 1 << 6, pintio) IOPARM (inquire, id, 1 << 7, pint4) IOPARM (wait, common, 0, common) IOPARM (wait, id, 1 << 7, pint4) diff -Nrcpad gcc-4.4.3/gcc/fortran/module.c gcc-4.4.4/gcc/fortran/module.c *** gcc-4.4.3/gcc/fortran/module.c Fri May 22 12:54:23 2009 --- gcc-4.4.4/gcc/fortran/module.c Tue Feb 16 10:50:56 2010 *************** fix_mio_expr (gfc_expr *e) *** 2846,2858 **** --- 2846,2874 ---- } else if (e->expr_type == EXPR_FUNCTION && e->value.function.name) { + gfc_symbol *sym; + /* In some circumstances, a function used in an initialization expression, in one use associated module, can fail to be coupled to its symtree when used in a specification expression in another module. */ + fname = e->value.function.esym ? e->value.function.esym->name : e->value.function.isym->name; e->symtree = gfc_find_symtree (gfc_current_ns->sym_root, fname); + + if (e->symtree) + return; + + /* This is probably a reference to a private procedure from another + module. To prevent a segfault, make a generic with no specific + instances. If this module is used, without the required + specific coming from somewhere, the appropriate error message + is issued. */ + gfc_get_symbol (fname, gfc_current_ns, &sym); + sym->attr.flavor = FL_PROCEDURE; + sym->attr.generic = 1; + e->symtree = gfc_find_symtree (gfc_current_ns->sym_root, fname); } } diff -Nrcpad gcc-4.4.3/gcc/fortran/openmp.c gcc-4.4.4/gcc/fortran/openmp.c *** gcc-4.4.3/gcc/fortran/openmp.c Tue Jul 28 16:33:08 2009 --- gcc-4.4.4/gcc/fortran/openmp.c Tue Apr 20 08:41:02 2010 *************** *** 1,5 **** /* OpenMP directive matching and resolving. ! Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Jakub Jelinek --- 1,5 ---- /* OpenMP directive matching and resolving. ! Copyright (C) 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. Contributed by Jakub Jelinek *************** gfc_resolve_omp_parallel_blocks (gfc_cod *** 1367,1373 **** void gfc_resolve_do_iterator (gfc_code *code, gfc_symbol *sym) { - struct omp_context *ctx; int i = omp_current_do_collapse; gfc_code *c = omp_current_do_code; --- 1367,1372 ---- *************** gfc_resolve_do_iterator (gfc_code *code, *** 1386,1406 **** c = c->block->next; } ! for (ctx = omp_current_ctx; ctx; ctx = ctx->previous) ! { ! if (pointer_set_contains (ctx->sharing_clauses, sym)) ! continue; ! if (! pointer_set_insert (ctx->private_iterators, sym)) ! { ! gfc_omp_clauses *omp_clauses = ctx->code->ext.omp_clauses; ! gfc_namelist *p; ! p = gfc_get_namelist (); ! p->sym = sym; ! p->next = omp_clauses->lists[OMP_LIST_PRIVATE]; ! omp_clauses->lists[OMP_LIST_PRIVATE] = p; ! } } } --- 1385,1405 ---- c = c->block->next; } ! if (omp_current_ctx == NULL) ! return; ! if (pointer_set_contains (omp_current_ctx->sharing_clauses, sym)) ! return; ! if (! pointer_set_insert (omp_current_ctx->private_iterators, sym)) ! { ! gfc_omp_clauses *omp_clauses = omp_current_ctx->code->ext.omp_clauses; ! gfc_namelist *p; ! ! p = gfc_get_namelist (); ! p->sym = sym; ! p->next = omp_clauses->lists[OMP_LIST_PRIVATE]; ! omp_clauses->lists[OMP_LIST_PRIVATE] = p; } } diff -Nrcpad gcc-4.4.3/gcc/fortran/parse.c gcc-4.4.4/gcc/fortran/parse.c *** gcc-4.4.3/gcc/fortran/parse.c Sat Apr 4 13:19:15 2009 --- gcc-4.4.4/gcc/fortran/parse.c Tue Feb 2 14:27:24 2010 *************** decode_specification_statement (void) *** 110,116 **** match ("import", gfc_match_import, ST_IMPORT); match ("use", gfc_match_use, ST_USE); ! if (gfc_current_block ()->ts.type != BT_DERIVED) goto end_of_block; match (NULL, gfc_match_st_function, ST_STATEMENT_FUNCTION); --- 110,116 ---- match ("import", gfc_match_import, ST_IMPORT); match ("use", gfc_match_use, ST_USE); ! if (gfc_current_block ()->result->ts.type != BT_DERIVED) goto end_of_block; match (NULL, gfc_match_st_function, ST_STATEMENT_FUNCTION); diff -Nrcpad gcc-4.4.3/gcc/fortran/resolve.c gcc-4.4.4/gcc/fortran/resolve.c *** gcc-4.4.3/gcc/fortran/resolve.c Thu Nov 26 21:57:32 2009 --- gcc-4.4.4/gcc/fortran/resolve.c Thu Feb 11 19:48:24 2010 *************** *** 1,5 **** /* Perform type resolution on the various structures. ! Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Andy Vaught --- 1,5 ---- /* Perform type resolution on the various structures. ! Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Andy Vaught *************** gfc_resolve_dim_arg (gfc_expr *dim) *** 3722,3727 **** --- 3722,3728 ---- { gfc_typespec ts; + gfc_clear_ts (&ts); ts.type = BT_INTEGER; ts.kind = gfc_index_integer_kind; diff -Nrcpad gcc-4.4.3/gcc/fortran/symbol.c gcc-4.4.4/gcc/fortran/symbol.c *** gcc-4.4.3/gcc/fortran/symbol.c Mon Oct 19 19:18:12 2009 --- gcc-4.4.4/gcc/fortran/symbol.c Thu Mar 11 11:10:37 2010 *************** get_iso_c_sym (gfc_symbol *old_sym, char *** 4237,4242 **** --- 4237,4244 ---- new_symtree->n.sym->module = gfc_get_string (old_sym->module); new_symtree->n.sym->from_intmod = old_sym->from_intmod; new_symtree->n.sym->intmod_sym_id = old_sym->intmod_sym_id; + if (old_sym->attr.function) + new_symtree->n.sym->result = new_symtree->n.sym; /* Build the formal arg list. */ build_formal_args (new_symtree->n.sym, old_sym, add_optional_arg); diff -Nrcpad gcc-4.4.3/gcc/fortran/trans-expr.c gcc-4.4.4/gcc/fortran/trans-expr.c *** gcc-4.4.3/gcc/fortran/trans-expr.c Sun Nov 1 14:35:40 2009 --- gcc-4.4.4/gcc/fortran/trans-expr.c Wed Feb 10 15:11:30 2010 *************** gfc_apply_interface_mapping (gfc_interfa *** 2118,2125 **** an actual argument derived type array is copied and then returned after the function call. */ void ! gfc_conv_subref_array_arg (gfc_se * parmse, gfc_expr * expr, ! int g77, sym_intent intent) { gfc_se lse; gfc_se rse; --- 2118,2125 ---- an actual argument derived type array is copied and then returned after the function call. */ void ! gfc_conv_subref_array_arg (gfc_se * parmse, gfc_expr * expr, int g77, ! sym_intent intent, bool formal_ptr) { gfc_se lse; gfc_se rse; *************** gfc_conv_subref_array_arg (gfc_se * parm *** 2132,2139 **** --- 2132,2141 ---- tree tmp_index; tree tmp; tree base_type; + tree size; stmtblock_t body; int n; + int dimen; gcc_assert (expr->expr_type == EXPR_VARIABLE); *************** gfc_conv_subref_array_arg (gfc_se * parm *** 2262,2270 **** outside the innermost loop, so the overall transfer could be optimized further. */ info = &rse.ss->data.info; tmp_index = gfc_index_zero_node; ! for (n = info->dimen - 1; n > 0; n--) { tree tmp_str; tmp = rse.loop->loopvar[n]; --- 2264,2273 ---- outside the innermost loop, so the overall transfer could be optimized further. */ info = &rse.ss->data.info; + dimen = info->dimen; tmp_index = gfc_index_zero_node; ! for (n = dimen - 1; n > 0; n--) { tree tmp_str; tmp = rse.loop->loopvar[n]; *************** gfc_conv_subref_array_arg (gfc_se * parm *** 2324,2329 **** --- 2327,2364 ---- if (expr->ts.type == BT_CHARACTER) parmse->string_length = expr->ts.cl->backend_decl; + /* Determine the offset for pointer formal arguments and set the + lbounds to one. */ + if (formal_ptr) + { + size = gfc_index_one_node; + offset = gfc_index_zero_node; + for (n = 0; n < dimen; n++) + { + tmp = gfc_conv_descriptor_ubound (parmse->expr, + gfc_rank_cst[n]); + gfc_add_modify (&parmse->pre, tmp, + fold_build2 (PLUS_EXPR, gfc_array_index_type, + tmp, gfc_index_one_node)); + tmp = gfc_conv_descriptor_lbound (parmse->expr, + gfc_rank_cst[n]); + gfc_add_modify (&parmse->pre, tmp, gfc_index_one_node); + size = gfc_evaluate_now (size, &parmse->pre); + offset = fold_build2 (MINUS_EXPR, gfc_array_index_type, + offset, size); + offset = gfc_evaluate_now (offset, &parmse->pre); + tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type, + rse.loop->to[n], rse.loop->from[n]); + tmp = fold_build2 (PLUS_EXPR, gfc_array_index_type, + tmp, gfc_index_one_node); + size = fold_build2 (MULT_EXPR, gfc_array_index_type, + size, tmp); + } + + tmp = gfc_conv_descriptor_offset (parmse->expr); + gfc_add_modify (&parmse->pre, tmp, offset); + } + /* We want either the address for the data or the address of the descriptor, depending on the mode of passing array arguments. */ if (g77) *************** gfc_conv_function_call (gfc_se * se, gfc *** 2666,2672 **** is converted to a temporary, which is passed and then written back after the procedure call. */ gfc_conv_subref_array_arg (&parmse, e, f, ! fsym ? fsym->attr.intent : INTENT_INOUT); else gfc_conv_array_parameter (&parmse, e, argss, f, fsym, sym->name); --- 2701,2708 ---- is converted to a temporary, which is passed and then written back after the procedure call. */ gfc_conv_subref_array_arg (&parmse, e, f, ! fsym ? fsym->attr.intent : INTENT_INOUT, ! fsym && fsym->attr.pointer); else gfc_conv_array_parameter (&parmse, e, argss, f, fsym, sym->name); *************** gfc_trans_subarray_assign (tree dest, gf *** 3518,3523 **** --- 3554,3703 ---- } + static tree + gfc_trans_alloc_subarray_assign (tree dest, gfc_component * cm, + gfc_expr * expr) + { + gfc_se se; + gfc_ss *rss; + stmtblock_t block; + tree offset; + int n; + tree tmp; + tree tmp2; + gfc_array_spec *as; + gfc_expr *arg = NULL; + + gfc_start_block (&block); + gfc_init_se (&se, NULL); + + /* Get the descriptor for the expressions. */ + rss = gfc_walk_expr (expr); + se.want_pointer = 0; + gfc_conv_expr_descriptor (&se, expr, rss); + gfc_add_block_to_block (&block, &se.pre); + gfc_add_modify (&block, dest, se.expr); + + /* Deal with arrays of derived types with allocatable components. */ + if (cm->ts.type == BT_DERIVED + && cm->ts.derived->attr.alloc_comp) + tmp = gfc_copy_alloc_comp (cm->ts.derived, + se.expr, dest, + cm->as->rank); + else + tmp = gfc_duplicate_allocatable (dest, se.expr, + TREE_TYPE(cm->backend_decl), + cm->as->rank); + + gfc_add_expr_to_block (&block, tmp); + gfc_add_block_to_block (&block, &se.post); + + if (expr->expr_type != EXPR_VARIABLE) + gfc_conv_descriptor_data_set (&block, se.expr, + null_pointer_node); + + /* We need to know if the argument of a conversion function is a + variable, so that the correct lower bound can be used. */ + if (expr->expr_type == EXPR_FUNCTION + && expr->value.function.isym + && expr->value.function.isym->conversion + && expr->value.function.actual->expr + && expr->value.function.actual->expr->expr_type == EXPR_VARIABLE) + arg = expr->value.function.actual->expr; + + /* Obtain the array spec of full array references. */ + if (arg) + as = gfc_get_full_arrayspec_from_expr (arg); + else + as = gfc_get_full_arrayspec_from_expr (expr); + + /* Shift the lbound and ubound of temporaries to being unity, + rather than zero, based. Always calculate the offset. */ + offset = gfc_conv_descriptor_offset (dest); + gfc_add_modify (&block, offset, gfc_index_zero_node); + tmp2 =gfc_create_var (gfc_array_index_type, NULL); + + for (n = 0; n < expr->rank; n++) + { + tree span; + tree lbound; + tree ubound; + + /* Obtain the correct lbound - ISO/IEC TR 15581:2001 page 9. + TODO It looks as if gfc_conv_expr_descriptor should return + the correct bounds and that the following should not be + necessary. This would simplify gfc_conv_intrinsic_bound + as well. */ + if (as && as->lower[n]) + { + gfc_se lbse; + gfc_init_se (&lbse, NULL); + gfc_conv_expr (&lbse, as->lower[n]); + gfc_add_block_to_block (&block, &lbse.pre); + lbound = gfc_evaluate_now (lbse.expr, &block); + } + else if (as && arg) + { + tmp = gfc_get_symbol_decl (arg->symtree->n.sym); + lbound = gfc_conv_descriptor_lbound (tmp, gfc_rank_cst[n]); + } + else if (as) + lbound = gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]); + else + lbound = gfc_index_one_node; + + lbound = fold_convert (gfc_array_index_type, lbound); + + /* Shift the bounds and set the offset accordingly. */ + tmp = gfc_conv_descriptor_ubound (dest, gfc_rank_cst[n]); + span = fold_build2 (MINUS_EXPR, gfc_array_index_type, tmp, + gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n])); + + ubound = fold_build2 (PLUS_EXPR, gfc_array_index_type, + span, lbound); + gfc_add_modify (&block, tmp, ubound); + + tmp = gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]); + gfc_add_modify (&block, tmp, lbound); + + tmp = fold_build2 (MULT_EXPR, gfc_array_index_type, + gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]), + gfc_conv_descriptor_stride (dest, gfc_rank_cst[n])); + + gfc_add_modify (&block, tmp2, tmp); + tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type, + offset, tmp2); + gfc_add_modify (&block, offset, tmp); + } + + if (arg) + { + /* If a conversion expression has a null data pointer + argument, nullify the allocatable component. */ + tree non_null_expr; + tree null_expr; + + if (arg->symtree->n.sym->attr.allocatable + || arg->symtree->n.sym->attr.pointer) + { + non_null_expr = gfc_finish_block (&block); + gfc_start_block (&block); + gfc_conv_descriptor_data_set (&block, dest, + null_pointer_node); + null_expr = gfc_finish_block (&block); + tmp = gfc_conv_descriptor_data_get (arg->symtree->n.sym->backend_decl); + tmp = build2 (EQ_EXPR, boolean_type_node, tmp, + fold_convert (TREE_TYPE (tmp), + null_pointer_node)); + return build3_v (COND_EXPR, tmp, + null_expr, non_null_expr); + } + } + + return gfc_finish_block (&block); + } + + /* Assign a single component of a derived type constructor. */ static tree *************** gfc_trans_subcomponent_assign (tree dest *** 3528,3535 **** gfc_ss *rss; stmtblock_t block; tree tmp; - tree offset; - int n; gfc_start_block (&block); --- 3708,3713 ---- *************** gfc_trans_subcomponent_assign (tree dest *** 3569,3659 **** gfc_conv_descriptor_data_set (&block, dest, null_pointer_node); else if (cm->attr.allocatable) { ! tree tmp2; ! ! gfc_init_se (&se, NULL); ! ! rss = gfc_walk_expr (expr); ! se.want_pointer = 0; ! gfc_conv_expr_descriptor (&se, expr, rss); ! gfc_add_block_to_block (&block, &se.pre); ! ! tmp = fold_convert (TREE_TYPE (dest), se.expr); ! gfc_add_modify (&block, dest, tmp); ! ! if (cm->ts.type == BT_DERIVED && cm->ts.derived->attr.alloc_comp) ! tmp = gfc_copy_alloc_comp (cm->ts.derived, se.expr, dest, ! cm->as->rank); ! else ! tmp = gfc_duplicate_allocatable (dest, se.expr, ! TREE_TYPE(cm->backend_decl), ! cm->as->rank); ! gfc_add_expr_to_block (&block, tmp); - gfc_add_block_to_block (&block, &se.post); - - if (expr->expr_type != EXPR_VARIABLE) - gfc_conv_descriptor_data_set (&block, se.expr, null_pointer_node); - - /* Shift the lbound and ubound of temporaries to being unity, rather - than zero, based. Calculate the offset for all cases. */ - offset = gfc_conv_descriptor_offset (dest); - gfc_add_modify (&block, offset, gfc_index_zero_node); - tmp2 =gfc_create_var (gfc_array_index_type, NULL); - for (n = 0; n < expr->rank; n++) - { - if (expr->expr_type != EXPR_VARIABLE - && expr->expr_type != EXPR_CONSTANT) - { - tree span; - tmp = gfc_conv_descriptor_ubound (dest, gfc_rank_cst[n]); - span = fold_build2 (MINUS_EXPR, gfc_array_index_type, tmp, - gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n])); - gfc_add_modify (&block, tmp, - fold_build2 (PLUS_EXPR, - gfc_array_index_type, - span, gfc_index_one_node)); - tmp = gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]); - gfc_add_modify (&block, tmp, gfc_index_one_node); - } - tmp = fold_build2 (MULT_EXPR, gfc_array_index_type, - gfc_conv_descriptor_lbound (dest, - gfc_rank_cst[n]), - gfc_conv_descriptor_stride (dest, - gfc_rank_cst[n])); - gfc_add_modify (&block, tmp2, tmp); - tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type, offset, tmp2); - gfc_add_modify (&block, offset, tmp); - } - - if (expr->expr_type == EXPR_FUNCTION - && expr->value.function.isym - && expr->value.function.isym->conversion - && expr->value.function.actual->expr - && expr->value.function.actual->expr->expr_type - == EXPR_VARIABLE) - { - /* If a conversion expression has a null data pointer - argument, nullify the allocatable component. */ - gfc_symbol *s; - tree non_null_expr; - tree null_expr; - s = expr->value.function.actual->expr->symtree->n.sym; - if (s->attr.allocatable || s->attr.pointer) - { - non_null_expr = gfc_finish_block (&block); - gfc_start_block (&block); - gfc_conv_descriptor_data_set (&block, dest, - null_pointer_node); - null_expr = gfc_finish_block (&block); - tmp = gfc_conv_descriptor_data_get (s->backend_decl); - tmp = build2 (EQ_EXPR, boolean_type_node, tmp, - fold_convert (TREE_TYPE (tmp), - null_pointer_node)); - return build3_v (COND_EXPR, tmp, null_expr, - non_null_expr); - } - } } else { --- 3747,3754 ---- gfc_conv_descriptor_data_set (&block, dest, null_pointer_node); else if (cm->attr.allocatable) { ! tmp = gfc_trans_alloc_subarray_assign (dest, cm, expr); gfc_add_expr_to_block (&block, tmp); } else { diff -Nrcpad gcc-4.4.3/gcc/fortran/trans-intrinsic.c gcc-4.4.4/gcc/fortran/trans-intrinsic.c *** gcc-4.4.3/gcc/fortran/trans-intrinsic.c Mon Nov 2 16:30:48 2009 --- gcc-4.4.4/gcc/fortran/trans-intrinsic.c Sun Jan 31 14:57:13 2010 *************** gfc_conv_intrinsic_bound (gfc_se * se, g *** 832,838 **** gfc_se argse; gfc_ss *ss; gfc_array_spec * as; - gfc_ref *ref; arg = expr->value.function.actual; arg2 = arg->next; --- 832,837 ---- *************** gfc_conv_intrinsic_bound (gfc_se * se, g *** 901,942 **** ubound = gfc_conv_descriptor_ubound (desc, bound); lbound = gfc_conv_descriptor_lbound (desc, bound); ! /* Follow any component references. */ ! if (arg->expr->expr_type == EXPR_VARIABLE ! || arg->expr->expr_type == EXPR_CONSTANT) ! { ! as = arg->expr->symtree->n.sym->as; ! for (ref = arg->expr->ref; ref; ref = ref->next) ! { ! switch (ref->type) ! { ! case REF_COMPONENT: ! as = ref->u.c.component->as; ! continue; ! ! case REF_SUBSTRING: ! continue; ! ! case REF_ARRAY: ! { ! switch (ref->u.ar.type) ! { ! case AR_ELEMENT: ! case AR_SECTION: ! case AR_UNKNOWN: ! as = NULL; ! continue; ! ! case AR_FULL: ! break; ! } ! break; ! } ! } ! } ! } ! else ! as = NULL; /* 13.14.53: Result value for LBOUND --- 900,906 ---- ubound = gfc_conv_descriptor_ubound (desc, bound); lbound = gfc_conv_descriptor_lbound (desc, bound); ! as = gfc_get_full_arrayspec_from_expr (arg->expr); /* 13.14.53: Result value for LBOUND diff -Nrcpad gcc-4.4.3/gcc/fortran/trans-io.c gcc-4.4.4/gcc/fortran/trans-io.c *** gcc-4.4.3/gcc/fortran/trans-io.c Sat Jul 4 03:07:12 2009 --- gcc-4.4.4/gcc/fortran/trans-io.c Sat Feb 6 19:44:41 2010 *************** set_internal_unit (stmtblock_t * block, *** 746,752 **** /* Use a temporary for components of arrays of derived types or substring array references. */ gfc_conv_subref_array_arg (&se, e, 0, ! last_dt == READ ? INTENT_IN : INTENT_OUT); tmp = build_fold_indirect_ref (se.expr); se.expr = gfc_build_addr_expr (pchar_type_node, tmp); tmp = gfc_conv_descriptor_data_get (tmp); --- 746,752 ---- /* Use a temporary for components of arrays of derived types or substring array references. */ gfc_conv_subref_array_arg (&se, e, 0, ! last_dt == READ ? INTENT_IN : INTENT_OUT, false); tmp = build_fold_indirect_ref (se.expr); se.expr = gfc_build_addr_expr (pchar_type_node, tmp); tmp = gfc_conv_descriptor_data_get (tmp); *************** gfc_trans_transfer (gfc_code * code) *** 2191,2197 **** if (seen_vector && last_dt == READ) { /* Create a temp, read to that and copy it back. */ ! gfc_conv_subref_array_arg (&se, expr, 0, INTENT_OUT); tmp = se.expr; } else --- 2191,2197 ---- if (seen_vector && last_dt == READ) { /* Create a temp, read to that and copy it back. */ ! gfc_conv_subref_array_arg (&se, expr, 0, INTENT_OUT, false); tmp = se.expr; } else diff -Nrcpad gcc-4.4.3/gcc/fortran/trans-stmt.c gcc-4.4.4/gcc/fortran/trans-stmt.c *** gcc-4.4.3/gcc/fortran/trans-stmt.c Sun May 10 15:34:55 2009 --- gcc-4.4.4/gcc/fortran/trans-stmt.c Sat Feb 6 19:44:41 2010 *************** gfc_conv_elemental_dependencies (gfc_se *** 212,217 **** --- 212,218 ---- gfc_ss *ss; gfc_ss_info *info; gfc_symbol *fsym; + gfc_ref *ref; int n; tree data; tree offset; *************** gfc_conv_elemental_dependencies (gfc_se *** 267,272 **** --- 268,301 ---- /* Obtain the argument descriptor for unpacking. */ gfc_init_se (&parmse, NULL); parmse.want_pointer = 1; + + /* The scalarizer introduces some specific peculiarities when + handling elemental subroutines; the stride can be needed up to + the dim_array - 1, rather than dim_loop - 1 to calculate + offsets outside the loop. For this reason, we make sure that + the descriptor has the dimensionality of the array by converting + trailing elements into ranges with end = start. */ + for (ref = e->ref; ref; ref = ref->next) + if (ref->type == REF_ARRAY && ref->u.ar.type == AR_SECTION) + break; + + if (ref) + { + bool seen_range = false; + for (n = 0; n < ref->u.ar.dimen; n++) + { + if (ref->u.ar.dimen_type[n] == DIMEN_RANGE) + seen_range = true; + + if (!seen_range + || ref->u.ar.dimen_type[n] != DIMEN_ELEMENT) + continue; + + ref->u.ar.end[n] = gfc_copy_expr (ref->u.ar.start[n]); + ref->u.ar.dimen_type[n] = DIMEN_RANGE; + } + } + gfc_conv_expr_descriptor (&parmse, e, gfc_walk_expr (e)); gfc_add_block_to_block (&se->pre, &parmse.pre); *************** forall_make_variable_temp (gfc_code *c, *** 1691,1697 **** if (old_sym->attr.dimension) { gfc_init_se (&tse, NULL); ! gfc_conv_subref_array_arg (&tse, e, 0, INTENT_IN); gfc_add_block_to_block (pre, &tse.pre); gfc_add_block_to_block (post, &tse.post); tse.expr = build_fold_indirect_ref (tse.expr); --- 1720,1726 ---- if (old_sym->attr.dimension) { gfc_init_se (&tse, NULL); ! gfc_conv_subref_array_arg (&tse, e, 0, INTENT_IN, false); gfc_add_block_to_block (pre, &tse.pre); gfc_add_block_to_block (post, &tse.post); tse.expr = build_fold_indirect_ref (tse.expr); diff -Nrcpad gcc-4.4.3/gcc/fortran/trans.h gcc-4.4.4/gcc/fortran/trans.h *** gcc-4.4.3/gcc/fortran/trans.h Wed Jun 3 19:39:09 2009 --- gcc-4.4.4/gcc/fortran/trans.h Sat Feb 6 19:44:41 2010 *************** int gfc_is_intrinsic_libcall (gfc_expr * *** 314,320 **** int gfc_conv_function_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *, tree); ! void gfc_conv_subref_array_arg (gfc_se *, gfc_expr *, int, sym_intent); /* gfc_trans_* shouldn't call push/poplevel, use gfc_push/pop_scope */ --- 314,320 ---- int gfc_conv_function_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *, tree); ! void gfc_conv_subref_array_arg (gfc_se *, gfc_expr *, int, sym_intent, bool); /* gfc_trans_* shouldn't call push/poplevel, use gfc_push/pop_scope */ diff -Nrcpad gcc-4.4.3/gcc/gengtype-lex.c gcc-4.4.4/gcc/gengtype-lex.c *** gcc-4.4.3/gcc/gengtype-lex.c Thu Jan 21 10:31:28 2010 --- gcc-4.4.4/gcc/gengtype-lex.c Thu Apr 29 08:28:46 2010 *************** int yy_flex_debug = 0; *** 936,942 **** #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 --- 936,942 ---- #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 *************** for more details. *** 957,963 **** You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ ! #line 23 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" #include "bconfig.h" #include "system.h" --- 957,963 ---- You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ ! #line 23 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" #include "bconfig.h" #include "system.h" *************** YY_DECL *** 1168,1174 **** register char *yy_cp, *yy_bp; register int yy_act; ! #line 58 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; --- 1168,1174 ---- register char *yy_cp, *yy_bp; register int yy_act; ! #line 58 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; *************** case 1: *** 1265,1271 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 69 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; --- 1265,1271 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 69 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; *************** case 2: *** 1277,1283 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 73 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1277,1283 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 73 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** case 3: *** 1289,1295 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 77 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; --- 1289,1295 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 77 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; *************** case 4: *** 1301,1307 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 81 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; --- 1301,1307 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 81 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; *************** case 5: *** 1313,1319 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 85 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; --- 1313,1319 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 85 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; *************** case 6: *** 1325,1331 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 90 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_OP; --- 1325,1331 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 90 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_OP; *************** case 7: *** 1337,1343 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 94 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_I; --- 1337,1343 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 94 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_I; *************** case 8: *** 1349,1355 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 98 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_ALLOC; --- 1349,1355 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 98 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); return DEFVEC_ALLOC; *************** YY_RULE_SETUP *** 1359,1377 **** case 9: YY_RULE_SETUP ! #line 106 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 108 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP ! #line 109 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 12: --- 1359,1377 ---- case 9: YY_RULE_SETUP ! #line 106 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 108 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP ! #line 109 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 12: *************** case 12: *** 1380,1386 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 13: --- 1380,1386 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 13: *************** case 13: *** 1389,1395 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 14: --- 1389,1395 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 14: *************** case 14: *** 1398,1404 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 113 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return VEC_TOKEN; } YY_BREAK case 15: --- 1398,1404 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 113 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return VEC_TOKEN; } YY_BREAK case 15: *************** case 15: *** 1407,1413 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 114 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 16: --- 1407,1413 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 114 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 16: *************** case 16: *** 1416,1422 **** (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 115 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 17: --- 1416,1422 ---- (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 115 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 17: *************** case 17: *** 1425,1431 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 116 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 18: --- 1425,1431 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 116 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 18: *************** case 18: *** 1434,1440 **** (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 117 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 19: --- 1434,1440 ---- (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 117 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 19: *************** case 19: *** 1443,1454 **** (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 118 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 20: YY_RULE_SETUP ! #line 119 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 21: --- 1443,1454 ---- (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 118 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 20: YY_RULE_SETUP ! #line 119 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 21: *************** case 21: *** 1457,1463 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return PARAM_IS; --- 1457,1463 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return PARAM_IS; *************** case 22: *** 1468,1478 **** *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 126 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" case 23: /* rule 23 can match eol */ YY_RULE_SETUP ! #line 126 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { size_t len; --- 1468,1478 ---- *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 126 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" case 23: /* rule 23 can match eol */ YY_RULE_SETUP ! #line 126 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { size_t len; *************** case 24: *** 1490,1496 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 138 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; --- 1490,1496 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 138 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; *************** YY_RULE_SETUP *** 1499,1505 **** case 25: /* rule 25 can match eol */ YY_RULE_SETUP ! #line 143 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; --- 1499,1505 ---- case 25: /* rule 25 can match eol */ YY_RULE_SETUP ! #line 143 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; *************** YY_RULE_SETUP *** 1509,1515 **** case 26: /* rule 26 can match eol */ YY_RULE_SETUP ! #line 148 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; --- 1509,1515 ---- case 26: /* rule 26 can match eol */ YY_RULE_SETUP ! #line 148 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; *************** YY_RULE_SETUP *** 1518,1524 **** case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 152 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; --- 1518,1524 ---- case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 152 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; *************** YY_RULE_SETUP *** 1526,1549 **** YY_BREAK case 28: YY_RULE_SETUP ! #line 157 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 29: YY_RULE_SETUP ! #line 158 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 161 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 31: YY_RULE_SETUP ! #line 163 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } --- 1526,1549 ---- YY_BREAK case 28: YY_RULE_SETUP ! #line 157 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 29: YY_RULE_SETUP ! #line 158 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 161 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 31: YY_RULE_SETUP ! #line 163 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } *************** YY_RULE_SETUP *** 1551,1580 **** case 32: YY_RULE_SETUP ! #line 168 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP ! #line 169 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 34: ! #line 171 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" case 35: /* rule 35 can match eol */ ! #line 172 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" case 36: /* rule 36 can match eol */ YY_RULE_SETUP ! #line 172 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 173 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 38: --- 1551,1580 ---- case 32: YY_RULE_SETUP ! #line 168 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP ! #line 169 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 34: ! #line 171 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" case 35: /* rule 35 can match eol */ ! #line 172 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" case 36: /* rule 36 can match eol */ YY_RULE_SETUP ! #line 172 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 173 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 38: *************** case 38: *** 1583,1603 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 174 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 39: /* rule 39 can match eol */ YY_RULE_SETUP ! #line 177 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 40: ! #line 179 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" case 41: YY_RULE_SETUP ! #line 179 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: --- 1583,1603 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 174 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 39: /* rule 39 can match eol */ YY_RULE_SETUP ! #line 177 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 40: ! #line 179 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" case 41: YY_RULE_SETUP ! #line 179 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: *************** case 42: *** 1606,1630 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 180 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 43: YY_RULE_SETUP ! #line 182 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 44: YY_RULE_SETUP ! #line 183 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 45: ! #line 186 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 186 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); --- 1606,1630 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 180 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 43: YY_RULE_SETUP ! #line 182 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 44: YY_RULE_SETUP ! #line 183 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 45: ! #line 186 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 186 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); *************** YY_RULE_SETUP *** 1633,1652 **** case 47: /* rule 47 can match eol */ YY_RULE_SETUP ! #line 191 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: /* rule 48 can match eol */ YY_RULE_SETUP ! #line 192 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "stray GTY marker"); } YY_BREAK case 49: YY_RULE_SETUP ! #line 196 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1653 "gengtype-lex.c" --- 1633,1652 ---- case 47: /* rule 47 can match eol */ YY_RULE_SETUP ! #line 191 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: /* rule 48 can match eol */ YY_RULE_SETUP ! #line 192 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "stray GTY marker"); } YY_BREAK case 49: YY_RULE_SETUP ! #line 196 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1653 "gengtype-lex.c" *************** void yyfree (void * ptr ) *** 2613,2619 **** #define YYTABLES_NAME "yytables" ! #line 196 "/d/gcc-4.4.3/gcc-4.4.3/gcc/gengtype-lex.l" --- 2613,2619 ---- #define YYTABLES_NAME "yytables" ! #line 196 "/d/gcc-4.4.4/gcc-4.4.4/gcc/gengtype-lex.l" diff -Nrcpad gcc-4.4.3/gcc/gimplify.c gcc-4.4.4/gcc/gimplify.c *** gcc-4.4.3/gcc/gimplify.c Fri Nov 13 18:42:32 2009 --- gcc-4.4.4/gcc/gimplify.c Thu Apr 8 11:47:13 2010 *************** *** 1,6 **** /* Tree lowering pass. This pass converts the GENERIC functions-as-trees tree representation into the GIMPLE form. ! Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Major work done by Sebastian Pop , Diego Novillo and Jason Merrill . --- 1,6 ---- /* Tree lowering pass. This pass converts the GENERIC functions-as-trees tree representation into the GIMPLE form. ! Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Major work done by Sebastian Pop , Diego Novillo and Jason Merrill . *************** gimple_boolify (tree expr) *** 2762,2767 **** --- 2762,2797 ---- { tree type = TREE_TYPE (expr); + if (TREE_CODE (expr) == NE_EXPR + && TREE_CODE (TREE_OPERAND (expr, 0)) == CALL_EXPR + && integer_zerop (TREE_OPERAND (expr, 1))) + { + tree call = TREE_OPERAND (expr, 0); + tree fn = get_callee_fndecl (call); + + /* For __builtin_expect ((long) (x), y) recurse into x as well + if x is truth_value_p. */ + if (fn + && DECL_BUILT_IN_CLASS (fn) == BUILT_IN_NORMAL + && DECL_FUNCTION_CODE (fn) == BUILT_IN_EXPECT + && call_expr_nargs (call) == 2) + { + tree arg = CALL_EXPR_ARG (call, 0); + if (arg) + { + if (TREE_CODE (arg) == NOP_EXPR + && TREE_TYPE (arg) == TREE_TYPE (call)) + arg = TREE_OPERAND (arg, 0); + if (truth_value_p (TREE_CODE (arg))) + { + arg = gimple_boolify (arg); + CALL_EXPR_ARG (call, 0) + = fold_convert (TREE_TYPE (call), arg); + } + } + } + } + if (TREE_CODE (type) == BOOLEAN_TYPE) return expr; *************** gimplify_init_constructor (tree *expr_p, *** 3684,3689 **** --- 3714,3734 ---- } } + /* If the target is volatile and we have non-zero elements + initialize the target from a temporary. */ + if (TREE_THIS_VOLATILE (object) + && !TREE_ADDRESSABLE (type) + && num_nonzero_elements > 0) + { + tree temp = create_tmp_var (TYPE_MAIN_VARIANT (type), NULL); + TREE_OPERAND (*expr_p, 0) = temp; + *expr_p = build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p), + *expr_p, + build2 (MODIFY_EXPR, void_type_node, + object, temp)); + return GS_OK; + } + if (notify_temp_creation) return GS_OK; *************** gimple_fold_indirect_ref (tree t) *** 3874,3891 **** /* *(foo *)&fooarray => fooarray[0] */ if (TREE_CODE (optype) == ARRAY_TYPE && useless_type_conversion_p (type, TREE_TYPE (optype))) { tree type_domain = TYPE_DOMAIN (optype); tree min_val = size_zero_node; if (type_domain && TYPE_MIN_VALUE (type_domain)) min_val = TYPE_MIN_VALUE (type_domain); ! return build4 (ARRAY_REF, type, op, min_val, NULL_TREE, NULL_TREE); } } /* *(foo *)fooarrptr => (*fooarrptr)[0] */ if (TREE_CODE (TREE_TYPE (subtype)) == ARRAY_TYPE && useless_type_conversion_p (type, TREE_TYPE (TREE_TYPE (subtype)))) { tree type_domain; --- 3919,3939 ---- /* *(foo *)&fooarray => fooarray[0] */ if (TREE_CODE (optype) == ARRAY_TYPE + && TREE_CODE (TYPE_SIZE (TREE_TYPE (optype))) == INTEGER_CST && useless_type_conversion_p (type, TREE_TYPE (optype))) { tree type_domain = TYPE_DOMAIN (optype); tree min_val = size_zero_node; if (type_domain && TYPE_MIN_VALUE (type_domain)) min_val = TYPE_MIN_VALUE (type_domain); ! if (TREE_CODE (min_val) == INTEGER_CST) ! return build4 (ARRAY_REF, type, op, min_val, NULL_TREE, NULL_TREE); } } /* *(foo *)fooarrptr => (*fooarrptr)[0] */ if (TREE_CODE (TREE_TYPE (subtype)) == ARRAY_TYPE + && TREE_CODE (TYPE_SIZE (TREE_TYPE (TREE_TYPE (subtype)))) == INTEGER_CST && useless_type_conversion_p (type, TREE_TYPE (TREE_TYPE (subtype)))) { tree type_domain; *************** gimple_fold_indirect_ref (tree t) *** 3897,3903 **** type_domain = TYPE_DOMAIN (TREE_TYPE (sub)); if (type_domain && TYPE_MIN_VALUE (type_domain)) min_val = TYPE_MIN_VALUE (type_domain); ! return build4 (ARRAY_REF, type, sub, min_val, NULL_TREE, NULL_TREE); } return NULL_TREE; --- 3945,3952 ---- type_domain = TYPE_DOMAIN (TREE_TYPE (sub)); if (type_domain && TYPE_MIN_VALUE (type_domain)) min_val = TYPE_MIN_VALUE (type_domain); ! if (TREE_CODE (min_val) == INTEGER_CST) ! return build4 (ARRAY_REF, type, sub, min_val, NULL_TREE, NULL_TREE); } return NULL_TREE; *************** gimplify_modify_expr_rhs (tree *expr_p, *** 3931,3941 **** switch (TREE_CODE (*from_p)) { case VAR_DECL: ! /* If we're assigning from a constant constructor, move the ! constructor expression to the RHS of the MODIFY_EXPR. */ if (DECL_INITIAL (*from_p) && TREE_READONLY (*from_p) && !TREE_THIS_VOLATILE (*from_p) && TREE_CODE (DECL_INITIAL (*from_p)) == CONSTRUCTOR) { tree old_from = *from_p; --- 3980,3993 ---- switch (TREE_CODE (*from_p)) { case VAR_DECL: ! /* If we're assigning from a read-only variable initialized with ! a constructor, do the direct assignment from the constructor, ! but only if neither source nor target are volatile since this ! latter assignment might end up being done on a per-field basis. */ if (DECL_INITIAL (*from_p) && TREE_READONLY (*from_p) && !TREE_THIS_VOLATILE (*from_p) + && !TREE_THIS_VOLATILE (*to_p) && TREE_CODE (DECL_INITIAL (*from_p)) == CONSTRUCTOR) { tree old_from = *from_p; diff -Nrcpad gcc-4.4.3/gcc/ipa-inline.c gcc-4.4.4/gcc/ipa-inline.c *** gcc-4.4.3/gcc/ipa-inline.c Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/ipa-inline.c Mon Feb 8 14:10:15 2010 *************** cgraph_decide_inlining_incrementally (st *** 1418,1424 **** } /* Now do the automatic inlining. */ ! if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE) for (e = node->callees; e; e = e->next_callee) { if (!e->callee->local.inlinable --- 1418,1427 ---- } /* Now do the automatic inlining. */ ! if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE ! /* Never inline regular functions into always-inline functions ! during incremental inlining. */ ! && !node->local.disregard_inline_limits) for (e = node->callees; e; e = e->next_callee) { if (!e->callee->local.inlinable *************** compute_inline_parameters (struct cgraph *** 1606,1622 **** node->global.stack_frame_offset = 0; /* Can this function be inlined at all? */ ! node->local.inlinable = tree_inlinable_function_p (current_function_decl); /* Estimate the number of instructions for this function. ??? At -O0 we don't use this information except for the dumps, and even then only for always_inline functions. But disabling this causes ICEs in the inline heuristics... */ inline_summary (node)->self_insns ! = estimate_num_insns_fn (current_function_decl, &eni_inlining_weights); if (node->local.inlinable && !node->local.disregard_inline_limits) node->local.disregard_inline_limits ! = DECL_DISREGARD_INLINE_LIMITS (current_function_decl); /* Inlining characteristics are maintained by the cgraph_mark_inline. */ node->global.insns = inline_summary (node)->self_insns; --- 1609,1625 ---- node->global.stack_frame_offset = 0; /* Can this function be inlined at all? */ ! node->local.inlinable = tree_inlinable_function_p (node->decl); /* Estimate the number of instructions for this function. ??? At -O0 we don't use this information except for the dumps, and even then only for always_inline functions. But disabling this causes ICEs in the inline heuristics... */ inline_summary (node)->self_insns ! = estimate_num_insns_fn (node->decl, &eni_inlining_weights); if (node->local.inlinable && !node->local.disregard_inline_limits) node->local.disregard_inline_limits ! = DECL_DISREGARD_INLINE_LIMITS (node->decl); /* Inlining characteristics are maintained by the cgraph_mark_inline. */ node->global.insns = inline_summary (node)->self_insns; diff -Nrcpad gcc-4.4.3/gcc/ipa-type-escape.c gcc-4.4.4/gcc/ipa-type-escape.c *** gcc-4.4.3/gcc/ipa-type-escape.c Mon Jul 28 14:33:56 2008 --- gcc-4.4.4/gcc/ipa-type-escape.c Thu Apr 8 11:29:28 2010 *************** *** 1,6 **** /* Type based alias analysis. ! Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, ! Inc. Contributed by Kenneth Zadeck This file is part of GCC. --- 1,6 ---- /* Type based alias analysis. ! Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 ! Free Software Foundation, Inc. Contributed by Kenneth Zadeck This file is part of GCC. *************** check_call (gimple call) *** 1343,1349 **** if (TYPE_ARG_TYPES (TREE_TYPE (callee_t))) { for (arg_type = TYPE_ARG_TYPES (TREE_TYPE (callee_t)), i = 0; ! arg_type && TREE_VALUE (arg_type) != void_type_node; arg_type = TREE_CHAIN (arg_type), i++) { tree operand = gimple_call_arg (call, i); --- 1343,1350 ---- if (TYPE_ARG_TYPES (TREE_TYPE (callee_t))) { for (arg_type = TYPE_ARG_TYPES (TREE_TYPE (callee_t)), i = 0; ! arg_type && TREE_VALUE (arg_type) != void_type_node ! && i < gimple_call_num_args (call); arg_type = TREE_CHAIN (arg_type), i++) { tree operand = gimple_call_arg (call, i); *************** check_call (gimple call) *** 1365,1371 **** have to do this; the front ends should always process the arg list from the TYPE_ARG_LIST. */ for (arg_type = DECL_ARGUMENTS (callee_t), i = 0; ! arg_type; arg_type = TREE_CHAIN (arg_type), i++) { tree operand = gimple_call_arg (call, i); --- 1366,1372 ---- have to do this; the front ends should always process the arg list from the TYPE_ARG_LIST. */ for (arg_type = DECL_ARGUMENTS (callee_t), i = 0; ! arg_type && i < gimple_call_num_args (call); arg_type = TREE_CHAIN (arg_type), i++) { tree operand = gimple_call_arg (call, i); diff -Nrcpad gcc-4.4.3/gcc/ira.c gcc-4.4.4/gcc/ira.c *** gcc-4.4.3/gcc/ira.c Fri Jul 3 22:46:30 2009 --- gcc-4.4.4/gcc/ira.c Wed Mar 31 02:51:31 2010 *************** ira (FILE *f) *** 3058,3063 **** --- 3058,3066 ---- timevar_push (TV_IRA); + if (flag_caller_saves) + init_caller_save (); + if (flag_ira_verbose < 10) { internal_flag_ira_verbose = flag_ira_verbose; diff -Nrcpad gcc-4.4.3/gcc/java/ChangeLog gcc-4.4.4/gcc/java/ChangeLog *** gcc-4.4.3/gcc/java/ChangeLog Thu Jan 21 09:37:07 2010 --- gcc-4.4.4/gcc/java/ChangeLog Thu Apr 29 07:50:25 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/loop-doloop.c gcc-4.4.4/gcc/loop-doloop.c *** gcc-4.4.3/gcc/loop-doloop.c Mon Nov 3 20:01:11 2008 --- gcc-4.4.4/gcc/loop-doloop.c Mon Mar 8 11:46:28 2010 *************** *** 1,5 **** /* Perform doloop optimizations ! Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Based on code by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz) --- 1,5 ---- /* Perform doloop optimizations ! Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. Based on code by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz) *************** add_test (rtx cond, edge *e, basic_block *** 291,297 **** op0 = force_operand (op0, NULL_RTX); op1 = force_operand (op1, NULL_RTX); label = block_label (dest); ! do_compare_rtx_and_jump (op0, op1, code, 0, mode, NULL_RTX, NULL_RTX, label); jump = get_last_insn (); if (!jump || !JUMP_P (jump)) --- 291,298 ---- op0 = force_operand (op0, NULL_RTX); op1 = force_operand (op1, NULL_RTX); label = block_label (dest); ! do_compare_rtx_and_jump (op0, op1, code, 0, mode, NULL_RTX, ! NULL_RTX, label, -1); jump = get_last_insn (); if (!jump || !JUMP_P (jump)) diff -Nrcpad gcc-4.4.3/gcc/loop-invariant.c gcc-4.4.4/gcc/loop-invariant.c *** gcc-4.4.3/gcc/loop-invariant.c Fri Feb 20 12:56:01 2009 --- gcc-4.4.4/gcc/loop-invariant.c Thu Mar 18 13:15:21 2010 *************** move_invariant_reg (struct loop *loop, u *** 1207,1220 **** emit_insn_after (gen_move_insn (dest, reg), inv->insn); reorder_insns (inv->insn, inv->insn, BB_END (preheader)); ! /* If there is a REG_EQUAL note on the insn we just moved, and ! insn is in a basic block that is not always executed, the note ! may no longer be valid after we move the insn. ! Note that uses in REG_EQUAL notes are taken into account in ! the computation of invariants. Hence it is safe to retain the ! note even if the note contains register references. */ ! if (! inv->always_executed ! && (note = find_reg_note (inv->insn, REG_EQUAL, NULL_RTX))) remove_note (inv->insn, note); } else --- 1207,1222 ---- emit_insn_after (gen_move_insn (dest, reg), inv->insn); reorder_insns (inv->insn, inv->insn, BB_END (preheader)); ! /* If there is a REG_EQUAL note on the insn we just moved, and the ! insn is in a basic block that is not always executed or the note ! contains something for which we don't know the invariant status, ! the note may no longer be valid after we move the insn. Note that ! uses in REG_EQUAL notes are taken into account in the computation ! of invariants, so it is safe to retain the note even if it contains ! register references for which we know the invariant status. */ ! if ((note = find_reg_note (inv->insn, REG_EQUAL, NULL_RTX)) ! && (!inv->always_executed ! || !check_maybe_invariant (XEXP (note, 0)))) remove_note (inv->insn, note); } else diff -Nrcpad gcc-4.4.3/gcc/loop-unswitch.c gcc-4.4.4/gcc/loop-unswitch.c *** gcc-4.4.3/gcc/loop-unswitch.c Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/loop-unswitch.c Mon Mar 8 11:46:28 2010 *************** *** 1,5 **** /* Loop unswitching for GNU compiler. ! Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. This file is part of GCC. --- 1,5 ---- /* Loop unswitching for GNU compiler. ! Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** compare_and_jump_seq (rtx op0, rtx op1, *** 121,127 **** op0 = force_operand (op0, NULL_RTX); op1 = force_operand (op1, NULL_RTX); do_compare_rtx_and_jump (op0, op1, comp, 0, ! mode, NULL_RTX, NULL_RTX, label); jump = get_last_insn (); JUMP_LABEL (jump) = label; LABEL_NUSES (label)++; --- 121,127 ---- op0 = force_operand (op0, NULL_RTX); op1 = force_operand (op1, NULL_RTX); do_compare_rtx_and_jump (op0, op1, comp, 0, ! mode, NULL_RTX, NULL_RTX, label, -1); jump = get_last_insn (); JUMP_LABEL (jump) = label; LABEL_NUSES (label)++; diff -Nrcpad gcc-4.4.3/gcc/objc/ChangeLog gcc-4.4.4/gcc/objc/ChangeLog *** gcc-4.4.3/gcc/objc/ChangeLog Thu Jan 21 09:36:47 2010 --- gcc-4.4.4/gcc/objc/ChangeLog Thu Apr 29 07:49:48 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/objcp/ChangeLog gcc-4.4.4/gcc/objcp/ChangeLog *** gcc-4.4.3/gcc/objcp/ChangeLog Thu Jan 21 09:36:36 2010 --- gcc-4.4.4/gcc/objcp/ChangeLog Thu Apr 29 07:49:29 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/omp-low.c gcc-4.4.4/gcc/omp-low.c *** gcc-4.4.3/gcc/omp-low.c Mon Dec 28 16:46:11 2009 --- gcc-4.4.4/gcc/omp-low.c Wed Apr 21 14:02:39 2010 *************** scan_sharing_clauses (tree clauses, omp_ *** 1421,1430 **** break; case OMP_CLAUSE_COPYPRIVATE: - if (ctx->outer) - scan_omp_op (&OMP_CLAUSE_DECL (c), ctx->outer); - /* FALLTHRU */ - case OMP_CLAUSE_COPYIN: decl = OMP_CLAUSE_DECL (c); by_ref = use_pointer_for_field (decl, NULL); --- 1421,1426 ---- *************** lower_copyprivate_clauses (tree clauses, *** 2671,2677 **** for (c = clauses; c ; c = OMP_CLAUSE_CHAIN (c)) { ! tree var, ref, x; bool by_ref; if (OMP_CLAUSE_CODE (c) != OMP_CLAUSE_COPYPRIVATE) --- 2667,2673 ---- for (c = clauses; c ; c = OMP_CLAUSE_CHAIN (c)) { ! tree var, new_var, ref, x; bool by_ref; if (OMP_CLAUSE_CODE (c) != OMP_CLAUSE_COPYPRIVATE) *************** lower_copyprivate_clauses (tree clauses, *** 2681,2697 **** by_ref = use_pointer_for_field (var, NULL); ref = build_sender_ref (var, ctx); ! x = lookup_decl_in_outer_ctx (var, ctx); ! x = by_ref ? build_fold_addr_expr (x) : x; gimplify_assign (ref, x, slist); ! ref = build_receiver_ref (var, by_ref, ctx); if (is_reference (var)) { ref = build_fold_indirect_ref (ref); ! var = build_fold_indirect_ref (var); } ! x = lang_hooks.decls.omp_clause_assign_op (c, var, ref); gimplify_and_add (x, rlist); } } --- 2677,2703 ---- by_ref = use_pointer_for_field (var, NULL); ref = build_sender_ref (var, ctx); ! x = new_var = lookup_decl_in_outer_ctx (var, ctx); ! if (by_ref) ! { ! x = build_fold_addr_expr (new_var); ! x = fold_convert (TREE_TYPE (ref), x); ! } gimplify_assign (ref, x, slist); ! ref = build_receiver_ref (var, false, ctx); ! if (by_ref) ! { ! ref = fold_convert (build_pointer_type (TREE_TYPE (new_var)), ref); ! ref = build_fold_indirect_ref (ref); ! } if (is_reference (var)) { + ref = fold_convert (TREE_TYPE (new_var), ref); ref = build_fold_indirect_ref (ref); ! new_var = build_fold_indirect_ref (new_var); } ! x = lang_hooks.decls.omp_clause_assign_op (c, new_var, ref); gimplify_and_add (x, rlist); } } *************** expand_omp_sections (struct omp_region * *** 4606,4612 **** l2_bb = region->exit; if (exit_reachable) { ! if (single_pred (l2_bb) == l0_bb) l2 = gimple_block_label (l2_bb); else { --- 4612,4618 ---- l2_bb = region->exit; if (exit_reachable) { ! if (single_pred_p (l2_bb) && single_pred (l2_bb) == l0_bb) l2 = gimple_block_label (l2_bb); else { diff -Nrcpad gcc-4.4.3/gcc/optabs.c gcc-4.4.4/gcc/optabs.c *** gcc-4.4.3/gcc/optabs.c Tue Mar 17 17:46:23 2009 --- gcc-4.4.4/gcc/optabs.c Mon Mar 8 11:46:28 2010 *************** *** 1,6 **** /* Expand the basic unary and binary arithmetic operations, for GNU compiler. Copyright (C) 1987, 1988, 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,6 ---- /* Expand the basic unary and binary arithmetic operations, for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** expand_doubleword_shift (enum machine_mo *** 1149,1155 **** NO_DEFER_POP; do_compare_rtx_and_jump (cmp1, cmp2, cmp_code, false, op1_mode, ! 0, 0, subword_label); OK_DEFER_POP; if (!expand_superword_shift (binoptab, outof_input, superword_op1, --- 1149,1155 ---- NO_DEFER_POP; do_compare_rtx_and_jump (cmp1, cmp2, cmp_code, false, op1_mode, ! 0, 0, subword_label, -1); OK_DEFER_POP; if (!expand_superword_shift (binoptab, outof_input, superword_op1, *************** expand_abs (enum machine_mode mode, rtx *** 3498,3504 **** NO_DEFER_POP; do_compare_rtx_and_jump (target, CONST0_RTX (mode), GE, 0, mode, ! NULL_RTX, NULL_RTX, op1); op0 = expand_unop (mode, result_unsignedp ? neg_optab : negv_optab, target, target, 0); --- 3498,3504 ---- NO_DEFER_POP; do_compare_rtx_and_jump (target, CONST0_RTX (mode), GE, 0, mode, ! NULL_RTX, NULL_RTX, op1, -1); op0 = expand_unop (mode, result_unsignedp ? neg_optab : negv_optab, target, target, 0); diff -Nrcpad gcc-4.4.3/gcc/params.def gcc-4.4.4/gcc/params.def *** gcc-4.4.3/gcc/params.def Fri Feb 20 12:56:01 2009 --- gcc-4.4.4/gcc/params.def Thu Apr 8 10:46:46 2010 *************** DEFPARAM(PARAM_MAX_ONCE_PEELED_INSNS, *** 292,297 **** --- 292,302 ---- "max-once-peeled-insns", "The maximum number of insns of a peeled loop that rolls only once", 400, 0, 0) + /* The maximum depth of a loop nest we completely peel. */ + DEFPARAM(PARAM_MAX_UNROLL_ITERATIONS, + "max-completely-peel-loop-nest-depth", + "The maximum depth of a loop nest we completely peel", + 8, 0, 0) /* The maximum number of insns of an unswitched loop. */ DEFPARAM(PARAM_MAX_UNSWITCH_INSNS, diff -Nrcpad gcc-4.4.3/gcc/po/ChangeLog gcc-4.4.4/gcc/po/ChangeLog *** gcc-4.4.3/gcc/po/ChangeLog Thu Jan 21 09:36:51 2010 --- gcc-4.4.4/gcc/po/ChangeLog Thu Apr 29 07:50:01 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/reginfo.c gcc-4.4.4/gcc/reginfo.c *** gcc-4.4.3/gcc/reginfo.c Thu Mar 19 14:46:26 2009 --- gcc-4.4.4/gcc/reginfo.c Mon Apr 19 10:06:13 2010 *************** void *** 667,672 **** --- 667,674 ---- reinit_regs (void) { init_regs (); + /* caller_save needs to be re-initialized. */ + caller_save_initialized_p = false; ira_init (); } diff -Nrcpad gcc-4.4.3/gcc/reload.h gcc-4.4.4/gcc/reload.h *** gcc-4.4.3/gcc/reload.h Mon Mar 23 16:29:33 2009 --- gcc-4.4.4/gcc/reload.h Wed Mar 31 02:51:31 2010 *************** extern bool elimination_target_reg_p (rt *** 349,354 **** --- 349,357 ---- /* Deallocate the reload register used by reload number R. */ extern void deallocate_reload_reg (int r); + /* True if caller-save has been reinitialized. */ + extern bool caller_save_initialized_p; + /* Functions in caller-save.c: */ /* Initialize for caller-save. */ diff -Nrcpad gcc-4.4.3/gcc/rtl.h gcc-4.4.4/gcc/rtl.h *** gcc-4.4.3/gcc/rtl.h Mon Apr 27 11:55:13 2009 --- gcc-4.4.4/gcc/rtl.h Mon Mar 8 11:46:28 2010 *************** *** 1,6 **** /* Register Transfer Language (RTL) definitions for GCC Copyright (C) 1987, 1991, 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. --- 1,6 ---- /* Register Transfer Language (RTL) definitions for GCC Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** extern GTY(()) rtx stack_limit_rtx; *** 2305,2312 **** /* In predict.c */ extern void invert_br_probabilities (rtx); extern bool expensive_function_p (int); - /* In cfgexpand.c */ - extern void add_reg_br_prob_note (rtx last, int probability); /* In var-tracking.c */ extern unsigned int variable_tracking_main (void); --- 2305,2310 ---- diff -Nrcpad gcc-4.4.3/gcc/stmt.c gcc-4.4.4/gcc/stmt.c *** gcc-4.4.3/gcc/stmt.c Sun Apr 26 18:53:41 2009 --- gcc-4.4.4/gcc/stmt.c Mon Mar 8 11:46:28 2010 *************** *** 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, 2008, 2009 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, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. *************** do_jump_if_equal (enum machine_mode mode *** 2472,2478 **** int unsignedp) { do_compare_rtx_and_jump (op0, op1, EQ, unsignedp, mode, ! NULL_RTX, NULL_RTX, label); } /* Not all case values are encountered equally. This function --- 2472,2478 ---- int unsignedp) { do_compare_rtx_and_jump (op0, op1, EQ, unsignedp, mode, ! NULL_RTX, NULL_RTX, label, -1); } /* Not all case values are encountered equally. This function diff -Nrcpad gcc-4.4.3/gcc/stor-layout.c gcc-4.4.4/gcc/stor-layout.c *** gcc-4.4.3/gcc/stor-layout.c Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/stor-layout.c Wed Mar 31 18:09:04 2010 *************** place_field (record_layout_info rli, tre *** 1131,1141 **** until we see a bitfield (and come by here again) we just skip calculating it. */ if (DECL_SIZE (field) != NULL ! && host_integerp (TYPE_SIZE (TREE_TYPE (field)), 0) ! && host_integerp (DECL_SIZE (field), 0)) { ! HOST_WIDE_INT bitsize = tree_low_cst (DECL_SIZE (field), 1); ! HOST_WIDE_INT typesize = tree_low_cst (TYPE_SIZE (TREE_TYPE (field)), 1); if (typesize < bitsize) --- 1131,1142 ---- until we see a bitfield (and come by here again) we just skip calculating it. */ if (DECL_SIZE (field) != NULL ! && host_integerp (TYPE_SIZE (TREE_TYPE (field)), 1) ! && host_integerp (DECL_SIZE (field), 1)) { ! unsigned HOST_WIDE_INT bitsize ! = tree_low_cst (DECL_SIZE (field), 1); ! unsigned HOST_WIDE_INT typesize = tree_low_cst (TYPE_SIZE (TREE_TYPE (field)), 1); if (typesize < bitsize) diff -Nrcpad gcc-4.4.3/gcc/testsuite/ChangeLog gcc-4.4.4/gcc/testsuite/ChangeLog *** gcc-4.4.3/gcc/testsuite/ChangeLog Thu Jan 21 09:36:24 2010 --- gcc-4.4.4/gcc/testsuite/ChangeLog Thu Apr 29 07:49:15 2010 *************** *** 1,3 **** --- 1,876 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-21 Jakub Jelinek + + PR fortran/43836 + * gfortran.dg/gomp/pr43836.f90: New test. + + 2010-04-20 Jakub Jelinek + + PR fortran/43339 + * gfortran.dg/gomp/sharing-2.f90: Adjust for iteration vars + of sequential loops being private only in the innermost containing + task region. + + PR middle-end/43337 + * gfortran.dg/gomp/pr43337.f90: New test. + + 2010-04-19 Jie Zhang + + PR target/43662 + * gcc.target/i386/pr43662.c: New test. + + 2010-04-19 Ira Rosen + + PR tree-optimization/43771 + * g++.dg/vect/pr43771.cc: New test. + + 2010-04-18 Eric Botcazou + + * gnat.dg/rep_clause5.ad[sb]: New test. + * gnat.dg/rep_clause5_pkg.ads: New helper. + + 2010-04-12 Jakub Jelinek + + PR tree-optimization/43560 + * gcc.c-torture/execute/pr43560.c: New test. + + 2010-04-10 Jie Zhang + + PR target/43417 + * gcc.target/sh/pr43417.c: New test. + + 2010-04-08 Rainer Orth + + PR target/43643 + * gcc.dg/pr43643.c: New test. + + 2010-04-08 Richard Guenther + + PR middle-end/42956 + * gcc.c-torture/compile/pr42956.c: New testcase. + + 2010-04-08 Jakub Jelinek + + Backport from mainline: + 2010-03-29 Richard Guenther + + PR tree-optimization/43560 + * gcc.dg/torture/pr43560.c: New testcase. + + 2010-04-01 Richard Guenther + + PR middle-end/43614 + * gcc.c-torture/compile/pr43614.c: New testcase. + + 2010-04-08 Richard Guenther + + PR tree-optimization/43186 + * gcc.c-torture/compile/pr43186.c: New testcase. + + 2010-04-07 H.J. Lu + + PR target/43668 + * gcc.target/i386/pr43668.c: New. + + 2010-04-07 Richard Guenther + + PR tree-optimization/43629 + * gcc.c-torture/execute/pr43629.c: New testcase. + + 2010-04-06 Jakub Jelinek + + * gcc.target/s390/stackcheck1.c: Add dg-warning. + + PR target/43638 + * gcc.target/i386/pr43638.c: New test. + + 2010-04-01 Janne Blomqvist + Dominique d'Humieres + + PR libfortran/43605 + * gfortran.dg/ftell_3.f90: Enhance test case by reading more. + + 2010-04-01 Janne Blomqvist + Manfred Schwarb + + PR libfortran/43605 + * gfortran.dg/ftell_3.f90: New test. + + 2010-03-31 Uros Bizjak + + Backport from mainline: + 2010-03-27 Uros Bizjak + + PR tree-optimization/43528 + * gcc.target/i386/pr43528.c: New test. + + 2010-03-26 Uros Bizjak + + PR target/43524 + * gcc.target/i386/pr43524.c: New test. + + 2010-03-31 Jie Zhang + + PR 43562 + * gcc.dg/pr43562.c: New test. + + 2010-03-30 Jerry DeLisle + + PR libfortran/43409 + * gfortran.dg/inquire_size.f90: New test. + + 2010-03-30 Jason Merrill + + PR c++/41786 + * g++.dg/parse/ambig5.C: New. + + 2010-03-30 Andreas Krebbel + + * gcc.target/s390/stackcheck1.c: New testcase. + + 2010-03-29 Jerry DeLisle + + PR libfortran/43265 + * gfortran.dg/read_eof_8.f90: New test. + + 2010-03-29 Tobias Burnus + + PR fortran/43551 + * gfortran.dg/direct_io_12.f90: New test. + + 2010-03-27 Joseph Myers + + PR c/43381 + * gcc.dg/parm-impl-decl-3.c: New test. + + 2010-03-26 Volker Reichelt + + PR c++/43024 + * g++.dg/opt/ice1.C: New. + + 2010-03-25 Jerry DeLisle + + PR libfortran/43517 + * gfortran.dg/read_eof_7.f90: New test. + + 2010-03-25 H.J. Lu + + Backport from mainline: + 2010-03-22 Jason Merrill + + PR c++/43333 + * g++.dg/ext/is_pod_98.C: New. + + 2010-03-22 Michael Matz + + PR middle-end/43475 + * gfortran.dg/pr43475.f90: New testcase. + + 2010-03-22 Richard Guenther + + PR tree-optimization/43390 + * gfortran.fortran-torture/execute/pr43390.f90: New testcase. + + 2010-03-20 Dodji Seketeli + + PR c++/43375 + * g++.dg/abi/mangle42.C: New test. + + 2010-03-19 Andrew Pinski + + PR C/43211 + * gcc.dg/pr43211.c: New test. + + 2010-03-18 Martin Jambor + + PR middle-end/42450 + * g++.dg/torture/pr42450.C: New test. + + 2010-03-18 Michael Matz + + PR tree-optimization/43402 + * gcc.dg/pr43402.c: New testcase. + + 2010-03-17 Peter Bergner + + PR target/42427 + * gcc.dg/pr42427.c: New test. + + 2010-03-16 Richard Guenther + + PR middle-end/43379 + * gcc.dg/pr43379.c: New testcase. + + 2010-03-15 Michael Matz + + PR middle-end/43300 + * gcc.dg/pr43300.c: New testcase. + + 2010-03-15 Richard Guenther + + PR tree-optimization/43367 + * gcc.c-torture/compile/pr43367.c: New testcase. + + 2010-03-25 Jakub Jelinek + + PR c/43385 + * gcc.c-torture/execute/pr43385.c: New test. + + 2010-03-22 Richard Guenther + + Backport from mainline: + 2010-03-19 Richard Guenther + + PR tree-optimization/43415 + * gcc.c-torture/compile/pr43415.c: New testcase. + + 2010-03-22 Jakub Jelinek + + Backport from mainline: + 2010-03-20 Richard Guenther + + PR rtl-optimization/43438 + * gcc.c-torture/execute/pr43438.c: New testcase. + + 2010-03-19 Michael Matz + + PR c++/43116 + * g++.dg/other/pr43116.C: New testcase. + + PR target/43305 + * gcc.dg/pr43305.c: New testcase. + + 2010-03-18 Michael Matz + + PR middle-end/43419 + * gcc.dg/pr43419.c: New testcase. + + 2010-03-21 Kaveh R. Ghazi + + * gcc.target/powerpc/ppc-sdata-1.c: Require nonpic. + * gcc.target/powerpc/ppc-sdata-2.c: Likewise. + + 2010-03-18 H.J. Lu + + Backport from mainline: + 2010-03-18 H.J. Lu + + PR rtl-optimization/43360 + * gcc.dg/torture/pr43360.c: New. + + 2010-03-17 Jerry DeLisle + + PR libfortran/43265 + * gfortran.dg/read_empty_file.f: New test. + * gfortran.dg/read_eof_all.f90: New test. + * gfortran.dg/namelist_27.f90: Eliminate infinite loop posibility. + * gfortran.dg/namelist_28.f90: Eliminate infinite loop posibility. + + 2010-03-13 H.J. Lu + + Backport from mainline: + 2010-03-11 Martin Jambor + + PR tree-optimization/43257 + * g++.dg/torture/pr43257.C: New test. + + 2010-03-11 Richard Guenther + + PR tree-optimization/43255 + * gcc.c-torture/compile/pr43255.c: New testcase. + + 2010-03-11 Andreas Krebbel + + * gcc.dg/pr43280.c: New testcase. + + 2010-03-10 Jan Hubicka + + * gcc.c-torture/compile/pr43288.c: New test. + + 2010-03-10 Andrey Belevantsev + + PR middle-end/42859 + * g++.dg/eh/pr42859.C: New test. + + 2010-03-09 Jakub Jelinek + + PR debug/43299 + * gcc.dg/pr43299.c: New test. + + 2010-03-08 Richard Guenther + + PR tree-optimization/43269 + * gcc.c-torture/execute/pr43269.c: New testcase. + + 2010-03-04 Martin Jambor + + PR tree-optimization/43164 + PR tree-optimization/43191 + * gcc.c-torture/compile/pr43164.c: New test. + * gcc.c-torture/compile/pr43191.c: Likewise. + + 2010-03-04 Changpeng Fang + + PR middle-end/43209 + * gcc.dg/tree-ssa/ivopts-4.c: New. + + 2010-03-03 Jakub Jelinek + + PR debug/43229 + * gfortran.dg/pr43229.f90: New test. + + PR debug/43237 + * gcc.dg/debug/dwarf2/pr43237.c: New test. + + 2010-03-02 Paul Thomas + + PR fortran/43180 + * gfortran.dg/internal_pack_10.f90: New test. + + 2010-02-26 Richard Guenther + + PR tree-optimization/43188 + * gcc.c-torture/compile/pr43188.c: New testcase. + + 2010-02-25 Jakub Jelinek + + PR debug/43166 + * gfortran.dg/debug/pr43166.f: New test. + + PR debug/43165 + * gcc.dg/torture/pr43165.c: New test. + + 2010-02-23 Jakub Jelinek + + PR target/43107 + * gcc.target/i386/pr43107.c: New test. + + 2010-03-12 Kaveh R. Ghazi + + * gcc.target/arm/sibcall-1.c: Allow PLT to appear with pic code. + + 2010-03-12 Jerry DeLisle + + PR libfortran/43320 + PR libfortran/43265 + * gfortran.dg/read_eof_6.f: New test + * gfortran.dg/read_x_eof.f90: New test. + * gfortran.dg/read_x_past.f: Update test. + + 2010-03-11 Tobias Burnus + + PR fortran/43228 + * gfortran.dg/namelist_61.f90: New test. + + 2010-03-11 Janis Johnson + + * lib/target-supports-dg.exp (check-flags): Provide defaults for + include-opts and exclude-opts; skip checking the flags if arguments + are the same as the defaults. + (dg-xfail-if): Verify the number of arguments, supply defaults + for unspecified optional arguments. + (dg-skip-if, dg-xfail-run-if): Verify the number of arguments. + + 2010-03-11 Tobias Burnus + + * g++.old-deja/g++.pt/asm1.C: Don't detect pic via looking for the + -fpic/-fPIC flags. + * g++.old-deja/g++.pt/asm2.C: Likewise. + * gcc.c-torture/compile/20000804-1.c: Likewise. + * gcc.target/i386/clobbers.c: Likewise. + + 2010-03-08 Jakub Jelinek + + Backport from mainline: + 2010-03-04 Andrew Pinski + + PR c/43248 + * gcc.dg/compound-literal-1.c: New testcase. + + 2010-03-05 Kaveh R. Ghazi + + Backport: + 2009-10-15 Kaveh R. Ghazi + * lib/target-supports.exp (add_options_for_bind_pic_locally): New. + + 2009-10-16 Kaveh R. Ghazi + * g++.dg/ipa/iinline-1.C: Use dg-add-options bind_pic_locally. + * g++.dg/other/first-global.C: Likewise. + * g++.dg/parse/attr-externally-visible-1.C: Likewise. + * g++.dg/tree-ssa/nothrow-1.C: Likewise. + * gcc.dg/inline-33.c: Likewise. + * gcc.dg/ipa/ipa-1.c: Likewise. + * gcc.dg/ipa/ipa-2.c: Likewise. + * gcc.dg/ipa/ipa-3.c: Likewise. + * gcc.dg/ipa/ipa-4.c: Likewise. + * gcc.dg/ipa/ipa-5.c: Likewise. + * gcc.dg/ipa/ipa-7.c: Likewise. + * gcc.dg/ipa/ipacost-2.c: Likewise. + + 2010-02-09 Kaveh R. Ghazi + * gcc.dg/tree-ssa/inline-4.c: Bind pic locally. + + 2010-03-05 Rainer Orth + + * lib/gnat.exp (gnat_init): Remove GNAT_UNDER_TEST_ORIG. + (gnat_target_compile): Likewise. + Reinitialize GNAT_UNDER_TEST if target changes. + Set ADA_INCLUDE_PATH, ADA_OBJECTS_PATH in environment. + (local_find_gnatmake): Pass full --GCC to gnatlink. + Remove --LINK. + + 2010-03-02 Jakub Jelinek + + Backport from mainline: + 2010-03-01 Richard Guenther + + PR tree-optimization/43220 + * gcc.c-torture/execute/pr43220.c: New testcase. + + 2010-02-27 Eric Botcazou + + * gnat.dg/thin_pointer.ad[sb]: Rename into... + * gnat.dg/thin_pointer1.ad[sb]: ...this. + * gnat.dg/thin_pointer2.adb: New test. + * gnat.dg/thin_pointer2_pkg.ad[sb]: New helper. + + 2010-02-24 Ramana Radhakrishnan + + * gcc.target/arm/thumb2-cbnz.c: New test. + + 2010-02-23 H.J. Lu + + Backport from mainline: + 2010-02-22 Richard Guenther + + PR tree-optimization/42749 + * gcc.c-torture/compile/pr42749.c: New testcase. + + 2010-02-21 Dodji Seketeli + + PR c++/42824 + * g++.dg/template/memclass4.C: New test. + + 2010-02-20 Paul Thomas + + PR fortran/43111 + * gfortran.dg/internal_pack_8.f90: New test. + + 2010-02-18 Jason Merrill + + PR c++/43109 + * g++.dg/parse/namespace12.C: New. + + 2010-02-18 Martin Jambor + + PR tree-optimization/43066 + * gcc.c-torture/compile/pr43066.c: New test. + + 2010-02-17 Jason Merrill + + PR c++/43069 + * g++.dg/parse/namespace11.C: New. + + PR c++/43093 + * g++.dg/ext/attrib37.C: New. + + PR c++/43079 + * g++.dg/template/ptrmem20.C: New. + + 2010-02-16 Jason Merrill + + PR c++/43031 + * g++.dg/ext/attrib36.C: New. + + 2010-02-15 Richard Guenther + + PR middle-end/43068 + * g++.dg/torture/pr43068.C: New testcase. + + 2010-02-11 Richard Guenther + + PR tree-optimization/42998 + * gcc.c-torture/compile/pr42998.c: New testcase. + + 2010-02-10 Richard Guenther + + PR tree-optimization/43017 + * gcc.dg/torture/pr43017.c: New testcase. + + 2010-02-10 Richard Guenther + + PR c/43007 + * gcc.c-torture/execute/20100209-1.c: New testcase. + * gcc.dg/fold-div-3.c: Likewise. + + 2010-02-09 Jerry DeLisle + + PR fortran/42999 + * gfortran.dg/array_constructor_35.f90: New test. + + 2010-02-09 Richard Guenther + + PR tree-optimization/43008 + * gcc.c-torture/execute/pr43008.c: New testcase. + + 2010-02-09 Richard Guenther + + PR tree-optimization/43000 + * gcc.dg/torture/pr43000.c: New testcase. + * gcc.dg/torture/pr43002.c: Likewise. + + 2010-02-06 Jerry DeLisle + + PR libfortran/42742 + * gfortran.dg/fmt_cache_2.f: New test. + + 2010-02-03 Jason Merrill + + PR c++/42870 + * g++.dg/ext/dllexport3.C: New. + + 2010-02-18 Ramana Radhakrishnan + + PR target/40887 + Backport from trunk. + 2009-12-24 Julian Brown + Ramana Radhakrishnan + + * gcc.target/arm/pr40887.c: New test. + + 2010-02-16 Ira Rosen + + PR tree-optimization/43074 + * gcc.dg/vect/fast-math-pr43074.c: New test. + + 2010-02-16 Tobias Burnus + + PR fortran/41869 + * gfortran.dg/module_write_1.f90: New test. + + 2010-02-13 Richard Guenther + + PR tree-optimization/42871 + * g++.dg/torture/pr42871.C: New testcase. + + 2010-02-12 Jakub Jelinek + + PR c++/43033 + * g++.dg/other/default3.C: Xfail g4 test. + + 2010-02-10 Jakub Jelinek + + PR debug/43010 + * g++.dg/debug/pr43010.C: New test. + + 2010-02-09 Kaveh R. Ghazi + + * gcc.dg/tree-ssa/inline-4.c: Bind pic locally. + + 2010-02-08 Jakub Jelinek + + PR tree-optimization/42890 + * g++.dg/torture/pr42890.C: New test. + + 2010-02-08 Richard Guenther + + Backport from mainline: + 2010-01-05 Martin Jambor + + PR tree-optimization/42462 + * gcc.dg/tree-ssa/inline-4.c: New testcase. + * gcc.dg/Wunreachable-2.c: Remove. + + 2010-02-08 H.J. Lu + + * gcc.dg/ipa/pr42706.c: Removed. + + 2010-02-06 H.J. Lu + + Backport from mainline: + 2010-02-05 Dodji Seketeli + + PR c++/42915 + * g++.dg/other/crash-9.C: New test. + + 2010-02-03 Jason Merrill + + PR c++/40138 + * g++.dg/ext/builtin11.C: New. + + 2010-02-03 Richard Guenther + + PR tree-optimization/42944 + * gcc.dg/errno-1.c: New testcase. + + 2010-02-03 Richard Guenther + + PR middle-end/42927 + * gcc.c-torture/compile/pr42927.c: New testcase. + + 2010-01-29 Dodji Seketeli + + PR c++/42758 + PR c++/42634 + PR c++/42336 + PR c++/42797 + PR c++/42880 + * g++.dg/other/crash-5.C: New test. + * g++.dg/other/crash-7.C: New test. + * g++.dg/other/crash-8.C: New test. + + 2010-01-28 Uros Bizjak + + PR target/42891 + * gcc.target/i386/pr42891.c: New test. + + 2010-01-28 Richard Guenther + + PR middle-end/42883 + * g++.dg/torture/pr42883.C: New testcase. + + 2010-01-28 Michael Matz + + * gcc.target/i386/pr42881.c: New test. + + 2010-01-28 Dodji Seketeli + + PR c++/42713 + PR c++/42820 + * g++.dg/template/typedef27.C: New test case. + * g++.dg/template/typedef28.C: New test case. + + 2010-01-27 Jakub Jelinek + + PR middle-end/42874 + * gcc.dg/vla-22.c: New test. + + 2010-01-26 Richard Guenther + + PR tree-optimization/42250 + * gcc.dg/pr42250.c: New testcase. + + 2010-01-25 Tobias Burnus + + PR fortran/42858 + * gfortran.dg/generic_21.f90: New test. + + 2010-01-21 Martin Jambor + + PR tree-optimization/42585 + * gcc.dg/tree-ssa/pr42585.c: New test. + + 2010-01-20 Alexandre Oliva + + PR debug/42715 + * gcc.dg/pr42715.c: New. + + 2010-01-20 Richard Guenther + + PR tree-optimization/42717 + * gcc.c-torture/compile/pr42717.c: New testcase. + + 2010-01-19 Paul Thomas + + PR fortran/42783 + * gfortran.dg/bounds_check_15.f90 : New test. + + 2010-01-18 Dodji Seketeli + + PR c++/42766 + * g++.dg/conversion/op6.C: New test. + + 2010-01-18 Richard Guenther + + PR tree-optimization/42781 + * gfortran.fortran-torture/compile/pr42781.f90: New testcase. + + 2010-01-17 Richard Guenther + + PR middle-end/42248 + * gcc.c-torture/execute/pr42248.c: New testcase. + + 2010-01-17 Janus Weil + + PR fortran/42677 + * gfortran.dg/interface_assignment_5.f90: New test. + + 2010-01-15 Richard Guenther + + PR middle-end/42739 + * g++.dg/torture/pr42739.C: New testcase. + + 2010-01-14 Jerry DeLisle + + PR fortran/42684 + * gfortran.dg/interface_31.f90: New test. + + 2010-01-14 Martin Jambor + + PR tree-optimization/42706 + * gcc.dg/ipa/pr42706.c: New testcase. + + 2010-01-14 Martin Jambor + + PR tree-optimization/42714 + * g++.dg/torture/pr42714.C: New test. + + 2010-01-14 Alexander Monakov + + PR rtl-optimization/42388 + * gcc.dg/pr42388.c: New. + + 2010-01-14 Alexander Monakov + + PR rtl-optimization/42294 + * gfortran.dg/pr42294.f: New. + + 2010-01-14 Ira Rosen + + PR tree-optimization/42709 + * gcc.dg/vect/pr42709.c: New test. + + 2010-01-13 Richard Guenther + + PR tree-optimization/42730 + * gcc.c-torture/compile/pr42730.c: New testcase. + + 2010-01-13 Martin Jambor + + PR tree-optimization/42704 + * g++.dg/torture/pr42704.C: New test. + + 2010-01-13 Martin Jambor + + PR tree-optimization/42703 + * gcc.c-torture/compile/pr42703.c: New test. + + 2010-01-13 Richard Guenther + + PR tree-optimization/42705 + * gcc.c-torture/compile/pr42705.c: New testcase. + + 2010-01-13 Richard Guenther + + PR middle-end/42716 + * gcc.c-torture/compile/pr42716.c: New testcase. + + 2010-01-12 Joseph Myers + + PR c/42708 + * gcc.c-torture/compile/pr42708-1.c: New test. + + 2010-01-09 Alexandre Oliva + + PR middle-end/42363 + * gcc.dg/torture/pr42363.c: New. + + 2010-01-09 Alexandre Oliva + + PR debug/42604 + PR debug/42395 + * gcc.dg/vect/pr42604.c: New. + * gcc.dg/vect/pr42395.c: New. + + 2010-01-09 Richard Guenther + + PR middle-end/42512 + * gcc.c-torture/execute/pr42512.c: New testcase. + + 2010-02-06 Paul Thomas + + PR fortran/42309 + * gfortran.dg/subref_array_pointer_4.f90 : New test. + + 2010-02-04 Jerry DeLisle + + PR libfortran/42901 + * gfortran.dg/namelist_60.f90: New test. + * gfortran.dg/namelist_59.f90: New test. + + 2010-02-04 Richard Guenther + + PR rtl-optimization/42952 + * gcc.dg/torture/pr42952.c: New testcase. + + 2010-02-02 Tobias Burnus + + PR fortran/42650 + * gfortran.dg/func_result_5.f90: New test. + + 2010-02-01 Uros Bizjak + + Backport from mainline: + 2009-12-17 Uros Bizjak + + * objc/execute/forward-1.x: XFAIL for -fgnu-runtime on + x86_64-*-darwin*, powerpc*-*-darwin* and alpha*-*-linux* targets. + + 2010-01-31 Eric Botcazou + + PR middle-end/42898 + * gcc.dg/torture/pr42898-2.c: New test. + + 2010-01-31 Richard Guenther + + PR middle-end/42898 + * gcc.dg/torture/pr42898.c: New testcase. + + 2010-01-31 Paul Thomas + + PR fortran/38324 + * gfortran.dg/alloc_comp_basics_1.f90: Remove option -O2. + * gfortran.dg/alloc_comp_bounds_1.f90: New test. + + 2010-01-30 Paul Thomas + + PR fortran/41044 + * gfortran.dg/parameter_array_ref_2.f90 : New test. + + PR fortran/41167 + * gfortran.dg/char_array_arg_1.f90 : New test. + + 2010-01-27 Paul Thomas + + PR fortran/42736 + * gfortran.dg/dependency_25.f90 : New test. + + 2010-01-26 Jakub Jelinek + + * ada/acats/run_all.sh: Make sure norun.lst is sorted using the + current collation. + + Backport from mainline: + 2009-12-17 Arnaud Charlet + + * ada/acats/run_all.sh: Strip comments from norun.lst. + + 2010-01-25 Ramana Radhakrishnan + + Backport from mainline. + 2010-01-19 Ramana Radhakrishnan + + PR target/38697. + * gcc.target/arm/neon/vget_lowf32.c: Regenerate. + * gcc.target/arm/neon/vget_lowp16.c: Likewise. + * gcc.target/arm/neon/vget_lowp8.c: Likewise. + * gcc.target/arm/neon/vget_lows16.c: Likewise. + * gcc.target/arm/neon/vget_lows32.c: Likewise. + * gcc.target/arm/neon/vget_lows64.c: Likewise. + * gcc.target/arm/neon/vget_lows8.c: Likewise. + * gcc.target/arm/neon/vget_lowu16.c: Likewise. + * gcc.target/arm/neon/vget_lowu32.c: Likewise. + * gcc.target/arm/neon/vget_lowu64.c: Likewise. + * gcc.target/arm/neon/vget_lowu8.c: Likewise. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/gcc/testsuite/ada/acats/run_all.sh gcc-4.4.4/gcc/testsuite/ada/acats/run_all.sh *** gcc-4.4.3/gcc/testsuite/ada/acats/run_all.sh Thu Sep 14 10:12:03 2006 --- gcc-4.4.4/gcc/testsuite/ada/acats/run_all.sh Tue Jan 26 17:25:40 2010 *************** sed -e "s,ACATS4GNATDIR,$dir,g" \ *** 129,134 **** --- 129,135 ---- cp $testdir/tests/cd/*.c $dir/support cp $testdir/tests/cxb/*.c $dir/support + grep -v '^#' $testdir/norun.lst | sort > $dir/support/norun.lst rm -rf $dir/run mv $dir/tests $dir/tests.$$ 2> /dev/null *************** for chapter in $chapters; do *** 206,212 **** cd $dir/tests/$chapter ls *.a *.ada *.adt *.am *.dep 2> /dev/null | sed -e 's/\(.*\)\..*/\1/g' | \ ! cut -c1-7 | sort | uniq | comm -23 - $testdir/norun.lst \ > $dir/tests/$chapter/${chapter}.lst countn=`wc -l < $dir/tests/$chapter/${chapter}.lst` glob_countn=`expr $glob_countn + $countn` --- 207,213 ---- cd $dir/tests/$chapter ls *.a *.ada *.adt *.am *.dep 2> /dev/null | sed -e 's/\(.*\)\..*/\1/g' | \ ! cut -c1-7 | sort | uniq | comm -23 - $dir/support/norun.lst \ > $dir/tests/$chapter/${chapter}.lst countn=`wc -l < $dir/tests/$chapter/${chapter}.lst` glob_countn=`expr $glob_countn + $countn` diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/abi/mangle42.C gcc-4.4.4/gcc/testsuite/g++.dg/abi/mangle42.C *** gcc-4.4.3/gcc/testsuite/g++.dg/abi/mangle42.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/abi/mangle42.C Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,14 ---- + // Origin: PR c++/43375 + // { dg-do compile { target i?86-*-* x86_64-*-* } } + // { dg-options "-msse2 -std=gnu++0x" } + + typedef float __v4sf __attribute__ ((__vector_size__ (16))); + typedef int __v4si __attribute__ ((__vector_size__ (16))); + __v4sf my_asin(__v4sf x) + { + static const __v4si g_Mask{0x7fffffff, + 0x00000000, + 0x7fffffff, + 0x7fffffff }; + return __builtin_ia32_andnps ((__v4sf) g_Mask, x); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/conversion/op6.C gcc-4.4.4/gcc/testsuite/g++.dg/conversion/op6.C *** gcc-4.4.3/gcc/testsuite/g++.dg/conversion/op6.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/conversion/op6.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,18 ---- + // Origin: PR c++/42766 + // { dg-do compile } + + template class smart_pointer { + public: + operator T* () const { } + operator bool () const { } + operator bool () { } + }; + class Context { }; + typedef smart_pointer ContextP; + class SvnClient { + ~SvnClient(); + ContextP svnContext; + }; + SvnClient::~SvnClient() { + delete svnContext; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/debug/pr43010.C gcc-4.4.4/gcc/testsuite/g++.dg/debug/pr43010.C *** gcc-4.4.3/gcc/testsuite/g++.dg/debug/pr43010.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/debug/pr43010.C Wed Feb 10 15:09:06 2010 *************** *** 0 **** --- 1,8 ---- + // PR debug/43010 + // { dg-do compile } + // { dg-options "-g -femit-struct-debug-baseonly" } + # 1 "foo.C" + # 1 "bar.h" 1 + typedef struct { int i; } S __attribute__((aligned)); + typedef struct { struct { int i; } j; } T __attribute__((aligned)); + # 1 "foo.C" 2 diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/eh/pr42859.C gcc-4.4.4/gcc/testsuite/g++.dg/eh/pr42859.C *** gcc-4.4.3/gcc/testsuite/g++.dg/eh/pr42859.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/eh/pr42859.C Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,23 ---- + // { dg-do compile } + + void start (void); + void + ptw32_terminate (void) + { + try + { + try + { + start (); + } + catch (int) + { + } + catch (int) + { + } + } + catch (int) + { + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/ext/attrib36.C gcc-4.4.4/gcc/testsuite/g++.dg/ext/attrib36.C *** gcc-4.4.3/gcc/testsuite/g++.dg/ext/attrib36.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/ext/attrib36.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,20 ---- + // PR c++/43031 + // { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } + + class T; + class L { }; + class P : public L + { + typedef void (__attribute__((__stdcall__)) T::*F) (L*); + void f(bool aAdd); + }; + class T + { + public: + virtual void __attribute__((__stdcall__)) A(L *listener) = 0; + virtual void __attribute__((__stdcall__)) R(L *listener) = 0; + }; + void P::f(bool aAdd) + { + F addRemoveEventListener = (aAdd ? &T::A : &T::R); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/ext/attrib37.C gcc-4.4.4/gcc/testsuite/g++.dg/ext/attrib37.C *** gcc-4.4.3/gcc/testsuite/g++.dg/ext/attrib37.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/ext/attrib37.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,14 ---- + // PR c++/43093 + // { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } + + struct S { + int x; + S(const S &s) {} + }; + + S __attribute__((__stdcall__)) getS(); + + void test() + { + S s = getS(); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/ext/builtin11.C gcc-4.4.4/gcc/testsuite/g++.dg/ext/builtin11.C *** gcc-4.4.3/gcc/testsuite/g++.dg/ext/builtin11.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/ext/builtin11.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,9 ---- + // PR c++/40138 + // { dg-options "-Wall" } + + void foo(int i, ...) + { + V v; // { dg-error "not declared|expected" } + __builtin_va_start(v, i); // { dg-error "not declared" } + i = __builtin_va_arg(v, int); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/ext/dllexport3.C gcc-4.4.4/gcc/testsuite/g++.dg/ext/dllexport3.C *** gcc-4.4.3/gcc/testsuite/g++.dg/ext/dllexport3.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/ext/dllexport3.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,19 ---- + // PR c++/42870 + // { dg-do compile { target i?86-*-cygwin *-*-mingw* } } + // { dg-final { scan-assembler "-export:_ZN2SaD1Ev" } } + + #define ATTRIBUTE __attribute__ ((dllexport)) + class ATTRIBUTE Sa { + public: + Sa() + {} + ~Sa(); + }; + ATTRIBUTE Sa::~Sa() + {return;} + + bool DllMain(void *a,void*b,int) + { + Sa s; + return true; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/ext/is_pod_98.C gcc-4.4.4/gcc/testsuite/g++.dg/ext/is_pod_98.C *** gcc-4.4.3/gcc/testsuite/g++.dg/ext/is_pod_98.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/ext/is_pod_98.C Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,16 ---- + // PR c++/43333 + // { dg-options "-std=c++98" } + // { dg-do run } + + struct strPOD + { + const char *const foo; + const char *const bar; + }; + extern "C" void abort (void); + int main () + { + if (!__is_pod (strPOD)) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/ipa/iinline-1.C gcc-4.4.4/gcc/testsuite/g++.dg/ipa/iinline-1.C *** gcc-4.4.3/gcc/testsuite/g++.dg/ipa/iinline-1.C Fri Nov 7 09:00:14 2008 --- gcc-4.4.4/gcc/testsuite/g++.dg/ipa/iinline-1.C Sat Mar 6 02:29:14 2010 *************** *** 2,8 **** inlining.. */ /* { dg-do compile } */ /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining" } */ ! /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining -fpie" { target { ! nonpic } } } */ extern void non_existent (const char *, int); --- 2,8 ---- inlining.. */ /* { dg-do compile } */ /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining" } */ ! /* { dg-add-options bind_pic_locally } */ extern void non_existent (const char *, int); diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/opt/ice1.C gcc-4.4.4/gcc/testsuite/g++.dg/opt/ice1.C *** gcc-4.4.3/gcc/testsuite/g++.dg/opt/ice1.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/opt/ice1.C Fri Mar 26 14:30:49 2010 *************** *** 0 **** --- 1,41 ---- + // PR c++/43024 + // { dg-options "-O2" } + + void foo(); + + template struct X + { + enum { e }; + typedef int Y; + }; + + template struct A + { + ~A() { foo(); } + A() { a<0>(0); } + template void a(typename X::e>::Y); + struct B b(); + }; + + struct B + { + A<> b0, b1, b2, b3; + B operator+ (const B&); + }; + + struct C + { + A<> c0, c1, c2, c3, c4, c5, c6, c7, c8; + }; + + inline void bar(int i) + { + A<> a0, a1; + if (i) a0.b() + a0.b() + a0.b() + a0.b(); + } + + void baz() + { + C c; + bar(0); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-5.C gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-5.C *** gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-5.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-5.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,16 ---- + // Origin: PR c++/42758 + // { dg-do compile } + + template struct less {}; + + template > struct set {}; + + struct int_less_than {}; + + void assert_fail (const char*); + + int f(const set&) + { + assert_fail (__PRETTY_FUNCTION__); + + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-7.C gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-7.C *** gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-7.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-7.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,19 ---- + // Origin: PR c++/42336 + // { dg-options "-std=c++0x -O2 -g" } + // { dg-do compile } + + struct X { + void func() {} + }; + + template + void b(T) {} + + int main() { + b(X()); /* line 9 */ + X().func(); + + return 0; + } + + diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-8.C gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-8.C *** gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-8.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-8.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,109 ---- + // Origin: PR c++/42797 + // { dg-options "-g -O2 -std=c++0x" } + + template struct integral_constant { + static const _Tp value = __v; + }; + + template _Tp declval(); + + template + class __is_constructible_helper { + }; + + template + class __is_constructible_helper<_Tp, _Arg> { + + template + static decltype(static_cast<_Tp1>(declval<_Arg1>()), char()) __test(int); + public: + static const bool __value = sizeof(__test<_Tp, _Arg>(0)) == 1; + }; + + template + struct is_constructible : public integral_constant::__value> { }; + + template + struct enable_if { }; + + template + struct enable_if { + typedef _Tp type; + }; + + template struct pair { + _T1 first; + _T2 second; + + template::value>::type> + pair(const _T1& __x, _U2&& __y) : first(__x), + second(__y) { } + }; + + namespace __gnu_cxx { + template + class new_allocator { + public: + new_allocator() throw() { } + new_allocator(const new_allocator&) throw() { } + }; + } + + template + class allocator: public __gnu_cxx::new_allocator<_Tp> { + public: + + template + struct rebind { + typedef allocator<_Tp1> other; + }; + }; + + + template struct _Vector_base { + typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; + + struct _Vector_impl : public _Tp_alloc_type { + _Vector_impl() + { } + }; + public: + + _Vector_impl _M_impl; + }; + + template > + class vector : protected _Vector_base<_Tp, _Alloc> { + typedef _Alloc allocator_type; + public: + vector() { } + explicit vector(int, const allocator_type& __a = allocator_type()) + { + } + }; + + + template + class map { + typedef _Key key_type; + typedef _Tp mapped_type; + typedef pair value_type; + public: + + void insert(const value_type& __x) + { + } + + mapped_type& operator[](const key_type& __k) { + insert(value_type(__k, mapped_type())); + } + + }; + + struct Foo { + Foo() {} template Foo(Tp *p) {} }; + void foo() { + map > the_map; + the_map[1] = vector(); + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-9.C gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-9.C *** gcc-4.4.3/gcc/testsuite/g++.dg/other/crash-9.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/other/crash-9.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,15 ---- + // Origin: PR c++/42915 + // { dg-do compile } + + template + class A + { + template + class B + { + B foo(); + }; + }; + template template + A::B A::B::foo() {} + diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/other/default3.C gcc-4.4.4/gcc/testsuite/g++.dg/other/default3.C *** gcc-4.4.3/gcc/testsuite/g++.dg/other/default3.C Thu Jan 19 09:51:57 2006 --- gcc-4.4.4/gcc/testsuite/g++.dg/other/default3.C Fri Feb 12 17:27:33 2010 *************** template void g3(int, int); *** 25,31 **** template void g3(int = 0, int); // { dg-error "default" } template void g4(int, int); ! template void g4(int = 0, int) {} // { dg-error "default" } template void g5(); template void g5(int = 0, int); // { dg-error "default" } --- 25,31 ---- template void g3(int = 0, int); // { dg-error "default" } template void g4(int, int); ! template void g4(int = 0, int) {} // { dg-error "default" "" { xfail *-*-* } } template void g5(); template void g5(int = 0, int); // { dg-error "default" } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/other/first-global.C gcc-4.4.4/gcc/testsuite/g++.dg/other/first-global.C *** gcc-4.4.3/gcc/testsuite/g++.dg/other/first-global.C Wed Jan 30 20:40:58 2008 --- gcc-4.4.4/gcc/testsuite/g++.dg/other/first-global.C Sat Mar 6 02:29:14 2010 *************** *** 1,5 **** /* { dg-do compile } */ ! /* { dg-options "-fpie" { target { ! nonpic } } } */ /* { dg-final { scan-assembler "_GLOBAL__I(_|_65535_0_)foobar" } } */ struct foo { foo (); }; --- 1,5 ---- /* { dg-do compile } */ ! /* { dg-add-options bind_pic_locally } */ /* { dg-final { scan-assembler "_GLOBAL__I(_|_65535_0_)foobar" } } */ struct foo { foo (); }; diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/other/pr43116.C gcc-4.4.4/gcc/testsuite/g++.dg/other/pr43116.C *** gcc-4.4.3/gcc/testsuite/g++.dg/other/pr43116.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/other/pr43116.C Mon Mar 22 15:03:45 2010 *************** *** 0 **** --- 1,9 ---- + /* { dg-do compile } */ + extern "C" int rpl_open (const char *filename, int flags, ...) __attribute__ + ((__nonnull__ (1))); + + namespace gnulib + { + int (*const open) (const char *filename, int flags, ...) __attribute__ + ((__nonnull__ (1))) = rpl_open; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/parse/ambig5.C gcc-4.4.4/gcc/testsuite/g++.dg/parse/ambig5.C *** gcc-4.4.3/gcc/testsuite/g++.dg/parse/ambig5.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/parse/ambig5.C Tue Mar 30 21:20:58 2010 *************** *** 0 **** --- 1,7 ---- + // PR c++/41786 + + struct A { A(int, char const*); }; + int main() { + int i = 0, *b = &i; + A a(int(b[i]), "hello"); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C gcc-4.4.4/gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C *** gcc-4.4.3/gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C Wed Jan 30 20:40:58 2008 --- gcc-4.4.4/gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** // { dg-do compile } // { dg-options "-O3 -fwhole-program" } ! // { dg-options "-O3 -fwhole-program -fpie" { target { ! nonpic } } } // { dg-final { scan-assembler "foo1" } } // { dg-final { scan-assembler "foo2" } } // { dg-final { scan-assembler "foo3" } } --- 1,6 ---- // { dg-do compile } // { dg-options "-O3 -fwhole-program" } ! // { dg-add-options bind_pic_locally } // { dg-final { scan-assembler "foo1" } } // { dg-final { scan-assembler "foo2" } } // { dg-final { scan-assembler "foo3" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/parse/namespace11.C gcc-4.4.4/gcc/testsuite/g++.dg/parse/namespace11.C *** gcc-4.4.3/gcc/testsuite/g++.dg/parse/namespace11.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/parse/namespace11.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,7 ---- + // PR c++/43069 + + namespace std { + template < typename > + void swap (); + } + template std::swap // { dg-error "" } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/parse/namespace12.C gcc-4.4.4/gcc/testsuite/g++.dg/parse/namespace12.C *** gcc-4.4.3/gcc/testsuite/g++.dg/parse/namespace12.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/parse/namespace12.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,7 ---- + // PR c++/43109 + + namespace std { + namespace { + struct S {}; + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/parse/varmod1.C gcc-4.4.4/gcc/testsuite/g++.dg/parse/varmod1.C *** gcc-4.4.3/gcc/testsuite/g++.dg/parse/varmod1.C Fri Feb 21 22:56:06 2003 --- gcc-4.4.4/gcc/testsuite/g++.dg/parse/varmod1.C Tue Mar 30 21:20:58 2010 *************** int main(int argc, char** argv) { *** 2,7 **** int nx = 2; void theerror(double a[][nx+1]); // { dg-error "" } double** a; ! theerror(a); // { dg-error "" } return 0; } --- 2,7 ---- int nx = 2; void theerror(double a[][nx+1]); // { dg-error "" } double** a; ! theerror(a); return 0; } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/template/memclass4.C gcc-4.4.4/gcc/testsuite/g++.dg/template/memclass4.C *** gcc-4.4.3/gcc/testsuite/g++.dg/template/memclass4.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/template/memclass4.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,70 ---- + // Origin: PR c++/42824 + // { dg-do compile } + + template + class int_ { + }; + + template + class Unit { + public: + Unit(const Unit& other) {} + }; + + template + class Quan { + public: + Quan(void) {} + + template + Quan(double value, Unit unit) {} + }; + typedef Quan<0> Scalar; + + template + class hlp { + public: + typedef Quan type; + }; + + class Mtrl { + public: + template + struct AssoType { + typedef typename hlp::type type; + }; + }; + + template + class Eval { + public: + Eval(const T& object){} + + template + void eval() { + eval (int_<0>()); + } + private: + template struct Wrap {}; + + template + void value(Wrap >) {} + + template + void value(Wrap) {} + + template + void eval(int_<0>) { + typedef typename T::template AssoType::type Type; + value(Wrap()); + } + }; + + class Foo { + public: + static void eval(const Mtrl& mtrl) { + Eval h(mtrl); + h.eval<0> (); + } + }; + diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/template/ptrmem20.C gcc-4.4.4/gcc/testsuite/g++.dg/template/ptrmem20.C *** gcc-4.4.3/gcc/testsuite/g++.dg/template/ptrmem20.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/template/ptrmem20.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,16 ---- + // PR c++/43079 + + struct A {}; + + struct B + { + void foo() const; + void foo(); + }; + + template void bar(); + + void baz() + { + bar<&B::foo>(); // { dg-error "not a valid template argument|no match" } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/template/typedef27.C gcc-4.4.4/gcc/testsuite/g++.dg/template/typedef27.C *** gcc-4.4.3/gcc/testsuite/g++.dg/template/typedef27.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/template/typedef27.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,55 ---- + // Origin: PR c++/42713 + // { dg-do compile } + + template + struct S + { + }; + + template + struct S0 + { + typedef T TT; + }; + + template + struct super_struct : S0 + { + typedef S0 super; + }; + + template + struct S1 : super_struct + { + typedef super_struct super; + typedef typename super::super Super2; + typedef typename Super2::TT Super2TT; + void + foo() + { + S s1; + } + }; + + template + struct S2 : super_struct + { + typedef super_struct super; + typedef typename super::super Super2; + typedef typename Super2::TT Super2TT; + void + foo() + { + S s1; + } + }; + + int + main() + { + S1, int> s1; + s1.foo(); + S2 > s2; + s2.foo(); + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/template/typedef28.C gcc-4.4.4/gcc/testsuite/g++.dg/template/typedef28.C *** gcc-4.4.3/gcc/testsuite/g++.dg/template/typedef28.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/template/typedef28.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,28 ---- + // Origin: PR c++/42820 + // { dg-do compile } + + + template struct vector{}; + struct Traits{struct Primitive{struct Id{};};}; + + template struct Tree_vs_naive + { + typedef typename Tree::Primitive Primitive; + + void f() const + { + typedef vector Id_vector; + } + }; + + template void test_hint_strategies() + { + vector v; + } + + int main(void) + { + test_hint_strategies(); + } + + diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42450.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42450.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42450.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42450.C Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,112 ---- + /* { dg-do compile } */ + + template < typename > class basic_stringstream; + + struct basic_string { + basic_string(); + }; + + struct ios_base { + virtual ~ios_base(); + }; + + class ostream:ios_base {}; + class istream:virtual ios_base {}; + + template < typename > struct basic_iostream:public istream, ostream { + ~basic_iostream () {} + }; + extern template class basic_iostream < char >; + + template < typename > struct basic_stringstream:public basic_iostream < char > { + basic_string _M_stringbuf; + ~basic_stringstream () {} + }; + extern template class basic_stringstream < char >; + + template < typename > struct AnyMatrixBase; + template < typename, int _Rows, int _Cols, int = _Rows, int = _Cols > class Matrix; + template < typename > class CwiseNullaryOp; + + template < typename Derived > struct MatrixBase:public AnyMatrixBase < Derived > { + typedef CwiseNullaryOp < Derived > ConstantReturnType; + ConstantReturnType Constant (); + template < typename > Derived cast (); + static CwiseNullaryOp < Derived > Random (int); + }; + + template < typename Derived > struct AnyMatrixBase { + Derived derived () {} + Derived & derived () const {} + }; + + template < typename, int > struct ei_matrix_storage {}; + + template < typename _Scalar, int, int, int _MaxRows, int _MaxCols > struct Matrix:MatrixBase < Matrix < _Scalar, _MaxRows, _MaxCols > > { + typedef MatrixBase < Matrix > Base; + ei_matrix_storage < int, _MaxCols > m_storage; + Matrix operator= (const Matrix other) { + _resize_to_match (other); + lazyAssign (other.derived ()); + } + template < typename OtherDerived > Matrix lazyAssign (MatrixBase < OtherDerived > other) { + _resize_to_match (other); + return Base (other.derived ()); + } + Matrix (); + template < typename OtherDerived > Matrix (const MatrixBase < OtherDerived > &other) { + *this = other; + } + template < typename OtherDerived > void _resize_to_match (const MatrixBase < OtherDerived > &) { + throw 1; + } + }; + + template < typename MatrixType > class CwiseNullaryOp: + public MatrixBase < CwiseNullaryOp < MatrixType > > {}; + + int f() + { + bool align_cols; + if (align_cols) { + basic_stringstream sstr; + f(); + } + } + + template < typename > struct AutoDiffScalar; + template < typename Functor > struct AutoDiffJacobian:Functor { + AutoDiffJacobian (Functor); + typedef typename Functor::InputType InputType; + typedef typename Functor::ValueType ValueType; + typedef Matrix < int, Functor::InputsAtCompileTime, 1 > DerivativeType; + typedef AutoDiffScalar < DerivativeType > ActiveScalar; + typedef Matrix < ActiveScalar, Functor::InputsAtCompileTime, 1 > ActiveInput; + void operator () (InputType x, ValueType *) { + ActiveInput ax = x.template cast < ActiveScalar > (); + } + }; + + template < int NX, int NY > struct TestFunc1 { + enum { + InputsAtCompileTime = NX + }; + typedef Matrix < float, NX, 1 > InputType; + typedef Matrix < float, NY, 1 > ValueType; + typedef Matrix < float, NY, NX > JacobianType; + int inputs (); + }; + + template < typename Func > void forward_jacobian (Func f) { + typename Func::InputType x = Func::InputType::Random (f.inputs ()); + typename Func::ValueType y; + typename Func::JacobianType jref = jref.Constant (); + AutoDiffJacobian < Func > autoj (f); + autoj (x, &y); + } + + void test_autodiff_scalar () + { + forward_jacobian (TestFunc1 < 2, 2 > ()); + forward_jacobian (TestFunc1 < 3, 2 > ()); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42704.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42704.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42704.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42704.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,44 ---- + /* { dg-do compile } */ + + typedef int PRInt32; + class nsTreeRows { + class Subtree { }; + enum { kMaxDepth = 32 }; + struct Link { + Subtree* mParent; + PRInt32 mChildIndex; + Link& operator=(const Link& aLink) { + mParent = aLink.mParent; + mChildIndex = aLink.mChildIndex; + } + }; + class iterator { + PRInt32 mTop; + PRInt32 mRowIndex; + Link mLink[kMaxDepth]; + public: + iterator() : mTop(-1), mRowIndex(-1) { } + iterator& operator=(const iterator& aIterator); + }; + Subtree* EnsureSubtreeFor(Subtree* aParent, PRInt32 aChildIndex); + Subtree* GetSubtreeFor(const Subtree* aParent, + PRInt32 aChildIndex, PRInt32* aSubtreeSize = 0); + void InvalidateCachedRow() { + mLastRow = iterator(); + } + iterator mLastRow; + }; + nsTreeRows::Subtree* nsTreeRows::EnsureSubtreeFor(Subtree* aParent, + PRInt32 aChildIndex) { + Subtree* subtree = GetSubtreeFor(aParent, aChildIndex); + if (! subtree) { + InvalidateCachedRow(); + } + } + nsTreeRows::iterator& nsTreeRows::iterator::operator=(const iterator& + aIterator) { + mTop = aIterator.mTop; + for (PRInt32 i = mTop; + i >= 0; + --i) mLink[i] = aIterator.mLink[i]; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42714.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42714.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42714.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42714.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,37 ---- + struct QVectorData { + static QVectorData shared_null; + }; + template class QVector { + union { + QVectorData *d; + }; + public: + inline QVector() : d(&QVectorData::shared_null) { } + inline QVector(const QVector &v) : d(v.d) { } + }; + class QXmlStreamAttribute { }; + class QXmlStreamAttributes : public QVector { }; + class __attribute__ ((visibility("default"))) Smoke { + public: + union StackItem; + typedef StackItem* Stack; + typedef short Index; + }; + class SmokeBinding { }; + namespace __smokeqt { + class x_QXmlStreamAttributes : public QXmlStreamAttributes { + SmokeBinding* _binding; + public: + static void x_11(Smoke::Stack x) { + x_QXmlStreamAttributes* xret = new x_QXmlStreamAttributes(); + } + explicit x_QXmlStreamAttributes() : QXmlStreamAttributes() { } + }; + void xcall_QXmlStreamAttributes(Smoke::Index xi, void *obj, + Smoke::Stack args) + { + switch(xi) { + case 11: x_QXmlStreamAttributes::x_11(args); + } + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42739.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42739.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42739.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42739.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,16 ---- + /* { dg-do compile } */ + + struct s { ~s() { s(); } }; + + int f() + { + M: + s o = s(); + f(); + f(); + + L: + goto *(f() ? &&L : &&M); + + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42871.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42871.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42871.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42871.C Sat Feb 13 14:50:50 2010 *************** *** 0 **** --- 1,40 ---- + struct C + { + ~C (); + int c3; + }; + + C *b2; + + static void + b1 (const C &x, unsigned b3, unsigned b4) + { + unsigned i = 0; + for (; i < b3; i++) + if (i < b4) + { + b2[0].c3 = x.c3; + return; + } + } + + int a (); + + void + bar (unsigned b3, unsigned b4) + { + C c[100]; + for (int i = 0; i < 100; i++) + { + c[i].c3 = i; + for (int j = 0; j < b3; j++) + if (j < b4) + { + b2[0].c3 = 0; + break; + } + b1 (c[i], b3, b4); + a (); + } + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42883.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42883.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42883.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42883.C Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,63 ---- + // { dg-do compile } + + typedef __SIZE_TYPE__ size_t; + namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { + template class new_allocator { + public: + typedef size_t size_type; + typedef _Tp* pointer; + typedef _Tp& reference; + void deallocate(pointer __p, size_type) { + ::operator delete(__p); + } + }; + } + namespace std __attribute__ ((__visibility__ ("default"))) { + template class allocator: public __gnu_cxx::new_allocator<_Tp> { + public: + template struct rebind { + typedef allocator<_Tp1> other; + }; + }; + template struct _Vector_base { + typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; + struct _Vector_impl : public _Tp_alloc_type { + typename _Tp_alloc_type::pointer _M_start; + typename _Tp_alloc_type::pointer _M_end_of_storage; + }; + ~_Vector_base() { + _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); + } + _Vector_impl _M_impl; + void _M_deallocate(typename _Tp_alloc_type::pointer __p, size_t __n) { + if (__p) _M_impl.deallocate(__p, __n); + } + }; + template > class vector : protected _Vector_base<_Tp, _Alloc> { + typedef _Vector_base<_Tp, _Alloc> _Base; + typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; + public: + typedef typename _Tp_alloc_type::reference reference; + typedef size_t size_type; + size_type size() const { + } + reference operator[](size_type __n) { + } + }; + }; + class vtkConvexPointSet { + public: + static vtkConvexPointSet *New(); + }; + void MakeInternalMesh() { + std::vector< int > tempFaces[2]; + std::vector< int > firstFace; + int i, j, k; + for(i = 0; i < 1000; i++) { + for(int pointCount = 0; pointCount < 1000; pointCount++) { + for(j = 0; j < (int)tempFaces[0].size(); k++) + if(tempFaces[0][j] == tempFaces[1][k]) break; + } + vtkConvexPointSet::New(); + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42890.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42890.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr42890.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr42890.C Mon Feb 8 15:50:59 2010 *************** *** 0 **** --- 1,25 ---- + // PR tree-optimization/42890 + // { dg-do compile } + + extern "C" int puts (const char *) throw (); + + struct S + { + const char *a; + const char **b; + S (const char *s) { a = s; b = &a; } + ~S () { puts (a); } + }; + + void + foo (int (*fn) (const char *)) + { + S a ("foo"); + fn ("bar"); + } + + int + main () + { + foo (puts); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr43068.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr43068.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr43068.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr43068.C Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,10 ---- + /* { dg-do compile } */ + /* { dg-options "-freorder-blocks -ftracer} */ + + struct A { + virtual A *f(); + }; + struct B : virtual A { + virtual B *f(); + }; + B *B::f() { return 0; } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr43257.C gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr43257.C *** gcc-4.4.3/gcc/testsuite/g++.dg/torture/pr43257.C Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/torture/pr43257.C Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,30 ---- + /* { dg-do assemble } */ + + class A {}; + class B {}; + + static void *func (int n) + { + void *p; + if (p == 0) throw ::A (); + } + + static void *func (int n, B const &) + { + try { + return func (n); + } + catch (::A const &) { + } + return func (n); + } + + void *f1 (int n) + { + return func (n, B()); + } + + void *f2 (int n) + { + return func (n, B()); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C gcc-4.4.4/gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C *** gcc-4.4.3/gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C Thu Feb 15 03:14:39 2007 --- gcc-4.4.4/gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-cfg" } */ ! /* { dg-skip-if "" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ double a; void t() { --- 1,7 ---- /* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-cfg" } */ ! /* { dg-add-options bind_pic_locally } */ ! double a; void t() { diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.dg/vect/pr43771.cc gcc-4.4.4/gcc/testsuite/g++.dg/vect/pr43771.cc *** gcc-4.4.3/gcc/testsuite/g++.dg/vect/pr43771.cc Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/g++.dg/vect/pr43771.cc Mon Apr 19 06:17:56 2010 *************** *** 0 **** --- 1,14 ---- + /* { dg-do compile } */ + + void KWayNodeRefine__(int nparts, int *gpwgts, int *badminpwgt, int + *badmaxpwgt) + { + int i; + + for (i=0; i template int foo(int v) --- 1,6 ---- // { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } } ! // We'd use ebx with 32-bit pic code, so skip. ! // { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } // Origin: "Weidmann, Nicholas" template int foo(int v) diff -Nrcpad gcc-4.4.3/gcc/testsuite/g++.old-deja/g++.pt/asm2.C gcc-4.4.4/gcc/testsuite/g++.old-deja/g++.pt/asm2.C *** gcc-4.4.3/gcc/testsuite/g++.old-deja/g++.pt/asm2.C Fri Dec 9 23:34:09 2005 --- gcc-4.4.4/gcc/testsuite/g++.old-deja/g++.pt/asm2.C Wed Mar 10 20:35:31 2010 *************** *** 1,7 **** // { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } } // { dg-require-effective-target ilp32 } ! // We'd use ebx with -fpic/-fPIC, so skip. ! // { dg-skip-if "" { *-*-* } { "-fpic" "-fPIC" } { "" } } // Origin: "Weidmann, Nicholas" typedef void (function_ptr)(int); --- 1,7 ---- // { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } } // { dg-require-effective-target ilp32 } ! // We'd use ebx with 32-bit pic code, so require nonpic. ! // { dg-require-effective-target nonpic } // Origin: "Weidmann, Nicholas" typedef void (function_ptr)(int); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/20000804-1.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/20000804-1.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/20000804-1.c Tue Jul 14 16:53:35 2009 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/20000804-1.c Wed Mar 10 20:35:31 2010 *************** *** 1,8 **** /* This does not work on m68hc11 or h8300 due to the use of an asm statement to force a 'long long' (64-bits) to go in a register. */ /* { dg-do assemble } */ ! /* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */ ! /* { dg-skip-if "PIC default" { { i?86-*-darwin* x86_64-*-darwin* } && ilp32 } { "*" } { "" } } */ /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */ /* { dg-xfail-if "" { m6811-*-* m6812-*-* h8300-*-* } { "*" } { "" } } */ --- 1,7 ---- /* This does not work on m68hc11 or h8300 due to the use of an asm statement to force a 'long long' (64-bits) to go in a register. */ /* { dg-do assemble } */ ! /* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ilp32 && { ! nonpic } } } { "*" } { "" } } */ /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */ /* { dg-xfail-if "" { m6811-*-* m6812-*-* h8300-*-* } { "*" } { "" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42703.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42703.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42703.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42703.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,12 ---- + __extension__ typedef unsigned long long int uint64_t; + typedef uint64_t ScmUInt64; + void swapb64(ScmUInt64 *loc) + { + union { + ScmUInt64 l; + unsigned char c[4]; + } dd; + unsigned char t; + dd.l = *loc; + (t = dd.c[3], dd.c[3] = dd.c[4], dd.c[4] = t); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42705.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42705.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42705.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42705.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,58 ---- + typedef int GLint; + typedef unsigned char GLubyte; + typedef unsigned int uint32_t; + struct radeon_bo { + void *ptr; + uint32_t flags; + }; + struct radeon_renderbuffer { + struct radeon_bo *bo; + unsigned int cpp; + int has_surface; + }; + static inline + GLint r600_1d_tile_helper(const struct radeon_renderbuffer * rrb, + GLint x, GLint y, GLint is_depth, GLint is_stencil) + { + GLint element_bytes = rrb->cpp; + GLint num_samples = 1; + GLint tile_width = 8; + GLint tile_height = 8; + GLint tile_thickness = 1; + GLint tile_bytes; + GLint tiles_per_row; + GLint slice_offset; + GLint tile_row_index; + GLint tile_column_index; + GLint tile_offset; + GLint pixel_number = 0; + GLint element_offset; + GLint offset = 0; + tile_bytes = tile_width * tile_height * tile_thickness + * element_bytes * num_samples; + tile_column_index = x / tile_width; + tile_offset = ((tile_row_index * tiles_per_row) + + tile_column_index) * tile_bytes; + if (is_depth) { + } + else { + GLint sample_offset; + switch (element_bytes) { + case 1: pixel_number |= ((x >> 0) & 1) << 0; + } + element_offset = sample_offset + (pixel_number * element_bytes); + } + offset = slice_offset + tile_offset + element_offset; + return offset; + } + GLubyte *r600_ptr_color(const struct radeon_renderbuffer * rrb, + GLint x, GLint y) + { + GLubyte *ptr = rrb->bo->ptr; + uint32_t mask = 1 | 2; + GLint offset; + if (rrb->has_surface || !(rrb->bo->flags & mask)) { + offset = r600_1d_tile_helper(rrb, x, y, 0, 0); + } + return &ptr[offset]; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42708-1.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42708-1.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42708-1.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42708-1.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,10 ---- + typedef __SIZE_TYPE__ size_t; + void *malloc(size_t); + typedef union YYSTYPE { + char *id; + } YYSTYPE; + extern YYSTYPE yylval; + void yylex (int b) + { + yylval = (YYSTYPE) (b ? 0 : (char *) malloc (4)); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42716.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42716.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42716.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42716.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,18 ---- + static short foo (long long si1, short si2) + { + return si1 > 0 && si2 > 0 || si1 < 0 + && si2 < 0 && si1 < 1 - si2 ? : si1 + si2; + } + + int g_13; + unsigned g_17; + + int safe (int, int); + + void bar (short p_51, short * p_52) + { + int *const l_55 = &g_13; + if (safe (*p_52, g_13 != foo (*p_52 & *l_55 == g_13 && g_17 >= 1, 0))) + { + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42717.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42717.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42717.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42717.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,30 ---- + static signed char + foo (signed char si1, unsigned char si2) + { + return (si1 ^ si2) & (-si2 ^ si2) ? : si1 - si2; + } + + struct S0 + { + }; + + unsigned char g_21; + + struct S0 g_34; + + void + bar (unsigned char p_20) + { + unsigned char *l_22 = &g_21; + unsigned char l_23 = 0; + struct S0 *l = &g_34; + goto lbl_42; + for (; l_23; l_23 = foo (l_23, 1)) + { + for (p_20 = 0; 0; p_20 = foo (p_20, 1)) + lbl_42:; + (l == &g_34) ? 0 : ""; + lbl_85:*l_22 = p_20; + } + goto lbl_85; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42730.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42730.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42730.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42730.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,14 ---- + union bzz + { + unsigned *pa; + void *pv; + }; + + void foo (void) + { + union bzz u; + void **x; + void *y = 0; + x = &u.pv; + *x = y; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42749.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42749.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42749.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42749.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,5 ---- + struct pdf_object { int val; }; + int pdf_count_size_object (struct pdf_object * p_obj) + { + return pdf_count_size_object(p_obj) + 2 * sizeof(struct pdf_object); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42927.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42927.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42927.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42927.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,32 ---- + typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); + typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); + typedef enum { READ_SHARED = 0, WRITE_EXCLUSIVE = 1, + READ_EXCLUSIVE = 2, EXCLUSIVE_ACCESS = 3 } scsires_access_mode; + struct scsires_extent_elem { + scsires_access_mode mode; + unsigned relative_address; + u_int32_t first_block; + u_int32_t length; + }; + typedef struct scsires_extent_elem scsires_extent_elem_t; + struct scsires_extent { + u_int8_t num_elements; + scsires_extent_elem_t *elements; + }; + typedef struct scsires_extent scsires_extent_t; + unsigned char buf[512]; + void scsires_issue_reservation(scsires_extent_t * new_extent) + { + int i; + for (i = 0; i < new_extent->num_elements; i++) + { + buf[(i * 8)] = new_extent->elements[i].mode; + buf[(i * 8) + 1] = ((new_extent->elements[i].length >> 16) & 0xff); + buf[(i * 8) + 2] = ((new_extent->elements[i].length >> 8) & 0xff); + buf[(i * 8) + 3] = (new_extent->elements[i].length & 0xff); + buf[(i * 8) + 4] = ((new_extent->elements[i].first_block >> 24) & 0xff); + buf[(i * 8) + 5] = ((new_extent->elements[i].first_block >> 16) & 0xff); + buf[(i * 8) + 6] = ((new_extent->elements[i].first_block >> 8) & 0xff); + buf[(i * 8) + 7] = (new_extent->elements[i].first_block & 0xff); + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42956.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42956.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42956.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42956.c Thu Apr 8 11:47:13 2010 *************** *** 0 **** --- 1,33 ---- + typedef const int cint; + typedef struct { + } Bounds; + int ndim_, ncomp_, selectedcomp_, nregions_; + void *voidregion_; + typedef struct { + double diff, err, spread; + } Errors; + typedef const Errors cErrors; + void Split(int iregion, int depth, int xregion) + { + typedef struct { + double avg, err, spread, chisq; + double xmin[ndim_], xmax[ndim_]; + } Result; + typedef struct region { + Result result[ncomp_]; + } Region; + Errors errors[ncomp_]; + int comp, ireg, xreg; + for( ireg = iregion, xreg = xregion; ireg < nregions_; ireg = xreg++ ) + { + Result *result = ((Region *)voidregion_)[ireg].result; + for( comp = 0; comp < ncomp_; ++comp ) + { + Result *r = &result[comp]; + cErrors *e = &errors[comp]; + double c = e->diff; + if( r->err > 0 ) r->err = r->err*e->err + c; + } + } + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42998.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42998.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr42998.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr42998.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,15 ---- + void foo(void *); + void bar(void *); + void ndisc_fill_addr_option(unsigned char *opt, int data_len, + unsigned short addr_type) + { + int pad; + if (addr_type == 32) + pad = 2; + else + pad = 0; + __builtin_memset(opt + 2, 0, pad); + opt += pad; + __builtin_constant_p(data_len) ? foo (opt+2) : bar (opt+2); + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43066.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43066.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43066.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43066.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,14 ---- + struct S { + struct { } empty[1]; + int i; + }; + + int foo(int i, ...) + { + struct S s; + __builtin_va_list va; + __builtin_va_start(va, i); + s = __builtin_va_arg(va, struct S); + __builtin_va_end(va); + return s.i; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43164.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43164.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43164.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43164.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,16 ---- + struct S0 + { + unsigned char f0; + int:0; + }; + + struct S1 + { + struct S0 f0; + }; + + struct S1 func_34 (void) + { + struct S1 l_221 = { { 1 } }; + return l_221; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43186.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43186.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43186.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43186.c Thu Apr 8 10:46:46 2010 *************** *** 0 **** --- 1,15 ---- + int n; + + void foo (int i) + { + int a, b; + + if (!i) + for (a = 1; a < 4; a++) + if (a) + for (b = 1; b < 3; b++) + foo (b); + + n++; + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43188.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43188.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43188.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43188.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,6 ---- + int *__attribute__((__aligned__(16))) *p; + + int main (void) + { + return **p; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43191.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43191.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43191.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43191.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,46 ---- + struct S0 + { + }; + + struct S1 + { + unsigned f0:27; + const unsigned:0; + }; + + struct S2 + { + unsigned f2:1; + }; + + unsigned char g_4[1][8][3][1][1][1]; + unsigned char *g_17; + unsigned char **g_16[1][10][7]; + + struct S2 g_35 = { + 0 + }; + + struct S2 *g_34 = &g_35; + + struct S1 func_86 (unsigned char p_87, struct S2 **p_89) + { + struct S1 l_92[6][8][1][1] = { + 16143586 + } + ; + return l_92[0][0][0][0]; + } + + void func_28 (struct S1 p_30, const struct S1 p_32) + { + } + + void func_70 (unsigned char p_72) + { + unsigned char *const *l_93 = &g_17; + struct S2 **l_94; + unsigned char *const *l_97 = &g_17; + func_28 (func_86 (p_72, 0), + func_86 (p_72, &g_34)); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43255.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43255.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43255.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43255.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,33 ---- + int safe (int); + + static unsigned foo (unsigned ui1, unsigned ui2) + { + return ui1 + ui2; + } + + int g_22; + int *volatile g_23 = &g_22; + int **g_282[8][10][1]; + int *g_330 = &g_22; + volatile unsigned g_348; + int g_397; + + void int32func (const unsigned char p_10) + { + if (foo + (~ + (p_10 | + (*g_282[(unsigned long) g_397 % 8][(unsigned) g_22 % 10][g_348 % 1]) == + (*g_282[(unsigned long) g_397 % 8][(unsigned) g_22 % 10][g_348 % 1])), + 1)) + { + } + else if (*g_330 >= + safe (*g_23 ^ + (**g_282[(unsigned long) g_397 % 8][(unsigned) g_22 % 10] + [g_348 % 1])) & **g_282[8][10][1], 1) + { + } + } + + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43288.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43288.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43288.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43288.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1 ---- + static int a __attribute__ ((common)); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43367.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43367.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43367.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43367.c Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,30 ---- + unsigned char g_17; + + const unsigned char func_39 (unsigned char p_40, unsigned char * p_41) + { + return 0; + } + + void int327 (const unsigned char p_48, unsigned char p_49) + { + unsigned l_52; + unsigned char l_58[2]; + int i, j; + if (func_39 (l_52, &p_49), p_48) { + unsigned char *l_60; + unsigned char *l = &l_58[1]; + for (j; j; j++) { + lbl_59: + break; + } + for (l = 0; 1; l += 1) { + for (p_49 = 1; p_49; p_49 += 0) { + unsigned char **l_61[1][6]; + for (j = 0; j < 1; j++) + l_61[i][j] = &l_60; + goto lbl_59; + } + } + } + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43415.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43415.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43415.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43415.c Mon Mar 22 16:32:58 2010 *************** *** 0 **** --- 1,36 ---- + int main() + { + unsigned long long table[256]; + unsigned int i; + for (i=0; i<256; ++i) { + unsigned long long j; + unsigned char x=i; + for (j=0; j<5; ++j) { + x += x<<1; + x ^= x>>1; + } + for (j=0; j<5; ++j) { + x += x<<1; + x ^= x>>1; + } + for (j=0; j<5; ++j) { + x += x<<1; + x ^= x>>1; + } + for (j=0; j<5; ++j) { + x += x<<1; + x ^= x>>1; + } + for (j=0; j<5; ++j) { + x += x<<1; + x ^= x>>1; + } + table[i] ^= (((unsigned long long)x)<<16); + } + for (i=0; i<256; ++i) { + if ((table[i]&0xff)==i) + return 1; + } + return 0; + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43614.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43614.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/compile/pr43614.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/compile/pr43614.c Thu Apr 8 11:28:06 2010 *************** *** 0 **** --- 1,27 ---- + volatile int g_2[7]; + + void foo (unsigned); + + int main (void) + { + int i_459 = 0; + int t2818; + int t2819; + volatile char *t2820; + int t2821; + volatile char *t2822; + int *t2823; + unsigned t2824; + LL655: + t2822 = (volatile char *)g_2; + t2821 = i_459; + t2820 = t2822 + t2821; + t2823 = (int *)t2820; + t2824 = *t2823; + foo (t2824); + t2818 = i_459; + t2819 = t2818 + 1; + i_459 = t2819; + goto LL655; + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/20100209-1.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/20100209-1.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/20100209-1.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/20100209-1.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,12 ---- + int bar(int foo) + { + return (int)(((unsigned long long)(long long)foo) / 8); + } + extern void abort (void); + int main() + { + if (sizeof (long long) > sizeof (int) + && bar(-1) != -1) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr42248.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr42248.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr42248.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr42248.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,27 ---- + typedef struct { + _Complex double a; + _Complex double b; + } Scf10; + + Scf10 g1s; + + void + check (Scf10 x, _Complex double y) + { + if (x.a != y) __builtin_abort (); + } + + void + init (Scf10 *p, _Complex double y) + { + p->a = y; + } + + int + main () + { + init (&g1s, (_Complex double)1); + check (g1s, (_Complex double)1); + + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr42512.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr42512.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr42512.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr42512.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,13 ---- + extern void abort (void); + + short g_3; + + int main (void) + { + int l_2; + for (l_2 = -1; l_2 != 0; l_2 = (unsigned char)(l_2 - 1)) + g_3 |= l_2; + if (g_3 != -1) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43008.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43008.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43008.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43008.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,23 ---- + int i; + struct X { + int *p; + }; + struct X * __attribute__((malloc)) + my_alloc (void) + { + struct X *p = __builtin_malloc (sizeof (struct X)); + p->p = &i; + return p; + } + extern void abort (void); + int main() + { + struct X *p, *q; + p = my_alloc (); + q = my_alloc (); + *(p->p) = 1; + *(q->p) = 0; + if (*(p->p) != 0) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43220.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43220.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43220.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43220.c Tue Mar 2 07:44:03 2010 *************** *** 0 **** --- 1,28 ---- + void *volatile p; + + int + main (void) + { + int n = 0; + lab:; + { + int x[n % 1000 + 1]; + x[0] = 1; + x[n % 1000] = 2; + p = x; + n++; + } + + { + int x[n % 1000 + 1]; + x[0] = 1; + x[n % 1000] = 2; + p = x; + n++; + } + + if (n < 1000000) + goto lab; + + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43269.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43269.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43269.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43269.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,31 ---- + int g_21; + int g_211; + int g_261; + + static void __attribute__((noinline,noclone)) + func_32 (int b) + { + if (b) { + lbl_370: + g_21 = 1; + } + + for (g_261 = -1; g_261 > -2; g_261--) { + if (g_211 + 1) { + return; + } else { + g_21 = 1; + goto lbl_370; + } + } + } + + extern void abort (void); + + int main(void) + { + func_32(0); + if (g_261 != -1) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43385.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43385.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43385.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43385.c Thu Mar 25 11:55:08 2010 *************** *** 0 **** --- 1,59 ---- + /* PR c/43385 */ + + extern void abort (void); + + int e; + + __attribute__((noinline)) void + foo (int x, int y) + { + if (__builtin_expect (x, 0) && y != 0) + e++; + } + + __attribute__((noinline)) int + bar (int x, int y) + { + if (__builtin_expect (x, 0) && y != 0) + return 1; + else + return 0; + } + + int + main (void) + { + int z = 0; + asm ("" : "+r" (z)); + foo (z + 2, z + 1); + if (e != 1) + abort (); + foo (z + 2, z); + if (e != 1) + abort (); + foo (z + 1, z + 1); + if (e != 2) + abort (); + foo (z + 1, z); + if (e != 2) + abort (); + foo (z, z + 1); + if (e != 2) + abort (); + foo (z, z); + if (e != 2) + abort (); + if (bar (z + 2, z + 1) != 1) + abort (); + if (bar (z + 2, z) != 0) + abort (); + if (bar (z + 1, z + 1) != 1) + abort (); + if (bar (z + 1, z) != 0) + abort (); + if (bar (z, z + 1) != 0) + abort (); + if (bar (z, z) != 0) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43438.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43438.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43438.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43438.c Mon Mar 22 15:05:46 2010 *************** *** 0 **** --- 1,23 ---- + extern void abort (void); + + static unsigned char g_2 = 1; + static int g_9; + static int *l_8 = &g_9; + + static void func_12(int p_13) + { + int * l_17 = &g_9; + *l_17 &= 0 < p_13; + } + + int main(void) + { + unsigned char l_11 = 254; + *l_8 |= g_2; + l_11 |= *l_8; + func_12(l_11); + if (g_9 != 1) + abort (); + return 0; + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43560.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43560.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43560.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43560.c Mon Apr 12 10:25:11 2010 *************** *** 0 **** --- 1,28 ---- + /* PR tree-optimization/43560 */ + + struct S + { + int a, b; + char c[10]; + }; + + __attribute__ ((noinline)) void + test (struct S *x) + { + while (x->b > 1 && x->c[x->b - 1] == '/') + { + x->b--; + x->c[x->b] = '\0'; + } + } + + const struct S s = { 0, 0, "" }; + + int + main () + { + struct S *p; + asm ("" : "=r" (p) : "0" (&s)); + test (p); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43629.c gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43629.c *** gcc-4.4.3/gcc/testsuite/gcc.c-torture/execute/pr43629.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.c-torture/execute/pr43629.c Wed Apr 7 15:40:43 2010 *************** *** 0 **** --- 1,13 ---- + int flag; + extern void abort (void); + int main() + { + int x; + if (flag) + x = -1; + else + x &= 0xff; + if (x & ~0xff) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/Wunreachable-2.c gcc-4.4.4/gcc/testsuite/gcc.dg/Wunreachable-2.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/Wunreachable-2.c Tue Feb 12 21:39:42 2002 --- gcc-4.4.4/gcc/testsuite/gcc.dg/Wunreachable-2.c Thu Jan 1 00:00:00 1970 *************** *** 1,19 **** - /* { dg-do compile } */ - /* { dg-options "-O2 -Wunreachable-code" } */ - - extern int foo (const char *); - extern void baz (void); - const char *a[] = { "one", "two" }; - - void bar (void) - { - int i; - - for (i = 0; i < 2; i++) - if (! foo (a[i])) - return; - - baz (); /* { dg-bogus "will never be executed" } */ - baz (); - baz (); - } --- 0 ---- diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/compound-literal-1.c gcc-4.4.4/gcc/testsuite/gcc.dg/compound-literal-1.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/compound-literal-1.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/compound-literal-1.c Mon Mar 8 11:54:11 2010 *************** *** 0 **** --- 1,9 ---- + /* { dg-do compile } */ + + /* PR c/43248 */ + + int foo(__SIZE_TYPE__ i) + { + i ? : (void *){}; /* { dg-error "" } */ + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c gcc-4.4.4/gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,31 ---- + /* PR debug/43237 */ + /* { dg-do compile } */ + /* { dg-options "-g -O2 -dA -fno-merge-debug-strings" } */ + + struct S + { + int *a; + int b; + int **c; + int d; + }; + + void foo (struct S *); + void bar (struct S *); + + int + baz (void) + { + struct S s; + foo (&s); + { + int a[s.b]; + int *c[s.d]; + s.a = a; + s.c = c; + bar (&s); + } + return 0; + } + + /* { dg-final { scan-assembler-not "LLST\[^\\r\\n\]*DW_AT_upper_bound" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/errno-1.c gcc-4.4.4/gcc/testsuite/gcc.dg/errno-1.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/errno-1.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/errno-1.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,17 ---- + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + #include + #include + + int main() + { + void *p; + errno = 0; + p = malloc (-1); + if (errno != 0) + do_not_optimize_away (); + return 0; + } + + /* { dg-final { scan-assembler "do_not_optimize_away" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/fold-div-3.c gcc-4.4.4/gcc/testsuite/gcc.dg/fold-div-3.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/fold-div-3.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/fold-div-3.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,15 ---- + /* { dg-do compile } */ + /* { dg-options "-O -fdump-tree-original" } */ + + unsigned int + apply_frontend_param (unsigned int spi_bias) + { + static const int ppm = 8000; + spi_bias /= 1000ULL + ppm/1000; + return spi_bias; + } + + /* Make sure we perform the division in the narrower type. */ + + /* { dg-final { scan-tree-dump "spi_bias = spi_bias / 1008;" "original" } } */ + /* { dg-final { cleanup-tree-dump "original" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/inline-33.c gcc-4.4.4/gcc/testsuite/gcc.dg/inline-33.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/inline-33.c Thu Mar 26 06:12:58 2009 --- gcc-4.4.4/gcc/testsuite/gcc.dg/inline-33.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fdump-tree-optimized" } */ ! /* { dg-options "-O3 -fdump-tree-optimized -fpie" { target { ! nonpic } } } */ int i; --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fdump-tree-optimized" } */ ! /* { dg-add-options bind_pic_locally } */ int i; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-1.c gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-1.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-1.c Fri Aug 29 12:55:54 2008 --- gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-1.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ #include int g (int b, int c) --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-add-options bind_pic_locally } */ #include int g (int b, int c) diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-2.c gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-2.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-2.c Fri Aug 29 12:55:54 2008 --- gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-2.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ #include int g (int b, int c) --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-add-options bind_pic_locally } */ #include int g (int b, int c) diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-3.c gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-3.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-3.c Fri Aug 29 12:55:54 2008 --- gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-3.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ /* Double constants. */ --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-add-options bind_pic_locally } */ /* Double constants. */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-4.c gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-4.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-4.c Fri Aug 29 12:55:54 2008 --- gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-4.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp" } */ ! /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ #include int g (int b, int c) --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp" } */ ! /* { dg-add-options bind_pic_locally } */ #include int g (int b, int c) diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-5.c gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-5.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-5.c Fri Aug 29 12:55:54 2008 --- gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-5.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ /* Float & short constants. */ --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-add-options bind_pic_locally } */ /* Float & short constants. */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-7.c gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-7.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipa-7.c Fri Aug 29 12:55:54 2008 --- gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipa-7.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */ #include void send_addr (int *); --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */ ! /* { dg-add-options bind_pic_locally } */ #include void send_addr (int *); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipacost-2.c gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipacost-2.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/ipa/ipacost-2.c Mon Feb 2 20:10:04 2009 --- gcc-4.4.4/gcc/testsuite/gcc.dg/ipa/ipacost-2.c Sat Mar 6 02:29:14 2010 *************** *** 1,6 **** /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized" } */ ! /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized -fpie" { target { ! nonpic } } } */ int array[100]; --- 1,6 ---- /* { dg-do compile } */ /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized" } */ ! /* { dg-add-options bind_pic_locally } */ int array[100]; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/parm-impl-decl-3.c gcc-4.4.4/gcc/testsuite/gcc.dg/parm-impl-decl-3.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/parm-impl-decl-3.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/parm-impl-decl-3.c Sat Mar 27 11:46:07 2010 *************** *** 0 **** --- 1,28 ---- + /* Like parm-impl-decl-1.c, but with -g. PR 43381. */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-g" } */ + + int + foo (int __attribute__ ((__mode__ (vector_size(8)))) i) /* { dg-warning "'__mode__' attribute ignored" } */ + { + return (long long) i; + } + + int f (int [sizeof(g())]); + int f1 (int [sizeof(g1())]); + + int g () { return 1; } + + int + h (int (*p)[sizeof(i())]) + { + int g2 (), g3 (); + return (*p)[0] + g3() + g2(); + } + + int i () { return 2; } + + int f2 (int [sizeof(g2())]); + int f3 (int [sizeof(g3())]); + int g3 () { return 4; } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr42250.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr42250.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr42250.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr42250.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,68 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -fipa-type-escape" } */ + + extern double log10 (double __x); + extern double ceil (double __x); + extern double floor (double __x); + extern void free (void *__ptr); + extern void *my_malloc (unsigned int); + extern int num_rr_nodes; + static float get_cblock_trans (int *num_inputs_to_cblock, + int max_inputs_to_cblock, + float trans_cblock_to_lblock_buf, + float trans_sram_bit); + static float trans_per_mux (int num_inputs, float trans_sram_bit); + void + count_routing_transistors (int num_switch, float R_minW_nmos, + float R_minW_pmos) + { + int *num_inputs_to_cblock; + int iswitch, i, j, iseg, max_inputs_to_cblock; + float input_cblock_trans; + const float trans_sram_bit = 6.; + float trans_cblock_to_lblock_buf; + input_cblock_trans = + get_cblock_trans (num_inputs_to_cblock, max_inputs_to_cblock, + trans_cblock_to_lblock_buf, trans_sram_bit); + } + + static float + get_cblock_trans (int *num_inputs_to_cblock, int max_inputs_to_cblock, + float trans_cblock_to_lblock_buf, float trans_sram_bit) + { + float *trans_per_cblock; + float trans_count; + int i, num_inputs; + + trans_per_cblock = + (float *) my_malloc ((max_inputs_to_cblock + 1) * sizeof (float)); + for (i = 1; i <= max_inputs_to_cblock; i++) + trans_per_cblock[i] = + trans_per_mux (i, trans_sram_bit) + trans_cblock_to_lblock_buf; + for (i = 0; i < num_rr_nodes; i++) + { + num_inputs = num_inputs_to_cblock[i]; + trans_count += trans_per_cblock[num_inputs]; + } + free (trans_per_cblock); + return (trans_count); + } + + static float + trans_per_mux (int num_inputs, float trans_sram_bit) + { + int nlevels, ilevel, current_inps; + float ntrans = 0; + + if (num_inputs <= 1) + return (0); + nlevels = ceil (log10 (num_inputs) / log10 (2.) - 0.00001); + current_inps = num_inputs; + for (ilevel = 1; ilevel <= nlevels; ilevel++) + { + ntrans += 2 * floor (current_inps / 2.); + current_inps = ceil (current_inps / 2.); + } + ntrans += trans_sram_bit * nlevels; + return (ntrans); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr42388.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr42388.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr42388.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr42388.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,67 ---- + /* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ + /* { dg-options "-O2 -fselective-scheduling -fmodulo-sched" } */ + + enum rtx_code + { + INSN, ADDR_VEC, ADDR_DIFF_VEC, CALL_INSN, CODE_LABEL, BARRIER, NOTE + }; + typedef union rtunion_def + { + int rtint; + char *rtstr; + struct rtx_def *rtx; + struct rtvec_def *rtvec; + } + rtunion; + typedef struct rtx_def + { + unsigned short code; + rtunion fld[1]; + } + *rtx; + typedef struct rtvec_def + { + unsigned num_elem; + rtunion elem[1]; + } + *rtvec; + extern rtx emit_barrier (void); + extern rtx emit_note (char *); + + static void + copy_loop_body (rtx *map) + { + int i; + rtx insn, copy; + rtx pat = copy->fld[3].rtx; + + switch (insn->code) + { + case INSN: + if (insn->fld[7].rtx) + { + } + else if (pat->code == ADDR_VEC || pat->code == ADDR_DIFF_VEC) + { + int diff_vec_p = pat->code == ADDR_DIFF_VEC; + int len = pat->fld[diff_vec_p].rtvec->num_elem; + for (i = 0; i < len; i++) + pat->fld[diff_vec_p].rtvec->elem[i].rtx->fld[5].rtint++; + } + case CALL_INSN: + for (i = 0; i < 64; i++) + map[i] = 0; + case CODE_LABEL: + case BARRIER: + copy = emit_barrier (); + case NOTE: + copy = emit_note ("x"); + } + } + void + unroll_loop (int insn_count, rtx *map) + { + if (insn_count > 50) + copy_loop_body (map); + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr42427.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr42427.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr42427.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr42427.c Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,21 ---- + /* { dg-do assemble } */ + /* { dg-options "-O2 -fexceptions -fnon-call-exceptions -fpeel-loops" } */ + /* { dg-require-effective-target ilp32 } */ + + #include + + extern double myabs (complex double); + + void + test (double *help, complex double *wm, long nz) + { + long k; + double znew; + double zold; + for (k = 0; k < nz; k++) + { + znew = myabs (wm[k]); + zold = help[k]; + help[k] = znew; + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr42715.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr42715.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr42715.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr42715.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,59 ---- + /* { dg-do compile { target fpic } } */ + /* { dg-options "-fPIC -g -O2 -w" } */ + /* var-tracking failed to clobber the reg holding v at the asm insn, + so v ended up bound to an intermediate PIC expression. */ + + struct A { unsigned a1; char a2[15]; }; + struct B { long b1; unsigned char b2; long b3; }; + struct C { void *c1; unsigned c2; unsigned c3; }; + + static struct A v1; + struct A *const v2 = &v1; + + static inline + int foo (void) + { + int *v; + __asm__ __volatile__ ("" : "=r" (v)); + return v[1]; + } + + static void + bar (struct C *x) + { + if (x->c2 == x->c3 && x->c1) + f1 (foo (), x->c1, x->c3 * sizeof (x->c1[0])); + } + + void + baz (struct B *y) + { + int i; + const char *j; + char *k; + char x[64]; + for (i = 0; i < sizeof (struct B); i++, y) + { + switch (y->b2) + { + case 0x20: + if (__builtin_strchr (j, '=')) + continue; + } + switch (y->b2) + { + case 0x80: + bar (&x); + f2 (y->b3); + case 0x2e: + case 0x4e: + break; + default: + if (v2->a1) + f2 (y->b2); + } + k[0] = '\0'; + if (v2->a1) + f2 (y->b1); + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43211.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43211.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43211.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43211.c Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,15 ---- + /* { dg-do compile } */ + + struct T; + + struct S { + void (*bar)(struct S); + }; + + void bar(struct T t) {} /* { dg-error "" } */ + + void foo(struct S *s) + { + s->bar = bar; + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43280.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43280.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43280.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43280.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,30 ---- + /* { dg-do run } */ + /* { dg-require-effective-target stdint_types } */ + /* { dg-options "-O2" } */ + + #include + + extern void abort (void); + + uint64_t __attribute__((noinline)) + byteswap64(uint64_t x) + { + uint32_t a = x >> 32; + uint32_t b = (uint32_t) x; + return ((uint64_t) ((((((b)) >> (8)) | (((b)) << (32 - (8)))) & 0xff00ff00L) + | (((((b)) << (8)) | (((b)) >> (32 - (8)))) & 0x00ff00ffL)) << 32) + | (uint64_t) ((((((a)) >> (8)) | (((a)) << (32 - (8)))) & 0xff00ff00L) + | (((((a)) << (8)) | (((a)) >> (32 - (8)))) & 0x00ff00ffL)); + } + + int + main () + { + uint64_t in = (uint64_t)0x01020304 << 32 | 0x05060708; + uint64_t cmp = (uint64_t)0x08070605 << 32 | 0x04030201; + + if (cmp != byteswap64 (in)) + abort (); + + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43299.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43299.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43299.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43299.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,28 ---- + /* PR debug/43299 */ + /* { dg-do assemble } */ + /* { dg-options "-g -O2" } */ + + extern void *emit_insn (void *); + + __attribute__((noinline)) + void *gen_load_locked_si (void *x, void *y) + { + return x; + } + + __attribute__((noinline)) + void *gen_load_locked_di (void *x, void *y) + { + return x; + } + + void + emit_load_locked (int mode, void *reg, void *mem) + { + void * (*fn) (void *, void *) = ((void *)0); + if (mode == 9) + fn = gen_load_locked_si; + else if (mode == 10) + fn = gen_load_locked_di; + emit_insn (fn (reg, mem)); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43300.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43300.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43300.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43300.c Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,17 ---- + /* { dg-do compile } */ + /* { dg-options "-Os -w" } */ + typedef float V2SF __attribute__ ((vector_size (128))); + + V2SF + foo (int x, V2SF a) + { + V2SF b; + if (x & 42) + b = a; + else + b = a + (V2SF) {1.0f/0.0f - 1.0f/0.0f, 1.0f/0.0f - 1.0f/0.0f}; + while (x--) + a += b; + + return a; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43305.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43305.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43305.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43305.c Mon Mar 22 15:00:20 2010 *************** *** 0 **** --- 1,16 ---- + /* { dg-do compile } */ + /* { dg-options "-Os -ffast-math" } */ + extern int ilogbl(long double); + extern int printf(const char *format, ...); + + __attribute__((noinline)) + int foo(long double x) + { + return ilogbl(x); + } + + int main() + { + printf("%d\n", foo(100)); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43379.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43379.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43379.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43379.c Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,11 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -ftracer -w" } */ + + void *foo(int i, int *p) + { + lab: + if (p) *p = i; + goto *p; + return &&lab; + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43402.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43402.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43402.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43402.c Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,58 ---- + /* { dg-do run } */ + /* { dg-options "-O1 -fno-inline" } */ + extern void abort (void); + + static int something; + + static int * converterData[2]={ + &something, &something, + }; + + static struct { + const char *name; + int type; + } const cnvNameType[] = { + { "bocu1", 1 }, + { "utf7", 1 }, + { "utf8", 1 } + }; + + + const int * getAlgorithmicTypeFromName(const char *realName); + const int * + getAlgorithmicTypeFromName(const char *realName) + { + unsigned mid, start, limit; + unsigned lastMid; + int result; + start = 0; + limit = sizeof(cnvNameType)/sizeof(cnvNameType[0]); + mid = limit; + lastMid = 0xffffffff; + + for (;;) { + mid = (start + limit) / 2; + if (lastMid == mid) { /* Have we moved? */ + break; /* We haven't moved, and it wasn't found. */ + } + lastMid = mid; + result = __builtin_strcmp(realName, cnvNameType[mid].name); + + if (result < 0) { + limit = mid; + } else if (result > 0) { + start = mid; + } else { + return converterData[cnvNameType[mid].type]; + } + } + + return 0; + } + + int main (void) + { + if (!getAlgorithmicTypeFromName ("utf8")) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43419.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43419.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43419.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43419.c Mon Mar 22 14:58:00 2010 *************** *** 0 **** --- 1,19 ---- + /* { dg-do run } */ + /* { dg-options "-O1" } */ + /* { dg-options "-mieee -O1" { target alpha*-*-* sh*-*-* } } */ + #include + + extern void abort (void); + void __attribute__((noinline)) f (double x) + { + double pluszero = pow (x, 0.5); + double minuszero = sqrt (x); + if (signbit (pluszero) == signbit (minuszero)) + abort (); + } + + int main(void) + { + f (-0.0); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43562.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43562.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43562.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43562.c Wed Mar 31 02:51:31 2010 *************** *** 0 **** --- 1,20 ---- + /* { dg-options "-O0" } */ + /* { dg-do compile } */ + + extern unsigned foo (void); + extern void bar (void); + + __attribute__ ((optimize ("O2"))) + void bak () + { + unsigned a; + while (1) + { + a = foo (); + while (a) + { + a &= 1; + bar (); + } + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/pr43643.c gcc-4.4.4/gcc/testsuite/gcc.dg/pr43643.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/pr43643.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/pr43643.c Thu Apr 8 15:09:17 2010 *************** *** 0 **** --- 1,24 ---- + /* Contributed by Jürgen Keil */ + + /* { dg-do run } */ + /* { dg-require-profiling "-pg" } */ + /* { dg-options "-O2 -pg" } */ + + extern char *strdup (const char *); + + void + func(char *a, char *b, char *c) + { + strdup(a); + strdup(b); + strdup(c); + } + + int + main(void) + { + func("a", "b", "c"); + return 0; + } + + /* { dg-final { cleanup-profile-file } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42363.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42363.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42363.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42363.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,84 ---- + /* PR middle-end/pr42363, extended from the test for PR middle-end/37913. */ + /* { dg-do compile } */ + /* { dg-options "-g" } */ + + void foo (void) __attribute__ ((noreturn)); + + static int __attribute__ ((noreturn)) + bar (void) + { + foo (); + } + + int + baz (void) + { + int i = bar (); + return i + 1; + } + + int fooz (void) __attribute__ ((noreturn)); + + static int __attribute__ ((noreturn)) + bart (void) + { + return fooz (); /* { dg-warning "noreturn" } */ + } + + int bazr (void) + { + int i = bart (); + return i + 1; + } + + static inline int + bard (void) + { + return fooz (); + } + + int bizr (void) + { + int i, j; + + i = j = bard (); + + return i + 1; + } + + /* This might be regarded as pure and folded, rather than inlined. + It's pure evil. */ + static int __attribute__ ((pure, const, noreturn)) + barf (void) + { + } /* { dg-warning "does return" } */ + + static int __attribute__ ((pure, const)) + bark (void) + { + barf (); + } + + int buzr (void) + { + int i, j; + + i = j = bark () + bark (); + + return i + 1; + } + + int buzt (void) + { + int i, j; + + i = j = barf () + barf (); + + return i + 1; + } + + void bust (void) + { + while (barf ()) + ; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42898-2.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42898-2.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42898-2.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42898-2.c Sun Jan 31 21:06:20 2010 *************** *** 0 **** --- 1,25 ---- + /* { dg-do compile } */ + /* { dg-options "-fdump-tree-optimized" } */ + + struct hardware { + int parm1:8; + int :4; + int parm2:4; + int parm3:15; + int parm4:1; + }; + + const struct hardware h = { + .parm1=42, + .parm2=13, + .parm3=11850, + .parm4=1, + }; + + void f1(volatile struct hardware *ptr) + { + *ptr = h; + } + + /* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */ + /* { dg-final { cleanup-tree-dump "optimized" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42898.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42898.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42898.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42898.c Sun Jan 31 17:04:29 2010 *************** *** 0 **** --- 1,23 ---- + /* { dg-do compile } */ + /* { dg-options "-fdump-tree-optimized" } */ + + struct hardware { + int parm1:8; + int :4; + int parm2:4; + int parm3:15; + int parm4:1; + }; + + void f1(volatile struct hardware *ptr) + { + *ptr=(struct hardware) { + .parm1=42, + .parm2=13, + .parm3=11850, + .parm4=1, + }; + } + + /* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */ + /* { dg-final { cleanup-tree-dump "optimized" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42952.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42952.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr42952.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr42952.c Thu Feb 4 16:18:01 2010 *************** *** 0 **** --- 1,19 ---- + /* { dg-do run } */ + /* { dg-options "-fno-tree-ccp -fno-tree-fre" } */ + + extern void abort (void); + + static int g[1]; + + static int * const p = &g[0]; + static int * const q = &g[0]; + + int main(void) + { + g[0] = 1; + *p = 0; + *p = *q; + if (g[0] != 0) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43000.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43000.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43000.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43000.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,24 ---- + /* { dg-do run } */ + /* { dg-options "-fwrapv" } */ + + int __attribute__((noinline)) + foo (long i, long j) + { + if (i >= 1) + if (j > -(long)(((unsigned long)(long)-1)>>1)) + { + long x; + j--; + x = i + j; + if (x >= 0) + return 1; + } + return 0; + } + extern void abort (void); + int main() + { + if (foo (1, 1) != 1) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43002.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43002.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43002.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43002.c Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,16 ---- + /* { dg-do compile } */ + /* { dg-options "-Wall -fwrapv" } */ + + long A[4], B[100]; + + void foo(void) + { + int i, j, k = 3; + while (A[k] && k > 0) k--; /* k = {0, 1, 2, 3} */ + for (i = 3 - k; i >= 0; i--) /* i = {0..3-k} */ + for (j = 0; j <= k; j++) { /* line 8; j = {0..k} */ + B[i + j] = 0; /* line 9; i + j = {0..3-k+k} = {0..3} */ + for (j = 0; j <= k; j++); /* only one iteration is done, with j == 0 */ + } + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43165.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43165.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43165.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43165.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,17 ---- + /* PR debug/43165 */ + /* { dg-options "-g" } */ + + struct __attribute__((packed)) S + { + unsigned char a; + unsigned short b; + unsigned short c; + unsigned d : 24; + }; + + void + foo (struct S p) + { + for (; p.c; p.c++) + ; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43360.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43360.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43360.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43360.c Thu Mar 18 13:15:21 2010 *************** *** 0 **** --- 1,20 ---- + /* { dg-do run } */ + + int l_5_5_2 = 4; + int g_3[1][1]; + + void func_1 (void) + { + for (g_3[0][0] = 1; g_3[0][0] < 8; g_3[0][0] += 7) { + int *l_6 = &g_3[0][0]; + *l_6 = l_5_5_2; + } + } + + int main (void) + { + func_1 (); + if (g_3[0][0] != 11) + __builtin_abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43560.c gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43560.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/torture/pr43560.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/torture/pr43560.c Thu Apr 8 11:31:00 2010 *************** *** 0 **** --- 1,34 ---- + /* { dg-do run } */ + /* { dg-require-weak "" } */ + + int g_6[1][2] = {{1,1}}; + int g_34 = 0; + int *const g_82 = &g_6[0][1]; + int *g_85[2][1] __attribute__((weak)); + + void __attribute__((noinline)) + func_4 (int x) + { + int i; + for (i = 0; i <= x; i++) { + if (g_6[0][1]) { + *g_82 = 1; + } else { + int **l_109 = &g_85[1][0]; + if (&g_82 != l_109) { + } else { + *l_109 = &g_6[0][1]; + } + *g_82 = 1; + } + } + } + + int main (void) + { + g_85[0][0] = &g_34; + g_85[1][0] = &g_34; + func_4(1); + return 0; + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/tree-ssa/inline-4.c gcc-4.4.4/gcc/testsuite/gcc.dg/tree-ssa/inline-4.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/tree-ssa/inline-4.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/tree-ssa/inline-4.c Sat Mar 6 02:29:14 2010 *************** *** 0 **** --- 1,27 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -fdump-tree-einline2" } */ + /* { dg-add-options bind_pic_locally } */ + + extern int rand(void); + + int get_data_for (int id) + { + return rand(); + } + + int my_id; + + int main() + { + int res = get_data_for (my_id); + switch (res) + { + case 0: + return 666; + default: + return -1; + } + } + + /* { dg-final { scan-tree-dump "Inlining get_data_for into main" "einline2" } } */ + /* { dg-final { cleanup-tree-dump "einline2" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c gcc-4.4.4/gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,8 ---- + /* { dg-do compile } */ + /* { dg-options "-O1" } */ + void foo(int *p, long i, int j) + { + do { + p[i]++; + } while (i += j); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/tree-ssa/pr42585.c gcc-4.4.4/gcc/testsuite/gcc.dg/tree-ssa/pr42585.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/tree-ssa/pr42585.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/tree-ssa/pr42585.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,37 ---- + /* { dg-do compile } */ + /* { dg-options "-O1 -fdump-tree-optimized" } */ + + struct _fat_ptr + { + unsigned char *curr; + unsigned char *base; + unsigned char *last_plus_one; + }; + int Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr); + int + Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr) + { + struct _fat_ptr *_T0; + struct _fat_ptr *_T1; + struct _fat_ptr _T2; + int _T3; + struct _fat_ptr _ans; + int _change; + + { + _T0 = sptr; + _T1 = sptr; + _T2 = *sptr; + _T3 = -1; + _ans = _T2; + _change = -1; + _ans.curr += 4294967295U; + *sptr = _ans; + return (0); + } + } + + /* The local aggregates . */ + /* { dg-final { scan-tree-dump-times "struct _fat_ptr _ans" 0 "optimized"} } */ + /* { dg-final { scan-tree-dump-times "struct _fat_ptr _T2" 0 "optimized"} } */ + /* { dg-final { cleanup-tree-dump "optimized" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c gcc-4.4.4/gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c Tue Feb 16 11:41:55 2010 *************** *** 0 **** --- 1,16 ---- + /* { dg-do compile } */ + + float + pvslockprocess(float *fout, float *fin, int framesize) + { + int i; + float mag=0.0f, diff; + for (i = 0; i < framesize; i += 2) { + mag += fin[i]; + fout[i] = fin[i]; + fout[i+1] = fin[i+1]; + } + return mag; + } + + /* { dg-final { cleanup-tree-dump "vect" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/vect/pr42395.c gcc-4.4.4/gcc/testsuite/gcc.dg/vect/pr42395.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/vect/pr42395.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/vect/pr42395.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,10 ---- + /* PR debug/42395 */ + /* { dg-do compile } */ + /* { dg-options "-O3 -ftree-vectorize -g" } */ + + void foo(int j, int *A) + { + int i; + for (i = 0; i < j; i ++) A[i] = i; + for (; i < 4096; i ++) A[i] = 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/vect/pr42604.c gcc-4.4.4/gcc/testsuite/gcc.dg/vect/pr42604.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/vect/pr42604.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/vect/pr42604.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,35 ---- + /* PR debug/42604 */ + /* { dg-do compile } */ + /* { dg-options "-O3 -ftree-vectorize -g -ffast-math" } */ + + unsigned *d; + unsigned short e; + int f; + float h[3][4]; + + void + test (unsigned short *b) + { + int a, c, i; + float g[3]; + unsigned j[32] = { 10, 0x63707274 }; + for (i = 0; i < (int) j[0]; i++) + { + j[i * 3 + 2] = d[0]; + d[0] += (j[i * 3 + 3] + 3) & -4; + } + for (a = 0; a < e; a++) + { + g[0] = g[1] = g[2] = 0; + for (c = 0; c < f; c++) + { + g[0] += h[0][c] * b[c]; + g[1] += h[1][c] * b[c]; + } + for (c = 0; c < 3; c++) + b[c] = 0 > ((int) g[c] < 65535 ? ((int) g[c]) : 65535) + ? 0 : ((int) g[c]) < 65535 ? (int) g[c] : 65535; + } + } + + /* { dg-final { cleanup-tree-dump "vect" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/vect/pr42709.c gcc-4.4.4/gcc/testsuite/gcc.dg/vect/pr42709.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/vect/pr42709.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/vect/pr42709.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,28 ---- + /* { dg-do compile } */ + /* { dg-require-effective-target vect_int } */ + + #include + #include "tree-vect.h" + + #define N 128 + + int *res[N]; + + int + main1 (int *a, int *b, int *c, int *d, int dummy) + { + int i; + + for (i = 0; i < N/2; i+=4) + { + res[i] = a + 16; + res[i+1] = b + 16; + res[i+2] = c + 16; + res[i+3] = d + 16; + if (dummy == 32) + abort (); + } + } + + /* { dg-final { cleanup-tree-dump "vect" } } */ + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.dg/vla-22.c gcc-4.4.4/gcc/testsuite/gcc.dg/vla-22.c *** gcc-4.4.3/gcc/testsuite/gcc.dg/vla-22.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.dg/vla-22.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,22 ---- + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + extern void bar (int *); + + static inline __attribute__((always_inline)) + int + foo (int i) + { + struct S { + int ar[1][i]; + } s; + + s.ar[0][0] = 0; + bar (&s.ar[0][0]); + } + + void + baz (int i) + { + foo (i + 2); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lowf32 (void) { ! float32x2_t out_float32x2_t; float32x4_t arg0_float32x4_t; out_float32x2_t = vget_low_f32 (arg0_float32x4_t); --- 9,15 ---- void test_vget_lowf32 (void) { ! register float32x2_t out_float32x2_t asm ("d18"); float32x4_t arg0_float32x4_t; out_float32x2_t = vget_low_f32 (arg0_float32x4_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lowp16 (void) { ! poly16x4_t out_poly16x4_t; poly16x8_t arg0_poly16x8_t; out_poly16x4_t = vget_low_p16 (arg0_poly16x8_t); --- 9,15 ---- void test_vget_lowp16 (void) { ! register poly16x4_t out_poly16x4_t asm ("d18"); poly16x8_t arg0_poly16x8_t; out_poly16x4_t = vget_low_p16 (arg0_poly16x8_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lowp8 (void) { ! poly8x8_t out_poly8x8_t; poly8x16_t arg0_poly8x16_t; out_poly8x8_t = vget_low_p8 (arg0_poly8x16_t); --- 9,15 ---- void test_vget_lowp8 (void) { ! register poly8x8_t out_poly8x8_t asm ("d18"); poly8x16_t arg0_poly8x16_t; out_poly8x8_t = vget_low_p8 (arg0_poly8x16_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows16.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lows16 (void) { ! int16x4_t out_int16x4_t; int16x8_t arg0_int16x8_t; out_int16x4_t = vget_low_s16 (arg0_int16x8_t); --- 9,15 ---- void test_vget_lows16 (void) { ! register int16x4_t out_int16x4_t asm ("d18"); int16x8_t arg0_int16x8_t; out_int16x4_t = vget_low_s16 (arg0_int16x8_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows32.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lows32 (void) { ! int32x2_t out_int32x2_t; int32x4_t arg0_int32x4_t; out_int32x2_t = vget_low_s32 (arg0_int32x4_t); --- 9,15 ---- void test_vget_lows32 (void) { ! register int32x2_t out_int32x2_t asm ("d18"); int32x4_t arg0_int32x4_t; out_int32x2_t = vget_low_s32 (arg0_int32x4_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows64.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows64.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows64.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows64.c Mon Jan 25 12:29:25 2010 *************** void test_vget_lows64 (void) *** 15,19 **** out_int64x1_t = vget_low_s64 (arg0_int64x2_t); } - /* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ /* { dg-final { cleanup-saved-temps } } */ --- 15,18 ---- diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lows8.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lows8 (void) { ! int8x8_t out_int8x8_t; int8x16_t arg0_int8x16_t; out_int8x8_t = vget_low_s8 (arg0_int8x16_t); --- 9,15 ---- void test_vget_lows8 (void) { ! register int8x8_t out_int8x8_t asm ("d18"); int8x16_t arg0_int8x16_t; out_int8x8_t = vget_low_s8 (arg0_int8x16_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lowu16 (void) { ! uint16x4_t out_uint16x4_t; uint16x8_t arg0_uint16x8_t; out_uint16x4_t = vget_low_u16 (arg0_uint16x8_t); --- 9,15 ---- void test_vget_lowu16 (void) { ! register uint16x4_t out_uint16x4_t asm ("d18"); uint16x8_t arg0_uint16x8_t; out_uint16x4_t = vget_low_u16 (arg0_uint16x8_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lowu32 (void) { ! uint32x2_t out_uint32x2_t; uint32x4_t arg0_uint32x4_t; out_uint32x2_t = vget_low_u32 (arg0_uint32x4_t); --- 9,15 ---- void test_vget_lowu32 (void) { ! register uint32x2_t out_uint32x2_t asm ("d18"); uint32x4_t arg0_uint32x4_t; out_uint32x2_t = vget_low_u32 (arg0_uint32x4_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c Mon Jan 25 12:29:25 2010 *************** void test_vget_lowu64 (void) *** 15,19 **** out_uint64x1_t = vget_low_u64 (arg0_uint64x2_t); } - /* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */ /* { dg-final { cleanup-saved-temps } } */ --- 15,18 ---- diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c Wed Jul 25 12:28:31 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c Mon Jan 25 12:29:25 2010 *************** *** 9,15 **** void test_vget_lowu8 (void) { ! uint8x8_t out_uint8x8_t; uint8x16_t arg0_uint8x16_t; out_uint8x8_t = vget_low_u8 (arg0_uint8x16_t); --- 9,15 ---- void test_vget_lowu8 (void) { ! register uint8x8_t out_uint8x8_t asm ("d18"); uint8x16_t arg0_uint8x16_t; out_uint8x8_t = vget_low_u8 (arg0_uint8x16_t); diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/pr40887.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/pr40887.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/pr40887.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/pr40887.c Thu Feb 18 13:13:03 2010 *************** *** 0 **** --- 1,9 ---- + /* { dg-options "-O2 -march=armv5te" } */ + /* { dg-final { scan-assembler "blx" } } */ + + int (*indirect_func)(); + + int indirect_call() + { + return indirect_func(); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/sibcall-1.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/sibcall-1.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/sibcall-1.c Fri Jul 6 16:57:19 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/sibcall-1.c Sat Mar 13 01:56:15 2010 *************** int main(int argc, const char *argv[]) *** 30,34 **** return result; } ! /* { dg-final { scan-assembler "\tb\tfunc2\n" } } */ --- 30,35 ---- return result; } ! /* The PLT marker may appear if the test is run with -fpic/-fPIC. */ ! /* { dg-final { scan-assembler "\tb\tfunc2(\\(PLT\\))?\n" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/arm/thumb2-cbnz.c gcc-4.4.4/gcc/testsuite/gcc.target/arm/thumb2-cbnz.c *** gcc-4.4.3/gcc/testsuite/gcc.target/arm/thumb2-cbnz.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/arm/thumb2-cbnz.c Wed Feb 24 14:50:43 2010 *************** *** 0 **** --- 1,110 ---- + /* { dg-do assemble } */ + /* { dg-options "-O1 -mthumb -march=armv7-a" } */ + + typedef short int int16_t; + typedef unsigned char uint8_t; + struct component + { + float *Q_table; + }; + static inline unsigned char descale_and_clamp(int x, int shift) + { + x += (1UL<<(shift-1)); + if (x<0) + x = (x >> shift) | ((~(0UL)) << (32-(shift))); + x >>= shift; + x += 128; + if (x>255) + return 255; + else if (x<0) + return 0; + return x; + } + void + tinyjpeg_idct_float (struct component *compptr, uint8_t *output_buf, int stride) + { + float tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; + float tmp10, tmp11, tmp12, tmp13; + float z5, z10, z11, z12, z13; + int16_t *inptr; + float *quantptr; + float *wsptr; + uint8_t *outptr; + int ctr; + float workspace[(8*8)]; + quantptr = compptr->Q_table; + wsptr = workspace; + for (ctr = 8; ctr > 0; ctr--) { + if (inptr[8*1] == 0 && inptr[8*2] == 0 && + inptr[8*3] == 0 && inptr[8*4] == 0 && + inptr[8*5] == 0 && inptr[8*6] == 0 && + inptr[8*7] == 0) { + float dcval = (((float) (inptr[8*0])) * (quantptr[8*0])); + wsptr[8*0] = dcval; + wsptr[8*1] = dcval; + wsptr[8*2] = dcval; + wsptr[8*3] = dcval; + wsptr[8*4] = dcval; + wsptr[8*5] = dcval; + wsptr[8*6] = dcval; + wsptr[8*7] = dcval; + inptr++; + quantptr++; + wsptr++; + continue; + } + tmp0 = (((float) (inptr[8*0])) * (quantptr[8*0])); + tmp1 = (((float) (inptr[8*2])) * (quantptr[8*2])); + tmp2 = (((float) (inptr[8*4])) * (quantptr[8*4])); + tmp3 = (((float) (inptr[8*6])) * (quantptr[8*6])); + tmp10 = tmp0 + tmp2; + tmp11 = tmp0 - tmp2; + tmp13 = tmp1 + tmp3; + tmp12 = (tmp1 - tmp3) * ((float) 1.414213562) - tmp13; + tmp0 = tmp10 + tmp13; + tmp3 = tmp10 - tmp13; + tmp1 = tmp11 + tmp12; + tmp2 = tmp11 - tmp12; + tmp4 = (((float) (inptr[8*1])) * (quantptr[8*1])); + tmp5 = (((float) (inptr[8*3])) * (quantptr[8*3])); + tmp6 = (((float) (inptr[8*5])) * (quantptr[8*5])); + tmp7 = (((float) (inptr[8*7])) * (quantptr[8*7])); + z13 = tmp6 + tmp5; + z10 = tmp6 - tmp5; + z11 = tmp4 + tmp7; + z12 = tmp4 - tmp7; + tmp7 = z11 + z13; + tmp11 = (z11 - z13) * ((float) 1.414213562); + z5 = (z10 + z12) * ((float) 1.847759065); + tmp10 = ((float) 1.082392200) * z12 - z5; + tmp12 = ((float) -2.613125930) * z10 + z5; + tmp6 = tmp12 - tmp7; + tmp5 = tmp11 - tmp6; + tmp4 = tmp10 + tmp5; + wsptr[8*0] = tmp0 + tmp7; + wsptr[8*7] = tmp0 - tmp7; + wsptr[8*1] = tmp1 + tmp6; + wsptr[8*2] = tmp2 + tmp5; + wsptr[8*5] = tmp2 - tmp5; + wsptr[8*4] = tmp3 + tmp4; + wsptr[8*3] = tmp3 - tmp4; + inptr++; + quantptr++; + wsptr++; + } + for (ctr = 0; ctr < 8; ctr++) { + tmp11 = wsptr[0] - wsptr[4]; + tmp12 = (wsptr[2] - wsptr[6]) * ((float) 1.414213562) - tmp13; + tmp0 = tmp10 + tmp13; + tmp1 = tmp11 + tmp12; + z10 = wsptr[5] - wsptr[3]; + tmp12 = ((float) -2.613125930) * z10 + z5; + tmp6 = tmp12 - tmp7; + outptr[0] = descale_and_clamp((int)(tmp0 + tmp7), 3); + outptr[7] = descale_and_clamp((int)(tmp0 - tmp7), 3); + outptr[1] = descale_and_clamp((int)(tmp1 + tmp6), 3); + outptr[6] = descale_and_clamp((int)(tmp1 - tmp6), 3); + outptr[2] = descale_and_clamp((int)(tmp2 + tmp5), 3); + outptr += stride; + } + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/clobbers.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/clobbers.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/clobbers.c Wed Aug 22 09:59:14 2007 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/clobbers.c Wed Mar 10 20:35:31 2010 *************** *** 1,7 **** /* Test asm clobbers on x86. */ /* { dg-do run } */ - /* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */ extern void abort (void); --- 1,6 ---- *************** int main () *** 13,23 **** abort (); /* On darwin you can't call external functions from non-pic code, however, clobbering ebx isn't valid in pic code. Instead of ! disabling the whole test, just disable the ebx clobbering part. */ #if !(defined (__MACH__)) __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx"); if (i != 1) abort (); #endif __asm__ ("movl $1,%0\n\txorl %%ecx,%%ecx" : "=r" (i) : : "ecx"); if (i != 1) --- 12,26 ---- abort (); /* On darwin you can't call external functions from non-pic code, however, clobbering ebx isn't valid in pic code. Instead of ! disabling the whole test, just disable the ebx clobbering part. ! Ditto for any x86 system that is ilp32 && pic. ! */ #if !(defined (__MACH__)) + #if ! defined (__PIC__) || defined (__LP64__) __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx"); if (i != 1) abort (); + #endif /* ! pic || lp64 */ #endif __asm__ ("movl $1,%0\n\txorl %%ecx,%%ecx" : "=r" (i) : : "ecx"); if (i != 1) diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr42881.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr42881.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr42881.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr42881.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,13 ---- + /* PR target/42881 */ + /* { dg-do run } */ + /* { dg-options "-O0 -msse2" } */ + #include "sse2-check.h" + static void + sse2_test (void) + { + double a[2]; + __m128d x = _mm_set1_pd(3); + _mm_storeu_pd(a,x); + if (a[0] != 3.0 || a[1] != 3.0) + __builtin_abort (); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr42891.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr42891.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr42891.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr42891.c Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,13 ---- + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + union B { int i; float f; }; + + extern void bar (void); + + void + foo (union B x, union B y) + { + if (!(y.f > x.i)) + bar (); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43107.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43107.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43107.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43107.c Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,20 ---- + /* PR target/43107 */ + /* { dg-do compile } */ + /* { dg-options "-O3 -mavx" } */ + + extern void bar (float b[4][4]); + + void + foo () + { + float a[4][4], b[4][4]; + int i, j; + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + a[i][j] = 0; + for (j = 0; j < 4; j++) + b[i][j] = a[i][j]; + } + bar (b); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43524.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43524.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43524.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43524.c Wed Mar 31 18:09:04 2010 *************** *** 0 **** --- 1,9 ---- + /* { dg-do compile } */ + /* { dg-options "-mstack-arg-probe" } */ + + extern void bar (void); + + void foo (int i) + { + bar (); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43528.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43528.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43528.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43528.c Wed Mar 31 18:09:04 2010 *************** *** 0 **** --- 1,5 ---- + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ + /* { dg-options "-mms-bitfields" } */ + + struct S { int i[(1LL << 60) - 1]; }; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43638.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43638.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43638.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43638.c Tue Apr 6 11:07:09 2010 *************** *** 0 **** --- 1,9 ---- + /* PR target/43638 */ + /* { dg-do compile } */ + + void + foo (void) + { + int x; + __asm __volatile ("mov $0,%e0" : "=r" (x)); /* { dg-error "invalid operand code" } */ + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43662.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43662.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43662.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43662.c Mon Apr 19 10:06:13 2010 *************** *** 0 **** --- 1,24 ---- + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2" } */ + + void __attribute__ ((ms_abi)) foo (void) + { + } + + typedef struct _IAVIStreamImpl + { + int sInfo; + int has; + } IAVIStreamImpl; + + extern int __attribute__ ((ms_abi)) aso (void *); + extern int sre (void *); + + int AVIFILE_OpenCompressor (IAVIStreamImpl *This) + { + if (This->has != 0) + aso (&This->has); + sre (&This->sInfo); + return 0; + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43668.c gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43668.c *** gcc-4.4.3/gcc/testsuite/gcc.target/i386/pr43668.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/i386/pr43668.c Wed Apr 7 21:48:51 2010 *************** *** 0 **** --- 1,10 ---- + /* PR target/43668 */ + /* { dg-do run } */ + /* { dg-options "-fschedule-insns" } */ + + int foo(int i, ...) { + return i; + } + int main() { + return foo(0, 0.0); + } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c gcc-4.4.4/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c *** gcc-4.4.3/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c Sat Jun 7 18:00:15 2008 --- gcc-4.4.4/gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c Sun Mar 21 19:41:58 2010 *************** *** 1,5 **** --- 1,6 ---- /* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-eabi* } } } } */ /* { dg-options "-O2 -fno-common -G 8 -meabi -msdata=eabi" } */ + /* { dg-require-effective-target nonpic } */ /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */ /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata2," } } */ /* { dg-final { scan-assembler "sdat@sda21\\((13|0)\\)" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c gcc-4.4.4/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c *** gcc-4.4.3/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c Sat Jun 7 18:00:15 2008 --- gcc-4.4.4/gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c Sun Mar 21 19:41:58 2010 *************** *** 1,5 **** --- 1,6 ---- /* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-eabi* } } } } */ /* { dg-options "-O2 -fno-common -G 8 -msdata=sysv" } */ + /* { dg-require-effective-target nonpic } */ /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */ /* { dg-final { scan-assembler-not "\\.section\[ \t\]\\.sdata2," } } */ /* { dg-final { scan-assembler "sdat@sdarel\\(13\\)" } } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/s390/stackcheck1.c gcc-4.4.4/gcc/testsuite/gcc.target/s390/stackcheck1.c *** gcc-4.4.3/gcc/testsuite/gcc.target/s390/stackcheck1.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/s390/stackcheck1.c Tue Apr 6 07:15:03 2010 *************** *** 0 **** --- 1,14 ---- + /* The automatically chosen stack guard value caused an ICE in that + case. */ + + /* { dg-do compile } */ + /* { dg-options "-O2 -mstack-size=4096" } */ + + extern void bar (char *); + + void + foo () + { + char a[2500]; + bar (a); + } /* { dg-warning "more than half" } */ diff -Nrcpad gcc-4.4.3/gcc/testsuite/gcc.target/sh/pr43417.c gcc-4.4.4/gcc/testsuite/gcc.target/sh/pr43417.c *** gcc-4.4.3/gcc/testsuite/gcc.target/sh/pr43417.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gcc.target/sh/pr43417.c Sat Apr 10 15:14:13 2010 *************** *** 0 **** --- 1,36 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -m4" } */ + + int pid_count = 0; + main (int argc, char *argv[]) + { + unsigned int c; + unsigned long long maxbytes = 0; + extern char *optarg; + int i; + int pid_cntr; + int pid; + int pid_list[1000]; + while ((c = getopt (argc, argv, "c:b:p:wvh")) != (-1)) + { + switch ((char) c) + { + case 'b': + maxbytes = atoll (optarg); + } + } + pid = fork (); + while ((pid != 0) && (maxbytes > 1024 * 1024 * 1024)) + { + maxbytes = maxbytes - (1024 * 1024 * 1024); + pid = fork (); + if (pid != 0) + pid_cntr++; + pid_list[i] = pid; + } + while ((pid_count < pid_cntr)) + { + } + kill (pid_list[i], 9); + } + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 Mon Nov 24 06:34:16 2008 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 Sun Jan 31 14:57:13 2010 *************** *** 1,5 **** ! { dg-do run } ! ! { dg-options "-O2 -fdump-tree-original" } ! ! Check some basic functionality of allocatable components, including that they ! are nullified when created and automatically deallocated when --- 1,5 ---- ! { dg-do run } ! ! { dg-options "-fdump-tree-original" } ! ! Check some basic functionality of allocatable components, including that they ! are nullified when created and automatically deallocated when diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 Sun Jan 31 14:57:13 2010 *************** *** 0 **** --- 1,50 ---- + ! { dg-do run } + ! Test the fix for PR38324, in which the bounds were not set correctly for + ! constructor assignments with allocatable components. + ! + ! Contributed by Dominique d'Humieres + ! + integer, parameter :: ik4 = 4 + integer, parameter :: ik8 = 8 + integer, parameter :: from = -1, to = 2 + call foo + call bar + contains + subroutine foo + type :: struct + integer(4), allocatable :: ib(:) + end type struct + integer(ik4), allocatable :: ia(:) + type(struct) :: x + allocate(ia(from:to)) + if (any(lbound(ia) .ne. -1) .or. any(ubound(ia) .ne. 2)) call abort + if (any(lbound(ia(:)) .ne. 1) .or. any(ubound(ia(:)) .ne. 4)) call abort + if (any(lbound(ia(from:to)) .ne. 1) .or. any(ubound(ia(from:to)) .ne. 4)) call abort + x=struct(ia) + if (any(lbound(x%ib) .ne. -1) .or. any(ubound(x%ib) .ne. 2)) call abort + x=struct(ia(:)) + if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort + x=struct(ia(from:to)) + if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort + deallocate(ia) + end subroutine + subroutine bar + type :: struct + integer(4), allocatable :: ib(:) + end type struct + integer(ik8), allocatable :: ia(:) + type(struct) :: x + allocate(ia(from:to)) + if (any(lbound(ia) .ne. -1) .or. any(ubound(ia) .ne. 2)) call abort + if (any(lbound(ia(:)) .ne. 1) .or. any(ubound(ia(:)) .ne. 4)) call abort + if (any(lbound(ia(from:to)) .ne. 1) .or. any(ubound(ia(from:to)) .ne. 4)) call abort + x=struct(ia) + if (any(lbound(x%ib) .ne. -1) .or. any(ubound(x%ib) .ne. 2)) call abort + x=struct(ia(:)) + if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort + x=struct(ia(from:to)) + if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort + deallocate(ia) + end subroutine + end + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/array_constructor_35.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/array_constructor_35.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/array_constructor_35.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/array_constructor_35.f90 Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,9 ---- + ! { dg-do compile } + ! PR42999 bogus error: Parameter 'i' at (1) has not been declared + ! or is a variable, which does not reduce to a constant expression + TYPE DD + INTEGER :: I + END TYPE DD + TYPE(DD) :: X(2)=(/(DD(I),I=1,2)/) + END + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/bounds_check_15.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/bounds_check_15.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/bounds_check_15.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/bounds_check_15.f90 Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,33 ---- + ! { dg-do run } + ! { dg-options "-fbounds-check" } + ! Test the fix for PR42783, in which a bogus array bounds violation + ! with missing optional array argument. + ! + ! Contributed by Harald Anlauf + ! + program gfcbug99 + implicit none + character(len=8), parameter :: mnem_list(2) = "A" + + call foo (mnem_list) ! This call succeeds + call foo () ! This call fails + contains + subroutine foo (mnem_list) + character(len=8) ,intent(in) ,optional :: mnem_list(:) + + integer :: i,j + character(len=256) :: ml + ml = '' + j = 0 + if (present (mnem_list)) then + do i = 1, size (mnem_list) + if (mnem_list(i) /= "") then + j = j + 1 + if (j > len (ml)/8) call abort () + ml((j-1)*8+1:(j-1)*8+8) = mnem_list(i) + end if + end do + end if + if (j > 0) print *, trim (ml(1:8)) + end subroutine foo + end program gfcbug99 diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/c_assoc_3.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/c_assoc_3.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/c_assoc_3.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/c_assoc_3.f90 Thu Mar 11 11:10:37 2010 *************** *** 0 **** --- 1,13 ---- + ! { dg-do compile } + ! + ! PR fortran/43303 + ! + ! Contributed by Dennis Wassel + ! + PROGRAM c_assoc + use iso_c_binding + type(c_ptr) :: x + x = c_null_ptr + print *, C_ASSOCIATED(x) ! <<< was ICEing here + if (C_ASSOCIATED(x)) call abort () + END PROGRAM c_assoc diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/char_array_arg_1.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/char_array_arg_1.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/char_array_arg_1.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/char_array_arg_1.f90 Sat Jan 30 21:12:59 2010 *************** *** 0 **** --- 1,17 ---- + ! { dg-do compile } + ! Test the fix for pr41167, in which the first argument of 'pack', below, + ! was simplified incorrectly, with the results indicated. + ! + ! Contributed by Harald Anlauf + ! + program gfcbug88 + implicit none + type t + character(len=8) :: name + end type t + type(t) ,parameter :: obstyp(2)= (/ t ('A'), t ('B') /) + character(9) :: chr(1) + + print *, pack (" "//obstyp(:)% name, (/ .true., .false. /)) ! Used to ICE on compilation + chr = pack (" "//obstyp(:)% name, (/ .true., .false. /)) ! Used to give conversion error + end program gfcbug88 diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/debug/pr43166.f gcc-4.4.4/gcc/testsuite/gfortran.dg/debug/pr43166.f *** gcc-4.4.3/gcc/testsuite/gfortran.dg/debug/pr43166.f Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/debug/pr43166.f Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,14 ---- + C PR debug/43166 + C { dg-do compile } + C { dg-options "-O" } + SUBROUTINE FOO () + INTEGER V1 + COMMON // V1 + END + SUBROUTINE BAR () + INTEGER V0,V1,V2,V3 + COMMON // V1(4),V2(85,4),V3 + DO V3=1,V1(1) + V0=V2(V3,1) + END DO + END diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/dependency_25.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/dependency_25.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/dependency_25.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/dependency_25.f90 Wed Jan 27 20:06:08 2010 *************** *** 0 **** --- 1,95 ---- + ! { dg-do run } + ! Test the fix for PR42736, in which an excessively rigorous dependency + ! checking for the assignment generated an unnecessary temporary, whose + ! rank was wrong. When accessed by the scalarizer, a segfault ensued. + ! + ! Contributed by Tobias Burnus + ! Reported by Armelius Cameron + ! + module UnitValue_Module + + implicit none + private + + public :: & + operator(*), & + assignment(=) + + type, public :: UnitValue + real :: & + Value = 1.0 + character(31) :: & + Label + end type UnitValue + + interface operator(*) + module procedure ProductReal_LV + end interface operator(*) + + interface assignment(=) + module procedure Assign_LV_Real + end interface assignment(=) + + contains + + elemental function ProductReal_LV(Multiplier, Multiplicand) result(P_R_LV) + + real, intent(in) :: & + Multiplier + type(UnitValue), intent(in) :: & + Multiplicand + type(UnitValue) :: & + P_R_LV + + P_R_LV%Value = Multiplier * Multiplicand%Value + P_R_LV%Label = Multiplicand%Label + + end function ProductReal_LV + + + elemental subroutine Assign_LV_Real(LeftHandSide, RightHandSide) + + real, intent(inout) :: & + LeftHandSide + type(UnitValue), intent(in) :: & + RightHandSide + + LeftHandSide = RightHandSide%Value + + end subroutine Assign_LV_Real + + end module UnitValue_Module + + program TestProgram + + use UnitValue_Module + + implicit none + + type :: TableForm + real, dimension(:,:), allocatable :: & + RealData + end type TableForm + + type(UnitValue) :: & + CENTIMETER + + type(TableForm), pointer :: & + Table + + allocate(Table) + allocate(Table%RealData(10,5)) + + CENTIMETER%value = 42 + Table%RealData = 1 + Table%RealData(:,1) = Table%RealData(:,1) * CENTIMETER + Table%RealData(:,2) = Table%RealData(:,2) * CENTIMETER + Table%RealData(:,3) = Table%RealData(:,3) * CENTIMETER + Table%RealData(:,5) = Table%RealData(:,5) * CENTIMETER + + ! print *, Table%RealData + if (any (abs(Table%RealData(:,4) - 1) > epsilon(1.0))) call abort () + if (any (abs(Table%RealData(:,[1,2,3,5]) - 42) > epsilon(1.0))) call abort () + end program TestProgram + + ! { dg-final { cleanup-modules "UnitValue_Module" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/direct_io_12.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/direct_io_12.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/direct_io_12.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/direct_io_12.f90 Mon Mar 29 06:18:16 2010 *************** *** 0 **** --- 1,33 ---- + ! { dg-do run } + ! + ! PR fortran/43551 + ! + ! Writes a 672000 byte file with buffering. The writing failed because + ! of a missing lseek. + + implicit none + integer, parameter :: size = 2800 ! << needs to be large enough + real(8) :: vec1(size,30), dummy(size) + integer i + + CALL RANDOM_NUMBER(vec1) + + open(99, file='test.dat', form='unformatted', access='direct', recl=size*8) + do i = 1, 10 + write(99,rec=i) vec1(:,i) + write(99,rec=i+10) vec1(:,i+10) + write(99,rec=i+20) vec1(:,i+20) ! << rec = 30 was written to rec = 21 + end do + + do i = 1, 10 + read(99,rec=i) dummy + if (any (dummy /= vec1(:,i))) call abort() + read(99,rec=i+10) dummy + if (any (dummy /= vec1(:,i+10))) call abort() + read(99,rec=i+20) dummy + if (any (dummy /= vec1(:,i+20))) call abort() ! << aborted here for rec = 21 + end do + + close(99, status='delete') + end + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/fmt_cache_2.f gcc-4.4.4/gcc/testsuite/gfortran.dg/fmt_cache_2.f *** gcc-4.4.3/gcc/testsuite/gfortran.dg/fmt_cache_2.f Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/fmt_cache_2.f Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,36 ---- + ! { dg-do run } + ! PR42742 Handle very large format strings correctly + ! Test derived from example developed by Manfred Schwarb. + character(12) bufarr(74) + character(74*13+30) fmtstr,fmtstr2 + character(1) delim + integer i,j,dat(5),pindx, loopcounter + character(983) big_string ! any less and this test fails. + + do i=1,74 + write(bufarr(i),'(i12)') i + enddo + + delim=" " + dat(1)=2009 + dat(2)=10 + dat(3)=31 + dat(4)=3 + dat(5)=0 + fmtstr="(i2,i6,4(a1,i2.2)" + open(10, status="scratch") + do j=1,74 + fmtstr=fmtstr(1:len_trim(fmtstr))//",a1,a12" + fmtstr2=fmtstr(1:len_trim(fmtstr))//")" + c write(0,*) "interation ",j,": ",len_trim(fmtstr2) + do i=1,10 + write(10,fmtstr2) + & i,dat(1),"-",dat(2),"-",dat(3), + & delim,dat(4),":",dat(5), + & (delim,bufarr(pindx),pindx=1,j) + enddo + loopcounter = j + enddo + close(10) + if (loopcounter /= 74) call abort + end diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/ftell_3.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/ftell_3.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/ftell_3.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/ftell_3.f90 Thu Apr 1 20:59:15 2010 *************** *** 0 **** --- 1,28 ---- + ! { dg-do run } + ! PR43605 FTELL intrinsic returns incorrect position + ! Contributed by Janne Blomqvist, Manfred Schwarb + ! and Dominique d'Humieres. + program ftell_3 + integer :: i + character(len=99) :: buffer + open(10, form='formatted', status='scratch', position='rewind') + write(10, '(a)') '123456' + write(10, '(a)') '789' + write(10, '(a)') 'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC' + write(10, '(a)') 'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD' + rewind(10) + read(10, '(a)') buffer + call ftell(10, i) + if(i /= 7) then + call abort() + end if + read(10,'(a)') buffer + if (trim(buffer) /= "789") then + call abort() + end if + call ftell(10,i) + if (i /= 11) then + call abort() + end if + close(10) + end program ftell_3 diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/func_result_5.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/func_result_5.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/func_result_5.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/func_result_5.f90 Tue Feb 2 14:27:24 2010 *************** *** 0 **** --- 1,14 ---- + ! { dg-do compile } + ! + ! PR fortran/42650 + ! + ! Result type was not working + ! + + type(t) function func2() result(res) + type t + sequence + integer :: i = 5 + end type t + res%i = 2 + end function func2 diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/generic_21.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/generic_21.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/generic_21.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/generic_21.f90 Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,33 ---- + ! { dg-do compile } + ! + ! PR fortran/42858 + ! + ! Contributed by Harald Anlauf + ! + module gfcbug102 + implicit none + type t_vector_segm + real ,pointer :: x(:) => NULL() + end type t_vector_segm + + type t_vector + integer :: n_s = 0 + type (t_vector_segm) ,pointer :: s (:) => NULL() + end type t_vector + + interface sqrt + module procedure sqrt_vector + end interface sqrt + + contains + function sqrt_vector (x) result (y) + type (t_vector) :: y + type (t_vector) ,intent(in) :: x + integer :: i + do i = 1, y% n_s + y% s(i)% x = sqrt (x% s(i)% x) + end do + end function sqrt_vector + end module gfcbug102 + + ! { dg-final { cleanup-modules "gfcbug102" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/gomp/pr43337.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/gomp/pr43337.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/gomp/pr43337.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/gomp/pr43337.f90 Tue Apr 20 08:37:12 2010 *************** *** 0 **** --- 1,30 ---- + ! PR middle-end/43337 + ! { dg-do compile } + ! { dg-options "-fopenmp -O2 -g" } + + subroutine pr43337 + integer :: a, b(10) + call foo (b) + call bar (b) + contains + subroutine foo (b) + integer :: b(10) + !$omp parallel if (.false.) + !$omp task if (.false.) shared(b) + do a = 1, 10 + b(a) = 1 + end do + !$omp end task + !$omp end parallel + end subroutine foo + subroutine bar (b) + integer :: b(10) + !$omp parallel if (.false.) + !$omp parallel if (.false.) + do a = 1, 10 + b(a) = 1 + end do + !$omp end parallel + !$omp end parallel + end subroutine bar + end subroutine pr43337 diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/gomp/pr43836.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/gomp/pr43836.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/gomp/pr43836.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/gomp/pr43836.f90 Wed Apr 21 21:26:11 2010 *************** *** 0 **** --- 1,10 ---- + ! PR fortran/43836 + ! { dg-do compile } + ! { dg-options "-fopenmp -fexceptions -O2" } + subroutine foo + !$omp single + !$omp parallel + call bar + !$omp end parallel + !$omp end single + end subroutine foo diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 Thu Nov 3 20:57:03 2005 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/gomp/sharing-2.f90 Tue Apr 20 08:41:02 2010 *************** *** 28,37 **** end do !$omp end single !$omp end parallel ! !$omp parallel default (none) shared (a) ! i = 1 ! j = 1 ! k = 1 !$omp parallel default (none) shared (a) i = 1 j = 1 --- 28,37 ---- end do !$omp end single !$omp end parallel ! !$omp parallel default (none) shared (a) ! { dg-error "enclosing parallel" } ! i = 1 ! { dg-error "not specified in" } ! j = 1 ! { dg-error "not specified in" } ! k = 1 ! { dg-error "not specified in" } !$omp parallel default (none) shared (a) i = 1 j = 1 *************** *** 68,75 **** a(i, 1) = i + 1 end do !$omp end parallel ! !$omp parallel default (none) shared (a) ! i = 1 !$omp parallel default (none) shared (a, i) i = 2 !$omp parallel default (none) shared (a) --- 68,75 ---- a(i, 1) = i + 1 end do !$omp end parallel ! !$omp parallel default (none) shared (a) ! { dg-error "enclosing parallel" } ! i = 1 ! { dg-error "not specified in" } !$omp parallel default (none) shared (a, i) i = 2 !$omp parallel default (none) shared (a) diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/inquire_size.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/inquire_size.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/inquire_size.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/inquire_size.f90 Wed Mar 31 02:05:56 2010 *************** *** 0 **** --- 1,28 ---- + ! { dg-do run } + ! PR43409 I/O: INQUIRE for SIZE does not work. + integer :: i + character(30) :: aname = "noname" + logical :: is_named + + open(25, file="testfile", status="replace", access="stream", form="unformatted") + do i=1,100 + write(25) i, "abcdefghijklmnopqrstuvwxyz" + enddo + flush(25) + + inquire(unit=25, named=is_named, name=aname, size=i) + if (.not.is_named) call abort + if (aname /= "testfile") call abort + if (i /= 3000) call abort + + inquire(file="testfile", size=i) + if (.not.is_named) call abort + if (aname /= "testfile") call abort + if (i /= 3000) call abort + + close(25, status="delete") + inquire(file="testfile", size=i) + if (i /= -1) call abort + end + + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/interface_31.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/interface_31.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/interface_31.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/interface_31.f90 Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,41 ---- + ! { dg-do compile } + ! PR42684 (42680) Ice with Interface. + MODULE mod1 + IMPLICIT NONE + TYPE ta + INTEGER i + END TYPE ta + INTERFACE OPERATOR(+) + MODULE PROCEDURE add_a + END INTERFACE OPERATOR(+) + CONTAINS + FUNCTION add_a(lhs, rhs) RESULT(r) + TYPE(ta), INTENT(IN) :: lhs + TYPE(ta), INTENT(IN) :: rhs + TYPE(ta) :: r + !**** + r%i = lhs%i + rhs%i + END FUNCTION add_a + END MODULE mod1 + + MODULE mod2 + IMPLICIT NONE + TYPE tb + INTEGER j + END TYPE tb + INTERFACE OPERATOR(+) + MODULE PROCEDURE add_b + END INTERFACE OPERATOR(+) + CONTAINS + SUBROUTINE other_proc() + USE mod1 ! Causes ICE + END SUBROUTINE other_proc + FUNCTION add_b(lhs, rhs) RESULT(r) + TYPE(tb), INTENT(IN) :: lhs + TYPE(tb), INTENT(IN) :: rhs + TYPE(tb) :: r + !**** + r%j = lhs%j + rhs%j + END FUNCTION add_b + END MODULE mod2 + ! { dg-final { cleanup-modules "mod1 mod2" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/interface_assignment_5.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/interface_assignment_5.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/interface_assignment_5.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/interface_assignment_5.f90 Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,49 ---- + ! { dg-do compile } + ! + ! PR 42677: [4.5 Regression] Bogus Error: Ambiguous interfaces '...' in intrinsic assignment operator + ! + ! Contributed by Harald Anlauf + + module mod1 + implicit none + type t_m + integer :: i = 0 + end type t_m + !------------------------------------------------------------------------------ + interface assignment (=) + module procedure assign_m + end interface + !------------------------------------------------------------------------------ + contains + subroutine assign_m (y, x) + type(t_m) ,intent(inout) :: y + type(t_m) ,intent(in) :: x + end subroutine assign_m + end module mod1 + !============================================================================== + module mod2 + use mod1, only: t_m, assignment(=) + implicit none + type t_atm + integer :: k + end type t_atm + !------------------------------------------------------------------------------ + interface assignment(=) + module procedure assign_to_atm + end interface + !------------------------------------------------------------------------------ + interface + pure subroutine delete_m (x) + use mod1 + type(t_m) ,intent(in) :: x + end subroutine delete_m + end interface + !------------------------------------------------------------------------------ + contains + subroutine assign_to_atm (atm, r) + type(t_atm) ,intent(inout) :: atm + integer ,intent(in) :: r + end subroutine assign_to_atm + end module mod2 + + ! { dg-final { cleanup-modules "mod1 mod2" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/internal_pack_10.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/internal_pack_10.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/internal_pack_10.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/internal_pack_10.f90 Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,41 ---- + ! { dg-do run } + ! Test the fix for PR43180, in which patch which reduced the use of + ! internal_pack/unpack messed up the passing of ru(1)%c as the actual + ! argument at line 23 in this testcase. + ! + ! Contributed by Harald Anlauf + ! further reduced by Tobias Burnus + ! + module mo_obs_rules + type t_set + integer :: use = 42 + end type t_set + type t_rules + character(len=40) :: comment + type(t_set) :: c (1) + end type t_rules + type (t_rules), save :: ru (1) + contains + subroutine get_rule (c) + type(t_set) :: c (:) + ru(1)%c(:)%use = 99 + if (any (c(:)%use .ne. 42)) call abort + call set_set_v (ru(1)%c, c) + if (any (c(:)%use .ne. 99)) call abort + contains + subroutine set_set_v (src, dst) + type(t_set), intent(in) :: src(1) + type(t_set), intent(inout) :: dst(1) + if (any (src%use .ne. 99)) call abort + if (any (dst%use .ne. 42)) call abort + dst = src + end subroutine set_set_v + end subroutine get_rule + end module mo_obs_rules + + program test + use mo_obs_rules + type(t_set) :: c (1) + call get_rule (c) + end program test + ! { dg-final { cleanup-modules "mo_obs_rules" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/internal_pack_8.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/internal_pack_8.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/internal_pack_8.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/internal_pack_8.f90 Tue Feb 23 17:02:26 2010 *************** *** 0 **** --- 1,33 ---- + ! { dg-do run } + ! + ! Test the fix for PR43111, in which necessary calls to + ! internal PACK/UNPACK were not being generated because + ! of an over agressive fix to PR41113/7. + ! + ! Contributed by Joost VandeVondele + ! + SUBROUTINE S2(I) + INTEGER :: I(4) + !write(6,*) I + IF (ANY(I.NE.(/3,5,7,9/))) CALL ABORT() + END SUBROUTINE S2 + + MODULE M1 + TYPE T1 + INTEGER, POINTER, DIMENSION(:) :: data + END TYPE T1 + CONTAINS + SUBROUTINE S1() + TYPE(T1) :: d + INTEGER, TARGET, DIMENSION(10) :: scratch=(/(i,i=1,10)/) + INTEGER :: i=2 + d%data=>scratch(1:9:2) + ! write(6,*) d%data(i:) + CALL S2(d%data(i:)) + END SUBROUTINE S1 + END MODULE M1 + + USE M1 + CALL S1 + END + ! { dg-final { cleanup-modules "M1" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/module_write_1.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/module_write_1.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/module_write_1.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/module_write_1.f90 Tue Feb 16 10:50:56 2010 *************** *** 0 **** --- 1,59 ---- + ! { dg-do compile } + ! + ! PR fortran/41869 + ! + ! Was ICEing while module write of symbol 'vs_str' in m_dom_dom + ! because of "len" being private in fox_m_fsys_format. + ! + module fox_m_fsys_array_str + contains + pure function str_vs(vs) result(s) + character, dimension(:), intent(in) :: vs + character(len=size(vs)) :: s + s = transfer(vs, s) + end function str_vs + pure function vs_str(s) result(vs) + character(len=*), intent(in) :: s + character, dimension(len(s)) :: vs + vs = transfer(s, vs) + end function vs_str + end module fox_m_fsys_array_str + + module fox_m_fsys_format + private + interface str + module procedure str_logical_array + end interface str + interface len + module procedure str_logical_array_len + end interface + public :: str + contains + pure function str_logical_array_len(la) result(n) + logical, dimension(:), intent(in) :: la + end function str_logical_array_len + pure function str_logical_array(la) result(s) + logical, dimension(:), intent(in) :: la + character(len=len(la)) :: s + end function str_logical_array + pure function checkFmt(fmt) result(good) + character(len=*), intent(in) :: fmt + logical :: good + good = len(fmt) > 0 + end function checkFmt + end module fox_m_fsys_format + + module m_dom_dom + use fox_m_fsys_array_str, only: str_vs, vs_str + end module m_dom_dom + + module FoX_dom + use fox_m_fsys_format + use m_dom_dom + end module FoX_dom + + use FoX_dom + implicit none + print *, vs_str("ABC") + end + ! { dg-final { cleanup-modules "fox_m_fsys_array_str fox_m_fsys_format m_dom_dom fox_dom" } } diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_27.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_27.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_27.f90 Wed Mar 5 00:59:34 2008 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_27.f90 Thu Mar 18 03:55:52 2010 *************** *** 1,4 **** ! ! { dg-do run { target fd_truncate } } ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF. ! Patch derived from PR, submitted by Jerry DeLisle program gfcbug61 --- 1,4 ---- ! ! { dg-do run } ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF. ! Patch derived from PR, submitted by Jerry DeLisle program gfcbug61 *************** contains *** 41,54 **** character(len=*), intent(in) :: name character(len=255) :: line ! integer :: ios, idx logical :: first first = .true. status = 0 ios = 0 line = "" ! do read (unit,'(a)',iostat=ios) line if (first) then first = .false. --- 41,54 ---- character(len=*), intent(in) :: name character(len=255) :: line ! integer :: ios, idx, k logical :: first first = .true. status = 0 ios = 0 line = "" ! do k=1,10 read (unit,'(a)',iostat=ios) line if (first) then first = .false. *************** contains *** 74,80 **** subroutine read_report (unit, status) integer :: unit, status ! integer :: iuse, ios !------------------ ! Namelist 'REPORT' !------------------ --- 74,80 ---- subroutine read_report (unit, status) integer :: unit, status ! integer :: iuse, ios, k !------------------ ! Namelist 'REPORT' !------------------ *************** contains *** 85,91 **** ! Loop to read namelist multiple times !------------------------------------- iuse = 0 ! do !---------------------------------------- ! Preset namelist variables with defaults !---------------------------------------- --- 85,91 ---- ! Loop to read namelist multiple times !------------------------------------- iuse = 0 ! do k=1,5 !---------------------------------------- ! Preset namelist variables with defaults !---------------------------------------- *************** contains *** 103,106 **** status = ios end subroutine read_report ! end program gfcbug61 \ No newline at end of file --- 103,106 ---- status = ios end subroutine read_report ! end program gfcbug61 diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_28.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_28.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_28.f90 Wed Mar 5 00:59:34 2008 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_28.f90 Thu Mar 18 03:55:52 2010 *************** *** 1,4 **** ! ! { dg-do run { target fd_truncate } } ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF. ! Patch derived from PR, submitted by Jerry DeLisle program gfcbug61 --- 1,4 ---- ! ! { dg-do run } ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF. ! Patch derived from PR, submitted by Jerry DeLisle program gfcbug61 *************** contains *** 27,38 **** character(len=*), intent(in) :: name character(len=255) :: line ! integer :: ios, idx logical :: first first = .true. status = 0 ! do line = "" read (unit,'(a)',iostat=ios) line if (ios < 0) then --- 27,38 ---- character(len=*), intent(in) :: name character(len=255) :: line ! integer :: ios, idx, k logical :: first first = .true. status = 0 ! do k=1,25 line = "" read (unit,'(a)',iostat=ios) line if (ios < 0) then *************** contains *** 51,62 **** return end if end do end subroutine position_nml subroutine read_report (unit, status) integer :: unit, status ! integer :: iuse, ios !------------------ ! Namelist 'REPORT' !------------------ --- 51,63 ---- return end if end do + if (k.gt.10) call abort end subroutine position_nml subroutine read_report (unit, status) integer :: unit, status ! integer :: iuse, ios, k !------------------ ! Namelist 'REPORT' !------------------ *************** contains *** 66,72 **** ! Loop to read namelist multiple times !------------------------------------- iuse = 0 ! do !---------------------------------------- ! Preset namelist variables with defaults !---------------------------------------- --- 67,73 ---- ! Loop to read namelist multiple times !------------------------------------- iuse = 0 ! do k=1,25 !---------------------------------------- ! Preset namelist variables with defaults !---------------------------------------- *************** contains *** 84,89 **** --- 85,91 ---- if (ios /= 0) exit iuse = iuse + 1 end do + if (k.gt.10) call abort status = ios end subroutine read_report diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_59.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_59.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_59.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_59.f90 Fri Feb 5 04:50:53 2010 *************** *** 0 **** --- 1,26 ---- + ! { dg-do run } + ! PR41192 NAMELIST input with just a comment ("&NAME ! comment \") error + program cmdline + ! comment by itself causes error in gfortran + call process(' ') + call process('i=10 , j=20 k=30 ! change all three values') + call process(' ') + call process('! change no values')! before patch this failed. + end program cmdline + + subroutine process(string) + implicit none + character(len=*) :: string + character(len=132) :: lines(3) + character(len=255) :: message + integer :: i=1,j=2,k=3 + integer ios + namelist /cmd/ i,j,k + save cmd + lines(1)='&cmd' + lines(2)=string + lines(3)='/' + + read(lines,nml=cmd,iostat=ios,iomsg=message) + if (ios.ne.0) call abort + end subroutine process diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_60.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_60.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_60.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_60.f90 Fri Feb 5 04:50:53 2010 *************** *** 0 **** --- 1,27 ---- + ! { dg-do run } + ! PR42901 Reading array of structures from namelist + ! Test case derived from the reporters test case. + program test_nml + type field_descr + integer number + end type + type fsetup + type (field_descr), dimension(3) :: vel ! 3 velocity components + end type + type (fsetup) field_setup + namelist /nl_setup/ field_setup + field_setup%vel%number = 0 + ! write(*,nml=nl_setup) + open(10, status="scratch") + write(10,'(a)') "&nl_setup" + write(10,'(a)') " field_setup%vel(1)%number= 3," + write(10,'(a)') " field_setup%vel(2)%number= 9," + write(10,'(a)') " field_setup%vel(3)%number= 27," + write(10,'(a)') "/" + rewind(10) + read(10,nml=nl_setup) + if (field_setup%vel(1)%number .ne. 3) call abort + if (field_setup%vel(2)%number .ne. 9) call abort + if (field_setup%vel(3)%number .ne. 27) call abort + ! write(*,nml=nl_setup) + end program test_nml diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_61.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_61.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/namelist_61.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/namelist_61.f90 Thu Mar 11 19:48:11 2010 *************** *** 0 **** --- 1,35 ---- + ! { dg-do run } + ! + ! PR fortran/43228 + ! + integer :: a(3,3) + character(len=100) :: str + namelist /nml/a + + a = -1 + str = '&nml a(1,:) = 1 2 3 /' + read(str, nml=nml) + if (any (a(1,:) /= [1, 2, 3])) call abort () + if (any (a([2,3],:) /= -1)) call abort () + + a = -1 + str = '&nml a(1,1) = 1 2 3 4 /' + read(str, nml=nml) + if (any (a(:,1) /= [1, 2, 3])) call abort () + if (any (a(:,2) /= [4, -1, -1])) call abort () + if (any (a(:,3) /= -1)) call abort () + + str = '&nml a(1,:) = 1 2 3 , & + & a(2,:) = 4,5,6 & + & a(3,:) = 7 8 9/' + read(str, nml=nml) + if (any (a(1,:) /= [1, 2, 3])) call abort () + if (any (a(2,:) /= [4, 5, 6])) call abort () + if (any (a(3,:) /= [7, 8, 9])) call abort () + + !print *, a(:,1) + !print *, a(:,2) + !print *, a(:,3) + end + + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 Sat Jan 30 21:12:59 2010 *************** *** 0 **** --- 1,39 ---- + ! { dg-do compile } + ! Test the fix for the problems in PR41044 + ! + ! Contributed by + ! Reduced by Joos VandeVondele + ! + Subroutine PS_INIT (bkgd, punit, pform, psize, rot90, bbox, clip, eps, & + caller) + type psfd ! paper size and frame defaults + character(3) :: n + real :: p(2) + real :: f(4) + end type psfd + character(4) :: fn, orich, pfmt + type(psfd), parameter :: pfd(0:11)=(/ & + psfd(' ',(/ 0.0, 0.0/),(/200.,120.,800.,560./)), & ! A0_L + psfd('A0 ',(/ 840.9,1189.2/),(/140., 84.,560.,400./)), & ! A0_P + psfd('A1 ',(/ 594.6, 840.9/),(/100., 60.,400.,280./)), & ! A1_P + psfd('A2 ',(/ 420.4, 594.6/),(/ 70., 42.,280.,200./)), & ! A2_P + psfd('A3 ',(/ 297.3, 420.4/),(/ 50., 30.,200.,140./)), & ! A3_P + psfd('A4 ',(/ 210.2, 297.3/),(/ 35., 21.,140.,100./)), & ! A4_P + psfd('A5 ',(/ 148.7, 210.2/),(/ 25., 15.,100., 70./)), & ! A5_P + psfd('A6 ',(/ 105.1, 148.7/),(/ 18., 11., 70., 50./)), & ! A6_P + psfd(' ',(/ 0.0, 0.0/),(/ 50., 30.,200.,140./)), & ! Letter_L + psfd('LET',(/ 215.9, 279.4/),(/ 35., 21.,140.,100./)), & ! Letter_P + psfd(' ',(/ 0.0, 0.0/),(/ 50., 30.,200.,140./)), & ! Legal_L + psfd('LEG',(/ 215.9, 355.6/),(/ 35., 21.,140.,100./))/) ! Legal_P + if (len_trim(pfmt) > 0) then ! set paper format + idx=sum(maxloc(index(pfd%n,pfmt(1:3))))-1 + end if + end subroutine PS_INIT + + ! This, additional problem, was posted as comment #8 by Tobias Burnus + type t + integer :: i + end type t + type(t), parameter :: a(1) = t(4) ! [t(4)] worked OK + real(a(1)%i) :: b + end diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/pr42294.f gcc-4.4.4/gcc/testsuite/gfortran.dg/pr42294.f *** gcc-4.4.3/gcc/testsuite/gfortran.dg/pr42294.f Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/pr42294.f Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,41 ---- + C PR rtl-optimization/42294 + C { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } + C { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -funroll-all-loops" } + + SUBROUTINE ORIEN(IW,NATOT,NTOTORB,NATORB,P,T) + IMPLICIT DOUBLE PRECISION(A-H,O-Z) + DIMENSION NATORB(NATOT),P(NTOTORB*(NTOTORB+1)/2) + DIMENSION T(NTOTORB,NTOTORB) + DO 9000 IATOM=1,NATOT + ILAST = NTOTORB + IF (IATOM.NE.NATOT) ILAST=NATORB(IATOM+1)-1 + DO 8000 IAOI=NATORB(IATOM),ILAST + DO 7000 IAOJ = IAOI+1,ILAST + R2 = 0.0D+00 + R3 = 0.0D+00 + DO 6000 INOTA=1,NATOT + DO 5000 IK=NATORB(INOTA),NTOTORB + IMAI=MAX(IK,IAOI) + IMII=MIN(IK,IAOI) + IMAJ=MAX(IK,IAOJ) + IMIJ=MIN(IK,IAOJ) + IKI=(IMAI*(IMAI-1))/2 + IMII + IKJ=(IMAJ*(IMAJ-1))/2 + IMIJ + PIKI=P(IKI) + PIKJ=P(IKJ) + R2 = R2 + (PIKI**4)-6*(PIKI*PIKI*PIKJ*PIKJ)+(PIKJ) + 5000 CONTINUE + 6000 CONTINUE + R2 = (R2/4.0D+00) + Q = SQRT(R2*R2 + R3*R3) + IF (Q.LT.1.0D-08) GO TO 7000 + A = COS(THETA) + B = -SIN(THETA) + CALL ROT1INT(NTOTORB,IAOI,IAOJ,A,B,P) + 7000 CONTINUE + 8000 CONTINUE + 9000 CONTINUE + RETURN + END + + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/pr43229.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/pr43229.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/pr43229.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/pr43229.f90 Sat Mar 13 16:58:19 2010 *************** *** 0 **** --- 1,10 ---- + ! PR debug/43229 + ! { dg-do compile } + ! { dg-options "-g -O3 -ffast-math" } + ! { dg-options "-g -O3 -ffast-math -msse3" { target { i?86-*-* x86_64-*-* } } } + + function foo (c, d) + real(8) :: c(6), d(6), foo + x = sum (c * d) + foo = exp (-x) + end function foo diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/pr43475.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/pr43475.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/pr43475.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/pr43475.f90 Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,14 ---- + ! PR middle-end/43475 + ! { dg-do compile } + ! { dg-options "-O2" } + subroutine ss(w) + implicit none + integer :: w(:) + integer :: b,c,d + b = w(8) + c = 5 + d = 3 + call s1(c) + call s2(b+c) + call s3(w(b)) + end subroutine ss diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/read_empty_file.f gcc-4.4.4/gcc/testsuite/gfortran.dg/read_empty_file.f *** gcc-4.4.3/gcc/testsuite/gfortran.dg/read_empty_file.f Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/read_empty_file.f Thu Mar 18 03:55:52 2010 *************** *** 0 **** --- 1,7 ---- + ! { dg-do run } + ! PR43320 Missing EOF on read from empty file. + open(8,status='scratch',form='formatted') ! Create empty file + read(8,'(a80)', end=123) ! Reading from an empty file should be an EOF + call abort + 123 continue + end diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_6.f gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_6.f *** gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_6.f Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_6.f Fri Mar 12 14:36:16 2010 *************** *** 0 **** --- 1,7 ---- + ! { dg-do run } + ! PR43320 Missing EOF on read from empty file. + open(8,status='scratch',form='formatted') ! Create empty file + read(8,'(a80)', end=123) ! Reading from an empty file should be an EOF + call abort + 123 continue + end diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_7.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_7.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_7.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_7.f90 Fri Mar 26 04:58:45 2010 *************** *** 0 **** --- 1,20 ---- + ! { dg-do run } + ! PR43517 Spurious EOF condition when namelist read follows formatted read + ! Test case from the problem reporter - Michael Richmond + program main + namelist /name/ j + open (10,status='scratch',form='formatted') + write(10,'(a)') "999999" + write(10,'(a)') " $name" + write(10,'(a)') " j=73," + write(10,'(a)') " /" + rewind(10) + i = 54321 + idum = 6789 + read (10,'(2i5,4x)') i, idum ! Trailing 4x was setting EOF condition + if (i /= 99999 .and. idum /= 9) call abort + j = 12345 + read (10,name) ! EOF condition tripped here. + if (j /= 73) call abort + end program main + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_8.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_8.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_8.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_8.f90 Tue Mar 30 03:56:08 2010 *************** *** 0 **** --- 1,26 ---- + ! { dg-do run } + ! PR43265: See comment #26 in the PR. Before patch, + ! the test case would fail to read the last line of the file. + ! Thanks to Jean-Baptiste Faure for providing the initial test case. + program test + character (len=6) :: line + integer :: n, k=0 + open(unit=25,file="test.dat",status="replace", & + & form="unformatted", access="stream") + write(25) "Line 1" // char(10) + write(25) "Line 2" // char(10) + write(25) "Line 3" // char(10) + write(25) "Line 4" // char(10) + write(25) "Line 5" ! No EOR marker on the last line. + close(25, status="keep") + open(25, file="test.dat", status="old") + do n=1,10 + read(25,'(a)',end=100,err=101) line + k = k+1 + enddo + call abort + 100 if (k /= 5) call abort + stop + 101 call abort + end program test + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_all.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_all.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/read_eof_all.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/read_eof_all.f90 Thu Mar 18 03:55:52 2010 *************** *** 0 **** --- 1,71 ---- + ! { dg-do run } + ! PR43265 Followup patch for miscellaneous EOF conditions. + ! Eaxamples from Tobius Burnus + use iso_fortran_env + character(len=2) :: str, str2(2) + integer :: a, b, c, ios + str = '' + str2 = '' + + open(99,file='test.dat',access='stream',form='unformatted', status='replace') + write(99) ' ' + close(99) + + open(99,file='test.dat') + read(99, '(T7,i2)') i + close(99, status="delete") + if (i /= 0) call abort + + read(str(1:0), '(T7,i1)') i + if (i /= 0) call abort + + read(str,'(i2,/,i2)',end=111) a, b + call abort !stop 'ERROR: Expected EOF error (1)' + 111 continue + + read(str2,'(i2,/,i2)',end=112) a, b + + read(str2,'(i2,/,i2,/,i2)',end=113) a, b, c + call abort !stop 'ERROR: Expected EOF error (2)' + + 112 call abort !stop 'ERROR: Unexpected EOF (3)' + + 113 continue + read(str,'(i2,/,i2)',end=121,pad='no') a, b + call abort !stop 'ERROR: Expected EOF error (1)' + 121 continue + + read(str2(:),'(i2,/,i2)', end=122, pad='no') a, b + goto 125 + 122 call abort !stop 'ERROR: Expected no EOF error (2)' + 125 continue + + read(str2(:),'(i2,/,i2,/,i2)',end=123,pad='no') a, b, c + call abort !stop 'ERROR: Expected EOF error (3)' + 123 continue + + read(str(2:1),'(i2,/,i2)',end=131, pad='no') a, b + call abort !stop 'ERROR: Expected EOF error (1)' + 131 continue + + read(str2(:)(2:1),'(i2,/,i2)',end=132, pad='no') a, b + call abort !stop 'ERROR: Expected EOF error (2)' + 132 continue + + read(str2(:)(2:1),'(i2,/,i2,/,i2)',end=133,pad='no') a, b, c + call abort !stop 'ERROR: Expected EOF error (3)' + 133 continue + + read(str(2:1),'(i2,/,i2)',iostat=ios, pad='no') a, b + if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (1)' + + read(str2(:)(2:1),'(i2,/,i2)',iostat=ios, pad='no') a, b + if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (2)' + + read(str2(:)(2:1),'(i2,/,i2,/,i2)',iostat=ios,pad='no') a, b, c + if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (2)' + + ! print *, "success" + end + + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/read_x_eof.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/read_x_eof.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/read_x_eof.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/read_x_eof.f90 Fri Mar 12 14:36:16 2010 *************** *** 0 **** --- 1,16 ---- + ! { dg-do run } + ! PR43265 No EOF condition if reading with '(x)' from an empty file + ! Test case from the reporter. + program pr43265 + implicit none + integer::i + open(23,status="scratch") + write(23,'(a)') "Line 1" + write(23,'(a)') "Line 2" + write(23,'(a)') "Line 3" + rewind(23) + do i=1,10 + read(23,'(1x)',end=12) + enddo + 12 if (i.ne.4) call abort + end diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/read_x_past.f gcc-4.4.4/gcc/testsuite/gfortran.dg/read_x_past.f *** gcc-4.4.3/gcc/testsuite/gfortran.dg/read_x_past.f Wed Mar 5 00:59:34 2008 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/read_x_past.f Fri Mar 12 14:36:16 2010 *************** *** 1,17 **** ! ! { dg-do run { target fd_truncate } } ! { dg-options -w } ! PR 26661 : Test reading X's past file end with no LF or CR. ! PR 26880 : Tests that rewind clears the gfc_unit read_bad flag. ! Contributed by Jerry DeLisle . implicit none character(3) a(4) integer i ! open (10) 10 format(A,$) ! This is not pedantic write(10,10)' abc def ghi jkl' rewind(10) read(10,20)(a(i),i=1,4) if (a(4).ne."jkl") call abort() 20 format(1x,a3,1x,a3,1x,a3,1x,a3,10x) ! close(10, status="delete") end --- 1,28 ---- ! ! { dg-do run } ! { dg-options -w } ! PR 26661 : Test reading X's past file end with no LF or CR. ! PR 26880 : Tests that rewind clears the gfc_unit read_bad flag. + ! PR 43265 : Tests that no error occurs with or without X at end. ! Contributed by Jerry DeLisle . implicit none character(3) a(4) integer i ! open (10, status="scratch") 10 format(A,$) ! This is not pedantic write(10,10)' abc def ghi jkl' rewind(10) + + a = "" read(10,20)(a(i),i=1,4) if (a(4).ne."jkl") call abort() + + rewind(10) + + a = "" + read(10,30)(a(i),i=1,4) + if (a(4).ne."jkl") call abort() + 20 format(1x,a3,1x,a3,1x,a3,1x,a3,10x) ! 30 format(1x,a3,1x,a3,1x,a3,1x,a3) ! close(10) end diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 gcc-4.4.4/gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 Sat Feb 6 19:44:41 2010 *************** *** 0 **** --- 1,27 ---- + ! { dg-do run } + ! Tests the fix for PR42309, in which the indexing of 'Q' + ! was off by one. + ! + ! Contributed by Gilbert Scott + ! + PROGRAM X + TYPE T + INTEGER :: I + REAL :: X + END TYPE T + TYPE(T), TARGET :: T1(0:3) + INTEGER, POINTER :: P(:) + REAL :: SOURCE(4) = [10., 20., 30., 40.] + + T1%I = [1, 2, 3, 4] + T1%X = SOURCE + P => T1%I + CALL Z(P) + IF (ANY (T1%I .NE. [999, 2, 999, 4])) CALL ABORT + IF (ANY (T1%X .NE. SOURCE)) CALL ABORT + CONTAINS + SUBROUTINE Z(Q) + INTEGER, POINTER :: Q(:) + Q(1:3:2) = 999 + END SUBROUTINE Z + END PROGRAM X diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90 gcc-4.4.4/gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90 Sun Feb 7 04:41:22 2010 *************** *** 0 **** --- 1,59 ---- + ! ICE with gfortran 4.5 at -O1: + !gfcbug98.f90: In function ‘convert_cof’: + !gfcbug98.f90:36:0: internal compiler error: in pt_solutions_same_restrict_base, + !at tree-ssa-structalias.c:5072 + module foo + implicit none + type t_time + integer :: secs = 0 + end type t_time + contains + elemental function time_cyyyymmddhh (cyyyymmddhh) result (time) + type (t_time) :: time + character(len=10),intent(in) :: cyyyymmddhh + end function time_cyyyymmddhh + + function nf90_open(path, mode, ncid) + character(len = *), intent(in) :: path + integer, intent(in) :: mode + integer, intent(out) :: ncid + integer :: nf90_open + end function nf90_open + end module foo + !============================================================================== + module gfcbug98 + use foo + implicit none + + type t_fileinfo + character(len=10) :: atime = ' ' + end type t_fileinfo + + type t_body + real :: bg(10) + end type t_body + contains + subroutine convert_cof (ifile) + character(len=*) ,intent(in) :: ifile + + character(len=5) :: version + type(t_fileinfo) :: gattr + type(t_time) :: atime + type(t_body),allocatable :: tmp_dat(:) + real ,allocatable :: BDA(:, :, :) + + call open_input + call convert_data + contains + subroutine open_input + integer :: i,j + version = '' + j = nf90_open(ifile, 1, i) + end subroutine open_input + !-------------------------------------------------------------------------- + subroutine convert_data + BDA(1,:,1) = tmp_dat(1)% bg(:) + atime = time_cyyyymmddhh (gattr% atime) + end subroutine convert_data + end subroutine convert_cof + end module gfcbug98 diff -Nrcpad gcc-4.4.3/gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90 gcc-4.4.4/gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90 *** gcc-4.4.3/gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90 Thu Mar 25 16:39:51 2010 *************** *** 0 **** --- 1,9 ---- + logical :: l1(4) + logical :: l2(4) + l1 = (/.TRUE.,.FALSE.,.TRUE.,.FALSE./) + l2 = (/.FALSE.,.TRUE.,.FALSE.,.TRUE./) + if (dot_product (l1, l2)) call abort () + l2 = .TRUE. + if (.not.dot_product (l1, l2)) call abort () + end + diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/rep_clause5.adb gcc-4.4.4/gcc/testsuite/gnat.dg/rep_clause5.adb *** gcc-4.4.3/gcc/testsuite/gnat.dg/rep_clause5.adb Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/rep_clause5.adb Sun Apr 18 15:56:32 2010 *************** *** 0 **** --- 1,39 ---- + -- { dg-do compile } + -- { dg-options "-O" } + + package body Rep_Clause5 is + + function To_LNumber(S : String) return LNumber_Type is + V : VString; + LV : Long_Type; + LN : LNumber_Type; + begin + LV := To_Long(V, 10); + LN := LNumber_Type(LV); + return LN; + end; + + procedure Merge_Numbered(LNodes : in out LNodes_Ptr) is + T1 : Token_Type; + LNO : LNumber_Type; + begin + for X in LNodes.all'Range loop + T1 := LNodes(X).Line(0); + if T1.Token /= LEX_LF then + declare + S : String := Element(T1.SID); + begin + begin + LNO := To_LNumber(S); + exception + when Bad_Number => + LNO := 0; + when Too_Large => + LNO := 0; + end; + end; + end if; + end loop; + end; + + end Rep_Clause5; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/rep_clause5.ads gcc-4.4.4/gcc/testsuite/gnat.dg/rep_clause5.ads *** gcc-4.4.3/gcc/testsuite/gnat.dg/rep_clause5.ads Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/rep_clause5.ads Sun Apr 18 15:56:32 2010 *************** *** 0 **** --- 1,12 ---- + with Rep_Clause5_Pkg; use Rep_Clause5_Pkg; + + package Rep_Clause5 is + + Bad_Number : exception; + Too_Large : exception; + + type LNumber_Type is range 0..99999; + + procedure Merge_Numbered(LNodes : in out LNodes_Ptr); + + end Rep_Clause5; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/rep_clause5_pkg.ads gcc-4.4.4/gcc/testsuite/gnat.dg/rep_clause5_pkg.ads *** gcc-4.4.3/gcc/testsuite/gnat.dg/rep_clause5_pkg.ads Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/rep_clause5_pkg.ads Sun Apr 18 15:56:32 2010 *************** *** 0 **** --- 1,383 ---- + package Rep_Clause5_Pkg is + + type ID_Type is mod 65536; + type String_ID is new ID_Type; + type LNumber_Type is range 0..99999; + subtype Long_Type is Integer; + + type Func_ID is (No_Func, FUN_SGN, FUN_EXP, FUN_LOG, FUN_LOG10); + + type Token_Kind is ( + No_Token, + LEX_BINARY, + LEX_SECTION, + LEX_003, + LEX_004, + LEX_005, + LEX_006, + LEX_007, + LEX_008, + LEX_009, + LEX_LF, + LEX_011, + LEX_012, + LEX_013, + LEX_014, + LEX_015, + LEX_016, + LEX_017, + LEX_018, + LEX_019, + LEX_020, + LEX_021, + LEX_022, + LEX_023, + LEX_024, + LEX_025, + LEX_026, + LEX_027, + LEX_028, + LEX_029, + LEX_030, + LEX_031, + LEX_032, + '!', + '"', + '#', + '$', + '%', + '&', + ''', + '(', + ')', + '*', + '+', + ',', + '-', + '.', + '/', + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + ':', + ';', + '<', + '=', + '>', + '?', + '@', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + '[', + '\', + ']', + '^', + '_', + '`', + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + LEX_SFUN3, + LEX_SFUN2, + LEX_SFUN1, + LEX_SFUNN, + LEX_FUN3, + LEX_FUN2, + LEX_FUN1, + LEX_FUNN, + 'x', + 'y', + 'z', + '{', + '|', + '}', + '~', + LEX_CRTA, + LEX_ISNULL, + LEX_USING, + LEX_HANDLE, + LEX_CALLX, + LEX_COMPLEX, + LEX_FIXED, + LEX_ENV, + LEX_SPARSE, + LEX_SUBROUTINE, + LEX_CALL, + LEX_BOX, + LEX_VLINE, + LEX_HLINE, + LEX_MAXLENGTH, + LEX_DLENGTH, + LEX_INPUT, + LEX_INITIALIZE, + LEX_OUTPUT, + LEX_UNLINK, + LEX_SEEK, + LEX_EXIT, + LEX_NOT, + LEX_COMMON, + LEX_CHAIN, + LEX_DEF, + LEX_ARITY, + LEX_RESUME, + LEX_PIC_S, + LEX_BG, + LEX_FG, + LEX_PC, + LEX_CRT, + LEX_ENUM, + LEX_DECLARE, + LEX_CURSOR, + LEX_DROP, + LEX_CURRENT, + LEX_ISOLATION, + LEX_SET, + LEX_TRANSACTION, + LEX_COMMIT, + LEX_ABORT, + LEX_BEGIN, + LEX_PREVIOUS, + LEX_LAST, + LEX_FIRST, + LEX_KEY, + LEX_START, + LEX_REWRITE, + LEX_INDEX, + LEX_SECONDARY, + LEX_PRIMARY, + LEX_COLUMN, + LEX_TEMP, + LEX_TABLE, + LEX_CREATE, + LEX_HASH, + LEX_BTREE, + LEX_UPDATE, + LEX_ERROR, + LEX_ACCEPT, + LEX_AVG, + LEX_MAX, + LEX_MIN, + LEX_FIELD, + LEX_RESTORE, + LEX_END, + LEX_STEP, + LEX_NEXT, + LEX_FOR, + LEX_RETURN, + LEX_GOSUB, + LEX_RANGE, + LEX_EXPON, + LEX_XOR, + LEX_OR, + LEX_AND, + LEX_SHIFTR, + LEX_GE, + LEX_NE, + LEX_SHIFTL, + LEX_LE, + LEX_VARYING, + LEX_LENGTH, + LEX_PRINT, + LEX_IF, + LEX_GOTO, + LEX_ON, + LEX_THEN, + LEX_DELETE, + LEX_TO, + LEX_SEQUENCE, + LEX_NONUNIQUE, + LEX_UNIQUE, + LEX_FILE, + LEX_CLOSE, + LEX_OPEN, + LEX_DATABASE, + LEX_RECORD, + LEX_DATA, + LEX_WRITE, + LEX_READ, + LEX_STOP, + LEX_LET, + LEX_MOD, + LEX_LONG, + LEX_DIM, + LEX_SHORT, + LEX_REM, + LEX_SHELL, + LEX_TOKEN, + LEX_FLOAT, + LEX_SIDENT, + LEX_INLREM, + LEX_ENDLIT, + LEX_STRLIT, + LEX_IDENT, + LEX_LNUMBER, + LEX_HEX, + LEX_NUMBER, + LEX_EOF, + LEX_QUIT, + LEX_LIST, + LEX_REMOVE, + LEX_RENUMBER, + LEX_CONTINUE, + LEX_RUN, + LEX_MERGE, + LEX_ENTER, + LEX_NEW, + LEX_RESET, + LEX_SYMTAB, + LEX_CLS, + LEX_EDIT, + LEX_SAVE, + LEX_RESAVE, + LEX_LOAD, + LEX_NAME, + LEX_LISTP, + LEX_SHOW, + LEX_STACK, + LEX_STATUS, + LEX_CACHE, + LEX_INSPECT, + LEX_STOW, + LEX_PKGRUN, + LEX_POP, + LEX_CHECK, + LEX_INSERT, + LEX_INTO, + LEX_VALUES, + LEX_NULL, + LEX_WHERE, + LEX_FROM, + LEX_EXEC, + LEX_SELECT, + LEX_AS, + LEX_ALL, + LEX_BY, + LEX_CROSS, + LEX_DESC, + LEX_FULL, + LEX_GROUP, + LEX_INNER, + LEX_JOIN, + LEX_LEFT, + LEX_LIMIT, + LEX_NATURAL, + LEX_OFFSET, + LEX_ORDER, + LEX_OUTER, + LEX_RIGHT, + LEX_FETCH, + LEX_DISTINCT, + LEX_DEFAULT, + LEX_RETURNING, + LEX_LEVEL, + LEX_COMMITTED, + LEX_SERIALIZABLE, + LEX_ONLY, + LEX_HOLD, + LEX_FORWARD, + LEX_WITH, + LEX_PRIOR, + LEX_RELATIVE, + LEX_BACKWARD, + LEX_OF, + LEX_SCROLL, + LEX_NOWAIT, + LEX_HAVING, + LEX_END_TOKENS + ); + + type Aux_Kind is (No_Aux, SID_Aux, FID_Aux, LNO_Aux); + + type Token_Type(Aux : Aux_Kind := No_Aux) is + record + Token : Token_Kind := No_Token; + case Aux is + when SID_Aux => + SID : String_ID; + when FID_Aux => + FID : Func_ID; + when LNO_Aux => + LNO : LNumber_Type; + when No_Aux => + null; + end case; + end record; + + for Token_Type use + record + Aux at 0 range 0..2; + Token at 0 range 3..12; + SID at 0 range 16..31; + FID at 0 range 16..31; + LNO at 0 range 13..31; + end record; + + type Tokens_Index is range 0..999999; + type Token_Array is array(Tokens_Index range <>) of Token_Type; + type Token_Line is access all Token_Array; + + type Line_Node is + record + Line : Token_Line; + LNO : LNumber_Type := 0; + Numbered : Boolean := False; + end record; + + type Nodes_Index is range 0..999999; + type LNodes_Array is array(Nodes_Index range <>) of Line_Node; + type LNodes_Ptr is access all LNodes_Array; + + type VString is + record + Max_Length : Natural := 0; + Fixed : Boolean := False; + end record; + + function To_Long(Object : VString; Radix : Natural) return Long_Type; + + function Element (V : String_ID) return String; + + end Rep_Clause5_Pkg; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer.adb gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer.adb *** gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer.adb Wed Mar 28 20:11:20 2007 --- gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer.adb Thu Jan 1 00:00:00 1970 *************** *** 1,11 **** - -- { dg-do compile } - -- { dg-options "-O" } - - package body Thin_Pointer is - - procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr) is - begin - AD.B.A := Buffer (Buffer'First)'Address; - end Set_Buffer; - - end Thin_Pointer; --- 0 ---- diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer.ads gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer.ads *** gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer.ads Wed Mar 28 20:11:20 2007 --- gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer.ads Thu Jan 1 00:00:00 1970 *************** *** 1,22 **** - with System; - - package Thin_Pointer is - - type Stream is array (Integer range <>) of Character; - - type Stream_Ptr is access Stream; - for Stream_Ptr'Size use Standard'Address_Size; - - type Buf is record - A : System.Address; - end record; - - type Buf_Wrapper is record - B : Buf; - end record; - - type Buf_Ptr is access Buf_Wrapper; - - procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr); - - end Thin_Pointer; --- 0 ---- diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer1.adb gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer1.adb *** gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer1.adb Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer1.adb Sat Feb 27 14:30:12 2010 *************** *** 0 **** --- 1,11 ---- + -- { dg-do compile } + -- { dg-options "-O" } + + package body Thin_Pointer1 is + + procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr) is + begin + AD.B.A := Buffer (Buffer'First)'Address; + end Set_Buffer; + + end Thin_Pointer1; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer1.ads gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer1.ads *** gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer1.ads Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer1.ads Sat Feb 27 14:30:12 2010 *************** *** 0 **** --- 1,22 ---- + with System; + + package Thin_Pointer1 is + + type Stream is array (Integer range <>) of Character; + + type Stream_Ptr is access Stream; + for Stream_Ptr'Size use Standard'Address_Size; + + type Buf is record + A : System.Address; + end record; + + type Buf_Wrapper is record + B : Buf; + end record; + + type Buf_Ptr is access Buf_Wrapper; + + procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr); + + end Thin_Pointer1; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer2.adb gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer2.adb *** gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer2.adb Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer2.adb Sat Feb 27 14:30:12 2010 *************** *** 0 **** --- 1,13 ---- + -- PR ada/42253 + -- Testcase by Duncan Sands + + -- { dg-do run } + + with Thin_Pointer2_Pkg; use Thin_Pointer2_Pkg; + + procedure Thin_Pointer2 is + begin + if F /= '*' then + raise Program_Error; + end if; + end; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb *** gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb Sat Feb 27 14:30:12 2010 *************** *** 0 **** --- 1,18 ---- + package body Thin_Pointer2_Pkg is + + type SB is access constant String; + + function Inner (S : SB) return Character is + begin + if S /= null and then S'Length > 0 then + return S (S'First); + end if; + return '*'; + end; + + function F return Character is + begin + return Inner (SB (S)); + end; + + end Thin_Pointer2_Pkg; diff -Nrcpad gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads *** gcc-4.4.3/gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads Sat Feb 27 14:30:12 2010 *************** *** 0 **** --- 1,9 ---- + package Thin_Pointer2_Pkg is + + type SA is access String; + for SA'Size use Standard'Address_Size; + S : SA; + + function F return Character; + + end Thin_Pointer2_Pkg; diff -Nrcpad gcc-4.4.3/gcc/testsuite/lib/gnat.exp gcc-4.4.4/gcc/testsuite/lib/gnat.exp *** gcc-4.4.3/gcc/testsuite/lib/gnat.exp Sun Apr 19 12:47:22 2009 --- gcc-4.4.4/gcc/testsuite/lib/gnat.exp Fri Mar 5 15:21:41 2010 *************** *** 1,4 **** ! # Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by --- 1,4 ---- ! # Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by *************** proc gnat_init { args } { *** 83,89 **** global gluefile wrap_flags global gnat_initialized global GNAT_UNDER_TEST - global GNAT_UNDER_TEST_ORIG global TOOL_EXECUTABLE global gnat_libgcc_s_path global gnat_target_current --- 83,88 ---- *************** proc gnat_init { args } { *** 98,104 **** } else { set GNAT_UNDER_TEST "[local_find_gnatmake]" } - set GNAT_UNDER_TEST_ORIG "$GNAT_UNDER_TEST" } if ![info exists tmpdir] then { --- 97,102 ---- *************** proc gnat_target_compile { source dest t *** 129,150 **** global gluefile wrap_flags global srcdir global GNAT_UNDER_TEST - global GNAT_UNDER_TEST_ORIG global TOOL_OPTIONS global ld_library_path global gnat_libgcc_s_path global gnat_target_current ! # If we detect a change of target we need to recompute ! # the appropriate RTS by calling get_multilibs. if { $gnat_target_current!="[current_target_name]" } { ! set gnat_target_current "[current_target_name]" ! if [info exists TOOL_OPTIONS] { ! set gnat_rts_opt "--RTS=[get_multilibs ${TOOL_OPTIONS}]/libada" ! } else { ! set gnat_rts_opt "--RTS=[get_multilibs]/libada" ! } ! set GNAT_UNDER_TEST "$GNAT_UNDER_TEST_ORIG $gnat_rts_opt" } set ld_library_path ".:${gnat_libgcc_s_path}" --- 127,157 ---- global gluefile wrap_flags global srcdir global GNAT_UNDER_TEST global TOOL_OPTIONS global ld_library_path global gnat_libgcc_s_path global gnat_target_current ! # If we detect a change of target, we need to recompute both ! # GNAT_UNDER_TEST and the appropriate RTS. if { $gnat_target_current!="[current_target_name]" } { ! set gnat_target_current "[current_target_name]" ! if [info exists TOOL_OPTIONS] { ! set rtsdir "[get_multilibs ${TOOL_OPTIONS}]/libada" ! } else { ! set rtsdir "[get_multilibs]/libada" ! } ! if [info exists TOOL_EXECUTABLE] { ! set GNAT_UNDER_TEST "$TOOL_EXECUTABLE" ! } else { ! set GNAT_UNDER_TEST "[local_find_gnatmake]" ! } ! set GNAT_UNDER_TEST "$GNAT_UNDER_TEST --RTS=$rtsdir" ! ! # gnatlink looks for system.ads itself and has no --RTS option, so ! # specify via environment ! setenv ADA_INCLUDE_PATH "$rtsdir/adainclude" ! setenv ADA_OBJECTS_PATH "$rtsdir/adainclude" } set ld_library_path ".:${gnat_libgcc_s_path}" *************** proc local_find_gnatmake {} { *** 263,269 **** } if { $file != "" } { set root [file dirname $file] ! set CC "$file --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs --LINK=$root/xgcc -B$root -margs"; } else { set CC [transform gnatmake] } --- 270,282 ---- } if { $file != "" } { set root [file dirname $file] ! # Need to pass full --GCC, including multilib flags, to gnatlink, ! # otherwise gcc from PATH is invoked. ! set dest [target_info name] ! set gnatlink_gcc "--GCC=$root/xgcc -B$root [board_info $dest multilib_flags]" ! # Escape blanks to get them through DejaGnu's exec machinery. ! regsub -all {\s} "$gnatlink_gcc" {\\&} gnatlink_gcc ! set CC "$file --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs $gnatlink_gcc -margs"; } else { set CC [transform gnatmake] } diff -Nrcpad gcc-4.4.3/gcc/testsuite/lib/target-supports-dg.exp gcc-4.4.4/gcc/testsuite/lib/target-supports-dg.exp *** gcc-4.4.3/gcc/testsuite/lib/target-supports-dg.exp Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/testsuite/lib/target-supports-dg.exp Thu Mar 11 17:32:39 2010 *************** proc check-flags { args } { *** 235,243 **** append compiler_flags "[board_info $dest multilib_flags] " } ! # The target list might be an effective-target keyword, so replace ! # the original list with "*-*-*", since we already know it matches. ! set result [check_conditional_xfail [lreplace $args 1 1 "*-*-*"]] # Any value in this variable was left over from an earlier test. set compiler_flags "" --- 235,260 ---- append compiler_flags "[board_info $dest multilib_flags] " } ! # The next two arguments are optional. If they were not specified, ! # use the defaults. ! if { [llength $args] == 2 } { ! lappend $args [list "*"] ! } ! if { [llength $args] == 3 } { ! lappend $args [list ""] ! } ! ! # If the option strings are the defaults, or the same as the ! # defaults, there is no need to call check_conditional_xfail to ! # compare them to the actual options. ! if { [string compare [lindex $args 2] "*"] == 0 ! && [string compare [lindex $args 3] "" ] == 0 } { ! set result 1 ! } else { ! # The target list might be an effective-target keyword, so replace ! # the original list with "*-*-*", since we already know it matches. ! set result [check_conditional_xfail [lreplace $args 1 1 "*-*-*"]] ! } # Any value in this variable was left over from an earlier test. set compiler_flags "" *************** proc check-flags { args } { *** 256,269 **** # group of tests or flags specified with a previous dg-options command. proc dg-skip-if { args } { # Don't bother if we're already skipping the test. upvar dg-do-what dg-do-what if { [lindex ${dg-do-what} 1] == "N" } { return } - set args [lreplace $args 0 0] - set selector [list target [lindex $args 1]] if { [dg-process-target $selector] == "S" } { if [check-flags $args] { --- 273,290 ---- # group of tests or flags specified with a previous dg-options command. proc dg-skip-if { args } { + # Verify the number of arguments. The last two are optional. + set args [lreplace $args 0 0] + if { [llength $args] < 2 || [llength $args] > 4 } { + error "dg-skip-if 2: need 2, 3, or 4 arguments" + } + # Don't bother if we're already skipping the test. upvar dg-do-what dg-do-what if { [lindex ${dg-do-what} 1] == "N" } { return } set selector [list target [lindex $args 1]] if { [dg-process-target $selector] == "S" } { if [check-flags $args] { *************** proc dg-skip-if { args } { *** 276,306 **** # Like check_conditional_xfail, but callable from a dg test. proc dg-xfail-if { args } { # Don't change anything if we're already skipping the test. upvar dg-do-what dg-do-what if { [lindex ${dg-do-what} 1] == "N" } { return } - set args [lreplace $args 0 0] set selector [list target [lindex $args 1]] if { [dg-process-target $selector] == "S" } { global compiler_conditional_xfail_data ! set compiler_conditional_xfail_data [lreplace $args 1 1 "*-*-*"] } } # Like dg-xfail-if but for the execute step. proc dg-xfail-run-if { args } { # Don't bother if we're already skipping the test. upvar dg-do-what dg-do-what if { [lindex ${dg-do-what} 1] == "N" } { return } - set args [lreplace $args 0 0] - set selector [list target [lindex $args 1]] if { [dg-process-target $selector] == "S" } { if [check-flags $args] { --- 297,349 ---- # Like check_conditional_xfail, but callable from a dg test. proc dg-xfail-if { args } { + # Verify the number of arguments. The last three are optional. + set args [lreplace $args 0 0] + if { [llength $args] < 2 || [llength $args] > 4 } { + error "dg-xfail-if: need 2, 3, or 4 arguments" + } + # Don't change anything if we're already skipping the test. upvar dg-do-what dg-do-what if { [lindex ${dg-do-what} 1] == "N" } { return } set selector [list target [lindex $args 1]] if { [dg-process-target $selector] == "S" } { global compiler_conditional_xfail_data ! ! # The target list might be an effective-target keyword. Replace ! # the original list with "*-*-*", since we already know it matches. ! set args [lreplace $args 1 1 "*-*-*"] ! ! # Supply default values for unspecified optional arguments. ! if { [llength $args] == 2 } { ! lappend $args [list "*"] ! } ! if { [llength $args] == 3 } { ! lappend $args [list ""] ! } ! ! set compiler_conditional_xfail_data $args } } # Like dg-xfail-if but for the execute step. proc dg-xfail-run-if { args } { + # Verify the number of arguments. The last two are optional. + set args [lreplace $args 0 0] + if { [llength $args] < 2 || [llength $args] > 4 } { + error "dg-xfail-run-if: need 2, 3, or 4 arguments" + } + # Don't bother if we're already skipping the test. upvar dg-do-what dg-do-what if { [lindex ${dg-do-what} 1] == "N" } { return } set selector [list target [lindex $args 1]] if { [dg-process-target $selector] == "S" } { if [check-flags $args] { diff -Nrcpad gcc-4.4.3/gcc/testsuite/lib/target-supports.exp gcc-4.4.4/gcc/testsuite/lib/target-supports.exp *** gcc-4.4.3/gcc/testsuite/lib/target-supports.exp Tue Nov 3 17:59:43 2009 --- gcc-4.4.4/gcc/testsuite/lib/target-supports.exp Sat Mar 6 02:29:14 2010 *************** proc add_options_for_c99_runtime { flags *** 2787,2792 **** --- 2787,2814 ---- return $flags } + # Add to FLAGS the flags needed to enable functions to bind locally + # when using pic/PIC passes in the testsuite. + + proc add_options_for_bind_pic_locally { flags } { + if {[check_no_compiler_messages using_pic2 assembly { + #if __PIC__ != 2 + #error FOO + #endif + }]} { + return "$flags -fPIE" + } + if {[check_no_compiler_messages using_pic1 assembly { + #if __PIC__ != 1 + #error FOO + #endif + }]} { + return "$flags -fpie" + } + + return $flags + } + # Return 1 if the target provides a full C99 runtime. proc check_effective_target_c99_runtime { } { diff -Nrcpad gcc-4.4.3/gcc/testsuite/objc/execute/forward-1.x gcc-4.4.4/gcc/testsuite/objc/execute/forward-1.x *** gcc-4.4.3/gcc/testsuite/objc/execute/forward-1.x Fri Apr 10 17:31:22 2009 --- gcc-4.4.4/gcc/testsuite/objc/execute/forward-1.x Mon Feb 1 13:10:09 2010 *************** *** 1,8 **** load_lib target-supports.exp # XFAIL: PR libobjc/36610, for targets which pass arguments via registers - # For powerpc-darwin it fails with -fgnu-runtime, passes with -fnext-runtime, - # but that would be too ugly to handle; let it fail there. if { ([istarget x86_64-*-linux*] && [check_effective_target_lp64] ) || [istarget powerpc*-*-linux*] --- 1,6 ---- *************** if { ([istarget x86_64-*-linux*] && [che *** 15,18 **** --- 13,33 ---- set torture_execute_xfail "*-*-*" } + # For darwin and alpha-linux it fails with -fgnu-runtime, + # passes with -fnext-runtime. + + if { ([istarget x86_64-*-darwin*] && [check_effective_target_lp64] ) + || [istarget powerpc*-*-darwin*] + || [istarget alpha*-*-linux*] } { + set torture_eval_before_execute { + global compiler_conditional_xfail_data + set compiler_conditional_xfail_data { + "Target fails with -fgnu-runtime" \ + "*-*-*" \ + { "-fgnu-runtime" } \ + { "" } + } + } + } + return 0 diff -Nrcpad gcc-4.4.3/gcc/toplev.c gcc-4.4.4/gcc/toplev.c *** gcc-4.4.3/gcc/toplev.c Wed Apr 29 04:57:17 2009 --- gcc-4.4.4/gcc/toplev.c Wed Mar 31 02:51:31 2010 *************** backend_init_target (void) *** 2009,2016 **** /* We may need to recompute regno_save_code[] and regno_restore_code[] after a mode change as well. */ ! if (flag_caller_saves) ! init_caller_save (); expand_dummy_function_end (); } --- 2009,2016 ---- /* We may need to recompute regno_save_code[] and regno_restore_code[] after a mode change as well. */ ! caller_save_initialized_p = false; ! expand_dummy_function_end (); } diff -Nrcpad gcc-4.4.3/gcc/tree-inline.c gcc-4.4.4/gcc/tree-inline.c *** gcc-4.4.3/gcc/tree-inline.c Tue Jul 21 14:59:43 2009 --- gcc-4.4.4/gcc/tree-inline.c Mon Feb 8 15:50:59 2010 *************** estimate_move_cost (tree type) *** 2729,2734 **** --- 2729,2736 ---- { HOST_WIDE_INT size; + gcc_assert (!VOID_TYPE_P (type)); + size = int_size_in_bytes (type); if (size < 0 || size > MOVE_MAX_PIECES * MOVE_RATIO (!optimize_size)) *************** estimate_num_insns (gimple stmt, eni_wei *** 2980,2986 **** { tree t; for (t = TYPE_ARG_TYPES (funtype); t; t = TREE_CHAIN (t)) ! cost += estimate_move_cost (TREE_VALUE (t)); } else { --- 2982,2989 ---- { tree t; for (t = TYPE_ARG_TYPES (funtype); t; t = TREE_CHAIN (t)) ! if (!VOID_TYPE_P (TREE_VALUE (t))) ! cost += estimate_move_cost (TREE_VALUE (t)); } else { *************** tree_versionable_function_p (tree fndecl *** 4268,4273 **** --- 4271,4316 ---- return true; } + /* Delete all unreachable basic blocks and update callgraph. + Doing so is somewhat nontrivial because we need to update all clones and + remove inline function that become unreachable. */ + + static bool + delete_unreachable_blocks_update_callgraph (copy_body_data *id) + { + bool changed = false; + basic_block b, next_bb; + + find_unreachable_blocks (); + + /* Delete all unreachable basic blocks. */ + + for (b = ENTRY_BLOCK_PTR->next_bb; b != EXIT_BLOCK_PTR; b = next_bb) + { + next_bb = b->next_bb; + + if (!(b->flags & BB_REACHABLE)) + { + gimple_stmt_iterator bsi; + + for (bsi = gsi_start_bb (b); !gsi_end_p (bsi); gsi_next (&bsi)) + if (gimple_code (gsi_stmt (bsi)) == GIMPLE_CALL) + { + struct cgraph_edge *e; + + if ((e = cgraph_edge (id->dst_node, gsi_stmt (bsi))) != NULL) + cgraph_remove_edge (e); + } + delete_basic_block (b); + changed = true; + } + } + + if (changed) + tidy_fallthru_edges (); + return changed; + } + /* Create a copy of a function's tree. OLD_DECL and NEW_DECL are FUNCTION_DECL tree nodes of the original function and the new copied function *************** tree_function_versioning (tree old_decl, *** 4442,4448 **** free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS); if (!update_clones) ! delete_unreachable_blocks (); update_ssa (TODO_update_ssa); if (!update_clones) { --- 4485,4491 ---- free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS); if (!update_clones) ! delete_unreachable_blocks_update_callgraph (&id); update_ssa (TODO_update_ssa); if (!update_clones) { diff -Nrcpad gcc-4.4.3/gcc/tree-loop-linear.c gcc-4.4.4/gcc/tree-loop-linear.c *** gcc-4.4.3/gcc/tree-loop-linear.c Thu Jan 8 16:01:42 2009 --- gcc-4.4.4/gcc/tree-loop-linear.c Mon Feb 8 15:48:01 2010 *************** *** 1,5 **** /* Linear Loop transforms ! Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Daniel Berlin . --- 1,5 ---- /* Linear Loop transforms ! Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Daniel Berlin . *************** try_interchange_loops (lambda_trans_matr *** 246,254 **** res = cmp < 0 ? estimated_loop_iterations (loop_j, false, &nb_iter): estimated_loop_iterations (loop_i, false, &nb_iter); - large = double_int_mul (large, nb_iter); ! if (res && double_int_ucmp (large, l1_cache_size) < 0) continue; if (dependence_steps_i < dependence_steps_j --- 246,255 ---- res = cmp < 0 ? estimated_loop_iterations (loop_j, false, &nb_iter): estimated_loop_iterations (loop_i, false, &nb_iter); ! if (res ! && double_int_ucmp (double_int_mul (large, nb_iter), ! l1_cache_size) < 0) continue; if (dependence_steps_i < dependence_steps_j diff -Nrcpad gcc-4.4.3/gcc/tree-nested.c gcc-4.4.4/gcc/tree-nested.c *** gcc-4.4.3/gcc/tree-nested.c Sat Sep 13 16:29:22 2008 --- gcc-4.4.4/gcc/tree-nested.c Tue Apr 20 08:37:12 2010 *************** *** 1,5 **** /* Nested function decomposition for GIMPLE. ! Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GCC. --- 1,6 ---- /* Nested function decomposition for GIMPLE. ! Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 ! Free Software Foundation, Inc. This file is part of GCC. *************** convert_nonlocal_omp_clauses (tree *pcla *** 1040,1046 **** { bitmap_set_bit (new_suppress, DECL_UID (decl)); OMP_CLAUSE_DECL (clause) = get_nonlocal_debug_decl (info, decl); ! need_chain = true; } break; --- 1041,1048 ---- { bitmap_set_bit (new_suppress, DECL_UID (decl)); OMP_CLAUSE_DECL (clause) = get_nonlocal_debug_decl (info, decl); ! if (OMP_CLAUSE_CODE (clause) != OMP_CLAUSE_PRIVATE) ! need_chain = true; } break; diff -Nrcpad gcc-4.4.3/gcc/tree-sra.c gcc-4.4.4/gcc/tree-sra.c *** gcc-4.4.3/gcc/tree-sra.c Wed Mar 4 09:02:59 2009 --- gcc-4.4.4/gcc/tree-sra.c Sun Apr 18 15:56:32 2010 *************** bitfield_overlaps_p (tree blen, tree bpo *** 2933,2938 **** --- 2933,2944 ---- else gcc_unreachable (); + if (CONTAINS_PLACEHOLDER_P (flen)) + flen = size_binop (MULT_EXPR, + fold_convert (bitsizetype, + lang_hooks.types.max_size (fld->type)), + bitsize_unit_node); + gcc_assert (host_integerp (blen, 1) && host_integerp (bpos, 1) && host_integerp (flen, 1) diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-address.c gcc-4.4.4/gcc/tree-ssa-address.c *** gcc-4.4.3/gcc/tree-ssa-address.c Fri Feb 20 15:20:38 2009 --- gcc-4.4.4/gcc/tree-ssa-address.c Thu Apr 8 11:28:06 2010 *************** copy_mem_ref_info (tree to, tree from) *** 714,719 **** --- 714,721 ---- /* And the info about the original reference. */ TMR_ORIGINAL (to) = TMR_ORIGINAL (from); + TREE_SIDE_EFFECTS (to) = TREE_SIDE_EFFECTS (from); + TREE_THIS_VOLATILE (to) = TREE_THIS_VOLATILE (from); } /* Move constants in target_mem_ref REF to offset. Returns the new target diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-ccp.c gcc-4.4.4/gcc/tree-ssa-ccp.c *** gcc-4.4.3/gcc/tree-ssa-ccp.c Mon Nov 9 19:38:29 2009 --- gcc-4.4.4/gcc/tree-ssa-ccp.c Wed Apr 7 15:40:43 2010 *************** *** 1,6 **** /* Conditional constant propagation pass for the GNU compiler. ! Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 ! Free Software Foundation, Inc. Adapted from original RTL SSA-CCP by Daniel Berlin Adapted to GIMPLE trees by Diego Novillo --- 1,6 ---- /* Conditional constant propagation pass for the GNU compiler. ! Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, ! 2010 Free Software Foundation, Inc. Adapted from original RTL SSA-CCP by Daniel Berlin Adapted to GIMPLE trees by Diego Novillo *************** likely_value (gimple stmt) *** 505,510 **** --- 505,511 ---- bool has_constant_operand, has_undefined_operand, all_undefined_operands; tree use; ssa_op_iter iter; + unsigned i; enum gimple_code code = gimple_code (stmt); *************** likely_value (gimple stmt) *** 559,564 **** --- 560,581 ---- has_constant_operand = true; } + /* There may be constants in regular rhs operands. For calls we + have to ignore lhs, fndecl and static chain, otherwise only + the lhs. */ + for (i = (is_gimple_call (stmt) ? 2 : 0) + gimple_has_lhs (stmt); + i < gimple_num_ops (stmt); ++i) + { + tree op = gimple_op (stmt, i); + if (!op || TREE_CODE (op) == SSA_NAME) + continue; + if (is_gimple_min_invariant (op)) + has_constant_operand = true; + } + + if (has_constant_operand) + all_undefined_operands = false; + /* If the operation combines operands like COMPLEX_EXPR make sure to not mark the result UNDEFINED if only one part of the result is undefined. */ *************** optimize_stack_restore (gimple_stmt_iter *** 2979,2985 **** continue; callee = gimple_call_fndecl (stmt); ! if (!callee || DECL_BUILT_IN_CLASS (callee) != BUILT_IN_NORMAL) return NULL_TREE; if (DECL_FUNCTION_CODE (callee) == BUILT_IN_STACK_RESTORE) --- 2996,3005 ---- continue; callee = gimple_call_fndecl (stmt); ! if (!callee ! || DECL_BUILT_IN_CLASS (callee) != BUILT_IN_NORMAL ! /* All regular builtins are ok, just obviously not alloca. */ ! || DECL_FUNCTION_CODE (callee) == BUILT_IN_ALLOCA) return NULL_TREE; if (DECL_FUNCTION_CODE (callee) == BUILT_IN_STACK_RESTORE) diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-loop-im.c gcc-4.4.4/gcc/tree-ssa-loop-im.c *** gcc-4.4.3/gcc/tree-ssa-loop-im.c Fri Jan 15 10:50:56 2010 --- gcc-4.4.4/gcc/tree-ssa-loop-im.c Thu Apr 8 11:31:00 2010 *************** hoist_memory_references (struct loop *lo *** 1887,1902 **** } } ! /* Returns true if REF is always accessed in LOOP. */ static bool ! ref_always_accessed_p (struct loop *loop, mem_ref_p ref) { VEC (mem_ref_loc_p, heap) *locs = NULL; unsigned i; mem_ref_loc_p loc; bool ret = false; struct loop *must_exec; get_all_locs_in_loop (loop, ref, &locs); for (i = 0; VEC_iterate (mem_ref_loc_p, locs, i, loc); i++) --- 1887,1908 ---- } } ! /* Returns true if REF is always accessed in LOOP. If STORED_P is true ! make sure REF is always stored to in LOOP. */ static bool ! ref_always_accessed_p (struct loop *loop, mem_ref_p ref, bool stored_p) { VEC (mem_ref_loc_p, heap) *locs = NULL; unsigned i; mem_ref_loc_p loc; bool ret = false; struct loop *must_exec; + tree base; + + base = get_base_address (ref->mem); + if (INDIRECT_REF_P (base)) + base = TREE_OPERAND (base, 0); get_all_locs_in_loop (loop, ref, &locs); for (i = 0; VEC_iterate (mem_ref_loc_p, locs, i, loc); i++) *************** ref_always_accessed_p (struct loop *loop *** 1904,1909 **** --- 1910,1931 ---- if (!get_lim_data (loc->stmt)) continue; + /* If we require an always executed store make sure the statement + stores to the reference. */ + if (stored_p) + { + tree lhs; + if (!gimple_get_lhs (loc->stmt)) + continue; + lhs = get_base_address (gimple_get_lhs (loc->stmt)); + if (!lhs) + continue; + if (INDIRECT_REF_P (lhs)) + lhs = TREE_OPERAND (lhs, 0); + if (lhs != base) + continue; + } + must_exec = get_lim_data (loc->stmt)->always_executed_in; if (!must_exec) continue; *************** ref_indep_loop_p (struct loop *loop, mem *** 2041,2046 **** --- 2063,2070 ---- static bool can_sm_ref_p (struct loop *loop, mem_ref_p ref) { + tree base; + /* Unless the reference is stored in the loop, there is nothing to do. */ if (!bitmap_bit_p (ref->stored, loop->num)) return false; *************** can_sm_ref_p (struct loop *loop, mem_ref *** 2051,2059 **** || !for_each_index (&ref->mem, may_move_till, loop)) return false; ! /* If it can trap, it must be always executed in LOOP. */ ! if (tree_could_trap_p (ref->mem) ! && !ref_always_accessed_p (loop, ref)) return false; /* And it must be independent on all other memory references --- 2075,2088 ---- || !for_each_index (&ref->mem, may_move_till, loop)) return false; ! /* If it can trap, it must be always executed in LOOP. ! Readonly memory locations may trap when storing to them, but ! tree_could_trap_p is a predicate for rvalues, so check that ! explicitly. */ ! base = get_base_address (ref->mem); ! if ((tree_could_trap_p (ref->mem) ! || (DECL_P (base) && TREE_READONLY (base))) ! && !ref_always_accessed_p (loop, ref, true)) return false; /* And it must be independent on all other memory references diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-loop-ivcanon.c gcc-4.4.4/gcc/tree-ssa-loop-ivcanon.c *** gcc-4.4.3/gcc/tree-ssa-loop-ivcanon.c Fri Aug 29 10:35:57 2008 --- gcc-4.4.4/gcc/tree-ssa-loop-ivcanon.c Thu Apr 8 10:46:46 2010 *************** tree_unroll_loops_completely (bool may_i *** 352,357 **** --- 352,358 ---- struct loop *loop; bool changed; enum unroll_level ul; + int iteration = 0; do { *************** tree_unroll_loops_completely (bool may_i *** 384,390 **** scev_reset (); } } ! while (changed); return 0; } --- 385,392 ---- scev_reset (); } } ! while (changed ! && ++iteration <= PARAM_VALUE (PARAM_MAX_UNROLL_ITERATIONS)); return 0; } diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-loop-ivopts.c gcc-4.4.4/gcc/tree-ssa-loop-ivopts.c *** gcc-4.4.3/gcc/tree-ssa-loop-ivopts.c Wed Mar 18 17:04:26 2009 --- gcc-4.4.4/gcc/tree-ssa-loop-ivopts.c Thu Apr 8 11:47:13 2010 *************** find_interesting_uses_address (struct iv *** 1674,1680 **** while (handled_component_p (*ref)) ref = &TREE_OPERAND (*ref, 0); if (TREE_CODE (*ref) == INDIRECT_REF) ! *ref = fold_indirect_ref (*ref); } } --- 1674,1684 ---- while (handled_component_p (*ref)) ref = &TREE_OPERAND (*ref, 0); if (TREE_CODE (*ref) == INDIRECT_REF) ! { ! tree tem = gimple_fold_indirect_ref (TREE_OPERAND (*ref, 0)); ! if (tem) ! *ref = tem; ! } } } *************** copy_ref_info (tree new_ref, tree old_re *** 5290,5295 **** --- 5294,5301 ---- { TMR_ORIGINAL (new_ref) = unshare_and_remove_ssa_names (old_ref); TMR_TAG (new_ref) = get_ref_tag (old_ref, TMR_ORIGINAL (new_ref)); + TREE_SIDE_EFFECTS (new_ref) = TREE_SIDE_EFFECTS (old_ref); + TREE_THIS_VOLATILE (new_ref) = TREE_THIS_VOLATILE (old_ref); } } diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-operands.c gcc-4.4.4/gcc/tree-ssa-operands.c *** gcc-4.4.3/gcc/tree-ssa-operands.c Wed Jun 17 10:33:31 2009 --- gcc-4.4.4/gcc/tree-ssa-operands.c Thu Apr 8 11:28:06 2010 *************** get_tmr_operands (gimple stmt, tree expr *** 1606,1611 **** --- 1606,1614 ---- /* Mark the statement as having memory operands. */ gimple_set_references_memory (stmt, true); + if (TREE_THIS_VOLATILE (expr)) + gimple_set_has_volatile_ops (stmt, true); + /* First record the real operands. */ get_expr_operands (stmt, &TMR_BASE (expr), opf_use); get_expr_operands (stmt, &TMR_INDEX (expr), opf_use); diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-pre.c gcc-4.4.4/gcc/tree-ssa-pre.c *** gcc-4.4.3/gcc/tree-ssa-pre.c Sun Jan 17 15:50:53 2010 --- gcc-4.4.4/gcc/tree-ssa-pre.c Mon Mar 22 16:32:58 2010 *************** get_representative_for (const pre_expr e *** 1395,1428 **** /* Translate EXPR using phis in PHIBLOCK, so that it has the values of the phis in PRED. Return NULL if we can't find a leader for each part of the translated expression. */ static pre_expr ! phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2, ! basic_block pred, basic_block phiblock) { - pre_expr oldexpr = expr; - pre_expr phitrans; - - if (!expr) - return NULL; - - if (value_id_constant_p (get_expr_value_id (expr))) - return expr; - - phitrans = phi_trans_lookup (expr, pred); - if (phitrans) - return phitrans; - switch (expr->kind) { - /* Constants contain no values that need translation. */ - case CONSTANT: - return expr; - case NARY: { unsigned int i; --- 1395,1414 ---- + static pre_expr + phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2, + basic_block pred, basic_block phiblock); /* Translate EXPR using phis in PHIBLOCK, so that it has the values of the phis in PRED. Return NULL if we can't find a leader for each part of the translated expression. */ static pre_expr ! phi_translate_1 (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2, ! basic_block pred, basic_block phiblock) { switch (expr->kind) { case NARY: { unsigned int i; *************** phi_translate (pre_expr expr, bitmap_set *** 1510,1516 **** } add_to_value (new_val_id, expr); } - phi_trans_add (oldexpr, expr, pred); return expr; } break; --- 1496,1501 ---- *************** phi_translate (pre_expr expr, bitmap_set *** 1660,1666 **** add_to_value (new_val_id, expr); } VEC_free (vn_reference_op_s, heap, newoperands); - phi_trans_add (oldexpr, expr, pred); return expr; } break; --- 1645,1650 ---- *************** phi_translate (pre_expr expr, bitmap_set *** 1706,1711 **** --- 1690,1733 ---- } } + /* Wrapper around phi_translate_1 providing caching functionality. */ + + static pre_expr + phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2, + basic_block pred, basic_block phiblock) + { + pre_expr phitrans; + + if (!expr) + return NULL; + + /* Constants contain no values that need translation. */ + if (expr->kind == CONSTANT) + return expr; + + if (value_id_constant_p (get_expr_value_id (expr))) + return expr; + + if (expr->kind != NAME) + { + phitrans = phi_trans_lookup (expr, pred); + if (phitrans) + return phitrans; + } + + /* Translate. */ + phitrans = phi_translate_1 (expr, set1, set2, pred, phiblock); + + /* Don't add empty translations to the cache. Neither add + translations of NAMEs as those are cheap to translate. */ + if (phitrans + && expr->kind != NAME) + phi_trans_add (expr, phitrans, pred); + + return phitrans; + } + + /* For each expression in SET, translate the values through phi nodes in PHIBLOCK using edge PHIBLOCK->PRED, and store the resulting expressions in DEST. */ *************** phi_translate_set (bitmap_set_t dest, bi *** 1729,1740 **** { pre_expr translated; translated = phi_translate (expr, set, NULL, pred, phiblock); ! /* Don't add empty translations to the cache */ ! if (translated) ! phi_trans_add (expr, translated, pred); ! ! if (translated != NULL) bitmap_value_insert_into_set (dest, translated); } VEC_free (pre_expr, heap, exprs); --- 1751,1766 ---- { pre_expr translated; translated = phi_translate (expr, set, NULL, pred, phiblock); + if (!translated) + continue; ! /* We might end up with multiple expressions from SET being ! translated to the same value. In this case we do not want ! to retain the NARY or REFERENCE expression but prefer a NAME ! which would be the leader. */ ! if (translated->kind == NAME) ! bitmap_value_replace_in_set (dest, translated); ! else bitmap_value_insert_into_set (dest, translated); } VEC_free (pre_expr, heap, exprs); diff -Nrcpad gcc-4.4.3/gcc/tree-ssa-reassoc.c gcc-4.4.4/gcc/tree-ssa-reassoc.c *** gcc-4.4.3/gcc/tree-ssa-reassoc.c Mon Jan 12 11:11:40 2009 --- gcc-4.4.4/gcc/tree-ssa-reassoc.c Tue Feb 9 10:36:22 2010 *************** *** 1,5 **** /* Reassociation for trees. ! Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Daniel Berlin This file is part of GCC. --- 1,5 ---- /* Reassociation for trees. ! Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Daniel Berlin This file is part of GCC. *************** build_and_add_sum (tree tmpvar, tree op1 *** 844,850 **** if ((!op1def || gimple_nop_p (op1def)) && (!op2def || gimple_nop_p (op2def))) { ! gsi = gsi_start_bb (single_succ (ENTRY_BLOCK_PTR)); gsi_insert_before (&gsi, sum, GSI_NEW_STMT); } else if ((!op1def || gimple_nop_p (op1def)) --- 844,850 ---- if ((!op1def || gimple_nop_p (op1def)) && (!op2def || gimple_nop_p (op2def))) { ! gsi = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR)); gsi_insert_before (&gsi, sum, GSI_NEW_STMT); } else if ((!op1def || gimple_nop_p (op1def)) *************** build_and_add_sum (tree tmpvar, tree op1 *** 853,859 **** { if (gimple_code (op2def) == GIMPLE_PHI) { ! gsi = gsi_start_bb (gimple_bb (op2def)); gsi_insert_before (&gsi, sum, GSI_NEW_STMT); } else --- 853,859 ---- { if (gimple_code (op2def) == GIMPLE_PHI) { ! gsi = gsi_after_labels (gimple_bb (op2def)); gsi_insert_before (&gsi, sum, GSI_NEW_STMT); } else *************** build_and_add_sum (tree tmpvar, tree op1 *** 878,884 **** { if (gimple_code (op1def) == GIMPLE_PHI) { ! gsi = gsi_start_bb (gimple_bb (op1def)); gsi_insert_before (&gsi, sum, GSI_NEW_STMT); } else --- 878,884 ---- { if (gimple_code (op1def) == GIMPLE_PHI) { ! gsi = gsi_after_labels (gimple_bb (op1def)); gsi_insert_before (&gsi, sum, GSI_NEW_STMT); } else diff -Nrcpad gcc-4.4.3/gcc/tree-vect-analyze.c gcc-4.4.4/gcc/tree-vect-analyze.c *** gcc-4.4.3/gcc/tree-vect-analyze.c Mon Jan 4 12:45:46 2010 --- gcc-4.4.4/gcc/tree-vect-analyze.c Mon Apr 19 06:17:56 2010 *************** vect_supported_load_permutation_p (slp_i *** 3260,3265 **** --- 3260,3269 ---- SET_BIT (load_index, prev); } + for (j = 0; j < group_size; j++) + if (!TEST_BIT (load_index, j)) + return false; + sbitmap_free (load_index); if (supported && i == group_size * group_size *************** vect_detect_hybrid_slp_stmts (slp_tree n *** 3508,3514 **** FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, gimple_op (stmt, 0)) if (vinfo_for_stmt (use_stmt) && !STMT_SLP_TYPE (vinfo_for_stmt (use_stmt)) ! && STMT_VINFO_RELEVANT (vinfo_for_stmt (use_stmt))) vect_mark_slp_stmts (node, hybrid, i); vect_detect_hybrid_slp_stmts (SLP_TREE_LEFT (node)); --- 3512,3520 ---- FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, gimple_op (stmt, 0)) if (vinfo_for_stmt (use_stmt) && !STMT_SLP_TYPE (vinfo_for_stmt (use_stmt)) ! && (STMT_VINFO_RELEVANT (vinfo_for_stmt (use_stmt)) ! || STMT_VINFO_DEF_TYPE (vinfo_for_stmt (use_stmt)) ! == vect_reduction_def)) vect_mark_slp_stmts (node, hybrid, i); vect_detect_hybrid_slp_stmts (SLP_TREE_LEFT (node)); diff -Nrcpad gcc-4.4.3/gcc/tree.c gcc-4.4.4/gcc/tree.c *** gcc-4.4.3/gcc/tree.c Mon Jul 20 14:39:32 2009 --- gcc-4.4.4/gcc/tree.c Thu Apr 8 11:28:06 2010 *************** build7_stat (enum tree_code code, tree t *** 3455,3461 **** PROCESS_ARG(6); TREE_SIDE_EFFECTS (t) = side_effects; ! TREE_THIS_VOLATILE (t) = 0; return t; } --- 3455,3465 ---- PROCESS_ARG(6); TREE_SIDE_EFFECTS (t) = side_effects; ! if (code == TARGET_MEM_REF) ! TREE_SIDE_EFFECTS (t) = (arg5 && TREE_SIDE_EFFECTS (arg5)); ! TREE_THIS_VOLATILE (t) ! = (code == TARGET_MEM_REF ! && arg5 && TREE_THIS_VOLATILE (arg5)); return t; } diff -Nrcpad gcc-4.4.3/gnattools/ChangeLog gcc-4.4.4/gnattools/ChangeLog *** gcc-4.4.3/gnattools/ChangeLog Thu Jan 21 09:37:33 2010 --- gcc-4.4.4/gnattools/ChangeLog Thu Apr 29 07:51:07 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/include/ChangeLog gcc-4.4.4/include/ChangeLog *** gcc-4.4.3/include/ChangeLog Thu Jan 21 09:36:07 2010 --- gcc-4.4.4/include/ChangeLog Thu Apr 29 07:48:44 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/intl/ChangeLog gcc-4.4.4/intl/ChangeLog *** gcc-4.4.3/intl/ChangeLog Thu Jan 21 09:37:48 2010 --- gcc-4.4.4/intl/ChangeLog Thu Apr 29 07:51:26 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libada/ChangeLog gcc-4.4.4/libada/ChangeLog *** gcc-4.4.3/libada/ChangeLog Thu Jan 21 09:37:43 2010 --- gcc-4.4.4/libada/ChangeLog Thu Apr 29 07:51:20 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libcpp/ChangeLog gcc-4.4.4/libcpp/ChangeLog *** gcc-4.4.3/libcpp/ChangeLog Thu Jan 21 09:38:28 2010 --- gcc-4.4.4/libcpp/ChangeLog Thu Apr 29 07:52:20 2010 *************** *** 1,3 **** --- 1,12 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-02-11 Jakub Jelinek + + * init.c (read_original_filename): Don't call read_original_directory + if _cpp_handle_directive returns 0. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libcpp/init.c gcc-4.4.4/libcpp/init.c *** gcc-4.4.3/libcpp/init.c Wed Nov 11 20:21:14 2009 --- gcc-4.4.4/libcpp/init.c Thu Feb 11 19:51:07 2010 *************** *** 1,6 **** /* CPP Library. Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 --- 1,6 ---- /* CPP Library. Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, ! 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 *************** read_original_filename (cpp_reader *pfil *** 570,578 **** pfile->state.in_directive = 0; /* If it's a #line directive, handle it. */ ! if (token1->type == CPP_NUMBER) { - _cpp_handle_directive (pfile, token->flags & PREV_WHITE); read_original_directory (pfile); return; } --- 570,578 ---- pfile->state.in_directive = 0; /* If it's a #line directive, handle it. */ ! if (token1->type == CPP_NUMBER ! && _cpp_handle_directive (pfile, token->flags & PREV_WHITE)) { read_original_directory (pfile); return; } diff -Nrcpad gcc-4.4.3/libcpp/po/ChangeLog gcc-4.4.4/libcpp/po/ChangeLog *** gcc-4.4.3/libcpp/po/ChangeLog Thu Jan 21 09:38:23 2010 --- gcc-4.4.4/libcpp/po/ChangeLog Thu Apr 29 07:52:14 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libdecnumber/ChangeLog gcc-4.4.4/libdecnumber/ChangeLog *** gcc-4.4.3/libdecnumber/ChangeLog Thu Jan 21 09:38:06 2010 --- gcc-4.4.4/libdecnumber/ChangeLog Thu Apr 29 07:51:48 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libffi/ChangeLog gcc-4.4.4/libffi/ChangeLog *** gcc-4.4.3/libffi/ChangeLog Thu Jan 21 09:35:47 2010 --- gcc-4.4.4/libffi/ChangeLog Thu Apr 29 07:48:16 2010 *************** *** 1,3 **** --- 1,12 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-02-15 Matthias Klose + + * src/arm/sysv.S (__ARM_ARCH__): Define for processor + __ARM_ARCH_7EM__. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libffi/src/arm/sysv.S gcc-4.4.4/libffi/src/arm/sysv.S *** gcc-4.4.3/libffi/src/arm/sysv.S Wed Sep 23 15:08:02 2009 --- gcc-4.4.4/libffi/src/arm/sysv.S Mon Feb 15 15:20:18 2010 *************** *** 73,79 **** #endif #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ ! || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) # undef __ARM_ARCH__ # define __ARM_ARCH__ 7 #endif --- 73,80 ---- #endif #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ ! || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \ ! || defined(__ARM_ARCH_7EM__) # undef __ARM_ARCH__ # define __ARM_ARCH__ 7 #endif diff -Nrcpad gcc-4.4.3/libgcc/ChangeLog gcc-4.4.4/libgcc/ChangeLog *** gcc-4.4.3/libgcc/ChangeLog Thu Jan 21 09:35:57 2010 --- gcc-4.4.4/libgcc/ChangeLog Thu Apr 29 07:48:31 2010 *************** *** 1,3 **** --- 1,20 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-08 Rainer Orth + + Backport from mainline: + 2010-03-22 Rainer Orth + + PR target/38085 + * config/i386/t-sol2 ($(T)gmon.o): Use CFLAGS instead of + MULTILIB_CFLAGS. + ($(T)gcrt1.o): Likewise. + ($(T)crt1.o): Likewise. + ($(T)crti.o): Likewise. + ($(T)crtn.o): Likewise. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libgcc/config/i386/t-sol2 gcc-4.4.4/libgcc/config/i386/t-sol2 *** gcc-4.4.3/libgcc/config/i386/t-sol2 Thu Nov 20 17:13:01 2008 --- gcc-4.4.4/libgcc/config/i386/t-sol2 Thu Apr 8 15:09:17 2010 *************** *** 1,6 **** # gmon build rule: $(T)gmon.o: $(gcc_srcdir)/config/i386/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H) ! $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \ -c $(gcc_srcdir)/config/i386/gmon-sol2.c -o $(T)gmon.o # Assemble startup files. --- 1,6 ---- # gmon build rule: $(T)gmon.o: $(gcc_srcdir)/config/i386/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H) ! $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CFLAGS) \ -c $(gcc_srcdir)/config/i386/gmon-sol2.c -o $(T)gmon.o # Assemble startup files. *************** $(T)gmon.o: $(gcc_srcdir)/config/i386/gm *** 9,24 **** # the comments with sed. This bug may only be in the Early Access releases. $(T)gcrt1.o: $(gcc_srcdir)/config/i386/sol2-gc1.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-gc1.asm >gcrt1.s ! $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)gcrt1.o gcrt1.s $(T)crt1.o: $(gcc_srcdir)/config/i386/sol2-c1.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-c1.asm >crt1.s ! $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crt1.o crt1.s $(T)crti.o: $(gcc_srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-ci.asm >crti.s ! $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o crti.s $(T)crtn.o: $(gcc_srcdir)/config/i386/sol2-cn.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-cn.asm >crtn.s ! $(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o crtn.s # We need to use -fPIC when we are using gcc to compile the routines in # crtstuff.c. This is only really needed when we are going to use gcc/g++ --- 9,24 ---- # the comments with sed. This bug may only be in the Early Access releases. $(T)gcrt1.o: $(gcc_srcdir)/config/i386/sol2-gc1.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-gc1.asm >gcrt1.s ! $(GCC_FOR_TARGET) $(CFLAGS) -c -o $(T)gcrt1.o gcrt1.s $(T)crt1.o: $(gcc_srcdir)/config/i386/sol2-c1.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-c1.asm >crt1.s ! $(GCC_FOR_TARGET) $(CFLAGS) -c -o $(T)crt1.o crt1.s $(T)crti.o: $(gcc_srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-ci.asm >crti.s ! $(GCC_FOR_TARGET) $(CFLAGS) -c -o $(T)crti.o crti.s $(T)crtn.o: $(gcc_srcdir)/config/i386/sol2-cn.asm $(GCC_PASSES) sed -e '/^!/d' <$(gcc_srcdir)/config/i386/sol2-cn.asm >crtn.s ! $(GCC_FOR_TARGET) $(CFLAGS) -c -o $(T)crtn.o crtn.s # We need to use -fPIC when we are using gcc to compile the routines in # crtstuff.c. This is only really needed when we are going to use gcc/g++ diff -Nrcpad gcc-4.4.3/libgcc/config/libbid/ChangeLog gcc-4.4.4/libgcc/config/libbid/ChangeLog *** gcc-4.4.3/libgcc/config/libbid/ChangeLog Thu Jan 21 09:35:51 2010 --- gcc-4.4.4/libgcc/config/libbid/ChangeLog Thu Apr 29 07:48:24 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libgfortran/ChangeLog gcc-4.4.4/libgfortran/ChangeLog *** gcc-4.4.3/libgfortran/ChangeLog Thu Jan 21 09:38:12 2010 --- gcc-4.4.4/libgfortran/ChangeLog Thu Apr 29 07:52:00 2010 *************** *** 1,3 **** --- 1,88 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-01 Janne Blomqvist + + PR libfortran/43605 + * io/intrinsics.c (gf_ftell): New function, seek to correct offset. + (ftell): Call gf_ftell. + (FTELL_SUB): Likewise. + + 2010-04-01 Janne Blomqvist + + PR libfortran/43605 + * io/intrinsics.c (ftell): Reset fbuf, correct offset. + (FTELL_SUB): Likewise. + + 2010-03-30 Jerry DeLisle + + PR fortran/43409 + Back port from trunk. + * io/io.h: Fix type of size in st_parameter_inquire structure. + Add prototype for new function to return file size. + * io/unix.c (file_size): New function. + * io/inquire.c (inquire_via_unit): Use new function. + (inquire_via_filename): Use new function. + + 2010-03-29 Jerry DeLisle + + PR libfortran/43265 + * io/transfer.c (next_record_r): Only call hit_eof for specific + conditions when an EOF is encountered. + + 2010-03-29 Tobias Burnus + + PR fortran/43551 + * io/unix.c (buf_write): Set physical_offset after lseek. + + 2010-03-25 Jerry DeLisle + + PR libfortran/43517 + * io/read.c (read_x): Return if seen EOR condition. + + 2010-03-17 Jerry DeLisle + + PR libfortran/43265 + * io/io.h: Delete prototype for read_sf, making it static. + * io/read.c (read_x): Modify to call hit_eof if PAD="no". + * io/transfer.c (read_sf_internal): New static function extracted from + read_sf for use on internal units only. Handle empty string case. + (read_sf): New factoring of this function, make it static. Add special + conditions for EOF based on ADVANCE="no", PAD="no", and whether any + bytes have been previously read from the record. + (read_block_form): Modify to call read_sf or read_sf_internal. + (next_record_r): Add a done flag similar to next_record_w. Call hit_eof + if internal array unit next record returns finished, meaning an EOF was + found and not done, ie not the last record expected. For external + units call hit_eof if item_count is 1 or there are no pending spaces. + (next_record): Update call to next_record_r. + + 2010-03-12 Jerry DeLisle + + PR libfortran/43265 + Backport from trunk. + * io/read.c (read_x): Replace the use of read_sf with equivalent lower + level I/O, eliminating unneeded code and handling EOF and EOR + conditions. + * io/io.h: Revise prototype for read_sf. + * io/transfer.c (read_sf): Delete no_error parameter and all uses of it. + Set eof and eor condition flags. (read_block_form): Likewise. + (next_record_r): Add condition to call to hit_eof. + + 2010-03-11 Tobias Burnus + + PR fortran/43228 + * io/list_read.c (nml_parse_qualifier): Disable expanded_read + for array sections. + + 2010-02-04 Jerry DeLisle + + PR libfortran/42901 + * io/list_read.c (nml_get_obj_data): Add new qualifier flag, clean up + code, and adjust logic to set namelist info pointer correctly for array + qualifiers of derived type components. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libgfortran/io/inquire.c gcc-4.4.4/libgfortran/io/inquire.c *** gcc-4.4.3/libgfortran/io/inquire.c Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libgfortran/io/inquire.c Wed Mar 31 02:00:51 2010 *************** inquire_via_unit (st_parameter_inquire * *** 370,375 **** --- 370,383 ---- cf_strcpy (iqp->round, iqp->round_len, p); } + + if ((cf2 & IOPARM_INQUIRE_HAS_SIZE) != 0) + { + if (u == NULL) + *iqp->size = -1; + else + *iqp->size = file_size (u->file, (gfc_charlen_type) u->file_len); + } } if ((cf & IOPARM_INQUIRE_HAS_POSITION) != 0) *************** inquire_via_filename (st_parameter_inqui *** 600,605 **** --- 608,616 ---- if ((cf2 & IOPARM_INQUIRE_HAS_ENCODING) != 0) cf_strcpy (iqp->encoding, iqp->encoding_len, undefined); + + if ((cf2 & IOPARM_INQUIRE_HAS_SIZE) != 0) + *iqp->size = file_size (iqp->file, iqp->file_len); } if ((cf & IOPARM_INQUIRE_HAS_POSITION) != 0) diff -Nrcpad gcc-4.4.3/libgfortran/io/intrinsics.c gcc-4.4.4/libgfortran/io/intrinsics.c *** gcc-4.4.3/libgfortran/io/intrinsics.c Wed May 27 01:21:22 2009 --- gcc-4.4.4/libgfortran/io/intrinsics.c Thu Apr 1 20:59:15 2010 *************** *** 1,8 **** /* Implementation of the FGET, FGETC, FPUT, FPUTC, FLUSH FTELL, TTYNAM and ISATTY intrinsics. ! Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc. ! This file is part of the GNU Fortran 95 runtime library (libgfortran). Libgfortran is free software; you can redistribute it and/or modify it under the terms of the GNU General Public --- 1,8 ---- /* Implementation of the FGET, FGETC, FPUT, FPUTC, FLUSH FTELL, TTYNAM and ISATTY intrinsics. ! Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc. ! This file is part of the GNU Fortran runtime library (libgfortran). Libgfortran is free software; you can redistribute it and/or modify it under the terms of the GNU General Public *************** fseek_sub (int * unit, GFC_IO_INT * offs *** 258,276 **** /* FTELL intrinsic */ extern size_t PREFIX(ftell) (int *); export_proto_np(PREFIX(ftell)); size_t PREFIX(ftell) (int * unit) { ! gfc_unit * u = find_unit (*unit); ! size_t ret; ! if (u == NULL) ! return ((size_t) -1); ! ret = (size_t) stell (u->s); ! unlock_unit (u); ! return ret; } #define FTELL_SUB(kind) \ --- 258,284 ---- /* FTELL intrinsic */ + static gfc_offset + gf_ftell (int unit) + { + gfc_unit * u = find_unit (unit); + if (u == NULL) + return -1; + int pos = fbuf_reset (u); + if (pos != 0) + sseek (u->s, pos, SEEK_CUR); + gfc_offset ret = stell (u->s); + unlock_unit (u); + return ret; + } + extern size_t PREFIX(ftell) (int *); export_proto_np(PREFIX(ftell)); size_t PREFIX(ftell) (int * unit) { ! return gf_ftell (*unit); } #define FTELL_SUB(kind) \ *************** PREFIX(ftell) (int * unit) *** 279,292 **** void \ ftell_i ## kind ## _sub (int * unit, GFC_INTEGER_ ## kind * offset) \ { \ ! gfc_unit * u = find_unit (*unit); \ ! if (u == NULL) \ ! *offset = -1; \ ! else \ ! { \ ! *offset = stell (u->s); \ ! unlock_unit (u); \ ! } \ } FTELL_SUB(1) --- 287,293 ---- void \ ftell_i ## kind ## _sub (int * unit, GFC_INTEGER_ ## kind * offset) \ { \ ! *offset = gf_ftell (*unit); \ } FTELL_SUB(1) diff -Nrcpad gcc-4.4.3/libgfortran/io/io.h gcc-4.4.4/libgfortran/io/io.h *** gcc-4.4.3/libgfortran/io/io.h Thu Jun 11 12:49:35 2009 --- gcc-4.4.4/libgfortran/io/io.h Wed Mar 31 02:00:51 2010 *************** typedef struct *** 368,374 **** CHARACTER2 (round); CHARACTER1 (sign); GFC_INTEGER_4 *pending; ! GFC_INTEGER_4 *size; GFC_INTEGER_4 *id; } st_parameter_inquire; --- 368,374 ---- CHARACTER2 (round); CHARACTER1 (sign); GFC_INTEGER_4 *pending; ! GFC_IO_INT *size; GFC_INTEGER_4 *id; } st_parameter_inquire; *************** internal_proto(delete_file); *** 728,733 **** --- 728,736 ---- extern int file_exists (const char *file, gfc_charlen_type file_len); internal_proto(file_exists); + extern GFC_IO_INT file_size (const char *file, gfc_charlen_type file_len); + internal_proto(file_size); + extern const char *inquire_sequential (const char *, int); internal_proto(inquire_sequential); *************** internal_proto(type_name); *** 848,856 **** extern void * read_block_form (st_parameter_dt *, int *); internal_proto(read_block_form); - extern char *read_sf (st_parameter_dt *, int *, int); - internal_proto(read_sf); - extern void *write_block (st_parameter_dt *, int); internal_proto(write_block); --- 851,856 ---- diff -Nrcpad gcc-4.4.3/libgfortran/io/list_read.c gcc-4.4.4/libgfortran/io/list_read.c *** gcc-4.4.3/libgfortran/io/list_read.c Wed Aug 5 03:15:18 2009 --- gcc-4.4.4/libgfortran/io/list_read.c Thu Mar 11 19:48:11 2010 *************** static void *** 287,296 **** eat_line (st_parameter_dt *dtp) { char c; ! if (!is_internal_unit (dtp)) ! do ! c = next_char (dtp); ! while (c != '\n'); } --- 287,296 ---- eat_line (st_parameter_dt *dtp) { char c; ! ! do ! c = next_char (dtp); ! while (c != '\n'); } *************** nml_parse_qualifier (st_parameter_dt *dt *** 2092,2097 **** --- 2092,2105 ---- } } + if (is_array_section == 1 && dtp->u.p.expanded_read == 1) + { + int i; + dtp->u.p.expanded_read = 0; + for (i = 0; i < dim; i++) + ls[i].end = ls[i].start; + } + /* Check the values of the triplet indices. */ if ((ls[dim].start > (ssize_t)ad[dim].ubound) || (ls[dim].start < (ssize_t)ad[dim].lbound) *************** nml_get_obj_data (st_parameter_dt *dtp, *** 2563,2569 **** namelist_info * first_nl = NULL; namelist_info * root_nl = NULL; int dim, parsed_rank; ! int component_flag; index_type clow, chigh; int non_zero_rank_count; --- 2571,2577 ---- namelist_info * first_nl = NULL; namelist_info * root_nl = NULL; int dim, parsed_rank; ! int component_flag, qualifier_flag; index_type clow, chigh; int non_zero_rank_count; *************** nml_get_obj_data (st_parameter_dt *dtp, *** 2612,2622 **** break; } ! /* Untouch all nodes of the namelist and reset the flag that is set for derived type components. */ nml_untouch_nodes (dtp); component_flag = 0; non_zero_rank_count = 0; /* Get the object name - should '!' and '\n' be permitted separators? */ --- 2620,2631 ---- break; } ! /* Untouch all nodes of the namelist and reset the flags that are set for derived type components. */ nml_untouch_nodes (dtp); component_flag = 0; + qualifier_flag = 0; non_zero_rank_count = 0; /* Get the object name - should '!' and '\n' be permitted separators? */ *************** get_name: *** 2698,2707 **** " for namelist variable %s", nl->var_name); goto nml_err_ret; } - if (parsed_rank > 0) non_zero_rank_count++; c = next_char (dtp); unget_char (dtp, c); } --- 2707,2717 ---- " for namelist variable %s", nl->var_name); goto nml_err_ret; } if (parsed_rank > 0) non_zero_rank_count++; + qualifier_flag = 1; + c = next_char (dtp); unget_char (dtp, c); } *************** get_name: *** 2726,2731 **** --- 2736,2742 ---- root_nl = nl; component_flag = 1; + c = next_char (dtp); goto get_name; } *************** get_name: *** 2766,2780 **** unget_char (dtp, c); } - /* If a derived type touch its components and restore the root - namelist_info if we have parsed a qualified derived type - component. */ - - if (nl->type == GFC_DTYPE_DERIVED) - nml_touch_nodes (nl); - if (component_flag && nl->var_rank > 0 && nl->next) - nl = first_nl; - /* Make sure no extraneous qualifiers are there. */ if (c == '(') --- 2777,2782 ---- *************** get_name: *** 2819,2828 **** nl->var_name); goto nml_err_ret; } - if (first_nl != NULL && first_nl->var_rank > 0) - nl = first_nl; - if (nml_read_obj (dtp, nl, 0, pprev_nl, nml_err_msg, nml_err_msg_size, clow, chigh) == FAILURE) goto nml_err_ret; --- 2821,2844 ---- nl->var_name); goto nml_err_ret; } + /* If a derived type, touch its components and restore the root + namelist_info if we have parsed a qualified derived type + component. */ + + if (nl->type == GFC_DTYPE_DERIVED) + nml_touch_nodes (nl); + + if (first_nl) + { + if (first_nl->var_rank == 0) + { + if (component_flag && qualifier_flag) + nl = first_nl; + } + else + nl = first_nl; + } if (nml_read_obj (dtp, nl, 0, pprev_nl, nml_err_msg, nml_err_msg_size, clow, chigh) == FAILURE) goto nml_err_ret; diff -Nrcpad gcc-4.4.3/libgfortran/io/read.c gcc-4.4.4/libgfortran/io/read.c *** gcc-4.4.3/libgfortran/io/read.c Wed May 27 01:21:22 2009 --- gcc-4.4.4/libgfortran/io/read.c Fri Mar 26 04:56:51 2010 *************** bad_float: *** 1019,1034 **** * and never look at it. */ void ! read_x (st_parameter_dt * dtp, int n) { if ((dtp->u.p.current_unit->pad_status == PAD_NO || is_internal_unit (dtp)) && dtp->u.p.current_unit->bytes_left < n) n = dtp->u.p.current_unit->bytes_left; ! dtp->u.p.sf_read_comma = 0; ! if (n > 0) ! read_sf (dtp, &n, 1); ! dtp->u.p.sf_read_comma = 1; dtp->u.p.current_unit->strm_pos += (gfc_offset) n; } --- 1019,1102 ---- * and never look at it. */ void ! read_x (st_parameter_dt *dtp, int n) { + int length; + char *p, q; + if ((dtp->u.p.current_unit->pad_status == PAD_NO || is_internal_unit (dtp)) && dtp->u.p.current_unit->bytes_left < n) n = dtp->u.p.current_unit->bytes_left; + + if (n == 0) + return; ! length = n; ! ! if (is_internal_unit (dtp)) ! { ! p = mem_alloc_r (dtp->u.p.current_unit->s, &length); ! if (unlikely (length < n)) ! n = length; ! goto done; ! } ! ! if (dtp->u.p.sf_seen_eor) ! return; ! ! p = fbuf_read (dtp->u.p.current_unit, &length); ! if (p == NULL) ! { ! hit_eof (dtp); ! return; ! } ! ! if (length == 0 && dtp->u.p.item_count == 1) ! { ! if (dtp->u.p.current_unit->pad_status == PAD_NO) ! { ! hit_eof (dtp); ! return; ! } ! else ! return; ! } ! ! n = 0; ! while (n < length) ! { ! q = *p; ! if (q == '\n' || q == '\r') ! { ! /* Unexpected end of line. Set the position. */ ! fbuf_seek (dtp->u.p.current_unit, n + 1 ,SEEK_CUR); ! dtp->u.p.sf_seen_eor = 1; ! ! /* If we encounter a CR, it might be a CRLF. */ ! if (q == '\r') /* Probably a CRLF */ ! { ! /* See if there is an LF. Use fbuf_read rather then fbuf_getc so ! the position is not advanced unless it really is an LF. */ ! int readlen = 1; ! p = fbuf_read (dtp->u.p.current_unit, &readlen); ! if (*p == '\n' && readlen == 1) ! { ! dtp->u.p.sf_seen_eor = 2; ! fbuf_seek (dtp->u.p.current_unit, 1 ,SEEK_CUR); ! } ! } ! goto done; ! } ! n++; ! p++; ! } ! ! fbuf_seek (dtp->u.p.current_unit, n, SEEK_CUR); ! ! done: ! if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0) ! dtp->u.p.size_used += (GFC_IO_INT) n; ! dtp->u.p.current_unit->bytes_left -= n; dtp->u.p.current_unit->strm_pos += (gfc_offset) n; } diff -Nrcpad gcc-4.4.3/libgfortran/io/transfer.c gcc-4.4.4/libgfortran/io/transfer.c *** gcc-4.4.3/libgfortran/io/transfer.c Fri Nov 20 04:00:03 2009 --- gcc-4.4.4/libgfortran/io/transfer.c Tue Mar 30 03:54:36 2010 *************** current_mode (st_parameter_dt *dtp) *** 162,170 **** } ! /* Mid level data transfer statements. These subroutines do reading ! and writing in the style of salloc_r()/salloc_w() within the ! current record. */ /* When reading sequential formatted records we have a problem. We don't know how long the line is until we read the trailing newline, --- 162,168 ---- } ! /* Mid level data transfer statements. */ /* When reading sequential formatted records we have a problem. We don't know how long the line is until we read the trailing newline, *************** current_mode (st_parameter_dt *dtp) *** 177,200 **** we hit the newline. For small allocations, we use a static buffer. For larger allocations, we are forced to allocate memory on the heap. Hopefully this won't happen very often. */ ! char * ! read_sf (st_parameter_dt *dtp, int * length, int no_error) { static char *empty_string[0]; ! char *base, *p, q; ! int n, lorig, memread, seen_comma; ! /* If we hit EOF previously with the no_error flag set (i.e. X, T, ! TR edit descriptors), and we now try to read again, this time ! without setting no_error. */ ! if (!no_error && dtp->u.p.at_eof) { *length = 0; hit_eof (dtp); return NULL; } /* If we have seen an eor previously, return a length of 0. The caller is responsible for correctly padding the input field. */ if (dtp->u.p.sf_seen_eor) --- 175,230 ---- we hit the newline. For small allocations, we use a static buffer. For larger allocations, we are forced to allocate memory on the heap. Hopefully this won't happen very often. */ + + /* Read sequential file - internal unit */ ! static char * ! read_sf_internal (st_parameter_dt *dtp, int * length) { static char *empty_string[0]; ! char *base; ! int lorig; ! if (dtp->internal_unit_len == 0 ! && dtp->u.p.current_unit->pad_status == PAD_NO) ! hit_eof (dtp); ! ! /* If we have seen an eor previously, return a length of 0. The ! caller is responsible for correctly padding the input field. */ ! if (dtp->u.p.sf_seen_eor) { *length = 0; + /* Just return something that isn't a NULL pointer, otherwise the + caller thinks an error occured. */ + return (char*) empty_string; + } + + lorig = *length; + base = mem_alloc_r (dtp->u.p.current_unit->s, length); + if (unlikely (lorig > *length)) + { hit_eof (dtp); return NULL; } + dtp->u.p.current_unit->bytes_left -= *length; + + if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0) + dtp->u.p.size_used += (GFC_IO_INT) *length; + + return base; + + } + + /* Read sequential file - external unit */ + + static char * + read_sf (st_parameter_dt *dtp, int * length) + { + static char *empty_string[0]; + char *base, *p, q; + int n, lorig, seen_comma; + /* If we have seen an eor previously, return a length of 0. The caller is responsible for correctly padding the input field. */ if (dtp->u.p.sf_seen_eor) *************** read_sf (st_parameter_dt *dtp, int * len *** 205,223 **** return (char*) empty_string; } - if (is_internal_unit (dtp)) - { - memread = *length; - base = mem_alloc_r (dtp->u.p.current_unit->s, length); - if (unlikely (memread > *length)) - { - hit_eof (dtp); - return NULL; - } - n = *length; - goto done; - } - n = seen_comma = 0; /* Read data into format buffer and scan through it. */ --- 235,240 ---- *************** read_sf (st_parameter_dt *dtp, int * len *** 260,267 **** so we can just continue with a short read. */ if (dtp->u.p.current_unit->pad_status == PAD_NO) { - if (likely (no_error)) - break; generate_error (&dtp->common, LIBERROR_EOR, NULL); return NULL; } --- 277,282 ---- *************** read_sf (st_parameter_dt *dtp, int * len *** 291,303 **** some other stuff. Set the relevant flags. */ if (lorig > *length && !dtp->u.p.sf_seen_eor && !seen_comma) { ! if (n > 0 || no_error) ! dtp->u.p.at_eof = 1; ! else { ! hit_eof (dtp); ! return NULL; ! } } done: --- 306,334 ---- some other stuff. Set the relevant flags. */ if (lorig > *length && !dtp->u.p.sf_seen_eor && !seen_comma) { ! if (n > 0) { ! if (dtp->u.p.advance_status == ADVANCE_NO) ! { ! if (dtp->u.p.current_unit->pad_status == PAD_NO) ! { ! hit_eof (dtp); ! return NULL; ! } ! else ! dtp->u.p.eor_condition = 1; ! } ! else ! dtp->u.p.at_eof = 1; ! } ! else if (dtp->u.p.advance_status == ADVANCE_NO ! || dtp->u.p.current_unit->pad_status == PAD_NO ! || dtp->u.p.current_unit->bytes_left ! == dtp->u.p.current_unit->recl) ! { ! hit_eof (dtp); ! return NULL; ! } } done: *************** read_block_form (st_parameter_dt *dtp, i *** 338,344 **** dtp->u.p.current_unit->bytes_left = dtp->u.p.current_unit->recl; else { ! if (unlikely (dtp->u.p.current_unit->pad_status == PAD_NO)) { /* Not enough data left. */ generate_error (&dtp->common, LIBERROR_EOR, NULL); --- 369,376 ---- dtp->u.p.current_unit->bytes_left = dtp->u.p.current_unit->recl; else { ! if (unlikely (dtp->u.p.current_unit->pad_status == PAD_NO) ! && !is_internal_unit (dtp)) { /* Not enough data left. */ generate_error (&dtp->common, LIBERROR_EOR, NULL); *************** read_block_form (st_parameter_dt *dtp, i *** 346,354 **** } } ! if (unlikely (dtp->u.p.current_unit->bytes_left == 0)) { ! hit_eof (dtp); return NULL; } --- 378,387 ---- } } ! if (unlikely (dtp->u.p.current_unit->bytes_left == 0 ! && !is_internal_unit(dtp))) { ! hit_eof (dtp); return NULL; } *************** read_block_form (st_parameter_dt *dtp, i *** 360,366 **** (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL || dtp->u.p.current_unit->flags.access == ACCESS_STREAM)) { ! source = read_sf (dtp, nbytes, 0); dtp->u.p.current_unit->strm_pos += (gfc_offset) (*nbytes + dtp->u.p.sf_seen_eor); return source; --- 393,403 ---- (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL || dtp->u.p.current_unit->flags.access == ACCESS_STREAM)) { ! if (is_internal_unit (dtp)) ! source = read_sf_internal (dtp, nbytes); ! else ! source = read_sf (dtp, nbytes); ! dtp->u.p.current_unit->strm_pos += (gfc_offset) (*nbytes + dtp->u.p.sf_seen_eor); return source; *************** min_off (gfc_offset a, gfc_offset b) *** 2641,2647 **** /* Space to the next record for read mode. */ static void ! next_record_r (st_parameter_dt *dtp) { gfc_offset record; int bytes_left; --- 2678,2684 ---- /* Space to the next record for read mode. */ static void ! next_record_r (st_parameter_dt *dtp, int done) { gfc_offset record; int bytes_left; *************** next_record_r (st_parameter_dt *dtp) *** 2668,2677 **** case FORMATTED_SEQUENTIAL: /* read_sf has already terminated input because of an '\n', or we have hit EOF. */ ! if (dtp->u.p.sf_seen_eor || dtp->u.p.at_eof) { dtp->u.p.sf_seen_eor = 0; - dtp->u.p.at_eof = 0; break; } --- 2705,2713 ---- case FORMATTED_SEQUENTIAL: /* read_sf has already terminated input because of an '\n', or we have hit EOF. */ ! if (dtp->u.p.sf_seen_eor) { dtp->u.p.sf_seen_eor = 0; break; } *************** next_record_r (st_parameter_dt *dtp) *** 2683,2688 **** --- 2719,2726 ---- record = next_array_record (dtp, dtp->u.p.current_unit->ls, &finished); + if (!done && finished) + hit_eof (dtp); /* Now seek to this record. */ record = record * dtp->u.p.current_unit->recl; *************** next_record_r (st_parameter_dt *dtp) *** 2720,2727 **** { if (errno != 0) generate_error (&dtp->common, LIBERROR_OS, NULL); ! else ! hit_eof (dtp); break; } --- 2758,2771 ---- { if (errno != 0) generate_error (&dtp->common, LIBERROR_OS, NULL); ! else ! { ! if (is_stream_io (dtp) ! || dtp->u.p.current_unit->pad_status == PAD_NO ! || dtp->u.p.current_unit->bytes_left ! == dtp->u.p.current_unit->recl) ! hit_eof (dtp); ! } break; } *************** next_record (st_parameter_dt *dtp, int d *** 3061,3067 **** dtp->u.p.current_unit->read_bad = 0; if (dtp->u.p.mode == READING) ! next_record_r (dtp); else next_record_w (dtp, done); --- 3105,3111 ---- dtp->u.p.current_unit->read_bad = 0; if (dtp->u.p.mode == READING) ! next_record_r (dtp, done); else next_record_w (dtp, done); diff -Nrcpad gcc-4.4.3/libgfortran/io/unix.c gcc-4.4.4/libgfortran/io/unix.c *** gcc-4.4.3/libgfortran/io/unix.c Wed May 27 01:21:22 2009 --- gcc-4.4.4/libgfortran/io/unix.c Wed Mar 31 02:00:51 2010 *************** buf_write (unix_stream * s, const void * *** 454,466 **** s->ndirty += nbyte; } else ! { ! if (s->file_length != -1 && s->physical_offset != s->logical_offset ! && lseek (s->fd, s->logical_offset, SEEK_SET) < 0) ! return -1; ! nbyte = raw_write (s, buf, nbyte); ! s->physical_offset += nbyte; ! } } s->logical_offset += nbyte; /* Don't increment file_length if the file is non-seekable. */ --- 454,470 ---- s->ndirty += nbyte; } else ! { ! if (s->file_length != -1 && s->physical_offset != s->logical_offset) ! { ! if (lseek (s->fd, s->logical_offset, SEEK_SET) < 0) ! return -1; ! s->physical_offset = s->logical_offset; ! } ! ! nbyte = raw_write (s, buf, nbyte); ! s->physical_offset += nbyte; ! } } s->logical_offset += nbyte; /* Don't increment file_length if the file is non-seekable. */ *************** file_exists (const char *file, gfc_charl *** 1392,1397 **** --- 1396,1417 ---- } + /* file_size()-- Returns the size of the file. */ + + GFC_IO_INT + file_size (const char *file, gfc_charlen_type file_len) + { + char path[PATH_MAX + 1]; + struct stat statbuf; + + if (unpack_filename (path, file, file_len)) + return -1; + + if (stat (path, &statbuf) < 0) + return -1; + + return (GFC_IO_INT) statbuf.st_size; + } static const char yes[] = "YES", no[] = "NO", unknown[] = "UNKNOWN"; diff -Nrcpad gcc-4.4.3/libgomp/ChangeLog gcc-4.4.4/libgomp/ChangeLog *** gcc-4.4.3/libgomp/ChangeLog Thu Jan 21 09:36:12 2010 --- gcc-4.4.4/libgomp/ChangeLog Thu Apr 29 07:48:53 2010 *************** *** 1,3 **** --- 1,37 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-21 Jakub Jelinek + + PR middle-end/43570 + * testsuite/libgomp.fortran/vla8.f90: New test. + + PR libgomp/43706 + * config/linux/affinity.c (gomp_init_affinity): Decrease + gomp_available_cpus if affinity mask confines the process to fewer + CPUs. + * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is + non-NULL, just return gomp_available_cpus. + + PR libgomp/43569 + * sections.c (gomp_sections_init): Initialize ws->mode. + + 2010-03-22 Jakub Jelinek + + PR libgomp/42942 + * env.c (parse_unsigned_long): Add ALLOW_ZERO argument. + (initialize_env): Adjust callers. + (omp_set_max_active_levels): Set gomp_max_active_levels_var even + when the argument is 0. + + * testsuite/libgomp.c/pr42942.c: New test. + + 2010-01-26 Jakub Jelinek + + PR fortran/42866 + * testsuite/libgomp.fortran/allocatable5.f90: New test. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libgomp/config/linux/affinity.c gcc-4.4.4/libgomp/config/linux/affinity.c *** gcc-4.4.3/libgomp/config/linux/affinity.c Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libgomp/config/linux/affinity.c Wed Apr 21 14:00:10 2010 *************** *** 1,4 **** ! /* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Jakub Jelinek . This file is part of the GNU OpenMP Library (libgomp). --- 1,4 ---- ! /* Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Jakub Jelinek . This file is part of the GNU OpenMP Library (libgomp). *************** static unsigned int affinity_counter; *** 39,46 **** void gomp_init_affinity (void) { ! cpu_set_t cpuset; size_t idx, widx; if (pthread_getaffinity_np (pthread_self (), sizeof (cpuset), &cpuset)) { --- 39,47 ---- void gomp_init_affinity (void) { ! cpu_set_t cpuset, cpusetnew; size_t idx, widx; + unsigned long cpus = 0; if (pthread_getaffinity_np (pthread_self (), sizeof (cpuset), &cpuset)) { *************** gomp_init_affinity (void) *** 51,60 **** return; } for (widx = idx = 0; idx < gomp_cpu_affinity_len; idx++) if (gomp_cpu_affinity[idx] < CPU_SETSIZE && CPU_ISSET (gomp_cpu_affinity[idx], &cpuset)) ! gomp_cpu_affinity[widx++] = gomp_cpu_affinity[idx]; if (widx == 0) { --- 52,69 ---- return; } + CPU_ZERO (&cpusetnew); for (widx = idx = 0; idx < gomp_cpu_affinity_len; idx++) if (gomp_cpu_affinity[idx] < CPU_SETSIZE && CPU_ISSET (gomp_cpu_affinity[idx], &cpuset)) ! { ! if (! CPU_ISSET (gomp_cpu_affinity[idx], &cpusetnew)) ! { ! cpus++; ! CPU_SET (gomp_cpu_affinity[idx], &cpusetnew); ! } ! gomp_cpu_affinity[widx++] = gomp_cpu_affinity[idx]; ! } if (widx == 0) { *************** gomp_init_affinity (void) *** 66,71 **** --- 75,82 ---- } gomp_cpu_affinity_len = widx; + if (cpus < gomp_available_cpus) + gomp_available_cpus = cpus; CPU_ZERO (&cpuset); CPU_SET (gomp_cpu_affinity[0], &cpuset); pthread_setaffinity_np (pthread_self (), sizeof (cpuset), &cpuset); diff -Nrcpad gcc-4.4.3/libgomp/config/linux/proc.c gcc-4.4.4/libgomp/config/linux/proc.c *** gcc-4.4.3/libgomp/config/linux/proc.c Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libgomp/config/linux/proc.c Wed Apr 21 14:00:10 2010 *************** *** 1,4 **** ! /* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Jakub Jelinek . This file is part of the GNU OpenMP Library (libgomp). --- 1,5 ---- ! /* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 ! Free Software Foundation, Inc. Contributed by Jakub Jelinek . This file is part of the GNU OpenMP Library (libgomp). *************** get_num_procs (void) *** 104,129 **** } else { - size_t idx; - static int affinity_cpus; - /* We can't use pthread_getaffinity_np in this case (we have changed it ourselves, it binds to just one CPU). Count instead the number of different CPUs we are ! using. */ ! CPU_ZERO (&cpuset); ! if (affinity_cpus == 0) ! { ! int cpus = 0; ! for (idx = 0; idx < gomp_cpu_affinity_len; idx++) ! if (! CPU_ISSET (gomp_cpu_affinity[idx], &cpuset)) ! { ! cpus++; ! CPU_SET (gomp_cpu_affinity[idx], &cpuset); ! } ! affinity_cpus = cpus; ! } ! return affinity_cpus; } #endif #ifdef _SC_NPROCESSORS_ONLN --- 105,117 ---- } else { /* We can't use pthread_getaffinity_np in this case (we have changed it ourselves, it binds to just one CPU). Count instead the number of different CPUs we are ! using. gomp_init_affinity updated gomp_available_cpus to ! the number of CPUs in the GOMP_AFFINITY mask that we are ! allowed to use though. */ ! return gomp_available_cpus; } #endif #ifdef _SC_NPROCESSORS_ONLN diff -Nrcpad gcc-4.4.3/libgomp/env.c gcc-4.4.4/libgomp/env.c *** gcc-4.4.3/libgomp/env.c Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libgomp/env.c Mon Mar 22 15:22:31 2010 *************** *** 1,4 **** ! /* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Richard Henderson . This file is part of the GNU OpenMP Library (libgomp). --- 1,5 ---- ! /* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 ! Free Software Foundation, Inc. Contributed by Richard Henderson . This file is part of the GNU OpenMP Library (libgomp). *************** parse_schedule (void) *** 145,151 **** present and it was successfully parsed. */ static bool ! parse_unsigned_long (const char *name, unsigned long *pvalue) { char *env, *end; unsigned long value; --- 146,152 ---- present and it was successfully parsed. */ static bool ! parse_unsigned_long (const char *name, unsigned long *pvalue, bool allow_zero) { char *env, *end; unsigned long value; *************** parse_unsigned_long (const char *name, u *** 161,167 **** errno = 0; value = strtoul (env, &end, 10); ! if (errno || (long) value <= 0) goto invalid; while (isspace ((unsigned char) *end)) --- 162,168 ---- errno = 0; value = strtoul (env, &end, 10); ! if (errno || (long) value <= 0 - allow_zero) goto invalid; while (isspace ((unsigned char) *end)) *************** initialize_env (void) *** 481,488 **** parse_schedule (); parse_boolean ("OMP_DYNAMIC", &gomp_global_icv.dyn_var); parse_boolean ("OMP_NESTED", &gomp_global_icv.nest_var); ! parse_unsigned_long ("OMP_MAX_ACTIVE_LEVELS", &gomp_max_active_levels_var); ! parse_unsigned_long ("OMP_THREAD_LIMIT", &gomp_thread_limit_var); if (gomp_thread_limit_var != ULONG_MAX) gomp_remaining_threads_count = gomp_thread_limit_var - 1; #ifndef HAVE_SYNC_BUILTINS --- 482,490 ---- parse_schedule (); parse_boolean ("OMP_DYNAMIC", &gomp_global_icv.dyn_var); parse_boolean ("OMP_NESTED", &gomp_global_icv.nest_var); ! parse_unsigned_long ("OMP_MAX_ACTIVE_LEVELS", &gomp_max_active_levels_var, ! true); ! parse_unsigned_long ("OMP_THREAD_LIMIT", &gomp_thread_limit_var, false); if (gomp_thread_limit_var != ULONG_MAX) gomp_remaining_threads_count = gomp_thread_limit_var - 1; #ifndef HAVE_SYNC_BUILTINS *************** initialize_env (void) *** 490,496 **** #endif gomp_init_num_threads (); gomp_available_cpus = gomp_global_icv.nthreads_var; ! if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_global_icv.nthreads_var)) gomp_global_icv.nthreads_var = gomp_available_cpus; if (parse_affinity ()) gomp_init_affinity (); --- 492,499 ---- #endif gomp_init_num_threads (); gomp_available_cpus = gomp_global_icv.nthreads_var; ! if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_global_icv.nthreads_var, ! false)) gomp_global_icv.nthreads_var = gomp_available_cpus; if (parse_affinity ()) gomp_init_affinity (); *************** omp_get_thread_limit (void) *** 632,638 **** void omp_set_max_active_levels (int max_levels) { ! if (max_levels > 0) gomp_max_active_levels_var = max_levels; } --- 635,641 ---- void omp_set_max_active_levels (int max_levels) { ! if (max_levels >= 0) gomp_max_active_levels_var = max_levels; } diff -Nrcpad gcc-4.4.3/libgomp/libgomp.info gcc-4.4.4/libgomp/libgomp.info *** gcc-4.4.3/libgomp/libgomp.info Thu Jan 21 12:07:43 2010 --- gcc-4.4.4/libgomp/libgomp.info Thu Apr 29 10:13:50 2010 *************** *** 1,5 **** This is libgomp.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.3/libgomp/libgomp.texi. Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. --- 1,5 ---- This is libgomp.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.4/gcc-4.4.4/libgomp/libgomp.texi. Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. diff -Nrcpad gcc-4.4.3/libgomp/sections.c gcc-4.4.4/libgomp/sections.c *** gcc-4.4.3/libgomp/sections.c Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libgomp/sections.c Wed Apr 21 13:58:59 2010 *************** *** 1,4 **** ! /* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Richard Henderson . This file is part of the GNU OpenMP Library (libgomp). --- 1,4 ---- ! /* Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Richard Henderson . This file is part of the GNU OpenMP Library (libgomp). *************** gomp_sections_init (struct gomp_work_sha *** 34,42 **** { ws->sched = GFS_DYNAMIC; ws->chunk_size = 1; ! ws->end = count + 1; ws->incr = 1; ws->next = 1; } /* This routine is called when first encountering a sections construct --- 34,58 ---- { ws->sched = GFS_DYNAMIC; ws->chunk_size = 1; ! ws->end = count + 1L; ws->incr = 1; ws->next = 1; + #ifdef HAVE_SYNC_BUILTINS + /* Prepare things to make each iteration faster. */ + if (sizeof (long) > sizeof (unsigned)) + ws->mode = 1; + else + { + struct gomp_thread *thr = gomp_thread (); + struct gomp_team *team = thr->ts.team; + long nthreads = team ? team->nthreads : 1; + + ws->mode = ((nthreads | ws->end) + < 1UL << (sizeof (long) * __CHAR_BIT__ / 2 - 1)); + } + #else + ws->mode = 0; + #endif } /* This routine is called when first encountering a sections construct diff -Nrcpad gcc-4.4.3/libgomp/testsuite/libgomp.c/pr42942.c gcc-4.4.4/libgomp/testsuite/libgomp.c/pr42942.c *** gcc-4.4.3/libgomp/testsuite/libgomp.c/pr42942.c Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/libgomp/testsuite/libgomp.c/pr42942.c Mon Mar 22 15:22:31 2010 *************** *** 0 **** --- 1,61 ---- + /* PR libgomp/42942 */ + /* { dg-do run } */ + + #include + #include + + int + main (void) + { + int e = 0; + omp_set_dynamic (0); + omp_set_nested (1); + omp_set_max_active_levels (1); + if (omp_get_max_active_levels () != 1) + abort (); + #pragma omp parallel num_threads(2) reduction(|:e) + if (!omp_in_parallel () + || omp_get_num_threads () != 2) + e = 1; + else + #pragma omp parallel num_threads(2) reduction(|:e) + if (!omp_in_parallel () + || omp_get_num_threads () != 1) + e = 1; + if (e) + abort (); + omp_set_max_active_levels (0); + if (omp_get_max_active_levels () != 0) + abort (); + #pragma omp parallel num_threads(2) reduction(|:e) + if (omp_in_parallel () + || omp_get_num_threads () != 1) + e = 1; + else + #pragma omp parallel num_threads(2) reduction(|:e) + if (omp_in_parallel () + || omp_get_num_threads () != 1) + e = 1; + if (e) + abort (); + omp_set_max_active_levels (2); + if (omp_get_max_active_levels () != 2) + abort (); + #pragma omp parallel num_threads(2) reduction(|:e) + if (!omp_in_parallel () + || omp_get_num_threads () != 2) + e = 1; + else + #pragma omp parallel num_threads(2) reduction(|:e) + if (!omp_in_parallel () + || omp_get_num_threads () != 2) + e = 1; + else + #pragma omp parallel num_threads(2) reduction(|:e) + if (!omp_in_parallel () + || omp_get_num_threads () != 1) + e = 1; + if (e) + abort (); + return 0; + } diff -Nrcpad gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable5.f90 gcc-4.4.4/libgomp/testsuite/libgomp.fortran/allocatable5.f90 *** gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable5.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/libgomp/testsuite/libgomp.fortran/allocatable5.f90 Tue Jan 26 09:51:23 2010 *************** *** 0 **** --- 1,17 ---- + ! PR fortran/42866 + ! { dg-do run } + + program pr42866 + integer, allocatable :: a(:) + allocate (a(16)) + a = 0 + !$omp parallel + !$omp sections reduction(+:a) + a = a + 1 + !$omp section + a = a + 2 + !$omp end sections + !$omp end parallel + if (any (a.ne.3)) call abort + deallocate (a) + end diff -Nrcpad gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla8.f90 gcc-4.4.4/libgomp/testsuite/libgomp.fortran/vla8.f90 *** gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla8.f90 Thu Jan 1 00:00:00 1970 --- gcc-4.4.4/libgomp/testsuite/libgomp.fortran/vla8.f90 Wed Apr 21 14:02:39 2010 *************** *** 0 **** --- 1,254 ---- + ! { dg-do run } + + call test + contains + subroutine check (x, y, l) + integer :: x, y + logical :: l + l = l .or. x .ne. y + end subroutine check + + subroutine foo (c, d, e, f, g, h, i, j, k, n) + use omp_lib + integer :: n + character (len = *) :: c + character (len = n) :: d + integer, dimension (2, 3:5, n) :: e + integer, dimension (2, 3:n, n) :: f + character (len = *), dimension (5, 3:n) :: g + character (len = n), dimension (5, 3:n) :: h + real, dimension (:, :, :) :: i + double precision, dimension (3:, 5:, 7:) :: j + integer, dimension (:, :, :) :: k + logical :: l + integer :: p, q, r + character (len = n) :: s + integer, dimension (2, 3:5, n) :: t + integer, dimension (2, 3:n, n) :: u + character (len = n), dimension (5, 3:n) :: v + character (len = 2 * n + 24) :: w + integer :: x, z + character (len = 1) :: y + l = .false. + !$omp parallel default (none) private (c, d, e, f, g, h, i, j, k) & + !$omp & private (s, t, u, v) reduction (.or.:l) num_threads (6) & + !$omp private (p, q, r, w, x, y) shared (z) + x = omp_get_thread_num () + w = '' + if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0' + if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1' + if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2' + if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3' + if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4' + if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5' + c = w(8:19) + d = w(1:7) + forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r + forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r + forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19) + forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38) + forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7) + forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26) + forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r + forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r + forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r + s = w(20:26) + forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r + forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r + forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7) + forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26) + !$omp barrier + y = '' + if (x .eq. 0) y = '0' + if (x .eq. 1) y = '1' + if (x .eq. 2) y = '2' + if (x .eq. 3) y = '3' + if (x .eq. 4) y = '4' + if (x .eq. 5) y = '5' + l = l .or. w(7:7) .ne. y + l = l .or. w(19:19) .ne. y + l = l .or. w(26:26) .ne. y + l = l .or. w(38:38) .ne. y + l = l .or. c .ne. w(8:19) + l = l .or. d .ne. w(1:7) + l = l .or. s .ne. w(20:26) + do 103, p = 1, 2 + do 103, q = 3, 7 + do 103, r = 1, 7 + if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r + l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r + if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38) + if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26) + if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r + l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r + if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26) + 103 continue + do 104, p = 3, 5 + do 104, q = 2, 6 + do 104, r = 1, 7 + l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r + l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r + 104 continue + do 105, p = 1, 5 + do 105, q = 4, 6 + l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q + 105 continue + call check (size (e, 1), 2, l) + call check (size (e, 2), 3, l) + call check (size (e, 3), 7, l) + call check (size (e), 42, l) + call check (size (f, 1), 2, l) + call check (size (f, 2), 5, l) + call check (size (f, 3), 7, l) + call check (size (f), 70, l) + call check (size (g, 1), 5, l) + call check (size (g, 2), 5, l) + call check (size (g), 25, l) + call check (size (h, 1), 5, l) + call check (size (h, 2), 5, l) + call check (size (h), 25, l) + call check (size (i, 1), 3, l) + call check (size (i, 2), 5, l) + call check (size (i, 3), 7, l) + call check (size (i), 105, l) + call check (size (j, 1), 4, l) + call check (size (j, 2), 5, l) + call check (size (j, 3), 7, l) + call check (size (j), 140, l) + call check (size (k, 1), 5, l) + call check (size (k, 2), 1, l) + call check (size (k, 3), 3, l) + call check (size (k), 15, l) + !$omp single + z = omp_get_thread_num () + !$omp end single copyprivate (c, d, e, f, g, h, i, j, k, s, t, u, v) + w = '' + x = z + if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0' + if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1' + if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2' + if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3' + if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4' + if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5' + y = '' + if (x .eq. 0) y = '0' + if (x .eq. 1) y = '1' + if (x .eq. 2) y = '2' + if (x .eq. 3) y = '3' + if (x .eq. 4) y = '4' + if (x .eq. 5) y = '5' + l = l .or. w(7:7) .ne. y + l = l .or. w(19:19) .ne. y + l = l .or. w(26:26) .ne. y + l = l .or. w(38:38) .ne. y + l = l .or. c .ne. w(8:19) + l = l .or. d .ne. w(1:7) + l = l .or. s .ne. w(20:26) + do 113, p = 1, 2 + do 113, q = 3, 7 + do 113, r = 1, 7 + if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r + l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r + if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38) + if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26) + if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r + l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r + if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26) + 113 continue + do 114, p = 3, 5 + do 114, q = 2, 6 + do 114, r = 1, 7 + l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r + l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r + 114 continue + do 115, p = 1, 5 + do 115, q = 4, 6 + l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q + 115 continue + x = omp_get_thread_num () + w = '' + if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0' + if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1' + if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2' + if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3' + if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4' + if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5' + c = w(8:19) + d = w(1:7) + forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r + forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r + forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19) + forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38) + forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7) + forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26) + forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r + forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r + forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r + s = w(20:26) + forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r + forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r + forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7) + forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26) + !$omp barrier + y = '' + if (x .eq. 0) y = '0' + if (x .eq. 1) y = '1' + if (x .eq. 2) y = '2' + if (x .eq. 3) y = '3' + if (x .eq. 4) y = '4' + if (x .eq. 5) y = '5' + l = l .or. w(7:7) .ne. y + l = l .or. w(19:19) .ne. y + l = l .or. w(26:26) .ne. y + l = l .or. w(38:38) .ne. y + l = l .or. c .ne. w(8:19) + l = l .or. d .ne. w(1:7) + l = l .or. s .ne. w(20:26) + do 123, p = 1, 2 + do 123, q = 3, 7 + do 123, r = 1, 7 + if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r + l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r + if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38) + if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26) + if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r + l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r + if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7) + if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26) + 123 continue + do 124, p = 3, 5 + do 124, q = 2, 6 + do 124, r = 1, 7 + l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r + l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r + 124 continue + do 125, p = 1, 5 + do 125, q = 4, 6 + l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q + 125 continue + !$omp end parallel + if (l) call abort + end subroutine foo + + subroutine test + character (len = 12) :: c + character (len = 7) :: d + integer, dimension (2, 3:5, 7) :: e + integer, dimension (2, 3:7, 7) :: f + character (len = 12), dimension (5, 3:7) :: g + character (len = 7), dimension (5, 3:7) :: h + real, dimension (3:5, 2:6, 1:7) :: i + double precision, dimension (3:6, 2:6, 1:7) :: j + integer, dimension (1:5, 7:7, 4:6) :: k + integer :: p, q, r + call foo (c, d, e, f, g, h, i, j, k, 7) + end subroutine test + end diff -Nrcpad gcc-4.4.3/libiberty/ChangeLog gcc-4.4.4/libiberty/ChangeLog *** gcc-4.4.3/libiberty/ChangeLog Thu Jan 21 09:38:18 2010 --- gcc-4.4.4/libiberty/ChangeLog Thu Apr 29 07:52:07 2010 *************** *** 1,3 **** --- 1,13 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-01-25 Ian Lance Taylor + + * cp-demangle.c (cplus_demangle_type): Check for invalid type + after "DF". + * testsuite/demangle-expected: Add test. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libiberty/cp-demangle.c gcc-4.4.4/libiberty/cp-demangle.c *** gcc-4.4.3/libiberty/cp-demangle.c Mon Mar 23 21:03:01 2009 --- gcc-4.4.4/libiberty/cp-demangle.c Tue Jan 26 04:09:43 2010 *************** *** 1,5 **** /* Demangler for g++ V3 ABI. ! Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Written by Ian Lance Taylor . --- 1,5 ---- /* Demangler for g++ V3 ABI. ! Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Written by Ian Lance Taylor . *************** cplus_demangle_type (struct d_info *di) *** 2149,2154 **** --- 2149,2156 ---- /* For demangling we don't care about the bits. */ d_number (di); ret->u.s_fixed.length = cplus_demangle_type (di); + if (ret->u.s_fixed.length == NULL) + return NULL; d_number (di); peek = d_next_char (di); ret->u.s_fixed.sat = (peek == 's'); diff -Nrcpad gcc-4.4.3/libiberty/testsuite/demangle-expected gcc-4.4.4/libiberty/testsuite/demangle-expected *** gcc-4.4.3/libiberty/testsuite/demangle-expected Mon Mar 23 21:03:01 2009 --- gcc-4.4.4/libiberty/testsuite/demangle-expected Tue Jan 26 04:09:43 2010 *************** decltype (parm#1+((x())())) A::j(int, double) + # + # Used to crash the demangler. + --format=gnu-v3 + DFA + DFA diff -Nrcpad gcc-4.4.3/libjava/ChangeLog gcc-4.4.4/libjava/ChangeLog *** gcc-4.4.3/libjava/ChangeLog Thu Jan 21 09:39:03 2010 --- gcc-4.4.4/libjava/ChangeLog Thu Apr 29 07:52:58 2010 *************** *** 1,3 **** --- 1,27 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-19 Andrew Haley + + PR libgcj/40860 + * configure.ac: Handle --no-merge-exidx-entries. + + 2010-04-08 John David Anglin + + Backport: + 2009-12-09 John David Anglin + + * include/pa-signal.h: Do not include ucontext.h. + (SIGNAL_HANDLER): Add __attribute__ ((unused)) to signal handler + arguments. + (MAKE_THROW_FRAME): Do not adjust program counter. + * include/hppa-signal.h: Do not include sys/types.h, sys/syscall.h and + unistd.h. + (MAKE_THROW_FRAME): Do not adjust program counter. + (HANDLE_FPE): Define. + (INIT_SEGV, INIT_FPE): Revise indentation. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libjava/classpath/ChangeLog gcc-4.4.4/libjava/classpath/ChangeLog *** gcc-4.4.3/libjava/classpath/ChangeLog Thu Jan 21 09:38:58 2010 --- gcc-4.4.4/libjava/classpath/ChangeLog Thu Apr 29 07:52:51 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libjava/classpath/doc/cp-tools.info gcc-4.4.4/libjava/classpath/doc/cp-tools.info *** gcc-4.4.3/libjava/classpath/doc/cp-tools.info Thu Jan 21 11:42:38 2010 --- gcc-4.4.4/libjava/classpath/doc/cp-tools.info Thu Apr 29 09:46:45 2010 *************** *** 1,5 **** This is cp-tools.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.3/gcc-4.4.3/libjava/classpath/doc/cp-tools.texinfo. This file documents the Tools included in a standard distribution of the GNU Classpath project deliverables. --- 1,5 ---- This is cp-tools.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.4/gcc-4.4.4/libjava/classpath/doc/cp-tools.texinfo. This file documents the Tools included in a standard distribution of the GNU Classpath project deliverables. diff -Nrcpad gcc-4.4.3/libjava/classpath/doc/gappletviewer.1 gcc-4.4.4/libjava/classpath/doc/gappletviewer.1 *** gcc-4.4.3/libjava/classpath/doc/gappletviewer.1 Thu Jan 21 11:42:38 2010 --- gcc-4.4.4/libjava/classpath/doc/gappletviewer.1 Thu Apr 29 09:46:46 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GAPPLETVIEWER 1" ! .TH GAPPLETVIEWER 1 "2010-01-21" "0.98" "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 "GAPPLETVIEWER 1" ! .TH GAPPLETVIEWER 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gjar.1 gcc-4.4.4/libjava/classpath/doc/gjar.1 *** gcc-4.4.3/libjava/classpath/doc/gjar.1 Thu Jan 21 11:42:38 2010 --- gcc-4.4.4/libjava/classpath/doc/gjar.1 Thu Apr 29 09:46:46 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GJAR 1" ! .TH GJAR 1 "2010-01-21" "0.98" "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 "GJAR 1" ! .TH GJAR 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gjarsigner.1 gcc-4.4.4/libjava/classpath/doc/gjarsigner.1 *** gcc-4.4.3/libjava/classpath/doc/gjarsigner.1 Thu Jan 21 11:42:38 2010 --- gcc-4.4.4/libjava/classpath/doc/gjarsigner.1 Thu Apr 29 09:46:46 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GJARSIGNER 1" ! .TH GJARSIGNER 1 "2010-01-21" "0.98" "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 "GJARSIGNER 1" ! .TH GJARSIGNER 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gjavah.1 gcc-4.4.4/libjava/classpath/doc/gjavah.1 *** gcc-4.4.3/libjava/classpath/doc/gjavah.1 Thu Jan 21 11:42:38 2010 --- gcc-4.4.4/libjava/classpath/doc/gjavah.1 Thu Apr 29 09:46:46 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GJAVAH 1" ! .TH GJAVAH 1 "2010-01-21" "0.98" "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 "GJAVAH 1" ! .TH GJAVAH 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gjdoc.1 gcc-4.4.4/libjava/classpath/doc/gjdoc.1 *** gcc-4.4.3/libjava/classpath/doc/gjdoc.1 Thu Jan 21 11:42:40 2010 --- gcc-4.4.4/libjava/classpath/doc/gjdoc.1 Thu Apr 29 09:46:47 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GJDOC 1" ! .TH GJDOC 1 "2010-01-21" "0.98" "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 "GJDOC 1" ! .TH GJDOC 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gkeytool.1 gcc-4.4.4/libjava/classpath/doc/gkeytool.1 *** gcc-4.4.3/libjava/classpath/doc/gkeytool.1 Thu Jan 21 11:42:39 2010 --- gcc-4.4.4/libjava/classpath/doc/gkeytool.1 Thu Apr 29 09:46:46 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GKEYTOOL 1" ! .TH GKEYTOOL 1 "2010-01-21" "0.98" "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 "GKEYTOOL 1" ! .TH GKEYTOOL 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gnative2ascii.1 gcc-4.4.4/libjava/classpath/doc/gnative2ascii.1 *** gcc-4.4.3/libjava/classpath/doc/gnative2ascii.1 Thu Jan 21 11:42:39 2010 --- gcc-4.4.4/libjava/classpath/doc/gnative2ascii.1 Thu Apr 29 09:46:46 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GNATIVE2ASCII 1" ! .TH GNATIVE2ASCII 1 "2010-01-21" "0.98" "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 "GNATIVE2ASCII 1" ! .TH GNATIVE2ASCII 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gorbd.1 gcc-4.4.4/libjava/classpath/doc/gorbd.1 *** gcc-4.4.3/libjava/classpath/doc/gorbd.1 Thu Jan 21 11:42:39 2010 --- gcc-4.4.4/libjava/classpath/doc/gorbd.1 Thu Apr 29 09:46:47 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GORBD 1" ! .TH GORBD 1 "2010-01-21" "0.98" "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 "GORBD 1" ! .TH GORBD 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/grmid.1 gcc-4.4.4/libjava/classpath/doc/grmid.1 *** gcc-4.4.3/libjava/classpath/doc/grmid.1 Thu Jan 21 11:42:39 2010 --- gcc-4.4.4/libjava/classpath/doc/grmid.1 Thu Apr 29 09:46:47 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GRMID 1" ! .TH GRMID 1 "2010-01-21" "0.98" "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 "GRMID 1" ! .TH GRMID 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/grmiregistry.1 gcc-4.4.4/libjava/classpath/doc/grmiregistry.1 *** gcc-4.4.3/libjava/classpath/doc/grmiregistry.1 Thu Jan 21 11:42:39 2010 --- gcc-4.4.4/libjava/classpath/doc/grmiregistry.1 Thu Apr 29 09:46:47 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GRMIREGISTRY 1" ! .TH GRMIREGISTRY 1 "2010-01-21" "0.98" "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 "GRMIREGISTRY 1" ! .TH GRMIREGISTRY 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gserialver.1 gcc-4.4.4/libjava/classpath/doc/gserialver.1 *** gcc-4.4.3/libjava/classpath/doc/gserialver.1 Thu Jan 21 11:42:39 2010 --- gcc-4.4.4/libjava/classpath/doc/gserialver.1 Thu Apr 29 09:46:47 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GSERIALVER 1" ! .TH GSERIALVER 1 "2010-01-21" "0.98" "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 "GSERIALVER 1" ! .TH GSERIALVER 1 "2010-04-29" "0.98" "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.4.3/libjava/classpath/doc/gtnameserv.1 gcc-4.4.4/libjava/classpath/doc/gtnameserv.1 *** gcc-4.4.3/libjava/classpath/doc/gtnameserv.1 Thu Jan 21 11:42:39 2010 --- gcc-4.4.4/libjava/classpath/doc/gtnameserv.1 Thu Apr 29 09:46:47 2010 *************** *** 132,138 **** .\" ======================================================================== .\" .IX Title "GTNAMESERV 1" ! .TH GTNAMESERV 1 "2010-01-21" "0.98" "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 "GTNAMESERV 1" ! .TH GTNAMESERV 1 "2010-04-29" "0.98" "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.4.3/libjava/configure gcc-4.4.4/libjava/configure *** gcc-4.4.3/libjava/configure Thu Jan 21 10:29:37 2010 --- gcc-4.4.4/libjava/configure Thu Apr 29 08:26:54 2010 *************** arm*linux*eabi) *** 20667,20672 **** --- 20667,20730 ---- ;; esac + # Check for --no-merge-exidx-entries, an ARM-specific linker option. + echo "$as_me:$LINENO: checking for --no-merge-exidx-entries" >&5 + echo $ECHO_N "checking for --no-merge-exidx-entries... $ECHO_C" >&6 + if test "${libgcj_cv_exidx+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + saved_ldflags="$LDFLAGS" + LDFLAGS="${LDFLAGS} -Wl,--no-merge-exidx-entries" + if test x$gcc_no_link = xyes; then + { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 + echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} + { (exit 1); exit 1; }; } + fi + cat >conftest.$ac_ext <<_ACEOF + int main(void){ return 0;} + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "libgcj_cv_exidx=yes" + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + eval "libgcj_cv_exidx=no" + fi + rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="${saved_ldflags}" + + fi + echo "$as_me:$LINENO: result: $libgcj_cv_exidx" >&5 + echo "${ECHO_T}$libgcj_cv_exidx" >&6 + if test "${libgcj_cv_exidx}" = "yes"; then + SYSTEMSPEC="${SYSTEMSPEC} --no-merge-exidx-entries" + extra_ldflags="${extra_ldflags} -Wl,--no-merge-exidx-entries" + fi + + diff -Nrcpad gcc-4.4.3/libjava/configure.ac gcc-4.4.4/libjava/configure.ac *** gcc-4.4.3/libjava/configure.ac Wed Dec 9 18:46:11 2009 --- gcc-4.4.4/libjava/configure.ac Wed Apr 21 17:04:42 2010 *************** arm*linux*eabi) *** 888,893 **** --- 888,908 ---- LIBGCJTESTSPEC="-L`${PWDCMD-pwd}`/.libs -L`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -rpath `${PWDCMD-pwd}`/.libs:`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -lstdc++" ;; esac + + # Check for --no-merge-exidx-entries, an ARM-specific linker option. + AC_CACHE_CHECK([for --no-merge-exidx-entries], [libgcj_cv_exidx], + [saved_ldflags="$LDFLAGS" + LDFLAGS="${LDFLAGS} -Wl,--no-merge-exidx-entries" + AC_LINK_IFELSE([int main(void){ return 0;} ], + [eval "libgcj_cv_exidx=yes"], + [eval "libgcj_cv_exidx=no"]) + LDFLAGS="${saved_ldflags}"] + ) + if test "${libgcj_cv_exidx}" = "yes"; then + SYSTEMSPEC="${SYSTEMSPEC} --no-merge-exidx-entries" + extra_ldflags="${extra_ldflags} -Wl,--no-merge-exidx-entries" + fi + AC_SUBST(extra_ldflags_libjava) AC_SUBST(extra_ldflags) AC_SUBST(LIBSTDCXXSPEC) diff -Nrcpad gcc-4.4.3/libjava/include/hppa-signal.h gcc-4.4.4/libjava/include/hppa-signal.h *** gcc-4.4.3/libjava/include/hppa-signal.h Sat May 20 21:33:07 2006 --- gcc-4.4.4/libjava/include/hppa-signal.h Fri Apr 9 01:37:42 2010 *************** This software is copyrighted work licens *** 9,68 **** Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ - /* This file is really more of a specification. The rest of the system - should be arranged so that this Just Works. */ - #ifndef JAVA_SIGNAL_H ! # define JAVA_SIGNAL_H 1 - #include #include - #include - #include ! # define HANDLE_SEGV 1 ! # undef HANDLE_FPE #define SIGNAL_HANDLER(_name) \ ! static void _name (int _dummy __attribute__ ((unused)), \ ! siginfo_t *_info __attribute__ ((__unused__)), \ ! void *arg __attribute__ ((__unused__))) ! #define MAKE_THROW_FRAME(_exception) \ ! do \ ! { \ ! ucontext_t *_context = (ucontext_t *) arg; \ ! (void)_dummy; \ ! (void)_info; \ ! mcontext_t *mc = &(_context->uc_mcontext); \ ! SetSSReg (mc, ss_pcoq_head, GetSSReg (mc, ss_pcoq_tail)); \ ! SetSSReg (mc, ss_pcsq_head, GetSSReg (mc, ss_pcsq_tail)); \ ! /* This part is not quit right if the head pc was pointing \ ! at a branch. The tail needs to be adjusted to the branch \ ! target if the branch is taken. The tail space register \ ! may need adjustment as well if the branch is an interspace \ ! branch. */ \ ! SetSSReg (mc, ss_pcoq_tail, (GetSSReg (mc, ss_pcoq_tail) + 4)); \ ! \ ! } \ ! while (0) ! # define INIT_SEGV \ ! do { \ ! struct sigaction sa; \ ! sa.sa_sigaction = catch_segv; \ ! sigemptyset (&sa.sa_mask); \ ! sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ ! sigaction (SIGSEGV, &sa, NULL); \ ! } while (0) ! # define INIT_FPE \ ! do { \ ! struct sigaction sa; \ ! sa.sa_sigaction = catch_fpe; \ ! sigemptyset (&sa.sa_mask); \ ! sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ ! sigaction (SIGFPE, &sa, NULL); \ ! } while (0) #endif /* JAVA_SIGNAL_H */ --- 9,49 ---- Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ #ifndef JAVA_SIGNAL_H ! #define JAVA_SIGNAL_H 1 #include ! #define HANDLE_SEGV 1 ! #define HANDLE_FPE 1 #define SIGNAL_HANDLER(_name) \ ! static void _name (int _dummy __attribute__ ((unused)), \ ! siginfo_t *_info __attribute__ ((__unused__)), \ ! void *arg __attribute__ ((__unused__))) ! #define MAKE_THROW_FRAME(_exception) ! #define INIT_SEGV \ ! do \ ! { \ ! struct sigaction sa; \ ! sa.sa_sigaction = catch_segv; \ ! sigemptyset (&sa.sa_mask); \ ! sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ ! sigaction (SIGSEGV, &sa, NULL); \ ! } \ ! while (0) ! #define INIT_FPE \ ! do \ ! { \ ! struct sigaction sa; \ ! sa.sa_sigaction = catch_fpe; \ ! sigemptyset (&sa.sa_mask); \ ! sa.sa_flags = SA_SIGINFO | SA_NODEFER; \ ! sigaction (SIGFPE, &sa, NULL); \ ! } \ ! while (0) #endif /* JAVA_SIGNAL_H */ diff -Nrcpad gcc-4.4.3/libjava/include/pa-signal.h gcc-4.4.4/libjava/include/pa-signal.h *** gcc-4.4.3/libjava/include/pa-signal.h Fri Jul 9 03:39:35 2004 --- gcc-4.4.4/libjava/include/pa-signal.h Fri Apr 9 01:37:42 2010 *************** details. */ *** 12,40 **** #define JAVA_SIGNAL_H 1 #include - #include #include #define HANDLE_SEGV 1 #define HANDLE_FPE 1 ! #define SIGNAL_HANDLER(_name) \ ! static void _Jv_##_name (int _dummy, siginfo_t *_info, void *arg) ! #define MAKE_THROW_FRAME(_exception) \ ! do \ ! { \ ! struct ucontext *uc = (struct ucontext *)arg; \ ! struct sigcontext *sc = &uc->uc_mcontext; \ ! (void)_dummy; \ ! (void)_info; \ ! /* Advance the program counter so that it is after the start \ ! of the instruction: the exception handler expects \ ! the PC to point to the instruction after a call. */ \ ! sc->sc_iaoq[0] = sc->sc_iaoq[1]; \ ! sc->sc_iaoq[1] += 4; \ ! } \ ! while (0) #define INIT_SEGV \ do \ --- 12,28 ---- #define JAVA_SIGNAL_H 1 #include #include #define HANDLE_SEGV 1 #define HANDLE_FPE 1 ! #define SIGNAL_HANDLER(_name) \ ! static void _Jv_##_name (int _dummy __attribute__ ((unused)), \ ! siginfo_t *_info __attribute__ ((__unused__)), \ ! void *arg __attribute__ ((__unused__))) ! #define MAKE_THROW_FRAME(_exception) #define INIT_SEGV \ do \ diff -Nrcpad gcc-4.4.3/libjava/libltdl/ChangeLog gcc-4.4.4/libjava/libltdl/ChangeLog *** gcc-4.4.3/libjava/libltdl/ChangeLog Thu Jan 21 09:39:08 2010 --- gcc-4.4.4/libjava/libltdl/ChangeLog Thu Apr 29 07:53:05 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libmudflap/ChangeLog gcc-4.4.4/libmudflap/ChangeLog *** gcc-4.4.3/libmudflap/ChangeLog Thu Jan 21 09:37:18 2010 --- gcc-4.4.4/libmudflap/ChangeLog Thu Apr 29 07:50:43 2010 *************** *** 1,3 **** --- 1,12 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-03-15 David S. Miller + + * testsuite/libmudflap.c/pass54-frag.c: Add explicit return from + main. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libmudflap/testsuite/libmudflap.c/pass54-frag.c gcc-4.4.4/libmudflap/testsuite/libmudflap.c/pass54-frag.c *** gcc-4.4.3/libmudflap/testsuite/libmudflap.c/pass54-frag.c Thu Oct 28 21:21:59 2004 --- gcc-4.4.4/libmudflap/testsuite/libmudflap.c/pass54-frag.c Tue Mar 16 04:04:14 2010 *************** int main () *** 30,33 **** --- 30,34 ---- foo (); bar (); __mf_set_options ("-mode-check"); + return 0; } diff -Nrcpad gcc-4.4.3/libobjc/ChangeLog gcc-4.4.4/libobjc/ChangeLog *** gcc-4.4.3/libobjc/ChangeLog Thu Jan 21 09:37:28 2010 --- gcc-4.4.4/libobjc/ChangeLog Thu Apr 29 07:51:00 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libssp/ChangeLog gcc-4.4.4/libssp/ChangeLog *** gcc-4.4.3/libssp/ChangeLog Thu Jan 21 09:35:40 2010 --- gcc-4.4.4/libssp/ChangeLog Thu Apr 29 07:48:06 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libstdc++-v3/ChangeLog gcc-4.4.4/libstdc++-v3/ChangeLog *** gcc-4.4.3/libstdc++-v3/ChangeLog Thu Jan 21 09:37:54 2010 --- gcc-4.4.4/libstdc++-v3/ChangeLog Thu Apr 29 07:51:33 2010 *************** *** 1,3 **** --- 1,58 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-04-10 Jonathan Wakely + + Backport: + 2009-06-23 Paolo Carlini + + PR libstdc++/40518 + * include/bits/basic_string.h (basic_string<>::_Rep:: + _M_set_length_and_sharable): Do not write the empty rep. + (basic_string<>::erase(iterator, iterator)): Likewise, + move out of line... + * include/bits/basic_string.tcc: ... here. + + 2010-04-08 John David Anglin + + PR target/43458 + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: + Xfail hppa*-*-hpux*. + + 2010-03-22 Johannes Singler + + * include/parallel/numeric (inner_product, partial_sum): + Precede subsequent call with _GLIBCXX_STD_P:: to avoid ambiguity + between __gnu_parallel:: and std:: + * include/parallel/algobase.h (equal): Likewise. + * include/parallel/algo.h (find_first_of, search_n, merge, nth_element, + partial_sort, max_element, min_element): Likewise. + * include/parallel/partial_sum.h (parallel_partial_sum_linear): + Qualify accumulate call with __gnu_parallel::. + + 2010-03-18 Paolo Carlini + + * include/backward/hash_map: Use consistently the _BACKWARD_* + prefix for the include guard. + * include/backward/hash_fun.h: Likewise. + * include/backward/hashtable.h: Likewise. + * include/backward/auto_ptr.h: Likewise. + * include/backward/strstream: Likewise. + * include/backward/binders.h: Likewise. + * include/backward/hash_set: Likewise. + + 2010-02-23 Kaveh R. Ghazi + + Backport: + 2010-01-20 Janis Johnson + Paolo Carlini + + PR libstdc++/21769 + * testsuite/lib/dg-options.exp (add_options_for_no_pch): Add. + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: + Use it. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/backward/auto_ptr.h gcc-4.4.4/libstdc++-v3/include/backward/auto_ptr.h *** gcc-4.4.3/libstdc++-v3/include/backward/auto_ptr.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/backward/auto_ptr.h Thu Mar 18 10:50:00 2010 *************** *** 27,34 **** * You should not attempt to use it directly. */ ! #ifndef _STL_AUTO_PTR_H ! #define _STL_AUTO_PTR_H 1 #include #include --- 27,34 ---- * You should not attempt to use it directly. */ ! #ifndef _BACKWARD_AUTO_PTR_H ! #define _BACKWARD_AUTO_PTR_H 1 #include #include *************** _GLIBCXX_BEGIN_NAMESPACE(std) *** 289,292 **** _GLIBCXX_END_NAMESPACE ! #endif /* _STL_AUTO_PTR_H */ --- 289,292 ---- _GLIBCXX_END_NAMESPACE ! #endif /* _BACKWARD_AUTO_PTR_H */ diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/backward/binders.h gcc-4.4.4/libstdc++-v3/include/backward/binders.h *** gcc-4.4.3/libstdc++-v3/include/backward/binders.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/backward/binders.h Thu Mar 18 10:50:00 2010 *************** *** 54,61 **** * You should not attempt to use it directly. */ ! #ifndef _GLIBCXX_BINDERS_H ! #define _GLIBCXX_BINDERS_H 1 _GLIBCXX_BEGIN_NAMESPACE(std) --- 54,61 ---- * You should not attempt to use it directly. */ ! #ifndef _BACKWARD_BINDERS_H ! #define _BACKWARD_BINDERS_H 1 _GLIBCXX_BEGIN_NAMESPACE(std) *************** _GLIBCXX_BEGIN_NAMESPACE(std) *** 165,168 **** _GLIBCXX_END_NAMESPACE ! #endif /* _GLIBCXX_BINDERS_H */ --- 165,168 ---- _GLIBCXX_END_NAMESPACE ! #endif /* _BACKWARD_BINDERS_H */ diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/backward/hash_fun.h gcc-4.4.4/libstdc++-v3/include/backward/hash_fun.h *** gcc-4.4.3/libstdc++-v3/include/backward/hash_fun.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/backward/hash_fun.h Thu Mar 18 10:50:00 2010 *************** *** 1,6 **** // 'struct hash' from SGI -*- C++ -*- ! // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,7 ---- // 'struct hash' from SGI -*- C++ -*- ! // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 ! // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 53,60 **** * containing extensions from the HP/SGI STL subset). */ ! #ifndef _HASH_FUN_H ! #define _HASH_FUN_H 1 #include --- 54,61 ---- * containing extensions from the HP/SGI STL subset). */ ! #ifndef _BACKWARD_HASH_FUN_H ! #define _BACKWARD_HASH_FUN_H 1 #include diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/backward/hash_map gcc-4.4.4/libstdc++-v3/include/backward/hash_map *** gcc-4.4.3/libstdc++-v3/include/backward/hash_map Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/backward/hash_map Thu Mar 18 10:50:00 2010 *************** *** 1,6 **** // Hashing map implementation -*- C++ -*- ! // Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,7 ---- // Hashing map implementation -*- C++ -*- ! // Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010 ! // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 53,60 **** * containing extensions from the HP/SGI STL subset). */ ! #ifndef _HASH_MAP ! #define _HASH_MAP 1 #include "backward_warning.h" #include --- 54,61 ---- * containing extensions from the HP/SGI STL subset). */ ! #ifndef _BACKWARD_HASH_MAP ! #define _BACKWARD_HASH_MAP 1 #include "backward_warning.h" #include diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/backward/hash_set gcc-4.4.4/libstdc++-v3/include/backward/hash_set *** gcc-4.4.3/libstdc++-v3/include/backward/hash_set Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/backward/hash_set Thu Mar 18 10:50:00 2010 *************** *** 1,6 **** // Hashing set implementation -*- C++ -*- ! // Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,7 ---- // Hashing set implementation -*- C++ -*- ! // Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010 ! // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 53,60 **** * containing extensions from the HP/SGI STL subset). */ ! #ifndef _HASH_SET ! #define _HASH_SET 1 #include "backward_warning.h" #include --- 54,61 ---- * containing extensions from the HP/SGI STL subset). */ ! #ifndef _BACKWARD_HASH_SET ! #define _BACKWARD_HASH_SET 1 #include "backward_warning.h" #include diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/backward/hashtable.h gcc-4.4.4/libstdc++-v3/include/backward/hashtable.h *** gcc-4.4.3/libstdc++-v3/include/backward/hashtable.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/backward/hashtable.h Thu Mar 18 10:50:00 2010 *************** *** 1,6 **** // Hashtable implementation used by containers -*- C++ -*- ! // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free --- 1,6 ---- // Hashtable implementation used by containers -*- C++ -*- ! // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free *************** *** 54,61 **** * containing extensions from the HP/SGI STL subset). */ ! #ifndef _HASHTABLE_H ! #define _HASHTABLE_H 1 // Hashtable class, used to implement the hashed associative containers // hash_set, hash_map, hash_multiset, and hash_multimap. --- 54,61 ---- * containing extensions from the HP/SGI STL subset). */ ! #ifndef _BACKWARD_HASHTABLE_H ! #define _BACKWARD_HASHTABLE_H 1 // Hashtable class, used to implement the hashed associative containers // hash_set, hash_map, hash_multiset, and hash_multimap. diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/backward/strstream gcc-4.4.4/libstdc++-v3/include/backward/strstream *** gcc-4.4.3/libstdc++-v3/include/backward/strstream Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/backward/strstream Thu Mar 18 10:50:00 2010 *************** *** 1,6 **** // Backward-compat support -*- C++ -*- ! // Copyright (C) 2001, 2002, 2004, 2005, 2009 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the --- 1,7 ---- // Backward-compat support -*- C++ -*- ! // Copyright (C) 2001, 2002, 2004, 2005, 2009, 2010 ! // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the *************** *** 40,47 **** // MAY BE REMOVED in a future standard revision. One should use the // header instead. ! #ifndef _GLIBCXX_STRSTREAM ! #define _GLIBCXX_STRSTREAM #include "backward_warning.h" #include --- 41,48 ---- // MAY BE REMOVED in a future standard revision. One should use the // header instead. ! #ifndef _BACKWARD_STRSTREAM ! #define _BACKWARD_STRSTREAM #include "backward_warning.h" #include diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/bits/basic_string.h gcc-4.4.4/libstdc++-v3/include/bits/basic_string.h *** gcc-4.4.3/libstdc++-v3/include/bits/basic_string.h Thu Dec 10 17:18:00 2009 --- gcc-4.4.4/libstdc++-v3/include/bits/basic_string.h Sat Apr 10 13:46:25 2010 *************** _GLIBCXX_BEGIN_NAMESPACE(std) *** 197,208 **** void _M_set_length_and_sharable(size_type __n) ! { ! this->_M_set_sharable(); // One reference. ! this->_M_length = __n; ! traits_type::assign(this->_M_refdata()[__n], _S_terminal); ! // grrr. (per 21.3.4) ! // You cannot leave those LWG people alone for a second. } _CharT* --- 197,213 ---- void _M_set_length_and_sharable(size_type __n) ! { ! #ifndef _GLIBCXX_FULLY_DYNAMIC_STRING ! if (__builtin_expect(this != &_S_empty_rep(), false)) ! #endif ! { ! this->_M_set_sharable(); // One reference. ! this->_M_length = __n; ! traits_type::assign(this->_M_refdata()[__n], _S_terminal); ! // grrr. (per 21.3.4) ! // You cannot leave those LWG people alone for a second. ! } } _CharT* *************** _GLIBCXX_BEGIN_NAMESPACE(std) *** 1226,1241 **** * The value of the string doesn't change if an error is thrown. */ iterator ! erase(iterator __first, iterator __last) ! { ! _GLIBCXX_DEBUG_PEDASSERT(__first >= _M_ibegin() && __first <= __last ! && __last <= _M_iend()); ! const size_type __pos = __first - _M_ibegin(); ! _M_mutate(__pos, __last - __first, size_type(0)); ! _M_rep()->_M_set_leaked(); ! return iterator(_M_data() + __pos); ! } ! /** * @brief Replace characters with value from another string. * @param pos Index of first character to replace. --- 1231,1238 ---- * The value of the string doesn't change if an error is thrown. */ iterator ! erase(iterator __first, iterator __last); ! /** * @brief Replace characters with value from another string. * @param pos Index of first character to replace. diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/bits/basic_string.tcc gcc-4.4.4/libstdc++-v3/include/bits/basic_string.tcc *** gcc-4.4.3/libstdc++-v3/include/bits/basic_string.tcc Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/bits/basic_string.tcc Sat Apr 10 13:46:25 2010 *************** _GLIBCXX_BEGIN_NAMESPACE(std) *** 387,392 **** --- 387,415 ---- } template + typename basic_string<_CharT, _Traits, _Alloc>::iterator + basic_string<_CharT, _Traits, _Alloc>:: + erase(iterator __first, iterator __last) + { + _GLIBCXX_DEBUG_PEDASSERT(__first >= _M_ibegin() && __first <= __last + && __last <= _M_iend()); + + // NB: This isn't just an optimization (bail out early when + // there is nothing to do, really), it's also a correctness + // issue vs MT, see libstdc++/40518. + const size_type __size = __last - __first; + if (__size) + { + const size_type __pos = __first - _M_ibegin(); + _M_mutate(__pos, __size, size_type(0)); + _M_rep()->_M_set_leaked(); + return iterator(_M_data() + __pos); + } + else + return __first; + } + + template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: replace(size_type __pos, size_type __n1, const _CharT* __s, diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/parallel/algo.h gcc-4.4.4/libstdc++-v3/include/parallel/algo.h *** gcc-4.4.3/libstdc++-v3/include/parallel/algo.h Tue May 12 14:57:35 2009 --- gcc-4.4.4/libstdc++-v3/include/parallel/algo.h Mon Mar 22 17:09:57 2010 *************** namespace __parallel *** 289,296 **** typedef typename iteratori_traits::value_type valuei_type; typedef typename iteratorf_traits::value_type valuef_type; ! return find_first_of(begin1, end1, begin2, end2, __gnu_parallel:: ! equal_to()); } // Sequential fallback --- 289,296 ---- typedef typename iteratori_traits::value_type valuei_type; typedef typename iteratorf_traits::value_type valuef_type; ! return _GLIBCXX_STD_P::find_first_of(begin1, end1, begin2, end2, ! __gnu_parallel::equal_to()); } // Sequential fallback *************** namespace __parallel *** 1152,1158 **** const T& val) { typedef typename iterator_traits::value_type value_type; ! return search_n(begin, end, count, val, __gnu_parallel::equal_to()); } --- 1152,1158 ---- const T& val) { typedef typename iterator_traits::value_type value_type; ! return _GLIBCXX_STD_P::search_n(begin, end, count, val, __gnu_parallel::equal_to()); } *************** namespace __parallel *** 2093,2099 **** typedef typename iterator1_traits::value_type value1_type; typedef typename iterator2_traits::value_type value2_type; ! return merge(begin1, end1, begin2, end2, result, __gnu_parallel::less()); } --- 2093,2099 ---- typedef typename iterator1_traits::value_type value1_type; typedef typename iterator2_traits::value_type value2_type; ! return _GLIBCXX_STD_P::merge(begin1, end1, begin2, end2, result, __gnu_parallel::less()); } *************** namespace __parallel *** 2134,2140 **** { typedef iterator_traits traits_type; typedef typename traits_type::value_type value_type; ! nth_element(begin, nth, end, std::less()); } // Sequential fallback --- 2134,2140 ---- { typedef iterator_traits traits_type; typedef typename traits_type::value_type value_type; ! _GLIBCXX_STD_P::nth_element(begin, nth, end, std::less()); } // Sequential fallback *************** namespace __parallel *** 2175,2181 **** { typedef iterator_traits traits_type; typedef typename traits_type::value_type value_type; ! partial_sort(begin, middle, end, std::less()); } // Sequential fallback --- 2175,2182 ---- { typedef iterator_traits traits_type; typedef typename traits_type::value_type value_type; ! _GLIBCXX_STD_P::partial_sort(begin, middle, end, ! std::less()); } // Sequential fallback *************** namespace __parallel *** 2244,2250 **** max_element(ForwardIterator begin, ForwardIterator end) { typedef typename iterator_traits::value_type value_type; ! return max_element(begin, end, std::less()); } // Public interface --- 2245,2251 ---- max_element(ForwardIterator begin, ForwardIterator end) { typedef typename iterator_traits::value_type value_type; ! return _GLIBCXX_STD_P::max_element(begin, end, std::less()); } // Public interface *************** namespace __parallel *** 2335,2341 **** min_element(ForwardIterator begin, ForwardIterator end) { typedef typename iterator_traits::value_type value_type; ! return min_element(begin, end, std::less()); } // Public interface --- 2336,2342 ---- min_element(ForwardIterator begin, ForwardIterator end) { typedef typename iterator_traits::value_type value_type; ! return _GLIBCXX_STD_P::min_element(begin, end, std::less()); } // Public interface diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/parallel/algobase.h gcc-4.4.4/libstdc++-v3/include/parallel/algobase.h *** gcc-4.4.3/libstdc++-v3/include/parallel/algobase.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/parallel/algobase.h Mon Mar 22 17:09:57 2010 *************** namespace __parallel *** 146,152 **** template inline bool equal(InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2) ! { return mismatch(begin1, end1, begin2).first == end1; } // Public interface template inline bool equal(InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2) ! { return _GLIBCXX_STD_P::mismatch(begin1, end1, begin2).first == end1; } // Public interface template --- 154,163 ---- inline bool equal(InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, Predicate pred) ! { ! return _GLIBCXX_STD_P::mismatch(begin1, end1, begin2, pred).first ! == end1; ! } // Sequential fallback template diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/parallel/numeric gcc-4.4.4/libstdc++-v3/include/parallel/numeric *** gcc-4.4.3/libstdc++-v3/include/parallel/numeric Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/parallel/numeric Mon Mar 22 17:09:57 2010 *************** namespace __parallel *** 280,286 **** typedef typename __gnu_parallel::multiplies::result multiplies_result_type; ! return inner_product(first1, last1, first2, init, __gnu_parallel::plus(), __gnu_parallel:: multiplies(), --- 280,286 ---- typedef typename __gnu_parallel::multiplies::result multiplies_result_type; ! return _GLIBCXX_STD_P::inner_product(first1, last1, first2, init, __gnu_parallel::plus(), __gnu_parallel:: multiplies(), *************** namespace __parallel *** 300,306 **** typedef typename __gnu_parallel::multiplies::result multiplies_result_type; ! return inner_product(first1, last1, first2, init, __gnu_parallel::plus(), __gnu_parallel:: multiplies()); --- 300,306 ---- typedef typename __gnu_parallel::multiplies::result multiplies_result_type; ! return _GLIBCXX_STD_P::inner_product(first1, last1, first2, init, __gnu_parallel::plus(), __gnu_parallel:: multiplies()); *************** namespace __parallel *** 355,361 **** partial_sum(InputIterator begin, InputIterator end, OutputIterator result) { typedef typename iterator_traits::value_type value_type; ! return partial_sum(begin, end, result, std::plus()); } // Public interface --- 355,362 ---- partial_sum(InputIterator begin, InputIterator end, OutputIterator result) { typedef typename iterator_traits::value_type value_type; ! return _GLIBCXX_STD_P::partial_sum(begin, end, result, ! std::plus()); } // Public interface diff -Nrcpad gcc-4.4.3/libstdc++-v3/include/parallel/partial_sum.h gcc-4.4.4/libstdc++-v3/include/parallel/partial_sum.h *** gcc-4.4.3/libstdc++-v3/include/parallel/partial_sum.h Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/include/parallel/partial_sum.h Mon Mar 22 17:09:57 2010 *************** template. - // { dg-do compile } ! // { dg-xfail-if "" { { *-*-linux* *-*-darwin[3-7]* } || { uclibc || newlib } } { "*" } { "" } } ! // { dg-excess-errors "" { target { { *-*-linux* *-*-darwin[3-7]* } || { uclibc || newlib } } } } #include --- 17,27 ---- // with this library; see the file COPYING3. If not see // . // { dg-do compile } ! // { dg-add-options no_pch } ! ! // { dg-xfail-if "" { { *-*-linux* *-*-darwin[3-7]* hppa*-*-hpux* } || { uclibc || newlib } } { "*" } { "" } } ! // { dg-excess-errors "" { target { { *-*-linux* *-*-darwin[3-7]* hppa*-*-hpux* } || { uclibc || newlib } } } } #include diff -Nrcpad gcc-4.4.3/libstdc++-v3/testsuite/lib/dg-options.exp gcc-4.4.4/libstdc++-v3/testsuite/lib/dg-options.exp *** gcc-4.4.3/libstdc++-v3/testsuite/lib/dg-options.exp Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/libstdc++-v3/testsuite/lib/dg-options.exp Tue Feb 23 08:12:35 2010 *************** *** 1,6 **** # Handlers for additional dg-xxx keywords in tests. ! # Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify --- 1,6 ---- # Handlers for additional dg-xxx keywords in tests. ! # Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify *************** proc dg-require-string-conversions { arg *** 142,144 **** --- 142,149 ---- } return } + + proc add_options_for_no_pch { flags } { + # This forces any generated and possibly included PCH to be invalid. + return "-D__GLIBCXX__=99999999" + } diff -Nrcpad gcc-4.4.3/maintainer-scripts/ChangeLog gcc-4.4.4/maintainer-scripts/ChangeLog *** gcc-4.4.3/maintainer-scripts/ChangeLog Thu Jan 21 09:38:00 2010 --- gcc-4.4.4/maintainer-scripts/ChangeLog Thu Apr 29 07:51:40 2010 *************** *** 1,3 **** --- 1,12 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + + 2010-03-31 Joseph Myers + + * gcc_release (build_tarfiles): Make directories mode 755, not + 777. + 2010-01-21 Release Manager * GCC 4.4.3 released. diff -Nrcpad gcc-4.4.3/maintainer-scripts/gcc_release gcc-4.4.4/maintainer-scripts/gcc_release *** gcc-4.4.3/maintainer-scripts/gcc_release Thu Apr 9 23:23:07 2009 --- gcc-4.4.4/maintainer-scripts/gcc_release Wed Mar 31 16:26:49 2010 *************** *** 9,15 **** # Contents: # Script to create a GCC release. # ! # Copyright (c) 2001, 2002, 2006, 2009 Free Software Foundation. # # This file is part of GCC. # --- 9,15 ---- # Contents: # Script to create a GCC release. # ! # Copyright (c) 2001, 2002, 2006, 2009, 2010 Free Software Foundation. # # This file is part of GCC. # *************** build_tarfiles() { *** 276,283 **** # The GNU Coding Standards specify that all files should # world readable. chmod -R a+r ${SOURCE_DIRECTORY} ! # And that all directories have mode 777. ! find ${SOURCE_DIRECTORY} -type d -exec chmod 777 {} \; # Build one huge tarfile for the entire distribution. build_tarfile gcc-${RELEASE} `basename ${SOURCE_DIRECTORY}` --- 276,283 ---- # The GNU Coding Standards specify that all files should # world readable. chmod -R a+r ${SOURCE_DIRECTORY} ! # And that all directories have mode 755. ! find ${SOURCE_DIRECTORY} -type d -exec chmod 755 {} \; # Build one huge tarfile for the entire distribution. build_tarfile gcc-${RELEASE} `basename ${SOURCE_DIRECTORY}` diff -Nrcpad gcc-4.4.3/zlib/ChangeLog gcc-4.4.4/zlib/ChangeLog *** gcc-4.4.3/zlib/ChangeLog Thu Jan 21 09:38:52 2010 --- gcc-4.4.4/zlib/ChangeLog Thu Apr 29 07:52:45 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-04-29 Release Manager + + * GCC 4.4.4 released. + 2010-01-21 Release Manager * GCC 4.4.3 released.